【发布时间】:2015-01-17 06:07:05
【问题描述】:
这是我的应用崩溃时调试区域中的内容
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: $in)'
我不知道它是什么意思,但它看起来不太好,我找不到它去哪里的断点。
_theUser = [PFUser currentUser];
if (!_theUser || _theUser[@"Completed"] == [NSNumber numberWithBool:NO]) {
[self performSegueWithIdentifier:@"LoginFromHome" sender:self];
return;
}
最初执行该操作时,它会执行 segue,并且在该 segue 的某个地方崩溃。我在 App Store 中有一个应用程序版本,它工作正常。它大约在 10 分钟前才开始,并且一直工作一整天,直到我开始一个新项目并对其应用所有相同的配置内容,以便我可以使用推送通知。
我不能使用来自其他应用程序或其他东西的相同配置内容。我什至用当前项目(我在应用商店中的项目)中拥有的相同项目替换了另一个项目,没有任何工作!
编辑 当我走出去时会出现这种情况
0x197301210: b.ne 0x19730121c ; pthread_kill + 100
0x197301214: movz w0, #45
0x197301218: b 0x197301238 ; pthread_kill + 128
0x19730121c: ldr w0, [sp, #12]
0x197301220: mov x1, x19
0x197301224: bl 0x197303c60 ; symbol stub for: vm_page_mask
---- >0x197301228: cmn w0, #1
0x19730122c: b.ne 0x197301238 ; pthread_kill + 128
0x197301230: bl 0x197303bac ; symbol stub for: mach_task_self_
帮助? (我已经使用 Xcode 大约 6 个月了)
【问题讨论】:
-
太模糊了。当您真正找到崩溃的位置时再回来。
-
@matt 如果我确实知道它在哪里崩溃,我会做得更详细。它将完成 viewDidLoad 并且之后它永远不会执行另一个方法。我的崩溃是未知的。如果我知道 $in 是什么,我就不会问了
-
但是当你崩溃时,你会停在调用堆栈中。你有一个回溯。你应该确切地知道你在哪里。
-
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));这是它结束的地方@matt -
尝试设置异常断点。而且这种比较是不对的。你应该做类似
[_theUser[@"Completed"] boolValue] == false的事情。或者,您可以使用compare方法。
标签: ios objective-c error-handling provisioning-profile