【问题标题】:App began to crash on iOS 9.1 Beta 2App 在 iOS 9.1 Beta 2 上开始崩溃
【发布时间】:2015-12-24 19:12:26
【问题描述】:

在 iOS 9.1 Beta 2 上安装时应用程序开始崩溃。完全相同的二进制文件(从 hudson 链接下载)的行为如下:

  • 在 iOS 9.0 和 iOS 9.0.1 上没有崩溃
  • 在任一 iOS 8 上都没有崩溃

我提取了崩溃日志,崩溃发生在对[[NSBundle mainBundle] loadNibNamed:@"NameOfView" owner:self options:nil]; 的调用中。崩溃本身是NSUnknownKeyException

*** 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey:]: 此类与键的键值编码不兼容。”

到目前为止,我看到奇怪的键 '.' 试图在我的类上设置哪个 nib 加载机制,显然,nib 中不存在这样的键。这看起来更加奇怪,因为 iOS 9.1 beta 2 是唯一具有这种行为的版本。此外,使用 XCode 7 从同一 git 修订版构建应用程序不会成功崩溃应用程序 - 它按预期工作。在 iOS 9.0.1 beta 2 上尝试发布版本后,是否有人遇到过这种行为?在向雷达提交错误之前,希望获得一些 SO 社区的反馈。感谢您的帮助,伙计们。

附注我想强调的是,该问题仅在该特定二进制文件上重现。从 XCode 7 中的相同来源再次构建它不会导致崩溃。所以请不要建议如何调试此类问题,如何设置异常断点等。

编辑 自 9.1 版本以来,它不再具有重现性。

【问题讨论】:

标签: ios objective-c xcode xcode7.1beta ios9.1


【解决方案1】:

正如对原始问题的评论所述,目前还没有解决方案,也没有对错误的回应。

openradar 链接:http://openradar.appspot.com/radar?id=6294934587965440

我会在 9.1 发布后在这里发布更新。

有一些经验方法可以提出解决方案:

  1. 覆盖 KVC setter setValue:forKey: 并禁止空字符串 钥匙。
  2. 始终使用最新的稳定 SDK 进行构建。

但同样,Apple 也没有实际回应。

编辑自 9.1 版本以来,它不再可重现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2022-09-29
    相关资源
    最近更新 更多