2

我的 iOS 应用程序在 iOS 5 和 iOS 6 上运行,但专注于 6 的功能。我最近尝试在 iOS 5.1 模拟器(基础 SDK 为 5.0)中测试我的应用程序,它似乎工作正常,直到我点击一个按钮显示具有不同类的新视图控制器。此时它崩溃了,我在输出日志中只剩下这个:

objc[3063]: EXCEPTIONS: throwing 0x9e85510 (object 0x9e84780, a NSException)
objc[3063]: EXCEPTIONS: searching through frame [ip=0x6d6a19 sp=0xbfffe020] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: searching through frame [ip=0x223dd83 sp=0xbffff200] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: unwinding through frame [ip=0x6d6a19 sp=0xbfffe020] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: unwinding through frame [ip=0x223dd83 sp=0xbffff200] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: handling exception 0x9e854f0 at 0x223de16
objc[3063]: EXCEPTIONS: rethrowing current exception
objc[3063]: EXCEPTIONS: searching through frame [ip=0x223dddf sp=0xbffff200] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: terminating
objc[3063]: EXCEPTIONS: searching through frame [ip=0x158eeed sp=0xbffff190] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: catch(id)
objc[3063]: EXCEPTIONS: unwinding through frame [ip=0x158eeed sp=0xbffff190] for exception 0x9e854f0
objc[3063]: EXCEPTIONS: handling exception 0x9e854f0 at 0x158eeff

就是这样。我还在正在加载的类的标头和实现中设置了断点,并且没有一个断点被命中,这意味着应用程序在加载视图之前崩溃了。

我从来没有见过这样的事情,但是我做了一些研究,谷歌发现了一些与 NSArrays 和 NSPredicate 相关的东西(我的班级确实有),但我排除了这些解决方案,因为视图从未加载 - 那么如何尚未分配/创建的 NSArray 会导致我的应用程序崩溃吗?

任何提示,答案,帮助将不胜感激!

编辑
我的项目使用:

  • 故事板
  • Xcode 4.5
  • 基础 SDK 为 iOS 5.0

没有额外的错误日志、调试消息等。以上是我得到的全部。我还尝试@try / @catch在某些我认为可能有问题的语句周围使用条件,但它们要么从未被调用,要么没有引发异常。

我的(id)init方法也从未被调用。

我开始认为这又是那些奇怪的 Xcode 4 编译器问题之一......

编辑:我还确保禁用自动布局(尽管我不确定这是否是禁用它的正确位置,这是在导航器>文件检查器中):

在此处输入图像描述

4

1 回答 1

0

我真的还是不明白这个错误,但是使用名为Crittercism的第三方崩溃报告 SDK我发现了这个错误:

我试图初始化仅在 iOS 6 或更高版本中可用的 UICollectionView。奇怪的是,Xcode 似乎随机决定告诉我这件事,因为在早期的构建中我使用了 UICollectionView 并在 5.1 模拟器中成功运行了项目(当然我用代码代替了 TableView)。对我来说,编译器甚至没有达到initorviewDidLoad方法似乎很奇怪。

这个问题只在我从 Xcode 4.5 (Release, not Developer) 更新到 4.5.1 后出现

于 2012-10-14T00:53:33.767 回答