Swift 通知許可状態を取得する(同期あり)
UNUserNotificationCenter.current().getNotificationSettingsで通知設定取得。
UNNotificationSettings内のsetting.authorizationStatus確認。
ドキュメントより
UNAuthorizationStatusの値
notDetermined
ユーザーは、アプリで通知をスケジュールすることを許可するかどうかをまだ選択していません。denied
このアプリはスケジュールや通知の受信を許可されていません。authorized
このアプリは、スケジュールや通知の受信を許可されています。provisional
このアプリケーションは、中断しない利用通知の掲載を暫定的に許可されています。
1 2 3 4 5 6 7 8 9 10 11 | let semaphore = DispatchSemaphore ( value : 0 ) UNUserNotificationCenter . current (). getNotificationSettings ( completionHandler : { setting in if setting . authorizationStatus == . authorized { print ( "許可" ) } else { print ( "未許可" ) } semaphore . signal () }) semaphore . wait () |