5

追加アクション

上の画像では、OS X で 2 つの通知を確認できます。1 つ目は私のアプリからのもので、2 つ目は Apple の Reminders.app からのものです。otherButtonTitle画像では、 「完了」とactionButtonTitle「後で」を見ることができます。

2 番目の通知、つまり Reminders.app からの通知は、まったく異なる動作をします。マウスオーバーで下向きの小さな矢印が表示され、クリックするとさらにアクションがあることを示します。実際、[後で]を 1 回クリックするだけで、さらにいくつかのオプションを選択できます。

ただし、通知に対して同じ動作をさせることはできません。マウスオーバーしても小さな矢印が表示されず、[後で] を 1 回クリックしても他のオプションが表示されません (通知は無視されます)。明らかではない「後で」でマウスボタンを押したままにすると、より多くのオプションが表示されます。

ここで明らかな何かが欠けていますか?Reminders.app からの通知とまったく同じ通知を取得するにはどうすればよいですか?

4

1 に答える 1

5

同じ問題の解決策を見つけようとしているときに、リマインダー アプリがどのようにそれを行うかを説明する NSUserNotificationPrivate クラスのこの素晴らしい説明を見つけました。

https://github.com/indragiek/NSUserNotificationPrivate

通知タイプが「アラート」に設定されている場合、alternateActionButtonTitles プロパティを使用すると、アクション ボタンにカーソルを合わせて矢印をクリックすることでアクセスできるアクション メニューに表示される追加のメニュー項目タイトルの配列を設定できます。

通知が処理されると、_alternateActionIndex プロパティを使用してアクションのインデックスを取得できます。

そのため、彼らはプライベート API を使用しています。サイトの免責事項にあるように、これを使用するとアプリが MAS から拒否され、API が変更された場合にアプリが機能しなくなる可能性があります。

于 2015-12-07T15:27:37.643 に答える