我遇到的问题是只有当应用程序是通过 HockeyApp 安装时才会发生崩溃,而不是通过 Xcode。
这是我从 HockeyApp 获得的报告:
*** 由于未捕获的异常“NSRangeException”而终止应用程序,原因:“-[__NSCFArray objectAtIndex:]:索引(-1970199490(或可能更大))超出范围(15)” MainViewController.m,第 646 行
指的是这一行:
for (int i; i < [resultsArray count]; i++) {
if ([[resultsArray[i] valueForKey:@"uniqueId"] isEqualToString:[[NSUserDefaults standardUserDefaults]
stringForKey:@"FbId"]]) {
resultsArray = resultsArray[i];
}
}
知道为什么当通过 HockeyApp 而不是通过 Xcode 安装构建时我会在那里崩溃吗?我什至尝试过使用开发和分发证书将应用程序构建到设备上,但只要构建不是通过 HockeyApp 安装,两者都可以正常工作。
最佳答案
我认为问题不是在 for 循环中初始化 i 的值。
应该是for (int i=0;....
如果没有初始化,那么i的值是不可预知的,它可以是null,也可以是它的内存地址的值。
如果你没有初始化它,那么这里会无限循环(如果没有崩溃),因为 i 的值将是一些随机负数 -1970199490,
此外,即使您从 xcode 执行此操作,也会导致相同的行为。
关于ios - 仅通过 hockeyapp 构建发生的崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38794671/