Я использую NSSharingService в своем приложении macOS Swift. Есть ли способ убедиться, что почтовый клиент по умолчанию настроен с действующей учетной записью?
Я использую 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 с просьбой настроить учетную запись электронной почты. Некоторые пользователи могут не понимать, что происходит в этой ситуации. Есть ли способ узнать, настроен ли почтовый клиент по умолчанию, чтобы я мог проинформировать пользователя, если это не так? Спасибо за вашу помощь.
1 ответ
Я не боюсь. И не обязательно должна быть свежая система. Я использую Canary в качестве почтового клиента по умолчанию и никогда не настраивал Mail.app. Тем не менее я то и дело вижу этот надоедливый диалог настройки почты.