Неизвестный класс 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)