考虑这种情况。应用程序运行并且应用程序:didRegisterForRemoteNotificationsWithDeviceToken:会收到应用程序有权接收推送通知的信息。
用户将应用程序置于后台并删除应用程序的授权,以接收有关设备配置的通知。
用户再次运行应用。从后台返回,该应用程序仍然认为它有权接收推送通知。 应用程序:didRegisterForRemoteNotificationsWithDeviceToken:或应用程序:didFailToRegisterForRemoteNotificationsWithError:此时都不会收到任何内容。
有没有办法知道某个应用是否有权接收推送通知(从设备的通知首选项中读取内容)?
感谢。
答案 0 :(得分:5)
每次应用从后台返回时,您都可以检查[[UIApplication sharedApplication] enabledRemoteNotificationTypes]
。
请参阅:iOS - Check for push notification support in the app
一旦我确认用户已将其禁用,是否有办法以编程方式将用户引导至设备配置的通知设置?
不适用于较新的iOS版本。根据{{3}}和Navigate to settings screen in iphone,您可以使用-[[UIApplication sharedApplication] openURL:]
导航到设置屏幕,但仅限运行iOS 5.0及更早版本的设备。