推送通知权限

尝试解决几个angular落的情况下推送通知被拒绝的应用程序,我有两个问题:

1)有没有办法重置用户是否看到通知请求popup?

2)有什么方法可以确定用户是否对通知请求说不?

1)不,除非有一些私人的API这样做,但这是不允许的苹果

2)第一次启动你的应用程序,在调用registerForRemoteNotificationTypes之后 ,你可以检查是否调用了didRegisterForRemoteNotificationsWithDeviceToken 。 如果不是,用户说“不,谢谢”。

您可以随时检查权限的状态,如果用户更改它们,您可以在applicationDidBecomeActive上检查它们

 - (void)applicationDidBecomeActive:(UIApplication *)application { if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) { if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){ NSLog(@"Notifications Enabled ios 8"); } else { NSLog(@"Notifications not Enabled ios 8"); } } else { UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; if (types & UIRemoteNotificationTypeAlert) { NSLog(@"Notifications Enabled"); } else { NSLog(@"Notifications not Enabled"); } } } 

更新,以使其在iOS 8上也可以工作