1

Push 正在使用我的开发配置文件,我试图让它为我的 Ad Hoc 配置文件工作。

我使用文本编辑器检查了临时配置文件,发现:

    <key>aps-environment</key>
        <string>production</string>

因此,我在我的应用 ID 上设置了生产证书:

在此处输入图像描述

  1. 我重新生成了我的个人资料并用它重建了项目。
  2. 我用正确的证书上传了我的 Ad Hoc 构建(测试飞行)(我手动检查了它)
  3. 我检查了设备日志,发现它确实成功注册了设备令牌:

    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken {

     // Tell Parse about the device token (this gets called)
     [PFPush storeDeviceToken:newDeviceToken];
     ...
    

安装对象出现在 Parse 的 Web UI 中。(Parse是移动应用程序的后端服务)

在此处输入图像描述

客户端推送出现在推送日志中(参见屏幕截图 3)。我还从 Web UI 工具创建了手动文本推送。

在此处输入图像描述

设备上没有出现任何推送。我尝试让应用程序在前台运行并且根本不运行(从任务栏中删除)。

有人有什么建议吗?我厌倦了这个......我似乎已经尝试了一切。

4

1 回答 1

0

似乎您正确定义了证书和配置文件。在使用 APN 签署 Parse 连接或向 APN 发送推送消息的证书的过程中缺少某些内容。

真的很抱歉我荒谬的英语,但这会有点长。您是否尝试使用您的证书和私钥手动连接到 APNs?

要做到这一点并使事情变得更简单,请将您的证书和私钥放在同一个文件夹中,然后打开终端并转到放置证书和密钥文件的同一个文件夹并运行以下命令:

 openssl s_client -connect gateway.push.apple.com:2195 -cert YourCertFileHere -key YourPrivateKeyFileHere

...并输入密钥的密码

如果一切顺利,您将通过 telnet 连接到 APN,并且连接不会断开,否则,您没有有效的文件对(密钥和证书)。

其他可能的原因是 Parse 试图向沙箱服务器发送推送消息,我无法弄清楚你如何确认这一点,因为我没有使用这个 BaaS 的经验。

我希望这可以帮助你。

于 2014-08-19T03:44:42.303 回答