我注意到,即使應用程序未運行,Spark郵件應用程序也能夠顯示徽章數。該應用程序是一個mac應用程序商店應用程序,所以它不能使用任何私人API。有沒有辦法做到這一點?目前,我唯一能夠做到以下應用程序運行時:可可應用程序,如何顯示應用程序未運行時的徽章標籤?
[[[NSApplication sharedApplication] dockTile] setBadgeLabel:[NSString stringWithFormat: @"%ld", 10]];
我注意到,即使應用程序未運行,Spark郵件應用程序也能夠顯示徽章數。該應用程序是一個mac應用程序商店應用程序,所以它不能使用任何私人API。有沒有辦法做到這一點?目前,我唯一能夠做到以下應用程序運行時:可可應用程序,如何顯示應用程序未運行時的徽章標籤?
[[[NSApplication sharedApplication] dockTile] setBadgeLabel:[NSString stringWithFormat: @"%ld", 10]];
你需要做一個碼頭瓦插件。查看文檔NSDockTilePlugIn
的信息,如何做到這一點:
https://developer.apple.com/documentation/appkit/nsdocktileplugin
編輯:好吧,如果你想要做什麼火花做,那就是:
Spark是使用蘋果推送通知以通知您新的電子郵件進來。對於Gmail或Outlook以外的電子郵件帳戶,這通常意味着他們將您的用戶名和密碼存儲在他們的服務器上,這似乎是「OMG!」。令人毛骨悚然的水平,但YMMV。當他們的服務器發現您有新的電子郵件時,他們會將通知轉發給您。
什麼火花做的描述可以在這裏找到:https://blog.readdle.com/how-we-handle-your-account-information-in-spark-1b42f4acef73
如果你想自己實現推送通知,this video一般展示瞭如何做到這一點,並this sample code可能有幫助。
DockTile插件在App Store上是不允許的 – strangetimes
我最近有一個應用被App Store審查小組拒絕使用它。我意識到這個文檔很安靜。 – strangetimes
好的,從我看到的Spark附近,我可以看出,它似乎使用推送通知在新電子郵件進入時使用' - [NSApplication registerForRemoteNotificationTypes:]'來通知。看起來如果你通過'NSRemoteNotificationTypeBadge',你可以在通知進入時更新應用程序徽章。 –