我正试图加入MFMailComposeViewController
我的应用程序.当我以模态方式呈现它时,发送按钮工作正常并且发送电子邮件,这意味着在这种情况下发送给委托的结果是正确的.
而当我点击取消按钮时它会挂起应用程序.日志也没有显示错误,只是屏幕变暗,一切都被禁用.显然,结果没有传递给委托(我通过日志检查).它似乎是
(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
Run Code Online (Sandbox Code Playgroud)
每次按下取消按钮时都不会调用.可能这就是为什么没有显示动作表(保存草稿,取消,删除草稿)的原因,因此应用程序就在那里挂起.
我正在使用Apple的示例应用程序(MailComposer)中的确切代码,它在那里工作得很好,但在某种程度上我的失败.:(
如果有人遇到同样的问题并成功解决了,请帮助我.
我的代码:
-(IBAction)emailButtonPressed:(id)sender{
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil)
{
if ([mailClass canSendMail])
{
[self displayComposerSheet];
}
else
{
[self launchMailAppOnDevice];
}
}
else
{
[self launchMailAppOnDevice];
}
}
#pragma mark -
#pragma mark Compose Mail
-(void)displayComposerSheet
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Ilusiones"];
// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:@"anam@semanticnotion.com"];
[picker setToRecipients:toRecipients];
// …
Run Code Online (Sandbox Code Playgroud)