iPad App仅在4.2发布版本中崩溃

时间:2010-12-08 03:18:13

标签: iphone ipad crash ios-4.2

我有一个奇怪的问题,希望有人可以解释一下。

我在AppStore中有一个ipad应用程序,当3.2是唯一时发布 适用于ipad的iOS版。应用程序在这个iOS上运行良好,但只要4.2.1出现在ipad上 我的一些用户因此更新到新的iOS应用程序现在崩溃时 按下某个UIBarButtonItem。在从iOS 3.2到iOS的过渡时期 4.2.1出来我没有提交更新,所以它是完全相同的应用程序运行 每个iOS但我只在4.2上有这个问题

在管理器中进行符号化并查看分发构建崩溃报告之后 我能够至少看到引起这个问题的代码行......

while(i < [filteredData count]) {

就是这样!! ......只是在一个while循环中进行简单的检查。崩溃的最后一件事 log指向上面的代码行....

filteredData是一个绝对分配/初始化的NSMutableArray 这点。它实际上在之前用于另一段代码而没有 问题。 同样,这行代码使我的应用程序在iOS 3.2上没有问题,但在iOS 4.2.1上 导致EXC_BAD_ACCESS(SIGSEGV)

当我通过带有调试或发布配置的xcode在我的设备上安装应用程序时,它工作得很完美但是从AppStore安装时(分发版本)它崩溃了,只能在4.2上运行!

只是澄清.....

app在3.2

上的调试和分发模式下运行良好

应用程序在4.2上的调试模式下运行完美但是在4.2

上的分发模式下应用程序崩溃

有什么想法? .....因为我很困惑/丢失 感谢您抽出时间

1 个答案:

答案 0 :(得分:3)

编译器在Release版本中进行的优化可能会导致这种情况,特别是当你在Debug中没有遇到问题时

你能重构......

NSUInteger count = [filteredData count];
while(i < count) {

或者是在循环中filterData变异吗?

NSUInteger count = [filteredData count];
while(i < count) {
   blah;
   blah;
   count = [filteredData count];
}