确定是否曾在Swift中调用`registerUserNotificationSettings`

时间:2016-10-24 21:22:33

标签: ios swift optimization notifications uilocalnotification

我想确定某位用户是否曾收到过请求registerUserNotificationSettings UIUserNotificationSettings的提醒。

例如,在访问照片时,可以确定是否有访问照片的请求以及授予PHPhotoLibrary.authorizationStatus()的权限。它返回的状态为.Authorized.Denied.Restricted.NotDetermined。如果到目前为止没有请求,则会返回 .NotDetermined

同样,在第一次注册通知并获得用户首次UIApplication.sharedApplication().registerUserNotificationSettings的权限时,可以确定已注册的通知类型,.Badge.Alert,{ {1}},.Sound。 (注意:.None可能意味着没有请求已发出请求,但用户已选择没有通知。)

  

问题:

     

有没有办法确定之前是否曾调用.None ?   即是否相当于照片registerUserNotificationSettings

1 个答案:

答案 0 :(得分:1)

当您致电registerUserNotificationSettings时,UIApplicationDelegate方法:

func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings)
将调用

让您知道结果。使用此方法保存相关的状态信息,以便下次应用程序运行时,您知道它是否已被调用过。