web-dev-qa-db-ja.com

Swift 3で通知承認ステータスを取得する方法は?

UNUserNotificationCenterでiOS 11の現在の認証ステータスを確認するにはどうすればよいですか?私はしばらく探していて、いくつかのコードを見つけましたが、それはSwift 3にはなく、一部の関数はiOS 10で廃止されました。

12
andre

わかりました:

let center = UNUserNotificationCenter.current()
center.getNotificationSettings { (settings) in
    if(settings.authorizationStatus == .authorized)
    {
        print("Push authorized")
    }
    else
    {
        print("Push not authorized")
    }
}

コード: Kuba

22
andre

通知承認ステータスを取得するとき、実際には3つの状態があります。

  • 認可された
  • 拒否された
  • 未定

これらをチェックする簡単な方法は、.authorized.denied、および.nonDeterminedUNAuthorizationStatusの列挙型であるスイッチケースを使用することです。

UNUserNotificationCenter.current().getNotificationSettings { (settings) in
    print("Checking notification status")

    switch settings.authorizationStatus {
    case .authorized:
        print("authorized")

    case .denied:
        print("denied")

    case .notDetermined:
        print("notDetermined")

    }
}

UNAuthorizationStatusの説明は、Appleのドキュメント https://developer.Apple.com/documentation/usernotifications/unauthorizationstatus にあります。

4
Simon Bøgh