2010-11-17 98 views
0

去年我成功地實現了iPhone推送通知服務器(PHP);我不得不改變服務器,並認爲移動文件是足夠的...我錯了,因爲修改通知不再發送。沒有錯誤,一切似乎都沒問題,但沒有收到通知。iPhone推送通知服務器:服務器更改後要做些什麼?

以下是我的服務器代碼;任何人都可以想到一個原因,或者找到問題的方法? (注意:$ deviceTokens var是正確的,包含設備令牌,並且我已經用openssl命令成功測試了我的.pem證書)。

$payload['aps'] = array('alert' => 'notification!!', 'sound' => 'push.aif'); 
    $payload = json_encode($payload); 

    $streamContext = stream_context_create(); 
    stream_context_set_option($streamContext, 'ssl', 'local_cert', 'libraries/ck_prod.pem'); 
    $apns = stream_socket_client('ssl://gateway.sandbox.push.apple.com:' . 2195, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext); 

    if($error) { 
     log_message('error', $errorString); 
     return; 
    } 

    log_message('debug', 'sending push notification...'); 

    if($apns) { 
     foreach($deviceTokens as $deviceToken) { 
      $apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload; 
      fwrite($apns, $apnsMessage); 
     } 
     fclose($apns); 
    } else { 
     log_message('error', 'error while sending push notification'); 
    } 
+0

我有同樣的問題我既沒有收到錯誤也沒有收到推送通知,如果我在其他服務器上使用這些文件,我會收到推送通知,但是如果我在我的服務器上使用,則不會收到通知。你是如何解決這個問題的? – Anjani 2011-01-31 01:22:00

回答

0

好吧好吧...也許我應該注意到我接觸到測試服務器(網關。沙箱 .push.apple.com)......有些時候只是很難...