I am currently running in troubles with iOS7 and the MFMailComposeViewController
. Sometimes (quite often but not always), I have the following crash when presenting the MFMailComposeViewController
:
** * Assertion failure in -[MFComposeSubjectView layoutSublayersOfLayer:], /SourceCache/UIKit/UIKit-2903.23/UIView.m:8540
Here is how I present the controller:
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController* mailVC = [[MFMailComposeViewController alloc] initWithNibName:nil bundle:nil];
mailVC.mailComposeDelegate = self;
[mailVC setSubject:@"blablabla"]];
[mailVC setMessageBody:@"blablabla" isHTML:NO];
mailVC.modalPresentationStyle = UIModalPresentationFormSheet;
mailVC.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
if(isIpad) {
[sharedParentViewController presentViewController:mailVC animated:YES completion:nil];
} else {
[sharedNavigationViewController presentViewController:mailVC animated:YES completion:nil];
}
}
sharedParentViewController
and sharedNavigationViewController
are defined macros to access root view controller everywhere in the app.
I set up a breakpoint on all exceptions but unfortunately, it never breaks.
With iOS6 and iOS5, everything works fine, any idea of what I can try to fix this?
EDIT:
Here is the crash log:
Stack Trace
Auto Layout still required after executing -layoutSubviews. MFComposeSubjectView's implementation of -layoutSubviews needs to call super.
0 CoreFoundation 0x3099ff4b <redacted> + 130
1 libobjc.A.dylib 0x3b1366af objc_exception_throw + 38
2 CoreFoundation 0x3099fe25 <redacted> + 0
3 Foundation 0x31347fe3 <redacted> + 90
4 UIKit 0x33112e63 <redacted> + 538
5 QuartzCore 0x32d99c6b <redacted> + 142
6 QuartzCore 0x32d9547b <redacted> + 350
7 QuartzCore 0x32d9530d <redacted> + 16
8 QuartzCore 0x32d94d1f <redacted> + 230
9 QuartzCore 0x32d94b2f <redacted> + 314
10 QuartzCore 0x32d8e85d <redacted> + 56
11 CoreFoundation 0x3096b1cd <redacted> + 20
12 CoreFoundation 0x30968b71 <redacted> + 284
13 CoreFoundation 0x30968eb3 <redacted> + 730
14 CoreFoundation 0x308d3c27 CFRunLoopRunSpecific + 522
15 CoreFoundation 0x308d3a0b CFRunLoopRunInMode + 106
16 GraphicsServices 0x355c7283 GSEventRunModal + 138
17 UIKit 0x33177049 UIApplicationMain + 1136
18 teleobs 0x00037921 main + 116
19 teleobs 0x000378a8 start + 40
self.navigationBar.tintColor = [UIColor whiteColor]; [self.navigationBar setTranslucent:NO];
– Trifling