我正試圖實施APNS-PHP,並發現在我的測試環境中,我有一些無效令牌(隨着測試設備轉移到產品)。從APNS-php錯誤中獲取令牌
我需要從數組中的序列化對象中獲取令牌ID,因爲我想捕獲此場景並從數據庫中刪除無效令牌。我使用下面的代碼,但是,這並不工作:
$aErrorQueue = $push->getErrors();
if (!empty($aErrorQueue)) {
foreach($aErrorQueue as $error){
foreach($error['ERRORS'] as $err){
$message .= $err['statusMessage'] . " ";
if($err['statusCode'] == 8){
$phones = Phone::getPhonesWithToken($error['MESSAGE']['_aDeviceTokens:protected'][0]);
Phone::setToken($phones[0]['id'], "");
}
}
}
}
的問題是,APNS_Message在$錯誤[「消息」]序列化對象,我不記得如何訪問令牌在對象...
瓦爾轉儲:
[ 「MESSAGE」] => 對象(ApnsPHP_Message)#9(8){ [ 「_bAutoAdjustLongPayload:保護」] => 布爾(真) [「_aDeviceTokens:protected」] => 陣列(1){[0] =>串(64) 「018E4B9CB8CF73341CE4EBE7138E25E605CD80FB74B3A9701CE5CCA6D9363F3A」 } [ 「_sText:保護」] => NULL [ 「_nBadge:保護」] => INT(256) [「_sSound:保護 「] => NULL [」 _aCustomProperties:保護 「] => NULL [」 _nExpiryValue:保護 「] => INT(604800) [」 _mCustomIdentifier:保護 「] => 串(17)」 MESSAGE-徽章-004" }
我剛剛意識到!一個愚蠢的錯誤,並表明我有一段時間沒有使用PHP! – 2011-04-04 17:19:17