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

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

【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メッセージ")でメッセージを改行できます。

  • 簡単に通知できました




  • posted by scripts at 16:44 | Comment(0) | TrackBack(0) | Xcode

    【Xcode WKWebView】Invalid connection identifierで表示されない?

    Xcode Version 13.4、macOSアプリでの話です。久しぶりにWKWebViewを利用したアプリに着手、実行したらURLリクエスト(webview.loadメソッド)でInvalid connection identifierエラーが出て何も表示されないアプリになりました。

    プロジェクトのプロパティを変更することで解決できます。
    「Singing & Capabilities」→AllのApp Sandboxを探します。
    Network項目の「Outgoing Connections(Client)」がチェックされていることを確認します。
    →これをチェックすることで接続できるようになりました。

    前からこの設定あった?Xcode + Swiftの環境は変化が激しいので情報アップデートが必要ですね。
    posted by scripts at 18:04 | Comment(0) | TrackBack(0) | Xcode

    Unlock iPhone to Continueでアプリが起動できない、初めにやるべき処置

    ご存知のようにmacではXcodeを使ってiPhoneの実機デバッグが無料で出来ます(従来実機デバッグは有料範疇でした)。気軽に作ったアプリを手持ちのiPhoneで動かすことができます。

    macとiPhoneをUSB(Lightning)接続することでアプリをデバッグすることができます。Xcodeのインストール、証明書の発行などいくつかのハードルがありますね(いずれも無料です)。

    デバッグを繰り返しているとXcodeデバッグ実行開始した際、ある日突然「Unlock iPhone to Continue」というダイアログが表示されデバッグ実行できない状況になることがあります。

    通常iPhoneがロック画面になっている状況でこのメッセージが表示されます。

    問題なパターンは、「ロックが解除されホーム画面が表示されている状態でも『Unlock iPhone to Continue』で実行できない」場合です。
    「Unlock iPhone to Continue」でググるとたくさんの情報が出てきます。リセットする方法などもありましたが、これやらないでください。このパターンには当てはまらないと思います。

    Unlock iPhone to Continueでアプリが起動できない、初めにやるべき処置は、再起動です


    デバッグに使っているiPhoneの電源を一旦OFF後、再度電源ONにしてください。

    これだけで、元に戻ります。

    戻らないパターンは確認できていませんが、もし、これでダメならXcodeを再起動してみてください。これでもダメならmacの再起動を試してみてください。全部ダメー>別の方法をお試しください。

    再起動は、初めにやるべき改善の可能性がある最も簡単な方法です。

    デバッグ中にLightingケーブルを抜いたりすることが多かったです。こういう場合に、iPhone内部で動作中のデバッグ用プロセスの何かが残っている、それがこの「Unlock iPhone to Continue」ダイアログの表示を引き起こしていると推測しています。

    再起動することで、不要なプロセスをクリーンできます。
    posted by scripts at 09:11 | Comment(0) | TrackBack(0) | Xcode
    最新記事
    最新コメント
    タグクラウド
    カテゴリアーカイブ
    ×

    この広告は30日以上新しい記事の更新がないブログに表示されております。