【问题标题】:Messing up the Apple Push Notification Service搞砸 Apple 推送通知服务
【发布时间】:2012-09-04 19:37:36
【问题描述】:

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

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

我以为我只需要用新的 .cer 和 .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 并合并它们?这真的是 Apple 打算让我们这样做的方式吗?还是我一直在关注一个漂亮的 redicolus 教程?

我需要什么 .cer 文件?该应用程序应使用哪个配置文件? AppID vs 配置 vs 设备 vs 证书。到底是什么.. 除了切换到新的 .pem 文件并删除“沙箱”之外,我是否还需要做任何事情。我已经从门户激活并下载了“生产推送 SSL 证书”,并从中生成了我的 .pem 文件。我已尝试阅读此内容,但它非常困难且设置愚蠢!我确定我做错了什么。但无法弄清楚是什么、在哪里以及为什么!

【问题讨论】:

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


    【解决方案1】:

    Push notification services - 很棒的教程,你会找到 php 脚本 + 解答你所有的问题。

    【讨论】:

    • 不,这正是我使用的教程。就是我从中删除了“沙盒”的那个 php 脚本,它说我只需要再次做同样的事情。我做到了。我相信。
    • 好的,您是否设置了您的 Product.entitlements 以进行分发? aps 环境:分发,获取任务允许:否?我的设置和你一样: $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ckProduction.pem'); stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); // 打开到 APNS 服务器的连接 $fp = stream_socket_client( 'ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
    • 这和这个有关系吗?我认为发生此问题是因为我没有连接到服务器.. 那与应用程序没有任何关系吗?无论如何..我认为一切都是为了分发。明天再检查。
    猜你喜欢
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    相关资源
    最近更新 更多