iOS 10推送通知授权请求显示在应用启动时

时间:2016-11-28 19:28:15

标签: ios apple-push-notifications ios10

以前,在使用iOS 9 SDK构建我的应用程序时,推送通知授权请求警报(系统警报说:"应用程序"想要发送通知...不要...允许/允许)仅在我拨打[[UIApplication sharedApplication] registerForRemoteNotifications]时显示。

我们决定实际上只在游戏中的某一点执行此操作,因此仅鼓励用户在有意义时允许推送通知。

在iOS 10上,我了解必须使用User Notifications框架来实现这一点(通过调用requestAuthorizationWithOptions:completionHandler:上的[UNUserNotificationCenter currentNotificationCenter]),在应用功能上启用推送通知并设置权利。这确实适用于某些设备,但不是全部。

在某些设备上,即使我没有致电requestAuthorizationWithOptions:completionHandler:registerForRemoteNotifications,授权请求也会在应用启动时显示给用户在任何时候。

最奇怪的是,即使我安装了应用程序的AppStore版本(使用Xcode 7和iOS 9 SDK)。

我应该假设这是iOS 10的错误吗?我无法找到具有相同问题的其他人,只有类似的问题here

2 个答案:

答案 0 :(得分:0)

问题实际上是在游戏中心[GKLocalPlayer localPlayer].authenticateHandler上从iOS 9更改为iOS 10。

设置后,它将在iOS 10上触发推送通知权限请求。这在iOS 9上不会发生。

答案 1 :(得分:0)

对于任何绊脚石并且没有找到上述答案导致他们出现问题的人,应该注意的是,尝试更改应用徽章也会导致推送通知请求。

我的个人情况是关于Cordova应用程序,我在初始化推送之前加载并应用徽章插件,并且无法解决为什么通知权限对话框出现在应用程序启动时。