以前,在使用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。
答案 0 :(得分:0)
问题实际上是在游戏中心[GKLocalPlayer localPlayer].authenticateHandler
上从iOS 9更改为iOS 10。
设置后,它将在iOS 10上触发推送通知权限请求。这在iOS 9上不会发生。
答案 1 :(得分:0)
对于任何绊脚石并且没有找到上述答案导致他们出现问题的人,应该注意的是,尝试更改应用徽章也会导致推送通知请求。
我的个人情况是关于Cordova应用程序,我在初始化推送之前加载并应用徽章插件,并且无法解决为什么通知权限对话框出现在应用程序启动时。