在 Swift 中跳转到电子邮件应用程序可以使用 MFMailComposeViewController 类。首先,确保在代码中导入 MessageUI 框架。

然后,你可以按照以下步骤来实现跳转到电子邮件应用程序:

  1. 创建一个 MFMailComposeViewController 的实例。
  2. 设置邮件主题、收件人、抄送、密送和正文等属性。
  3. 设置邮件视图控制器的代理。
  4. 在当前视图控制器中模态呈现邮件视图控制器。

下面是一个示例代码:

import MessageUI

class ViewController: UIViewController, MFMailComposeViewControllerDelegate {
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    @IBAction func openEmailAppButtonTapped(_ sender: UIButton) {
        if MFMailComposeViewController.canSendMail() {
            let mailComposeViewController = MFMailComposeViewController()
            mailComposeViewController.mailComposeDelegate = self
            mailComposeViewController.setToRecipients(["recipient@example.com"])
            mailComposeViewController.setSubject("Hello")
            mailComposeViewController.setMessageBody("This is a test email", isHTML: false)
            
            present(mailComposeViewController, animated: true, completion: nil)
        } else {
            print("Cannot send email")
        }
    }
    
    // MARK: - MFMailComposeViewControllerDelegate
    
    func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
        controller.dismiss(animated: true, completion: nil)
    }
}

在上面的示例中,当用户点击一个按钮时,会尝试打开邮件应用程序。如果设备上安装了邮件应用程序,并且可以发送邮件,则会打开一个新的邮件视图控制器,用户可以在其中编辑邮件。用户完成编辑后,可以选择发送、保存草稿或取消操作。一旦完成操作,MFMailComposeViewControllerDelegate 中的 mailComposeController(_:didFinishWith:error:) 方法将被调用,并且邮件视图控制器将被关闭。

请注意,你需要在 Info.plist 文件中添加一个键值对,以允许你的应用程序通过邮件应用程序发送邮件。在 Info.plist 文件中添加以下内容:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>mailto</string>
</array>

这样,你的应用程序就可以跳转到电子邮件应用程序了

swift 跳转email

原文地址: http://www.cveoy.top/t/topic/iOb7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录