macOS 15.1中MFMailComposeViewController.canSendMail()始终返回false求助
macOS 15.1 Catalyst应用
canSendMail()始终返回false的问题 这个问题确实有不少开发者反馈过,属于macOS 15.1的兼容性Bug,并非你的代码或邮件配置问题,很多人都能复现该情况。
给你几个临时解决思路:
- 重启Mac后再测试,部分用户反馈重启后该函数能恢复正常返回true
- 进入系统偏好设置的「邮件」面板,先移除已配置的邮箱账户,重新添加后再尝试调用接口
- 临时改用
NSSharingService替代MFMailComposeViewController实现邮件发送,示例代码如下:
let emailService = NSSharingService(named: NSSharingServiceNameComposeEmail) emailService?.recipients = ["some Email address"] emailService?.subject = "Subject" // 如果需要添加正文或附件,可传入对应内容到withItems数组 emailService?.perform(withItems: ["邮件正文内容"])
目前苹果尚未正式确认这个问题,但大概率会在后续的macOS更新中修复,建议关注系统更新日志。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

