我的iOS应用程序崩溃在我的iOS 4.2.1 iPhone 3G测试设备上。我的构建设置为4.3的基本SDK和4.0的iOS部署目标。当我检查设备日志时,我看到了:
异常类型:EXC_BAD_ACCESS(SIGBUS) 例外代码:KERN_PROTECTION_FAILURE位于0x00c22e00 崩溃的线程:0
我知道这意味着代码可能正在调用4.3 API方法。 如何确定这种情况发生在哪里?
有趣的是,当我将设备连接到Xcode 4并作为开发设备部署时,Xcode 4在方案下拉列表中说“4.2.1将Base SDK覆盖到4.3”。当以这种方式连接为开发设备时,4.2.1 iPhone 3G测试设备可以正常运行应用程序。
提前致谢!
答案 0 :(得分:2)
我遇到了同样的问题。经过硬调试后,我发现程序实际上是指一个不存在的内存(崩溃是在NSURLConnection的回调中)
所以我认为这是4.3中的一个错误,或者Apple希望埋葬3G设备......无论如何
我已经在iOS 4.1 SDK中安装了XCode 3.2.1。重修。我的应用程序可以运行。
答案 1 :(得分:0)
将XCode Base SDK更改为4.2.1并查看它未编译的位置 - 您正在进行的4.3调用应标记为错误。
答案 2 :(得分:0)
原来我的应用程序没有在API方法调用中崩溃。由于核心数据内存问题,它崩溃了。