到目前为止,我一直在使用MacBook Pro(MBP)开发应用程序。上周,我的一个 friend 给了我新的macbook air 11“(MBA)。因此,现在我可以使用一台以上的机器使用相同版本的开发工具来测试我的代码-两台机器都具有Xcode(3.2.5)和iOS SDK 4.2 .1)。

某个时间过后,我的应用开始突然终止(iPhone汇总器),而我正在使用MBP。

我没有任何错误消息。它只是停止。我认为崩溃来自处理内存,例如“release” /“double-release”。 (不过,我不确定100%)。无论如何,我认为代码中肯定有一些错误。

-混乱从这部分开始。

另一方面,有了我的MBA,我看不到任何崩溃。 很好用。 MBA和MBP之间只有硬件规范没有什么不同。相同的代码,相同版本的XCode和iOS SDK。

事实是,在MBA期间没有崩溃表明我必须看一下
代码本身之外的其他地方?

我在iOS4.2.1和XCode 3.2.5上发表了一些文章和问答,指出XCode的最新版本无法识别iOS 4.2.1,因为4.2.1在3.2.5之后发布。是这个原因吗?

我目前不知道下一步该怎么做。

谢谢

-编辑 - - - - -
我使用iPhone 3GS 32G测试了我的应用程序。 (S / w版本4.2.1)并收到此错误消息。

最佳答案

请在真实的iDevices上测试您的代码。通过说iDevices,我的意思是iPod Touch / iPhone / iPad,而不是MBP / MBA。

与内存相关的崩溃在一定程度上可能是随机的。模拟器崩溃很可能导致真实iDevice上的相应崩溃。要查找并修复此类崩溃,请在真实的iDevices上对其进行测试。

顺便说一句,因为您说过这可能是与内存相关的错误。建议您打开NSZombieEnabled,然后查看代码的内存管理出了什么问题。

10-08 18:21