4

我已经在我的应用程序中实现了 APNS,它在开发过程中工作。我提交到 App Store 后,弹窗不显示,用于要求用户选择是否接收 APNS。任何人都可以给出任何想法吗?

4

2 回答 2

12

我会首先检查您提交的二进制文件是否在权利中启用了推送通知。在 iTunes 连接中查看应用程序二进制文件的详细信息:

在此处输入图像描述

您应该看到aps-environment以“生产”为值的键。

在此处输入图像描述

您还可以在终端中运行以下命令以从本地计算机上的 .app 文件中获取信息:

codesign -d --entitlements - MyApp.app

如果aps-environment密钥设置为“生产”,则您的应用程序在代码方面可能没有任何问题。它在沙盒环境中工作,因此它应该在生产环境中工作(因为两者的代码相同)。这是假设您的发布版本运行与调试版本相同的代码。

在您的代码中,您应该处理该application:didFailToRegisterForRemoteNotificationsWithError:方法并 NSLogging 任何错误。这将使您在设备的控制台中看到错误。

由于您的应用程序没有提示启用推送通知,因此在我看来好像缺少权利。或者以某种方式在设备上禁用了推送通知。

您还应该检查您的服务器(提供者)是否将通知发送到生产环境(gateway.push.apple.com),而不是沙盒环境(gateway.sandbox.push.apple.com)。虽然如果这是问题所在,应用程序仍会提示用户允许推送通知。

于 2012-04-13T14:22:14.783 回答
0

您的 app-id 配置为在 ios 门户中使用 apns 生产环境?

您也可以在您的应用程序中检查日志,它应该记录特定原因的 apns 注册错误

于 2012-04-13T10:09:59.520 回答