質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
AppleScript

AppleScriptは、アップル社が開発しているMac OS用のスクリプト言語。AppleScript本体に限らず、同じ言語で多くのAppleScript対応アプリケーションを操縦することが可能です。 自然言語(英語)に近い構文を持ちます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

2回答

1704閲覧

MacOSにて通知センターの通知内容を取得し、条件分岐したい

stsyco

総合スコア11

AppleScript

AppleScriptは、アップル社が開発しているMac OS用のスクリプト言語。AppleScript本体に限らず、同じ言語で多くのAppleScript対応アプリケーションを操縦することが可能です。 自然言語(英語)に近い構文を持ちます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2020/09/22 04:23

編集2022/01/12 10:55

質問

表題の通りですが、
通知センターの通知内容を取得する事は可能なのでしょうか。

通知内容に"任意のテキスト"が入っていた場合、処理A
入ってなかった場合、処理Bと条件分岐をしたく思っています。

イメージ説明

躓いている点

通知を送る方法は調べる事が出来ました。
送る方法があるのだから、受け取る方法があるのではないかと考えていますが、
見つけられず躓いております。

-ターミナルコマンド-
通知を送る
osascript -e 'display notification "任意のテキスト"

環境

MacOS Catalina バージョン10.15.6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

iTunesなりMusic.appで再生中のトラック(曲)の情報が変わったら、それを取得したいという話に見えます。

何か、再生中のトラックの情報が変わったら通知するプログラムを入れていて、その(display notificationによる)結果を受け取りたいのではないでしょうか?

その何らかのツールを使わなくても、AppleScriptで直接再生中のトラックの情報を受け取れます。

http://piyocast.com/as/archives/941

不確実なnotification表示の読み取りではなく、直接iTunesなりMusicからの通知を受け取れば、確実に内容がわかります。

投稿2021/06/09 08:26

Piyomaru

総合スコア75

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

System Eventsから取得できると思うのですが、Catalinaだとセキュリティがきびしくなってるんでしたっけ?
今手元にあるのが10.11なので未確認です……

  1. 下記コードをアプリケーション形式で保存する際に、ハンドラの実行後に終了しないのチェックを入れて保存
  2. 保存したファイルにシステム環境設定プライバシーから、コンピュータの制御に許可をあたえる

※エラー処理を入れていないので、通知が出ていないとエラーになります。

AppleScript

1on idle {} 2 3 tell application "System Events" 4 tell process "通知センター" 5 6 set notificationWindow to window 1 whose subrole is "AXNotificationCenterAlert" or subrole is "AXNotificationCenterBanner" 7 8 tell notificationWindow's scroll area 1 9 set aSub to static text 1's the value 10 set aMessage to static text 2's the value 11 end tell 12 13 tell application "Finder" to display dialog aSub & return & aMessage buttons {"OK"} default button "OK" 14 15 end tell 16 end tell 17 18end idle

投稿2020/09/30 09:14

MD5500

総合スコア35

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stsyco

2020/10/03 07:31

回答頂きまして、誠に有り難う御座います。 大変勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問