当我通过UIActionSheet按钮输入Message Compose表时,我收到以下错误。对不起这些对我来说意义不大 - 还在学习: - )
有人可以帮忙吗?
这些是出现问题的根源。
这是在日志中:
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 error 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];
}
答案 0 :(得分:1)
正确的答案是删除
[self dismissModalViewControllerAnimated:YES]
就在presentModalViewController方法之后。
你正在崩溃,因为你在模拟视图控制器出现后立即将其解除,并尝试在回调委托中再次解除它(已经解除分配)。
您可以在我的帖子上阅读有关如何发送应用内电子邮件的信息。
http://blog.mugunthkumar.com/coding/iphone-tutorial-in-app-email/