我的一位用户报告他的设备崩溃,iPhone 3GS。相同类型的其他设备未报告类似行为。他给我发了一份崩溃日志,在阅读它的基础上,我不知道该怎么办。我希望我不会错误地解释崩溃日志,但看起来我的动作还没有被调用。
这就是我创建和设置UIBarButtonItem的方式:
- (void)viewDidLoad {
[super viewDidLoad];
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addLog:)];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];
}
这是我的行动方法:
- (IBAction)addLog:(id)sender {
MyViewController *myController = [[MyViewController alloc] initWithNibName:@"MyNib" bundle:nil];
UINavigationController *subNavigationController = [[UINavigationController alloc] initWithRootViewController: myController];
[self presentModalViewController:subNavigationController animated:YES];
[myController release];
[subNavigationController release];
}
这是崩溃日志:
Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x00000000, 0x00000000Crashed Thread: 0 Thread 0 Crashed: 0 libSystem.B.dylib 0x0007e98c __kill + 81 libSystem.B.dylib 0x0007e97c kill + 4 2 libSystem.B.dylib 0x0007e96e raise + 10 3 libSystem.B.dylib 0x0009361a abort + 34 4 MyApp 0x000042e8 0x1000 + 13032 5 CoreFoundation 0x00058ede -[NSObject performSelector:withObject:withObject:] + 18 6 UIKit 0x0004205e -[UIApplication sendAction:to:from:forEvent:] + 78 7 UIKit 0x00094d4e -[UIBarButtonItem(Internal) _sendAction:withEvent:] + 86 8 CoreFoundation 0x00058ede -[NSObject performSelector:withObject:withObject:] + 18 9 UIKit 0x0004205e -[UIApplication sendAction:to:from:forEvent:] + 78 10 UIKit 0x00041ffe -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26 11 UIKit 0x00041fd0 -[UIControl sendAction:to:forEvent:] + 32 12 UIKit 0x00041d2a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 350 13 UIKit 0x0004263e -[UIControl touchesEnded:withEvent:] + 330 14 UIKit 0x00041656 -[UIWindow _sendTouchesForEvent:] + 318 15 UIKit 0x00041032 -[UIWindow sendEvent:] + 74
答案 0 :(得分:2)
崩溃报告未象征化。我可以通过电话来电话:
4 MyApp 0x000042e8 0x1000 + 13032
在符号化的崩溃报告中,此行将显示崩溃发生的哪种方法。
创建发布版本时,将从二进制文件中删除调试符号。您需要在构建之后保存构建文件夹中的.dSYM文件和应用程序包。
这些是表示崩溃报告所必需的。
如果您保存了这些文件,则需要确保它们位于聚光灯可以访问的位置。如果用户向您发送了崩溃报告,请尝试将其拖到Xcode的“管理器”窗口的“崩溃报告”选项卡中。这应该尝试表示崩溃报告(但只有在拥有.dSYM和应用程序包时才会成功)。