search
LoginSignup
4

More than 1 year has passed since last update.

posted at

updated at

【AppleScript】Mojave以降でアクセス許可のメッセージが毎回出るのを防ぐ

AppleScriptをアプリケーション形式で書き出したものをmacOS 10.14(Mojave)で実行すると、以下のような確認ダイアログが毎回出てしまいます。
「"hoge"が"fuga"を制御するアクセスを要求しています。制限を許可すると、"fuga"の書類やデータにアクセスしたり、そのアプリケーション内で操作を実行したりできるようになります。」

どうやらMojaveでセキュリティが強化されたゆえの現象みたいです。
これを出ないようにするには以下のようにします。

script MyScript
    -- ここに処理を書く
end script
on run
    local tempScript
    copy MyScript to tempScript
    run tempScript
end run

以下から引用して、コメントを変えただけですが。
https://stackoverflow.com/questions/52771415/how-to-make-a-script-that-doesnt-ask-permission-every-time-its-opened
解説の訳は、ざっくりとこんな感じでしょうか。

通常のappは1度許可すればその後はダイアログは出ない。
AppleScript製のものは終了時にスクリプト内のトップレベル変数の値が書き換わるので、実行するたびに別のappだと判断されて、毎回ダイアログが出る。

AppleScriptはドが付く初心者なのでトップレベル変数がなんのことかよく分かってないのですが、そういうことらしいです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4