【问题标题】:Updating badge icon in background on iOS7 [duplicate]在iOS7的后台更新徽章图标[重复]
【发布时间】:2014-02-13 01:21:16
【问题描述】:

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

someLocalNotification.applicationIconBadgeNumber = 42;

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

UILocalNotification 显然不能这样做。看起来推送通知可以,但我没有此应用程序的服务器组件,因此将其用作解决方法是行不通的,而且我不确定 Apple 是否会喜欢它。

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

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

【问题讨论】:

  • 您的问题是基于如何计算您想要的数字还是关于如何在没有服务器组件的情况下设置徽章编号的问题?
  • @Pavan 如何在没有服务器组件的情况下设置徽章编号。
  • 续。因此,如果您想为您的徽章添加新号码,则需要安排新号码。
  • @Pavan 感谢您提供此链接。我在搜索答案时没有找到它。虽然在重复工作正常时提前安排几个单一通知感觉有点愚蠢,但这适用于我的应用程序。我确实想知道这样做是否会影响性能,但我需要的最大通知数少于 64 个,所以它对我有用。谢谢。

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


【解决方案1】:

您只需安排一个静默的本地通知,带有一条 nil 消息,然后更新徽章编号。还将重复计数设置为零,否则如果您多次调用此本地通知,徽章将不会更新

This person posted a similar question, have a look

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多