Interface Builder文件中的未知Window类(null),而不是创建通用Window

时间:2017-11-01 09:24:21

标签: xcode macos cocoa storyboard nswindow

我的应用使用了故事板,并且必须使用自定义类,例如MyWindow在运行时/启动应用,有一个错误消息说:

  

Interface Builder文件中的未知Window类(null),正在创建   而不是通用窗口

升级到Xcode 9.1后我才注意到这一点,但我不确定它是否在那之前。

类似的问题在这里:Xcode 6 Strange Bug: Unknown class in Interface Builder file

更新

我的其他项目没有这个问题。我稍后会进行调查。

UPDATE2:

在两个项目中,窗口都由自定义窗口控制器拥有。我检查了故事板xml,但没有找到任何奇怪的东西。

4 个答案:

答案 0 :(得分:30)

当我在Xcode 9.1中构建并运行一个全新的空项目时,也会出现此警告。

使用没有更改的空自定义类NSWindow替换默认的NSWindow会删除错误,但这种行为没有意义。

因此,我将其归档为错误。

答案 1 :(得分:7)

升级到Xcode 9.1后,我遇到了同样的问题。要解决该错误,您需要使用NSWindow的自定义子类替换故事板中的所有NSWindow实例。

答案 2 :(得分:7)

自升级以来,我在几个项目中遇到了同样的问题。

  

“Interface Builder文件中的未知窗口类(null),而不是创建通用窗口”

这在目前看来的所有Cocoa项目中都会发生。他们中很少有人会正常运作。但是我没有自定义窗口控制器。用命名的子类替换Storyboard中的默认窗口控制器不会改变这种情况。

<强>解决:   - 为默认窗口求解创建空白自定义窗口子类    问题。我被后面出现的信息抛出了    对项目进行更改(意外删除我的主要内容    viewcontroller等。)

答案 3 :(得分:2)

后续:

这是在最新的XCode更新9.3(9E145)

中解决的
  

修复了导致导致的macOS故事板编译问题   错误记录:Interface Builder中的“未知窗口类(null)”   文件,改为创建通用窗口。“(34994636)