2014-04-29 85 views
11

我的應用程序中有一個通知部分,通知的總和以應用程序圖標上的徽章計數形式顯示。當用戶訪問通知時,徽章計數減少。 假設用戶現在卸載構建並重新安裝它,即使用戶尚未打開應用程序,徽章計數也會直接顯示在應用程序圖標上。顯示的徽章數量與應用程序卸載時的數量相同。一旦用戶打開應用程序並訪問通知部分,實際應該顯示徽章計數。刪除應用程序並重新安裝後,徽章計數仍然存在

+0

我前一些天前(上testFlight應用)有同樣的問題..我不知道,但我是在testFlight中刪除並上傳應用程序的構建,並刪除並重新安裝我的設備中的應用程序,它爲我工作。 – iPatel

+0

我的版本存在於appstore中,最近已經提交了一個新版本。 – user3568907

+0

然後嘗試從設備上刪除應用程序,然後重新安裝在設備上...做3-4次相同的操作可能會..它的工作.. :)有一個好運。:) – iPatel

回答

9

我幾天前在測試testFlight的應用程序時遇到同樣的問題。

通常,當您刪除應用程序(雖然它顯示一些徽章號碼)並且重新安裝它時,可能會發生此問題。但很難說真正的問題在哪裏。

讀什麼Apple's official documentation is saying.

重置推送通知權限警報iOS上的第 時間推送通知啓用推送應用註冊,iOS的詢問 用戶,如果他們希望收到通知該應用程序。一旦用戶 已對此警報作出響應,它將不會再次出現,除非 設備已恢復或該應用程序已卸載至少一天。

如果你想模擬首次您的應用程序的運行,你可以離開 卸載了一天的應用程序。您可以在沒有 的情況下實現後者,通過將系統時鐘設置爲一天或 更多,實際上等待一天,完全關閉設備,然後打開設備返回 。

有從我的經驗一些建議:

  • OFF您的通知形式設置
  • 並設置徽章0在服務器端,然後刪除,並從您的設備重新安裝應用程序。 - 安裝後結束,然後運行應用程序
  • 運行的應用程序後,阿恩從設備應用中刪除你,然後在服務器1和復位徽章您的通知形式設置

不知道,但可能是這會爲你工作。 :)

+0

我的應用程序在應用程序商店。 – user3568907

+0

你能告訴我哪種方法會調用。如果應用程序正在卸載 – user3568907

+2

@ user3568907卸載時未調用任何方法。 –

7

徽章計數由操作系統維護,獨立於應用程序。當應用程序被卸載(刪除)時,操作系統會保留一些值,包括徽章計數。卸載應用程序時,不會調用開發人員方法或腳本。你將不得不接受這個限制,或者改變你的應用的設計來重新思考和克服這個問題。

+0

所以我有任何其他的方式來刪除badgecount – user3568907

+0

@ user3568907只有當你運行的應用程序。 –

4

執行下面的代碼在didFinishLaunchingWithOptions

if (![[NSUserDefaults standardUserDefaults] objectForKey:@"is_first_time"]) 
{   
[application cancelAllLocalNotifications]; 
// Restart the Local Notifications list 
application.applicationIconBadgeNumber = 0; 
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:YES] forKey:@"is_first_time"]; } 
相關問題