2017-09-17 11 views
1

Sparkメールアプリは、アプリが実行されていなくてもバッジ数を表示するように管理しています。このアプリはMacアプリストアアプリなので、プライベートAPIを使用してはいけません。これを行う方法はありますか?現在のところ、アプリの実行中に次の操作しかできません。Cocoaアプリ、アプリが実行されていないときにバッジラベルを表示するにはどうすればよいですか?

[[[NSApplication sharedApplication] dockTile] setBadgeLabel:[NSString stringWithFormat: @"%ld", 10]]; 

答えて

2

ドックタイルプラグインを作成する必要があります。これを行う方法の詳細についてはNSDockTilePlugInのためのマニュアルを参照してください:

https://developer.apple.com/documentation/appkit/nsdocktileplugin

EDIT:さて、あなたは何をしているかスパーク行いたい場合は、ここにある:

スパークアップルのプッシュ通知を使用していますGmailやOutlook以外の電子メールアカウントの場合は、通常、ユーザー名とパスワードをサーバーに保存することを意味します。これは「OMG!」と思われます。私には怖いのですが、YMMVです。サーバーが新しい電子メールを受け取ったことを通知すると、通知がユーザーに転送されます。何スパークの説明がやっている

は、ここで見つけることができます:https://blog.readdle.com/how-we-handle-your-account-information-in-spark-1b42f4acef73

あなたがプッシュ通知を自分で実装する場合は、this videoはそれを行う方法を一般的に示したものであり、this sample codeも同様に役に立つかもしれません。

+0

DockTileプラグインはApp Storeでは使用できません – strangetimes

+0

最近、App Storeのレビューチームが使用するアプリを拒否しました。私はドキュメントがこれで静かだと思う。 – strangetimes

+0

さて、Sparkを見てみるとわかるように、 ' - [NSApplication registerForRemoteNotificationTypes:] 'を使って、新しい電子メールが届いたときにプッシュ通知を通知するように見えます。 NSRemoteNotificationTypeBadgeを渡すと、通知が入ったときにアプリケーションのバッジを更新できるようです。 –

関連する問題