应用程序在 iOS 9.1 Beta 2 开始崩溃
App began to crash on iOS 9.1 Beta 2
在 iOS 9.1 Beta 2 上安装时应用程序开始崩溃。完全相同的二进制文件(从 hudson link 下载) 表现如下:
- 它没有在 iOS 9.0 和 iOS 9.0.1
上崩溃
- iOS8
都没有崩溃
我提取了崩溃日志,崩溃发生在对 [[NSBundle mainBundle] loadNibNamed:@"NameOfView" owner:self options:nil];
的调用中。崩溃本身是 NSUnknownKeyException
:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[< NameOfView: 0x1446a6ea0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key .'
到目前为止,我看到奇怪的键 '.'
哪个 nib 加载机制试图在我的 class 上设置,显然,nib 中不存在这样的键。这看起来更加奇怪,因为 iOS 9.1 beta 2 是唯一具有这种行为的版本。此外,从相同的 git 版本构建带有 XCode 7 的应用程序不会成功导致应用程序崩溃 - 它按预期工作。在 iOS 9.0.1 beta 2 上尝试您的发行版本后,是否有人遇到过此类行为?在向雷达提交错误之前想要获得 SO 社区的一些反馈。感谢你们的帮助,伙计们。
P.S。我想强调的是,该问题仅在该特定二进制文件上重现。从 XCode 7 中的相同来源再次构建它不会产生崩溃。所以请不要建议如何调试此类问题,如何设置异常断点等
编辑
自 9.1 版本以来,它不再可重现。
正如对原始问题的评论中所述,目前还没有解决方案,也没有对错误的回应。
打开雷达link:http://openradar.appspot.com/radar?id=6294934587965440
我会在 9.1 发布后在这里发布更新。
有一些经验方法可以提出解决方案:
- 覆盖 KVC setter
setValue:forKey:
并禁止空字符串
钥匙。
- 始终使用最新的稳定 SDK 进行构建。
但同样,Apple 也没有实际回应。
编辑 自 9.1 版本以来,它不再可重现。
在 iOS 9.1 Beta 2 上安装时应用程序开始崩溃。完全相同的二进制文件(从 hudson link 下载) 表现如下:
- 它没有在 iOS 9.0 和 iOS 9.0.1 上崩溃
- iOS8 都没有崩溃
我提取了崩溃日志,崩溃发生在对 [[NSBundle mainBundle] loadNibNamed:@"NameOfView" owner:self options:nil];
的调用中。崩溃本身是 NSUnknownKeyException
:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[< NameOfView: 0x1446a6ea0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key .'
到目前为止,我看到奇怪的键 '.'
哪个 nib 加载机制试图在我的 class 上设置,显然,nib 中不存在这样的键。这看起来更加奇怪,因为 iOS 9.1 beta 2 是唯一具有这种行为的版本。此外,从相同的 git 版本构建带有 XCode 7 的应用程序不会成功导致应用程序崩溃 - 它按预期工作。在 iOS 9.0.1 beta 2 上尝试您的发行版本后,是否有人遇到过此类行为?在向雷达提交错误之前想要获得 SO 社区的一些反馈。感谢你们的帮助,伙计们。
P.S。我想强调的是,该问题仅在该特定二进制文件上重现。从 XCode 7 中的相同来源再次构建它不会产生崩溃。所以请不要建议如何调试此类问题,如何设置异常断点等
编辑 自 9.1 版本以来,它不再可重现。
正如对原始问题的评论中所述,目前还没有解决方案,也没有对错误的回应。
打开雷达link:http://openradar.appspot.com/radar?id=6294934587965440
我会在 9.1 发布后在这里发布更新。
有一些经验方法可以提出解决方案:
- 覆盖 KVC setter
setValue:forKey:
并禁止空字符串 钥匙。 - 始终使用最新的稳定 SDK 进行构建。
但同样,Apple 也没有实际回应。
编辑 自 9.1 版本以来,它不再可重现。