【问题标题】:Thread 1 received signal SIGABART error线程1收到信号SIGABRT错误
【发布时间】: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"];

标签: ios xcode4.2


【解决方案1】:

在 .h 文件中将此行添加到您的 App-delegate@property (strong, nonatomic) ViewController *viewController;

并将这一行添加到您的 App-delegate .m 文件 @synthesize viewController = _viewController;

【讨论】:

    【解决方案2】:

    将此行添加到 .h 文件中的 App-delegate

    @property (strong, nonatomic) UIViewController *viewController;    
    

    并将这一行添加到您的 App-delegate .m 文件

    @synthesize viewController = _viewController;
    

    【讨论】:

    • 我复制了 Saif 发布的内容,但将 App-delegate .h 文件的 ViewController 替换为 UIViewController
    【解决方案3】:

    您的连接似乎已断开。您应该在 Interface Builder 中仔细检查所有连接。

    重新连接或删除连接。

    【讨论】:

      猜你喜欢
      • 2012-01-08
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多