推送通知未通过ad Hoc Profile发送到设备(使用Parse)

时间:2012-08-05 16:01:51

标签: iphone ios push-notification apple-push-notifications

推送正在使用我的开发配置文件,我试图让它适用于我的Ad Hoc配置文件。

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

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

因此,我已在我的应用ID:

上设置了生产证书

enter image description here

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

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

     // Tell Parse about the device token (this gets called)
     [PFPush storeDeviceToken:newDeviceToken];
     ...
    
  4. 安装目标出现在Parse的Web UI中。 (Parse是移动应用的后端服务)

    enter image description here

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

    enter image description here

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

    任何人都有任何建议?我已经厌倦了这个...我试着尝试了一切。

1 个答案:

答案 0 :(得分:0)

似乎您正确定义了证书和配置文件。在使用APN签署Parse连接或将推送消息发送到APN的证书的过程中丢失了一些东西。

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

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

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

...然后输入密钥的密码

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

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

我希望这可以帮到你。