我的推送通知系统针对ios的应用程序存在问题:它在开发中完美工作,但不适用于生产。 现在我有一个疑问。这里https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ProvisioningDevelopment/ProvisioningDevelopment.html 我读过,必须在服务器上“安装”pem证书。如何为推送通知安装ssl证书?
在开发过程中,我只将开发.pem复制到发送推送通知的php脚本的同一目录中,并使脚本使用它。在生产中(我的应用程序在应用程序商店中),我必须以某种方式“安装”服务器上的分发.pem文件?
注意:要验证一切都以正确的方式我做的:
$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
if(!$fp){
print "All ok!";
}
和
$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack ("n",strlen($payload)) . $payload;
print "sending message :" . $payload . "n to device:".$deviceToken."</br>";
$result=fwrite($fp, $msg);
if (!$result)
print "All ok!":
}
即使在生产中,两人并没有引发任何错误。
我使用编辑中写的两段代码来验证套接字打开。他们好吗?他们不会发出任何错误。设备令牌似乎是生产版本,因为我从应用程序商店安装了我的ipad上的应用程序,使得我的php脚本以这种方式将应用程序接收到的令牌写入我的数据库,然后发送推送,但没有运气。在我的目标中,发布的代码签名标识包含我的公司名称和“Iphone发行版”的配置文件。没关系?这是问题:一切似乎都没问题。已经两天了,我正在为此而苦苦挣扎。这是让我疯狂的^^'' – 2013-03-20 14:23:27
哦,好吧,问题是,似乎所有人都以正确的方式前进,但没有任何通知到达任何设备。我也试过在我从未安装应用程序的设备上进行全新安装。 – 2013-03-20 14:25:27