Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone Apple推送通知网关连接,未收到通知_Iphone_Ios_Apple Push Notifications_Apns Php - Fatal编程技术网

Iphone Apple推送通知网关连接,未收到通知

Iphone Apple推送通知网关连接,未收到通知,iphone,ios,apple-push-notifications,apns-php,Iphone,Ios,Apple Push Notifications,Apns Php,我多次从iOS应用程序发送通知。为此,我使用APNS-PHP库将其从服务器发送到Apple推送通知网关 这是代码 public function publishAPush($requestBody){ try { $toUserId=$requestBody->{KEY_USERID}; $toUserType=$requestBody->{KEY_USERTYPE}; $soundFileName=$requestBo

我多次从iOS应用程序发送通知。为此,我使用APNS-PHP库将其从服务器发送到Apple推送通知网关

这是代码

public function publishAPush($requestBody){

    try {

        $toUserId=$requestBody->{KEY_USERID};
        $toUserType=$requestBody->{KEY_USERTYPE};


        $soundFileName=$requestBody->{"sound"};
        $badge=$requestBody->{"badge"};
        $customMessage=$requestBody->{"custom"};
        $alertMesssage=$requestBody->{"alert"};
        if(!empty ($toUserId)){  
                $push = new ApnsPHP_Push(
                                    ApnsPHP_Abstract::ENVIRONMENT_SANDBOX,
                                    'file.pem');

                // Set the Root Certificate Autority to verify the Apple remote peer
                $push->setRootCertificationAuthority('entrust_root_certification_authority.pem');
                // Connect to the Apple Push Notification Service
                $push->connect();
                // Instantiate a new Message with a single recipient
                $message = new ApnsPHP_Message($deviceToken);
                // Set badge icon to "3"
                $message->setBadge($badgeCount);
                // Set a simple welcome text
                $message->setText($alertMesssage);
                // Play the default sound
                $message->setSound($soundFileName);
                $message->setCustomProperty("custom", json_encode($customMessage));
                $push->add($message);

                // Send all messages in the message queue
                $push->send();

                // Disconnect from the Apple Push Notification Service
                $push->disconnect();

                // Examine the error message container
                $aErrorQueue = $push->getErrors();

                if (!empty($aErrorQueue)) {
                    Logger::getRootLogger()->error("Apple Server Error= " . $aErrorQueue);
                }else{
                    Logger::getRootLogger()->info("Message Send successfully to " . $toUserId);
                }
            }
    } catch (Exception $exc) {
        Logger::getRootLogger()->error("Publish a Push= " . $exc);  
    }
}
但很多时候我都没有收到,所以有什么可能的解决办法呢。是因为我正在连接和断开它


编写此代码的更好方法是什么

您是否在ios应用程序中正确接收令牌

另外,使用这个()简短的示例,然后自己修改它。
此示例适用于我。

是的,当收到通知时,令牌被正确接收。