Xcode 10 GM 中的未知 class 和 NSUnknownKeyException
Unknown class and NSUnknownKeyException in Xcode 10 GM
我已经下载了 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 中打开我的项目时,没有错误,我的应用程序运行完美。
我搜索了这个问题,并尝试了其他人在 Whosebug 上提出的所有建议。从检查所有故事板对象和约束连接,到确保 Classes 是正确的,并检查 Inherit Module From Target。我还尝试在模拟器中“擦除所有内容和设置”并删除 DerivedData 文件夹。删除 Storyboard 和代码中的 backgroundImage 没有帮助,因为那时我得到了同样的错误,但是来自同一个 ViewController 的另一个对象。
有没有人遇到同样的问题并找到了解决方案?
编辑: 当我添加一个新的视图控制器并将其设置为 "is initial ViewController" 时,视图会加载到模拟器中。只要我添加一个 swift 文件并在 Interface Builder 中为那个新 ViewController 设置 Class,我就会收到未知 Class 警告。当我添加标签或任何对象时,我得到:Unknown class AND NSUnknownKeyException。因此,特定的 ViewController 或对象绝对没有问题。如果有人遇到同样的问题,请帮助我。我不能再对这个项目做任何事了:(
ViewController Identity Inspector
Storyboard Source Code
问题是您的项目名称(以及由此而来的所有名称)不是纯 ascii 字母数字(特别是,它包含一个变音符号,一个“é”字符)。这可能会以微妙的方式把事情搞砸。我不知道为什么 Xcode 10 对此感到窒息,但 Xcode 9 却没有,但确实如此。
解决方案是更改项目名称并允许由此导致的重命名级联。然后编辑显示名称,使其成为您想要的方式;这是应用程序面向用户的名称,其中的“é”完全没问题。
我已经下载了 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 中打开我的项目时,没有错误,我的应用程序运行完美。 我搜索了这个问题,并尝试了其他人在 Whosebug 上提出的所有建议。从检查所有故事板对象和约束连接,到确保 Classes 是正确的,并检查 Inherit Module From Target。我还尝试在模拟器中“擦除所有内容和设置”并删除 DerivedData 文件夹。删除 Storyboard 和代码中的 backgroundImage 没有帮助,因为那时我得到了同样的错误,但是来自同一个 ViewController 的另一个对象。
有没有人遇到同样的问题并找到了解决方案?
编辑: 当我添加一个新的视图控制器并将其设置为 "is initial ViewController" 时,视图会加载到模拟器中。只要我添加一个 swift 文件并在 Interface Builder 中为那个新 ViewController 设置 Class,我就会收到未知 Class 警告。当我添加标签或任何对象时,我得到:Unknown class AND NSUnknownKeyException。因此,特定的 ViewController 或对象绝对没有问题。如果有人遇到同样的问题,请帮助我。我不能再对这个项目做任何事了:(
ViewController Identity Inspector
Storyboard Source Code
问题是您的项目名称(以及由此而来的所有名称)不是纯 ascii 字母数字(特别是,它包含一个变音符号,一个“é”字符)。这可能会以微妙的方式把事情搞砸。我不知道为什么 Xcode 10 对此感到窒息,但 Xcode 9 却没有,但确实如此。
解决方案是更改项目名称并允许由此导致的重命名级联。然后编辑显示名称,使其成为您想要的方式;这是应用程序面向用户的名称,其中的“é”完全没问题。