Objective c MFMailComposeViewController立即解散
现在的情况是将要展示的MFMailComposeViewController。我看到它做了一半,但后来被驳回了 这就是错误: _serviceViewControllerReady:错误:错误域=\u UIViewServiceInterfaceErrorDomain代码=3“该操作无法完成。(\u UIViewServiceInterfaceErrorDomain错误3)。” 这是我介绍MFMailComposeViewController的源代码:Objective c MFMailComposeViewController立即解散,objective-c,ios,mfmailcomposeviewcontroller,mfmailcomposer,Objective C,Ios,Mfmailcomposeviewcontroller,Mfmailcomposer,现在的情况是将要展示的MFMailComposeViewController。我看到它做了一半,但后来被驳回了 这就是错误: _serviceViewControllerReady:错误:错误域=\u UIViewServiceInterfaceErrorDomain代码=3“该操作无法完成。(\u UIViewServiceInterfaceErrorDomain错误3)。” 这是我介绍MFMailComposeViewController的源代码: -(void) MailExecute {
-(void) MailExecute {
if ([MFMailComposeViewController canSendMail])
{
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:NSLocalizedString(@"Check this new look", @"")];
[mailViewController setMessageBody: @"my new look" isHTML:YES];
[self presentModalViewController:mailViewController animated:YES];
[mailViewController release];
}
else
{
UIAlertView *alertInternal = [[UIAlertView alloc]
initWithTitle: NSLocalizedString(@"Notification", @"")
message: NSLocalizedString(@"You have not configured your e-mail client.", @"")
delegate: nil
cancelButtonTitle:NSLocalizedString(@"OK", @"")
otherButtonTitles:nil];
[alertInternal show];
[alertInternal release];
}
}
奇怪的是,有时会发生,有时不会。
请帮帮我!我花了将近一个工作日来解决这个问题,但没有成功。您的
视图中是否有任何可以解除视图控制器的方法
如果没有,您能否为显示MFMailComposeViewController的ViewController发布更多代码?您的代码看起来是正确的,如前所述,错误消息强烈表明这与UIView
的正确性有关(不是MFMail
)。问题几乎肯定存在于代码中的其他地方,并且可能很难排除故障
需要寻找的一些东西:
同时或错误发生的其他动画或视图控制器转换/解除()
当然,发布/保留问题
如果这些看起来都不是修复方法,请尝试注释调用此方法的视图控制器中发生的所有其他情况,然后看看它是否有效
如果您仍然无法使其工作,请提供最简单的失败代码版本,以便我们进一步排除故障。:) iOS 6中不推荐使用modelViewController,
使用
我知道这是迟来的答复,但可能对其他人有所帮助
刚才遇到了同样的问题,通过重置模拟器,我可以很好地解决同样的问题。请告诉我这是否有帮助。当显示远程视图控制器(视图控制器在另一个进程中运行)时,可能会出现此问题,如错误消息中的所示
我在显示SKStoreProductViewController
时遇到了这个问题,这也是一个问题。我不确定根本原因是什么;对我来说,唯一触发它的似乎是反复显示视图控制器
对于SKStoreProductViewController
,我能够在loadProductWithParameters:completionBlock:
方法的完成块中检查此错误。MFMailComposeViewControllerDelegate
是否会给您一个关于此错误的回调?可能您所能做的就是侦听此错误并向用户显示错误消息
我们可能都应该对此提交一份苹果雷达文件。在我将MFMailComposeViewController存储在我的类的一个强属性中而不是一个局部变量之后,我再也无法重现这种自责行为了。对于我来说,调用附件函数时的问题是一个不正确的参数。如果您在电子邮件附件中遇到此问题,我建议使用中的解决方案,如下所示:
NSString *path = [self getDatabaseFilePath];
NSData *myData = [NSData dataWithContentsOfFile:path];
[picker addAttachmentData:myData mimeType:@"application/x-sqlite3" fileName:[path lastPathComponent]];
我面临同样的问题,解决办法是:
我删除了整个应用程序外观相关的代码,如
[[UILabel appearance]setText:@""]
并替换为代码
[[UILabel appearanceWhenContainedIn:[self class], nil] setText:@""];
现在它工作正常,所以要注意整个应用程序外观的更改:它可能是导航栏外观,等等MFMailComposeViewController*mailComposer=[[MFMailComposeViewController alloc]init]
if ([MFMailComposeViewController canSendMail])
{
mailComposer.mailComposeDelegate = self;
[mailComposer setToRecipients:[NSArray arrayWithObject:@"support@kapsie.com"] ];
[mailComposer setSubject:@"Kapsie App Contact Support"];
[mailComposer setMessageBody:@"Type Your Feedback message here" isHTML:NO];
[self presentViewController:mailComposer animated:YES completion:nil];
}
使用上述代码并在设备上进行检查。当您的应用程序在设备或模拟器上运行时,您会出现此异常?很可能与mailComposeView无关,但UIView总体上与quickLook有类似的错误提示。还在调试…嗨,JOM,你发现这个错误有什么新的地方吗?你添加了MessageUI.framework吗?嘿,我想知道你是否解决了这个问题。我也有这个问题,但只是在某些情况下,我不能复制它!谢谢你的帮助。我的主管正在接管。所以我不会再检查它了。我很确定ViewDidEverge或ViewWillEverge没有什么问题。但是我不再调查了,所以谢谢你的帮助。我不再调查这个bug了。谢谢您的帮助。您可能需要标记此问题。这个问题与iOS编程有关吗?
if ([MFMailComposeViewController canSendMail])
{
mailComposer.mailComposeDelegate = self;
[mailComposer setToRecipients:[NSArray arrayWithObject:@"support@kapsie.com"] ];
[mailComposer setSubject:@"Kapsie App Contact Support"];
[mailComposer setMessageBody:@"Type Your Feedback message here" isHTML:NO];
[self presentViewController:mailComposer animated:YES completion:nil];
}