当设备令牌无效时,向ios设备崩溃发送推送通知


Send push notification to ios device crash when device token is invalid

我试图发送推送通知到多个ios设备,但当一个或多个令牌是无效的,它崩溃,不发送消息到其他设备,这是我的代码:

require_once "libs/ApnsPHP/Autoload.php";
$push = new ApnsPHP_Push(ApnsPHP_Abstract::ENVIRONMENT_PRODUCTION,'WenderCastPush.pem');
$pushdevices = array('499D3684-5039-4E56ACB7E285057E8568','21bff83127f8f307b307e828cfe4a65081b7468f980d17f9fbbda05785298c7d');
$push->connect();
foreach ($pushdevices as $device) 
{
    try{
        $message = new ApnsPHP_Message($device);
        $message->setCustomIdentifier("Message-Badge-3");
        $message->setBadge(3);
        $message->setText('Message Alert : Testing IOS');
        $message->setSound();
        $message->setExpiry(30);
        $push->add(@$message);
    }
    catch(Exception $e)
    {}    
}
$push->send();
$push->disconnect();

为什么您接收到的设备令牌是无效的?要么是通过web服务发送令牌给你的开发人员搞砸了,要么是有问题。在你这边。简单的解决方案是,如果设备标记超过32个字节,则不保存它。