ios-приложение аварийно завершает работу при вызове команды iNAPP mail


Когда я щелкаю сообщение Compose sheet с помощью кнопки UIActionSheet, я получаю следующую ошибку. Извините, что они еще мало что значат для меня-все еще учусь: -)

Кто-нибудь может помочь?

Таковы источники возникающих проблем.

список, который появляется при сбое приложения.

Ошибка зеленого бара

Это записано в журнале:

2012-06-16 19:10:43.437 Multi Web[2665:4013] XPCProxy получил неверное сообщение: target не предоставил сигнатуру метода для bodyFinishedDrawing 2012-06-16 19:10: 43.489 Multi Web[2665:907] _serviceViewControllerReady: error: Error Domain=XPCObjectsErrorDomain Code=3 "не удалось завершить операцию. (Ошибка XPCObjectsErrorDomain 3.) "

Ура Джеффу

        if ([MFMailComposeViewController canSendMail])
    {
        MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
        mailer.mailComposeDelegate = self;

        NSString *subject = [[NSString alloc] initWithFormat:@"Multi Web - Sending %@.txt", _documentFile];

        [mailer setSubject:subject];

        // Attach an image to the email
        NSString *pathFile01 = [NSString stringWithFormat:_documentTXTPath];
        NSURL *pdfURLFile01 =  [NSURL URLWithString:pathFile01];
        NSData *pdfDataFile01 = [NSData dataWithContentsOfURL:pdfURLFile01];
        NSString *fileName = [[NSString alloc] initWithFormat:@"%@.txt", _documentFile];
        [mailer addAttachmentData:pdfDataFile01 mimeType:@"application/txt" fileName:fileName];

        NSString *emailBody = 
       @"Hi,<br><br>Please find attached the note exported from Multi Web.<br/><br/>Thanks you for using the app.<br/><br/>Kind Regards,<br/>Multi Web Team.";


        [mailer setMessageBody:emailBody isHTML:YES];

        [self presentModalViewController:mailer animated:YES];
    }

    // Remove the mail view
    [self dismissModalViewControllerAnimated:YES];



- (void)mailComposeController:(MFMailComposeViewController*)controller  didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
 {
 switch (result)
 {
    case MFMailComposeResultCancelled:
        NSLog(@"Mail cancelled: you cancelled the operation and no email message was queued.");
        break;
    case MFMailComposeResultSaved:
        NSLog(@"Mail saved: you saved the email message in the drafts folder.");
        break;
    case MFMailComposeResultSent:
        NSLog(@"Mail send: the email message is queued in the outbox. It is ready to send.");
        break;
    case MFMailComposeResultFailed:
        NSLog(@"Mail failed: the email message was not saved or queued, possibly due to an error.");
        break;
    default:
        NSLog(@"Mail not sent.");
        break;
}

// Remove the mail view
[self dismissModalViewControllerAnimated:YES];

}

1 3

1 ответ:

Правильный ответ-удалить

[self dismissModalViewControllerAnimated:YES] 

Сразу после метода presentModalViewController.

Сбой происходит потому, что вы закрываете контроллер модального представления вскоре после его представления и пытаетесь закрыть его снова (который уже освобожден) в делегате обратного вызова.

Вы можете прочитать о том, как отправить электронное письмо в приложении здесь на моем посте.

Http://blog.mugunthkumar.com/coding/iphone-tutorial-in-app-email/