我的推送通知系統針對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