我有一個圖標徽章號碼更新要求。該應用跟蹤任務。我希望應用程序擁有顯示每天到期任務數量的徽章。當徽章號碼需要更新時基本上有兩種情況:更新iOS圖標徽章號碼
- 每天午夜。
- 如果添加新任務或刪除任務。
我知道如何處理第二種情況。我可以在applicationResignActive函數中設置徽章號碼。但是,午夜自動更新對我來說是個詭計。要更新徽章號碼,我需要調用應用程序的func來計算當天到期的任務。但是,在午夜時間,應用程序可能處於所有可能的情況:前景,背景和未運行。我怎樣才能做到這一點?謝謝。
=====================================
要以更清楚我的要求,我希望每天都能正確更新徽章號碼,即使用戶從不打開一整天或連續幾天的應用程序。此外,我會盡量避免服務器端的支持,因爲該應用程序到目前爲止是一個獨立的應用程序。非常感謝您的幫助。
=====================================
最後更新:我接受維塔利的回答。但是,他的回答要求應用程序每天至少打開一次。否則,該事件不會觸發,並且徽章號碼不能更新。
此外,就我而言,每次應用程序進入後臺事件觸發時,我都必須刪除現有通知並安排新的通知,並重新計算最新的徽章號。
我仍然對某種方式來處理應用程序不是每天打開的情況感興趣,您如何確保徽章號碼是正確的。到目前爲止,最簡單的方法是設置一些服務器並定期將通知推送到應用程序。
你應該更具體 - 閱讀這聽起來像你沒有讀過任何關於如何做推送通知或後臺任務。 – inorganik
我認爲你可以嘗試蘋果推送通知來完成第一個案例。使用服務器端更新應用程序中的任務。 APN服務教程:http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 –
目前爲止還沒有針對該應用的服務器端編程。該應用程序專爲使用沒有服務器端支持。所以我想避免將某些計算邏輯移到服務器端來純粹用於更新徽章的目的。 – Steve