了解某个应用是否有权即时接收推送通知

Spa*_*Dog 2 iphone push-notification apple-push-notifications

考虑这种情况.应用程序运行和应用程序:didRegisterForRemoteNotificationsWithDeviceToken:接收应用程序有权接收推送通知的信息.

用户将应用程序置于后台并删除应用程序的授权,以接收有关设备配置的通知.

用户再次运行app.从后台返回,该应用程序仍然认为它有权接收推送通知.无论是应用:didRegisterForRemoteNotificationsWithDeviceToken:应用程序:didFailToRegisterForRemoteNotificationsWithError:在这一点上收到任何东西.

有没有办法知道任何一个应用程序是否有权接收推送通知(从设备的通知首选项中读取内容)?

谢谢.

Rox*_*tus 5

您可以在[[UIApplication sharedApplication] enabledRemoteNotificationTypes]每次应用从后台返回时检查.

请参阅:iOS - 检查应用程序中的推送通知支持

一旦我确认用户已将其禁用,是否有办法以编程方式将用户引导至设备配置上的通知设置?

不适用于较新的iOS版本.根据iphoneiOS启动设置 - >限制URL方案-[[UIApplication sharedApplication] openURL:]中的导航到设置屏幕,您可以使用导航到设置屏幕,但仅适用于运行iOS 5.0及更早版本的设备.