我的应用程序在关闭MFMailComposeViewController后不久就崩溃了。 UIWebDocumentView正在释放,它释放一个ComposeBodyField对象,并在objc_msgSend上崩溃。它只在某些时候发生,并且仅在旧设备上发生。我假设某些内容正在被释放/清理之前,所以当发送消息时,该对象不存在。
问题在于我无法获得更多信息,而且我不知道它们是如何联系在一起的。如果有人能够对此有所启发,那就太棒了。
答案 0 :(得分:0)
在消除MFMailComposer后,我遇到了类似的崩溃问题。删除[myMailComposer发布]后一切都很好。我确定我遵循内存管理的规则,因为它在应用程序中都很好,除非在这个特定的地方。现在我的“Build& Analyze”唠叨了,但应用程序非常稳定。
答案 1 :(得分:0)
请尝试使用适合我的代码。
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
switch (result)
{
case MFMailComposeResultCancelled:
{
break;
}
case MFMailComposeResultSaved:
{
break;
}
case MFMailComposeResultSent:
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Email" message:@"Email Sent" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
[self performSegueWithIdentifier:@"backHome" sender: self];
break;
}
case MFMailComposeResultFailed:
{
NSLog(@" Failed");
break;
}
default:
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Email" message:@"Email Failed" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
}
break;
}
}