甘いものが好きです

iOS App開発時に感じた疑問や課題、その他の雑感などを書いていきます。

警告「Unsupported Configuration: … view outlet and NIB Name set」への対処

XcodeでiOS Appのプロジェクトをビルドしたときに、xibファイル内のView Controllerについて次のような警告が出ることがあった。*1 *2

Unsupported Configuration
… view outlet and NIB Name set

「view outlet and NIB Name set」で検索してみると、この警告に遭遇した人が少なくないことがわかる。

上記ページを参考に、自分がビルドしているプロジェクトで問題となっているxibファイルの内容を確認してみたところ、次の状況において、第2項と第3項を同時に設定しているときにこの警告が出ることが判明した。

  1. File's OwnerがView Controllerで、他View Controllerのオブジェクト(ここでは「外部View Controller」と呼ぶ)を追加している。
  2. 外部View Controllerのviewのオブジェクトもxibファイル内に追加している。
  3. 前項の外部View Controllerオブジェクトについて、Identity Inspectorで「NIB Name」を指定している。

今回は、外部View ControllerオブジェクトをそのView Controllerのクラスに対応する別のxibファイルから作成するように意図していたため、外部View Controllerのviewオブジェクトをxibファイルから削除した。この修正により、警告は出なくなった。

*1:確認時の環境は次のとおり。OS X 10.8.2、Xcode 4.5.2 (4G2008a)、Base SDK: iOS 6.0、Deployment Target: iOS 5.0。

*2:「…」の部分には、View Controllerオブジェクトのクラス名から自動生成された文字列が入る。