問題タブ [nsusernotificationcenter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
413 参照

applescript - OSX 10.8 で通知センターの背景を変更するアプリの AppleScripting

ここに私のコードがあります:

機能させるには何を変更する必要がありますか? フォルダーを選択できるようにする必要があります。そのフォルダーにというファイルがある場合は、linen.tiffそのファイルを設定されたパスにコピーします。

既存のものを置き換える...

パスを設定して機能させるのに問題がある場合

0 投票する
2 に答える
1388 参照

cocoa - removeDeliveredNotification: しない

私の Mac アプリには、実行時間の長いエクスポート操作を実行するコードがあります。エクスポートの最後に、ユーザー通知を作成して、エクスポートが完了したことをユーザーに知らせます。

次に、エクスポートに関する詳細 (発生した警告、便利な「表示」ボタンなど) を記載したシートを作成します。彼らがシートを閉じると、次のように通知を削除したいと思います。

ただし、これによって実際に通知センターから通知が削除されるわけではありません。ブレークポイントを設定しました。-removeDeliveredNotification:行は実行され、nilnoteではありません。何を与える?

0 投票する
2 に答える
913 参照

objective-c - Cocoa / NSUserNotificationCenter はすべての NSUserNotification 通知を取得します

アプリケーションが を配信またはアクティブ化するたびに通知を受けるにはどうすればよいNSUserNotificationですか?

  • NSDistributedNotificationCenterまた、経由で送信されたものを特定できませんでした。
  • グローバルにNSUserNotificationDeliveredMask登録できる[ダミー名]のようなマスクも見つかりませんでした。[NSEvent addGlobalMonitorForEventsMatchingMask]
  • また、デフォルトのユーザー通知センター オブジェクトに適したオブザーバーもないようです。

とその[NSUserNotificationCenter defaultCenter]デリゲートは、自分のアプリが通知を配信したときにのみ通知します。

0 投票する
4 に答える
3698 参照

nsusernotification - NSUserNotificationCenter に通知が表示されない

何か間違っているかどうかはわかりませんが、見つけた例から。私はその小さなハローワールドを書きました。

私はそれをコンパイルします:

コンパイルして実行できますが、何も表示されません。何らかの理由で、何も表示されません。アプリケーションが主なアクターである場合、通知が表示されない場合があることを読みました。通知を表示するにはどうすればよいですか?

0 投票する
2 に答える
491 参照

mono - NSUserNotificationCenterDelegate メソッドが 1 台のマシンだけで呼び出されない

を使おうとしていますNSUserNotificationCenter。通知を正常に配信できます。ShouldPresentNotificationアプリがフォアグラウンドで実行されている場合でも、コールバックを使用してNSUserNotificationCenterDelegate通知を表示しています。

私のマシンの1つを除いて、これはうまく機能します!

コードを最も基本的な例に落とし込みました。私のマシンはすべて 10.8.3 と Mono 2.10.12 を実行しています。私の 2008 Macbook Pro と同僚の 2012 rMBP では、すべて例外なく動作します。ただし、同じ 2012 rMBP では、アプリがフォアグラウンドにある場合、通知は表示されません。実際、このマシンでは、このマシンだけで、どのNSUserNotificationCenterDelegateメソッドも呼び出されません。

通知は引き続きこのマシンで配信されることに注意してください。通知は機能します。アプリがフォアグラウンドにある場合は表示されません (デリゲート メソッドが呼び出されないため)。

どの設定や構成がこの動作を引き起こす可能性があるか、またはこの動作をデバッグするために使用できるメカニズムがあるかどうかについて誰かが洞察を持っている場合は、本当に感謝しています。

これが私のコードです:

0 投票する
0 に答える
1200 参照

objective-c - NSUserNotification を削除する方法

スケジュールされた通知を表示するために NSUserNotificationCenter を使用しています。右側の通知パネルにアプリの通知があるため、通知をクリックするとアプリが起動しますが、パネルから通知が削除されません。

  1. アプリが実行されていないときに通知をクリックすると、applicationDidFinishLaunching が呼び出され、didActivateNotification デリゲートが呼び出されないため、通知は削除されません。
  2. アプリケーションが既に実行されていて、通知をクリックすると、appShouldHandleReopen が呼び出されます。そして、デリゲートを呼び出しません。

-(void)userNotificationCenter:(id)center didActivateNotification:(id)通知

ユーザーが通知をクリックすると、通知が削除されるすべての標準アプリの動作を確認しました。

次のように実装しました。

ただし、これは私の場合は機能しません。そのポイントを教えてください...

私が観察した他のこと:

  • NSUserNotificationDelegate を AppDelegate に実装すると、2 番目のケース (アプリケーションが既に実行されていて、通知をクリックしたとき) で機能します。この場合、通知は削除されます。
  • そして、最初のケースの通知を削除するために、つまり(アプリが実行されていないときに通知をクリックすると、appDidFinishLaunching が呼び出されます)、appDidFinishLaunching に次のコードを記述しました。

    NSUserNotification *userNoti = [[通知 userInfo] valueForKey:@"NSApplicationLaunchUserNotificationKey"]; [[NSUserNotificationCenter defaultUserNotificationCenter] removeDeliveredNotification:userNoti];

    • なぜこれが AppDelegate では機能するのに、上記の実装では機能しないのか、または最初の実装で何か間違ったことをしているのですか?
    • 私の AppDelegate 実装は私の両方のシナリオを処理するのに問題ありませんか?

前もって感謝します。