Приложение вылетает после выхода из Mail Composer - PullRequest
0 голосов
/ 02 августа 2010

Мое приложение падает после закрытия MFMailComposeViewController.Выпускается UIWebDocumentView, который освобождает объект ComposeBodyField, и он падает на objc_msgSend.Это происходит только иногда, и только на старых устройствах.Я предполагаю, что что-то освобождается / очищается раньше, чем должно, поэтому, когда сообщение отправлено, объект не существует.

Проблема в том, что я не могу получить больше информации, чем этаи я понятия не имею, как все это связано друг с другом.Если кто-то может пролить свет на это, было бы здорово.

Ответы [ 2 ]

0 голосов
/ 04 июня 2013

Пожалуйста, попробуйте этот код, который работает для меня.

 - (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;
}
}
0 голосов
/ 02 ноября 2010

У меня были похожие проблемы с падением после исчезновения MFMailComposer.После удаления [выпуска myMailComposer] все в порядке.Я уверен, что я следую правилам управления памятью, поскольку в приложении все нормально, кроме как в этом конкретном месте.Теперь мой "Build & Analyze" об этом говорит, но приложение совершенно стабильно.

...