我已经用easyAPNS设置了APNS服务器,一切正常,证书,权限,设备注册正确,消息在消息表中创建。但问题是,当我尝试获取队列消息时,class_APNS.php 中的函数:
private function _flushMessages(){
// only send one message per user... oldest message first
$sql = "SELECT
`apns_messages`.`pid`,
`apns_messages`.`message`,
`apns_devices`.`devicetoken`,
`apns_devices`.`development`
FROM `apns_messages`
LEFT JOIN `apns_devices` ON (`apns_devices`.`pid` = `apns_messages`.`fk_device` AND `apns_devices`.`clientid` = `apns_messages`.`clientid`)
WHERE `apns_messages`.`status`='queued'
AND `apns_messages`.`delivery` <= NOW()
AND `apns_devices`.`status`='active'
ORDER BY `apns_messages`.`created` ASC
LIMIT 100;";
$this->_iterateMessages($sql);
}
不迭代任何消息,因为 devices 和 messages 的 clientid 列值为空,所以从句 ( apns_devices
. pid
= apns_messages
. fk_device
AND apns_devices
. clientid
= apns_messages
. clientid
) 永远不会完成。
这是我用来创建消息的 samples.php 代码段:
$apns->newMessage(4);
$apns->addMessageAlert('Si us plau!!!');
$apns->addMessageCustom('acme2', array('bang', 'whiz'));
$apns->queueMessage();
我真的很感谢你的帮助。
非常感谢。