XCodeでUnknown class 'XXXX' in Interface Builder file が表示された時の対処法

ハマった時の時間浪費が半端ない

原因

意訳するとインターフェースビルダー(xibファイル)で使用されているclass'XXXX'が見つからねーとかそんな感じのニュアンスのことをいってるらしーですよ。

NSArray *nib = [nib instantiateWithOwner:self options:nil] を実行した時などに発生するかも?


対処法


再起動する

侮るなかれ、大体1割位はこれで治ります。
XCode自体に不調をきたすことは割とよくあることのようです。
アップデートすると不具合が治ったというハナシも。

CleanしてBuildする

この辺りも割りとよくありますね。
とりあえずおかしくなったらやっておけばいいと思います。
Product → Cleanより


xibで使用しているカスタムクラス.mをビルド対象に追加する

おそらく今回のエラー対処法で一番大切なところ
Projerct → TARGETS → Build Phases → Compile Sources
もしxibファイルで使用しているCustom Classがない場合追加します。
これでうまくいくんじゃないかなと思います。


レイアウトファイルを再度作り直す

XCodeは若干構成が不明瞭な部分があるので、どうしてもうまくいかない場合は該当部分だけ作りなおすのが結局早かったりします。
特に検索してもでてこないマイナーなエラーは作りなおしたほうが早いです。複雑すぎなければですが...

それでもうまくいかない場合は

1日寝かせる。(割と本気)
頭が煮詰って単純なことを見落としてるって自体に陥りがちなのでその日は諦めて別のことをしましょう。
一晩休んで次の日5分で解けたってこともあります。(あった)


Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle:...が発生した時の対処法


タイトルとは関係ないですが同じくxib関係のエラーもついでに書いておきます。
nibがねーぞっていうエラーです。(超意訳)
プロジェクト設定 → TARGETS → Build Phases → Copy Bundle Resources → xibファイルを追加

大文字小文字が違うとダメという話もhttp://d.hatena.ne.jp/paraches/20110219/1298140255


iOS開発はむつかしーですね。

2015年11月24日火曜日