web-dev-qa-db-ja.com

Interface Builderファイルの不明なウィンドウクラス(null)、代わりに汎用ウィンドウを作成

私のアプリはストーリーボードを使用しており、ウィンドウはカスタムクラスを使用する必要がありますMyWindowたとえばまたはランタイム/アプリの起動時に、次のようなエラーメッセージが表示されます。

Interface Builderファイルの不明なウィンドウクラス(null)、代わりに汎用ウィンドウを作成

Xcode 9.1にアップグレードした後、このことに気づきましたが、以前にあったかどうかはわかりません。

同様の質問はこちらです: Xcode 6 Strange Bug:Unknown class in Interface Builder file

更新:

私の他のプロジェクトにはこの問題はありません。後で調査します。

Update2:

両方のプロジェクトで、ウィンドウはカスタムウィンドウコントローラーによって所有されています。ストーリーボードxmlを確認しましたが、奇妙なものは見つかりませんでした。

31
LShi

この警告は、Xcode 9.1で新しい空のプロジェクトをビルドして実行したときにも発生します。

デフォルトのNSWindowを、変更のないNSWindowの空のカスタムクラスに置き換えると、エラーは削除されますが、この動作は意味がありません。

したがって、私はそれをバグとして提出しています。

30
applehelpwriter

アップグレード以降、いくつかのプロジェクトで同じ問題が発生しています。

「Interface Builderファイルの不明なWindowクラス(null)、代わりに汎用Windowを作成」

これは、現時点で考えられるすべてのCocoaプロジェクトで発生します。それらのいくつかは適切に実行されます。ただし、カスタムウィンドウコントローラーはありません。 Storyboardの既定のウィンドウコントローラーを名前付きサブクラスに置き換えても、状況は変わりません。

解決済み:-デフォルトのウィンドウ用に空のカスタムウィンドウサブクラスを作成すると、問題が解決します。プロジェクトに変更を加えた後(メインビューコントローラーを誤って削除するなど)、メッセージが表示されてスローされました。

7

Xcode 9.1にアップグレードした後、同じ問題が発生しました。エラーを解決するには、ストーリーボードのNSWindowのすべてのインスタンスをNSWindowのカスタムサブクラスに置き換える必要があります。

7
Kaschman

ファローアップ:

これは最新のXCodeアップデート9.3(9E145)で解決されています

誤ってログに記録されるmacOSストーリーボードのコンパイルの問題を修正しました:「Interface Builderファイルで不明なウィンドウクラス(null)、代わりに汎用ウィンドウを作成」。 (34994636)

2
Pat_Morita