只是一个简单的问题,UIApplicationDelegate 协议中是否有任何方法可以确认设备已成功取消注册远程通知?
我知道以下确认设备注册成功的委托方法,但想知道它的对应方法:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
谢谢, 奥贝德
只是一个简单的问题,UIApplicationDelegate 协议中是否有任何方法可以确认设备已成功取消注册远程通知?
我知道以下确认设备注册成功的委托方法,但想知道它的对应方法:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
谢谢, 奥贝德
不,没有。只有application:didFailToRegisterForRemoteNotificationsWithError
未能注册远程通知。
您不能以编程方式取消注册远程通知,因为这样做没有意义。注册并不意味着您实际上会收到通知。
用户自己必须在“通知中心”下的设置应用程序中关闭特定应用程序的通知。
所以不要混淆。它只是不需要。如果需要,Apple 会这样做……
据我了解,您无法从应用内的远程通知中取消注册。我认为第一次尝试注册时会出现询问您是否同意接收推送通知的对话框,之后您可以从“设置”应用程序控制注册。
您可以通过检查返回的值来检查当前是否在应用程序内启用了推送通知
[[UIApplication sharedApplication] enabledRemoteNotificationTypes]