Я использую 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. Тем не менее я то и дело вижу этот надоедливый диалог настройки почты.

Другие вопросы по тегам