我有一个图标徽章号码更新要求。该应用跟踪任务。我希望应用程序拥有显示每天到期任务数量的徽章。当徽章号码需要更新时基本上有两种情况:更新iOS图标徽章号码
- 每天午夜。
- 如果添加新任务或删除任务。
我知道如何处理第二种情况。我可以在applicationResignActive函数中设置徽章号码。但是,午夜自动更新对我来说是个诡计。要更新徽章号码,我需要调用应用程序的func来计算当天到期的任务。但是,在午夜时间,应用程序可能处于所有可能的情况:前景,背景和未运行。我怎样才能做到这一点?谢谢。
=====================================
要以更清楚我的要求,我希望每天都能正确更新徽章号码,即使用户从不打开一整天或连续几天的应用程序。此外,我会尽量避免服务器端的支持,因为该应用程序到目前为止是一个独立的应用程序。非常感谢您的帮助。
=====================================
最后更新:我接受维塔利的回答。但是,他的回答要求应用程序每天至少打开一次。否则,该事件不会触发,并且徽章号码不能更新。
此外,就我而言,每次应用程序进入后台事件触发时,我都必须删除现有通知并安排新的通知,并重新计算最新的徽章号。
我仍然对某种方式来处理应用程序不是每天打开的情况感兴趣,您如何确保徽章号码是正确的。到目前为止,最简单的方法是设置一些服务器并定期将通知推送到应用程序。
你应该更具体 - 阅读这听起来像你没有读过任何关于如何做推送通知或后台任务。 – inorganik
我认为你可以尝试苹果推送通知来完成第一个案例。使用服务器端更新应用程序中的任务。 APN服务教程:http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 –
目前为止还没有针对该应用的服务器端编程。该应用程序专为使用没有服务器端支持。所以我想避免将某些计算逻辑移到服务器端来纯粹用于更新徽章的目的。 – Steve