【发布时间】:2012-04-03 13:50:20
【问题描述】:
在模拟器上点击我的应用程序中的电子邮件按钮时出现以下错误。我使用与以前的应用程序相同的代码,所以代码必须没问题
int main(int argc, char *argv[])
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
调试器说,我无法解释这意味着什么
argc = (int)1
argv = (char**) 0Xbffff594
*argv = char 0xbffff6b8/users/library/apllications/5.1/applications/FBA888AA-xxxxxx
In thread 1
0x0028b626 <+1163> xor %eax,%eax
0x951929c6 <+0010> jae 0x951929d6 <__pthread_kill+26>
我重启了机器,还是一样的错误
谁能给点建议?
【问题讨论】:
-
尝试缩小产生实际错误的范围。使用断点检查器在抛出异常时中断,并查看是否可以让您查看问题产生时的堆栈视图。如果做不到这一点,请尝试捕获异常并记录它和相关的堆栈符号。
-
按照本文添加异常断点并尝试找到更具体的行ijoshsmith.com/2011/11/28/debugging-exceptions-in-xcode-4-2
-
即使您从另一个正常运行的应用程序中提取代码,我们也需要查看代码的相关部分以帮助您诊断问题。
-
感谢您的回复,我在调试器中得到了这个:
2012-04-03 16:53:30.388 CableCalc[4206:15e03] -[FirstViewController email:]: unrecognised selector sent to instance 0x7f861d0 2012-04-03 16:53:30.389 CableCalc[4206:15e03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FirstViewController email:]: unrecognized selector sent to instance 0x7f861d0' *** First throw call stack: (0x1387022 0x193fcd6 0x1388cbd 0x12eded0 0x12edcb2 0x1388e99 0x28e14e terminate called throwing an exception(lldb) -
我的代码:
UIGraphicsBeginImageContext(self.view.frame.size); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage * image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); NSData * imageData = UIImageJPEGRepresentation(image, 1.0); if ( [MFMailComposeViewController canSendMail] ) { MFMailComposeViewController * mailComposer = [[[MFMailComposeViewController alloc] init] self]; mailComposer.mailComposeDelegate = self; [mailComposer addAttachmentData:imageData mimeType:@"image/jpeg" fileName:@"attachment.jpg"];