我正在使用NSSharingService为我的 macOS 应用程序的用户准备一封带有附件的电子邮件。我的代码是:
let emailService = NSSharingService.init(named: NSSharingService.Name.composeEmail)
if emailService.canPerform(withItems: [emailBody, zipFileURL]) {
// email can be sent
DispatchQueue.main.async {
emailService.perform(withItems: [emailBody, zipFileURL])
}
} else {
// email cannot be sent
// Show alert with email address and instructions
self.showErrorAlert(with: 2803)
}
这可以正常工作,但如果代码在新系统上执行,Apple Mail 将打开,要求用户配置电子邮件帐户。一些用户可能不明白在这种情况下发生了什么。有没有办法确定是否配置了默认电子邮件客户端,如果没有配置,我可以通知用户?谢谢你的帮助。