我正在处理的应用程序的一大部分是与Push Notifications聊天。整个系统运行良好,除非当用户发送带有表情符号的消息时,此消息的接收者将在其推送注释中看到:
当接收者点击推送通知时,消息中的表情符号在应用中呈现得很好,如下所示:
消息存储在我的服务器上的MySQL数据库中,php脚本将推送注释JSON打包并发送给APNS。
以下是我的PHP脚本的一部分,它将JSON打包发送给APNS(主要是从Ray Wenderlich教程中借用):
function makePayload($senderName, $text)
{
$nameJson = $this->jsonEncode($senderName);
$nameJson = truncateUtf8($nameJson, 20);
// Convert and truncate the message text
$textJson = $this->jsonEncode($text);
$textJson = truncateUtf8($textJson, self::MAX_MESSAGE_LENGTH);
$payload = '{"aps":{"alert":"' . $nameJson . ': ' . $textJson . '","sound":"default"} . '}';
return $payload;
}
我很难过。我不确定为什么iOS没有正确解析我的推送说明JSON的“alert:”部分。任何想法都非常感谢。