在php推送通知脚本中获取警告


Getting Warnings in the php push notification script

我正在编写php代码,以便向多个iphone设备发送推送通知。。当我执行php代码时,我收到警告消息在线下中

$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;

Warning: pack() [function.pack]: Type H: illegal hex digit in /myapp.com/pushgrams/pushtest.php on line 39

有人能告诉我如何解决这个问题吗?

这就是Apple推送通知的打包方式:

// APNs packet prepare
function pck($token, $notification, $msg_id = 0, $expiration = 604800) {
  $token = str_replace(" ", "", $token);
  $pck  = pack('CNNnH*', 1, $msg_id, $expiration > 0 ? time() + $expiration : 0, strlen($token) / 2, $token) . 
          pack('n', strlen($notification)) . $notification;
  return $pck;
}

以下是您准备通知的方式:

$m = '{"aps":{"alert":"' . $msg. '","sound":"default"},"acme2":["bang","whiz"],"acme3":["bing","bong"]}';
$p  = pck($k, $m);