【发布时间】:2019-02-20 18:11:00
【问题描述】:
我已下载 Xcode 10 GM,但我的应用在模拟器中运行时立即崩溃。 Xcode 说:
Unknown class _TtC7App-Name14ViewController in Interface Builder file.
Terminating app due to uncaught exception 'NSUnknownKeyException',
reason: '[<UIViewController 0x7f944440c880> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key backgroundImage.'
但是,当我在 Xcode 9 中打开我的项目时,没有错误,并且我的应用程序运行良好。 我搜索了这个问题,并尝试了其他人在 stackoverflow 上建议的所有内容。从检查所有故事板对象和约束连接,到确保类正确并检查从目标继承模块。我还尝试在模拟器中“擦除所有内容和设置”并删除 DerivedData 文件夹。删除 Storyboard 和代码中的 backgroundImage 并没有帮助,因为我得到了同样的错误,但是来自同一个 ViewController 的另一个对象。
有没有人遇到同样的问题并找到了解决方案?
编辑:当我添加一个新的视图控制器并将其设置为“初始视图控制器”时,视图确实会在模拟器中加载。一旦我添加了一个 swift 文件并在 Interface Builder 中为那个新的 ViewController 设置了 Class,我就会收到 Unknown Class 警告。当我添加标签或任何对象时,我得到:未知类和 NSUnknownKeyException。因此,特定的 ViewController 或对象绝对没有问题。如果有人遇到同样的问题,请帮助我。我不能再对这个项目做任何事情了:(
【问题讨论】:
-
让我们专注于身份检查器。很明显,您在 Interface Builder for ViewController 中对视图控制器类的设置没有被遵守。你还记得按回车吗?当你这样做时,你看到模块被填满了吗?您是否检查了从目标继承模块?
-
我上传了两张截图,展示了它目前的样子。我尝试在 Identity Inspector 中删除 Class 并再次输入,但没有成功。
-
我很好奇这些屏幕截图中的模块名称
VOYAGE_。您的应用名称是否以标点符号结尾? -
我的应用名称以 é 结尾,但在 Xcode 8 和 9 中我没有遇到问题。
-
宾果游戏。我建议您在 Xcode 10 中确实遇到问题。这可以解释一切。您的模块名称不是
VOYAGE_,因此无法在此基础上找到该类。有意义吗?
标签: ios iphone crash simulator xcode10