用户加载应用时推送通知不询问权限

时间:2012-06-01 07:51:38

标签: objective-c ios xcode

您好我刚刚发布了我的应用更新,其中添加了推送通知。我担心它不能正常工作所以我做了一堆测试。首先只使用开发证书,然后使用adhoc生成证书。两人都结束了工作,当特别工作时,我很高兴。

无论如何,更新现在已经存在了大约8个小时,并且出于某种原因推送无效。我和我的朋友检查过并且意识到没有询问用户是否要接受来自我的应用程序的推送通知。这意味着当令牌被发送到我的服务器时,它显示为(null)。我不知道为什么会这样。当他进入设备设置时 - >通知--->我的应用程序没有出现在任何列表上(接收推送通知或未接收)。

这是我的委托中应该触发请求的代码:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
 (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];

如果有人知道为什么会这样,那么非常感谢输入。谢谢!

2 个答案:

答案 0 :(得分:11)

我们认为我们遇到了同样的问题,但发现应用实际上工作正常。即使用户卸载并重新安装应用程序,也只会提示用户一次。

我们通过卸载应用程序然后重新安装来测试它。 iOS会记住我们之前在该设备上的响应情况,并且不会再次提示我们认为存在问题。

我们发现最好的测试方法是使用模拟器并执行“重置内容和设置”。

答案 1 :(得分:8)

在为推送通知配置应用并生成SSL证书后,您还必须生成新的配置文件。

开发人员门户在App ID配置页面上显示此消息:

  

生成客户端SSL证书后,请创建一个新的配置文件,其中包含您要用于通知的App ID。

如果在设置推送后没有更新App Store配置文件,操作系统将不会为您提供推送令牌。

如果这是您的问题,您只需要生成一个新的App Store分发配置文件并提交使用该配置文件签名的重新编译版本。