APN设备令牌是否依赖于推送通知权限

时间:2015-02-03 15:10:29

标签: ios swift apple-push-notifications

如果用户在初次启动应用程序时拒绝推送通知权限,应用程序是否会收到APN设备令牌?

3 个答案:

答案 0 :(得分:17)

您应该注意一个非常重要的例外。如果启用后台模式"远程通知",无论用户对权限问题的响应如何,您都将从iOS获得令牌。您可以使用此令牌向您的应用发送静音推送通知(在json的' aps'部分中将内容可用键设置为1 无声通知意味着如果您的应用程序位于前台,您将在didReceiveRemoteNotification中获得一个命中,如果您的应用程序在后台,它也将获得(在后台)对同一委托功能的调用。 但是 - 这对用户不可见。所以它仍然为您提供了一种与您的应用程序进行通信的方式,尽管是有限的一种。

答案 1 :(得分:-1)

不,您需要获得用户获取令牌的权限

答案 2 :(得分:-4)

重要编辑:此答案不正确。请看下面的答案。我不能删除它,因为它是一个公认的答案。

用户必须授予您获取设备令牌的权限。

如果用户授予权限,则会在- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken中执行AppDelegate方法,您将获得设备令牌。

如果用户拒绝授予权限,则会执行- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error方法,并且您只会获得相应的NSError对象。