我想在我的应用程序中设置一个按钮,如果单击该按钮,应用程序可以跳转到iOS的默认邮箱。我想这样做,以便用户可以查看&发送邮件。
此功能是否需要私有API或Apple是否禁止此操作?
提前感谢您的帮助。
答案 0 :(得分:3)
这样做你想要的:
let app = UIApplication.shared
if let url = NSURL(string: "message:"), app.canOpenURL(url) {
app.openURL(url)
}
canOpenURL
部分检查用户是否在Mail中设置了至少一个可以发送/接收的电子邮件地址。
答案 1 :(得分:1)
也许您可以使用这样的网址方案:
NSString *email = @"mailto:?subject=YourSubject&body=MsgBody";
email = [email stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:email]];
答案 2 :(得分:0)
如何使用MFMailComposeViewController
?您可以设置其主题,收件人,邮件正文,附件,然后您可以在应用程序中以模态方式呈现它。由于用户不需要离开您的应用程序,因此也会更好。
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:subjectString];
[mailViewController setMessageBody:messageString isHTML:YES];
[self presentViewController:mailViewController animated:YES completion:nil];
}
请记住将视图控制器调用上面的函数作为MFMailComposeViewControllerDelegate
的委托,以便之后可以关闭视图控制器。
-(void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
[self dismissViewControllerAnimated:YES completion:nil];
}
答案 3 :(得分:0)