Edited at

[Xcode7] 「Unknown class xxxxx in Interface Builder file.」が出る

More than 3 years have passed since last update.


環境

以下の環境でのiOSアプリ作成


  • Xcode7

  • Swift


問題内容

Xcodeでビルドしたら下記メッセージがコンソールに出力された。

  Unknown class xxxxx in Interface Builder file.

「xxxxx」は、自分が追加したカスタムクラス名が入る。

自分は、ViewControllerのサブクラスで発生していた。


解決

ググるとこのケースは結構あるらしい。

原因は数パターンあるらしいが、色々試しても直らず途方にくれていたが、このサイトの内容で解消できた。感謝。

http://yoropipi.hatenablog.com/entry/2016/02/15/231430


原因

before.png

上記画像は、エラーが発生しているViewControllerを選択したときのインスペクタである。

カスタムクラスのModule名が「None」になっている。


解決方法

Moduleのセレクトボックスを選択してEnterを押下する。

下記画像のように「Current - yyyyy」と表示が変化すればOK。

after.png


原因・解決方法いろいろ

私が遭遇したパターンの情報に辿り着くまで時間がかかったので、ここでまとめておく。


パターン1:ビルドのターゲットになっていない。

「File -> New -> ...」のようにXcodeの機能を使用せずにドラッグ & ドロップすると、プロジェクトのビルド対象にならないらしい。

プロジェクトを選択し、「Build Phases」のCompile Sourcesに対象のファイルが入っていない場合には、追加すればOK。


パターン2:storyboardの設定不備

カスタムクラスの場合、特に注意する。

本ケースでは、Moduleの設定がおかしかったが、Classの設定がおかしいケースもあると思う。


パターン3:原因不明


  • 「Shift + Command + K」でビルド生成物をクリアする(全て1からコンパイルされる)。

  • Xcodeを再起動する。

  • シミュレータからアプリを削除して、再度コンパイル→実行する。

  • Macを再起動する。