2

我搜索了很多解决方案来在应用程序未运行时处理图标标记。

我编写了一个接收推送通知的应用程序,但是在运行状态下我可以更新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
);

使用数字徽章值,图标徽章会正确更新。

4

1 回答 1

5

当系统收到推送通知时,它会检查通知是否包含徽章编号。如果是这样,它会将您的应用程序徽章设置为该数字。

您是否在推送通知中设置徽章编号?

于 2011-11-10T14:05:10.753 回答