推送通知权限

时间:2010-08-27 18:43:08

标签: ios apple-push-notifications

尝试解决几个极端情况,以便在应用中拒绝推送通知时我有两个问题:

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

2)有没有办法确定用户是否对通知请求说“不”?

2 个答案:

答案 0 :(得分:5)

1)不,除非有一些私有API这样做,但Apple不允许这样做

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

答案 1 :(得分:5)

如果用户更改了权限,您可以随时查看权限的状态,您可以在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上运行