アフィリエイト広告を利用しています

【macOS】swiftプログラムからmacOSの通知センターへ表示する簡単な方法

Xcodeを利用したmacOS用アプリで通知を利用したい場合があります。
Macの通知センターでは、見逃した通知を確認したり、ウィジェットを使って予約、誕生日、天気、最新ニュースのヘッドラインなどをデスクトップから直接確認したりできます。
https://support.apple.com/ja-jp/guide/mac-help/mchl2fb1258f/mac

目につきやすいメリットがあります(見逃すことは当然ありますね)。


UserNotifications(詳しくは→ https://developer.apple.com/documentation/usernotifications)を使う方法が正当です。タイトルやアイコンを自由に設定できるメリットがありますが、デメリットも感じています。
  1. Xcodeのアップデートで利用方法が変わることがある。
  2. セキュリティが強化され、追加の許可設定が必要なことがある


AppStoreに登録して公開するようなアプリではなく、自分用プログラムですので、もっと簡単な方法がない?あります

osascript(Apple Script)を使うことで通知できます。
この方法にはデメリットがあります。通知表示のアイコンやタイトルはスクリプトエディタです。
これを回避したい場合は、Swift標準方法のUserNotificationsを使うしかありません。

【macOS】swiftプログラムからmacOSの通知センターへ表示する簡単な方法のソース例



以下のようなメソッドを用意して呼び出すだけです。
    func macOSへ通知(_ message: String){
let task = Process();
task.executableURL = URL(fileURLWithPath: "/usr/bin/osascript")
task.arguments = ["-e", "display notification \""+message+"\""]
do{try task.run()}
catch{print("exception")}

}

  • osascriptはmacOS標準のコマンドです。man osascriptでマニュアルを読むことができます。
  • macOSへ通知("メッセージ")と呼び出すことで通知センターにメッセージが表示されます。
  • macOSへ通知("メッセージ\nメッセージ")でメッセージを改行できます。

  • 簡単に通知できました




  •  

    • 初期費用0円(2022年8月4日に撤廃)
    • 安定したサイト運営が可能(CPU/メモリ リソース保証 6コア/8GB〜)
    • 契約中は独自ドメインつき 独自ドメイン永久無料特典があります
    • 最大10日間無料で、サーバーのお試し利用ができます
    • ディスクキャッシュも高速 NVMe SSDを採用(300GB〜)
    • 大量アクセスでも安心 転送量は無制限

     

     

    【このカテゴリーの最新記事】
    posted by scripts at 16:44 | Comment(0) | TrackBack(0) | Xcode
    この記事へのコメント
    コメントを書く

    お名前:

    メールアドレス:


    ホームページアドレス:

    コメント:

    ※ブログオーナーが承認したコメントのみ表示されます。

    この記事へのトラックバックURL
    https://fanblogs.jp/tb/11518202
    ※ブログオーナーが承認したトラックバックのみ表示されます。

    この記事へのトラックバック
    最新記事
    最新コメント
    タグクラウド
    カテゴリアーカイブ