2016-10-24 12 views
0

registerUserNotificationSettingsUIUserNotificationSettingsを要求するアラートを受け取ったことがあるかどうかを確認したいと考えています。Swiftで 'registerUserNotificationSettings'の呼び出しが行われたかどうかを調べる

例として、写真にアクセスする場合、写真にアクセスする要求があり、許可を受けた許可がPHPhotoLibrary.authorizationStatus()であるかどうかを判断することができます。 .Authorized.Denied、、.NotDeterminedというステータスを返します。現在までのリクエストがなかった場合、.NotDeterminedが返されます。

通知を登録して初めてUIApplication.sharedApplication().registerUserNotificationSettingsのために、ユーザからそうする許可を取得するとき同様に、登録通知のタイプ、.Badge.Alert.Sound.Noneを決定することが可能です。 (注意:.Noneが要求されているが、ユーザーがいない通知に選出されたことを全く要求またはがなかったの両方を意味することができます)

質問:

しかしがありますregisterUserNotificationSettingsがこれまでにが呼び出されているかどうかを判断する方法はありますか? つまり、写真.NotDeterminedに相当しますか?

答えて

1

あなたがregisterUserNotificationSettingsを呼び出すと、UIApplicationDelegate方法:

func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) 

は、あなたが結果を知らせると呼ばれます。このメソッドを使用して関連する状態情報を保存し、次回のアプリケーション実行時に、以前に呼び出されたかどうかを知ることができます。

+0

ありがとうございました@rmaddy – user4806509

+0

関連するノートでは、以前に関連する状態情報が保存されていない場合はどうでしょうか。国家を決定するアプローチは何でしょうか? – user4806509

+1

関連する状態情報が保存されていない場合、 'didRegister'は呼び出されませんでした。これは' registerUserNotificationSettings'が呼び出されなかったことを意味します。 – rmaddy

関連する問題