使用我在App Store上的应用程序,推送通知无效.我的应用程序在开发中,推送通知正在运行.
我想我应该通过Ad Hoc部署进行测试.无论如何,这就是我所知道的......
应用程序ID
我的App ID是com.MyName.My-App
它为开发和分发启用了推送通知
APNs证书
我有开发和分发证书.这是我关心的Dist.
它的名称为com.MyName.My-App
导出到PEM
我已经选择了Cert和私钥,并将其导出,如下所示:
和密码保护它.
然后我跑了
openssl pkcs12 -in Certificates.p12 -out pushcert.pem -nodes -clcerts
提供密码,并成功获取pushcert.pem
输出.
正在下载App
我通过服务器端设备令牌为我的设备清除,我从应用程序商店下载我的应用程序,打开它并接受推送通知,然后登录到我的服务器以检查我的设备令牌.我现在有我的生产设备令牌.我运行这个简单的PHP脚本(当我提供我的开发设备令牌时可以工作)但是我的生产设备令牌失败了.
$message, 'sound' => 'default' ); // Encode the payload as JSON $payload = json_encode($body); // Build the binary notification $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; // Send it to the server $result = fwrite($fp, $msg, strlen($msg)); if (!$result) echo 'Message not delivered' . PHP_EOL; else echo 'Message successfully delivered' . PHP_EOL; // Close the connection to the server fclose($fp);
它为什么失败?它适用于我的开发设备令牌,但不适用于我的生产设备令牌.我没有做正确的事吗?