Неизвестный класс Window (null) в файле Interface Builder, создающий вместо этого общее окно

Мое приложение использует раскадровки и окна должны использовать пользовательский класс, например MyWindow или во время запуска/запуска приложения, появляется сообщение об ошибке:

Неизвестный класс Window (null) в файле Interface Builder, создающий вместо этого общее окно

Я просто заметил это после обновления до Xcode 9.1, но я не уверен, был ли он там раньше.

Аналогичный вопрос здесь: Xcode 6 Strange Bug: Неизвестный класс в файле Interface Builder

Обновить:

Мой другой проект не имеет этой проблемы. Я исследую его позже.

Update2:

В обоих проектах окно принадлежит пользовательскому оконному контроллеру. Я проверил раскладку xml, но не нашел ничего странного.

Ответ 1

Это предупреждение также возникает, когда я создаю и запускаю новый пустой проект в Xcode 9.1.

Замена NSWindow по умолчанию на пустой пользовательский класс NSWindow без каких-либо изменений устраняет ошибку, но это поведение бессмысленно.

Поэтому я подаю его как ошибку.

Ответ 2

У меня была такая же проблема после обновления до Xcode 9.1. Чтобы устранить эту ошибку, вам нужно заменить все экземпляры NSWindow в раскадровках на пользовательские подклассы NSWindow.

Ответ 3

У меня такая же проблема в нескольких проектах с момента обновления.

Msgstr "Неизвестный класс Window (null) в файле Interface Builder, создающий общее окно вместо"

Это происходит во всех проектах Cocoa, которые, кажется, сейчас. Немногие из них будут работать должным образом. Однако у меня нет настраиваемых оконных контроллеров. Замена стандартного оконного контроллера в Storyboard на именованный подкласс не меняет ситуацию.

Решено: - Создание пустого пользовательского подкласса окна для окна по умолчанию решает проблему. Я получил сообщение, появившееся после внесения изменений в проект (случайно удалив мой главный диспетчер представлений и т.д.)

Ответ 4

Следовать за:

Это решается в новейшем обновлении XCode 9.3 (9E145)

Исправлена ошибка с компиляцией раскадровки macOS, которая привела к некорректному протоколированию: "Неизвестный класс окна (null) в файле Interface Builder, создавая вместо этого общее окно". (34994636)