弄乱Apple推送通知服务

时间:2012-09-04 19:37:37

标签: php ios push-notification apple-push-notifications provisioning

我一直在开发一个使用推送通知的应用。我一直在乱搞ALOT试图修复愚蠢的配置东西,我真的不知道什么是什么了。

我设法修复了整个开发推送通知。现在,我们即将发布。但是,切换到生产通知并不像预期的那样顺利。我仍然不太了解整个配置事项。

我以为我只需要用新的.pe和.p12文件生成一个新的.pem文件,并从它试图连接的URL中删除“沙盒”。这导致我的.php中发送推送的“连接失败:0”。

.PHP

$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'dp.pem')
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);

$fp = stream_socket_client(
    'ssl://gateway.push.apple.com:2195', $err,
    $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);

if(!$fp)
    exit("Failed to connect: $err $errstr" . PHP_EOL);

在搞乱.p12和.cer以及.cert和.pem以及.mobileprovision .ipa之后,我真的不知道该怎么做了..为什么我们必须转换为.pem并合并它们?这真的是苹果打算让我们这样做的方式吗?或者我一直在关注漂亮的redicolus教程吗?

我需要什么.cer文件?应用程序应使用哪个配置文件? AppID与配置vs设备与证书。到底是什么..除了切换到新的.pem文件并删除“沙盒”之外,我还应该做什么。我已经从门户激活并下载了“Production Push SSL Certificate”,并从中生成了我的.pem文件。我已经尝试过读这篇文章了,但它真的很难并且是一个愚蠢的设置!我确定我做错了什么。但无法弄清楚是什么,在哪里以及为什么!

1 个答案:

答案 0 :(得分:0)

Push notification services - 很棒的教程,你会发现所有问题的PHP脚本+答案。