应用程序开始在iOS 9.1 Beta 2上崩溃

时间:2015-09-27 12:22:38

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

在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'而终止应用,原因:'[< NameOfView:0x1446a6ea0> setValue:forUndefinedKey:]:此类不是密钥的密钥值编码兼容。'

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

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

修改 自9.1发布以来,它不再具有可再现性。

1 个答案:

答案 0 :(得分:1)

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

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

我将在9.1发布后发布更新。

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

  1. 覆盖KVC setter setValue:forKey:并禁止空字符串 键。
  2. 始终使用最新的稳定SDK进行构建。
  3. 但同样,Apple也没有真正的回应。

    编辑自9.1发布以来,它不再具有可再现性。