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

Nic*_*ckH 5 iphone objective-c scheduled-tasks background-process ios

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

someLocalNotification.applicationIconBadgeNumber = 42;
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

Pav*_*van 0

您只需安排一个无提示的本地通知,其中包含一条零消息,然后更新徽章编号。还将重复计数设置为零,否则如果您多次调用此本地通知,徽章将不会更新

这个人也发过类似的问题,你看看