因此,我将应用程序移至EC2实例,Apple推送通知服务停止工作。我使用相同的证书,相同的脚本,同样的一切。
注意事项。
我的剧本:
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$ssl = 'ssl://' . $apnsHost . ':' . $apnsPort;
$apns = stream_socket_client($ssl, $error, $errorString, 30, STREAM_CLIENT_CONNECT, $streamContext);
if($apns == false){
echo "Error: $errorString";
return false;
}
$payload['aps'] = array('alert' => $message, 'badge'=>$badge, 'sound' => 'default');
$payload = json_encode($payload);
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $device_id)) . chr(0) . chr(strlen($payload)) . $payload;
if(fwrite($apns, $apnsMessage)){
return true;
}
return false;
我已经检查了所有变量,它们已经设置好了。
非常感谢任何帮助。这让我疯狂:P
答案 0 :(得分:0)
原来我给了一个糟糕的设备ID。数据库不同,我存储的东西很差。 :(