4

嗨,我刚刚发布了我的应用更新,其中添加了推送通知。我担心它不能正常工作,所以我做了一堆测试。首先只有一个开发证书,然后是使用 adhoc 的生产证书。两者最终都工作了,当临时工作时我很高兴。

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

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

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

如果有人知道为什么会这样,我们将不胜感激。谢谢!

4

2 回答 2

12

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

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

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

于 2014-10-03T13:16:33.513 回答
8

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

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

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

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

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

于 2012-06-01T08:36:10.503 回答