在iOS7上更新背景中的徽章图标

时间:2014-02-13 01:21:17

标签: ios iphone objective-c scheduled-tasks background-process

我有一个应用程序,我想每周更新徽章图标。我看到至少在iOS7之前,UILocalNotification只能将徽章图标设置为特定的数字,如

someLocalNotification.applicationIconBadgeNumber = 42;

但我希望我的应用程序在后台加载,让我们说每个星期天,根据当前日期和某个开始日期之间的差异进行计算,并相应地更新徽章编号。

UILocalNotification显然无法做到这一点。它看起来像推送通知,但我没有这个应用程序的服务器组件,所以使用它作为一种解决方法是行不通的,我不确定Apple是否会喜欢它。

我知道iOS7中有一些后台应用刷新更新,但我不确定它们是否适用于这种情况。

TLDR:如何更新iOS7中需要进行一些计算以获得正确数字的徽章图标,每周(或任意长时间)?我想在没有服务器组件的情况下进行后台更新。

1 个答案:

答案 0 :(得分:0)

您只需使用nil消息安排静默本地通知,然后更新徽章编号。同时将重复次数设置为nil,否则如果多次调用此本地通知,徽章将不会更新

This person posted a similar question, have a look