ios - Xcode 10 GM 中的未知类和 NSUnknownKeyException

标签 ios iphone crash simulator xcode10

我已经下载了 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 上提出的所有建议。从检查所有 Storyboard对象和约束连接,到确保类是正确的并检查从目标继承模块。我还尝试在模拟器中“删除所有内容和设置”并删除 DerivedData 文件夹。删除 Storyboard 和代码中的 backgroundImage 没有帮助,因为那时我得到了同样的错误,但是来自同一个 ViewController 的另一个对象。

有没有人遇到同样的问题并找到了解决方案?

编辑: 当我添加一个新的 View Controller 并将其设置为“是初始 ViewController”时,该 View 会加载到模拟器中。只要我添加一个 swift 文件并在 Interface Builder 中为那个新的 ViewController 设置类,我就会收到未知类警告。当我添加标签或任何对象时,我得到:Unknown class AND NSUnknownKeyException。因此,特定的 ViewController 或对象绝对没有问题。如果有人遇到同样的问题,请帮助我。我不能再对这个项目做任何事了:(

ViewController Identity Inspector

Storyboard Source Code

最佳答案

问题在于您的项目名称(以及由此产生的所有名称)不是纯 ascii 字母数字(特别是,它包含变音符号,即“é”字符)。这可能会以微妙的方式把事情搞乱。我不知道为什么 Xcode 10 对此感到窒息,但 Xcode 9 却没有,但确实如此。

解决方案是更改项目名称并允许由此导致的重命名级联。然后编辑显示名称,使其成为您想要的方式;这是应用程序面向用户的名称,其中的“é”完全没问题。

关于ios - Xcode 10 GM 中的未知类和 NSUnknownKeyException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52357226/

相关文章:

ios - viewDidLoad 中未知的 Storyboard按钮

iphone - iOS 开发 : Why are the retain counts for my view controller so strange?

r - R/C5.0包/是否存在已知的不可恢复的故障情况?

ios - 我真的必须创建变量的两个版本才能使用 Objective-C block 吗?

ios - 我的 View Controller 没有出现在屏幕上

cocoa - 开始使用适用于 OS X 的 Cocoa?

iphone - 使 iPhone 应用程序在 iTunes 和 Cydia 上均可用

iphone - 是否有任何支持擦洗和 2x 的 iPhone 音频框架?

c++ - 当我的程序崩溃时如何自动生成堆栈跟踪

c++ - C++ 中的崩溃恢复