我想在我的应用程序中设置一个按钮,如果点击,应用程序可以跳转到 iOS 的默认邮箱。
这个函数是否需要一个私有 API,或者这是苹果禁止的?
提前感谢您的帮助。
这是你想要的:
let app = UIApplication.shared
if let url = NSURL(string: "message:"), app.canOpenURL(url) {
app.openURL(url)
}
canOpenURL
部分检查用户是否在 Mail 中至少设置了一个可以发送 / 接收的电子邮件地址。
也许你可以使用这样的 URL 方案:
NSString *email = @"mailto:?subject=YourSubject&body=MsgBody";
email = [email stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:email]];
如何使用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];
}
有关此类的 Apple 文档:http://developer.apple.com/library/ios/#doentation/MessageUI/Reference/MFMailComposeViewController_cl/Reference/Reference.html
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(74条)