微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 使用MFMailComposeViewController打开presentModalViewController时崩溃

一个用户报告我的应用程序在点击电子邮件按钮后立即崩溃.但是我无法在同一规格的设备上重现问题.

附加崩溃日志.我调用[self presentModalViewController:controller animated:YES];在我的报告VC.m.控制器是MFMailComposeViewController的一个实例.

Incident Identifier: 4A06DE9B-178C-43C2-AE23-D8C7EEED7831
CrashReporter Key:   8b802dcda2f9dfd70003b0bedceac04ef79730f0
Hardware Model:      iPad3,6
Process:         ATracker [5610]
Path:            /var/mobile/Applications/ACABBAE7-C701-48AD-9DAC-9B4C0ABD3CFF/ATracker.app/ATracker
Identifier:      ATracker
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-07-15 18:42:30.776 +0100
OS Version:      iOS 6.1.3 (10B329)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000,0x0000000000000000
Crashed Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x3286c3e2 __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x3a70695e objc_exception_throw + 26
2   UIKit                           0x34767118 -[UIViewController presentViewController:withTransition:completion:] + 3764
3   UIKit                           0x34888d9e -[UIViewController presentModalViewController:animated:] + 26
4   ATracker                        0x0007fac2 -[ReportVC sendEmail:] (ReportVC.m:1936)
5   UIKit                           0x34766082 -[UIApplication sendAction:to:from:forEvent:] + 66
6   UIKit                           0x34766036 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
7   UIKit                           0x34766010 -[UIControl sendAction:to:forEvent:] + 40
8   UIKit                           0x347658c6 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498
9   UIKit                           0x34765db4 -[UIControl touchesEnded:withEvent:] + 484
10  UIKit                           0x3468e5f4 -[UIWindow _sendtouchesForEvent:] + 520
11  UIKit                           0x3467b8dc -[UIApplication sendEvent:] + 376
12  UIKit                           0x3467b1ea _UIApplicationHandleEvent + 6194
13  GraphicsServices                0x3636f5f2 _PurpleEventCallback + 586
14  GraphicsServices                0x3636f222 PurpleEventCallback + 30
15  CoreFoundation                  0x328413e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30
16  CoreFoundation                  0x32841386 __CFRunLoopDoSource1 + 134
17  CoreFoundation                  0x3284020a __CFRunLoopRun + 1378
18  CoreFoundation                  0x327b3238 CFRunLoopRunSpecific + 352
19  CoreFoundation                  0x327b30c4 CFRunLoopRunInMode + 100
20  GraphicsServices                0x3636e336 GSEventRunModal + 70
21  UIKit                           0x346cf2b4 UIApplicationMain + 1116
22  ATracker                        0x00044fe6 main (main.m:16)
23  ATracker                        0x00044f9c start + 36

任何想法或提示表示赞赏!

解决方法

应检测设备canSendMail
[MFMailComposeViewController canSendMail]

如果设备上没有邮件帐户,则返回false.

@see https://stackoverflow.com/a/3671759/946434

原文地址:https://www.jb51.cc/iOS/328269.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐