代码之家  ›  专栏  ›  技术社区  ›  Brian King

推送通知权限

  •  7
  • Brian King  · 技术社区  · 14 年前

    尝试解决一些在应用程序中拒绝推送通知的情况,我有两个问题:

    2) 有没有办法确定用户是否拒绝了通知请求?

    2 回复  |  直到 12 年前
        1
  •  5
  •   Philippe Leybaert    14 年前

    1) 不,除非有一些私有API可以做到这一点,但是苹果不允许这样做

    2) 第一次启动应用程序时,在调用 registerForRemoteNotificationTypes寄存器 ,您可以检查 被称为。如果不是,用户会说“不,谢谢”。

        2
  •  5
  •   jcesarmobile    10 年前

    您可以随时检查权限的状态如果用户更改了权限,您可以在 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上也能工作