Swift 4 iOS 11项目调用MFMailComposeViewController出现日志报错原因咨询
iOS 11 + Swift 4 下 MFMailComposeViewController 出现 [MC] 日志的说明
别担心,这个不是报错!很多刚接触邮件发送功能的开发者都会被这条日志唬到,其实它是苹果MailCore(MC)框架的正常输出,完全不会影响你的功能运行。
具体原因拆解一下:
- 这条日志是当
MFMailComposeViewController准备弹出邮件发送界面时,系统在后台执行的账户筛选操作。系统会根据你的App Bundle ID(也就是日志里的com.s-dev)过滤设备上已配置的邮箱账户,只保留符合系统账户管理规则的可用账户。 - 日志里的
source account management: 1只是说明系统使用默认的账户管理源来完成筛选,属于正常的流程标记。
如果这条日志干扰你调试,可以这么处理:
- 在Xcode的调试控制台搜索框里输入
-[MC],就能直接排除所有带[MC]前缀的系统日志,让你的调试信息更清爽。
另外再提个小建议:确保你已经实现了MFMailComposeViewControllerDelegate的回调方法,比如:
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { controller.dismiss(animated: true) // 这里可以根据result处理发送成功/失败的逻辑 }
这样邮件发送完成后能正确关闭界面,提升用户体验。
内容的提问来源于stack exchange,提问作者Md Istiak Morsalin
相关产品推荐
相关产品推荐

