我搜索了很多解决方案,以便在应用程序未运行时处理图标标记。
我写了一个接收推送通知的应用,但是在运行状态下,我可以更新application:didReceiveRemoteNotification:
功能中的徽章,我仍然无法弄清楚如何在应用程序未运行时更新图标徽章
我的应用程序的通知菜单下的“徽章应用程序图标”开关打开但接收远程通知时图标徽章未更新。
代码在设备上运行,不涉及模拟器。
我的通知包含徽章
$body['aps'] = array(
'alert' => $message,
'sound' => 'default',
'badge' => '1' // Wrong, see edit...
);
我正在使用一个简单的PHP脚本来生成它。
我错过了什么吗?
修改
我发现我将徽章属性作为字符串而不是数字发送。
php中的正确代码是:
$body['aps'] = array(
'alert' => $message,
'sound' => 'default',
'badge' => 1 // Right
);
使用数字徽章值,图标徽章已正确更新。
答案 0 :(得分:5)
当系统收到推送通知时,它会检查通知是否包含徽章编号。如果是这样,它会将您的应用徽章设置为该数字。
您是否在推送通知中设置了徽章编号?