【问题标题】:MFMailComposeViewController without Mail app installed?没有安装邮件应用程序的 MFMailComposeViewController?
【发布时间】:2016-06-13 22:17:00
【问题描述】:

既然可以在 iOS 10 中删除 Apple 的“邮件”应用等应用,那么当开发者尝试初始化并呈现 MFMailComposeViewController 而设备上未安装和配置默认邮件应用时会发生什么?

如果应用崩溃,检查这种情况的最佳方法是什么?

【问题讨论】:

    标签: ios email ios10 mfmailcomposeviewcontroller


    【解决方案1】:

    在 iOS 12 及更高版本上,即使未安装邮件应用程序,canSendMail() 也会返回 true。将显示MFMailComposeViewController,但用户将无法发送邮件。

    在低于 12 的 iOS 版本上:

    看起来MFMailComposeViewController.canSendMail() 将返回 false,MFMailComposeViewController() 将导致崩溃 (EXC_BAD_ACCESS)。使用canSendMail() 检查确定设备是否可以显示MFMailComposeViewController

    【讨论】:

    • 您是否找到了一种通过另一个已安装的邮件应用程序撰写电子邮件的方法(以处理用户删除本机邮件应用程序的情况)?
    • @GeorgiBoyadzhiev 您应该查看其他应用程序的文档。 Gmail 和 Outlook 等应用可能存在深层链接结构。
    • 从 iOS 12 开始,canSendMail() 将返回 true,即使未安装邮件应用程序也是如此。这将允许 MFMailComposeViewController 出现,但发送按钮被禁用。
    • 嘿@AndyHeard,感谢您的更新。自 iOS 10 Beta 1 以来我没有看过这个答案,所以我更新了它以反映 iOS 12 中的行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2023-03-16
    相关资源
    最近更新 更多