AppleScriptをバックグラウンドで実行

AppleScriptをバックグラウンドで実行させる方法はいくつかありますが、一番簡単なものを紹介しておきます。

とりあえず、日本語合成音声の「Kyoko」でカウントダウンさせるという、実に実用性も何もないScriptを用意してみました。

スクリプト名:sayLoop
repeat with i from 10 to 0 by -1
  say (i as string) using “Kyoko”
end repeat

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

AppleScriptでやるのはここまでです。あとは、このScriptをアプリケーション形式で保存。

アプリケーション形式で保存したということは、これが「アプリケーションバンドル」として保存されたことを意味します。

「アプリケーションバンドル」は、Finder上でアイコンを選択してコンテクストメニューから「パッケージの内容を表示」させると、その内部のファイルにアクセスできるようになります。

pack1.png

pack2.png

Mac OS Xアプリケーションではひとしく、その実行パラメータなどを記述してある「Info.plist」ファイルが存在することが見てとれます。これを、ダブルクリックしてオープン。

Xcodeがインストールしてあれば、XcodeのplistエディタによってInfo.plistがオープンされます。インストールしていない場合にはテキストエディタでオープンすることになります。

以下の画面はXcode 4.6のものですが、Info.plistに新たなエントリを作るべく「+」をクリック。
「Application is Background only」(LSBackGroundOnly)の属性を作成し、その値に「YES」を指定します。

pack3.png

普通のテキストエディタ(TextWrangler)でオープンすると以下のようになっています。

pack4.png

これで、Info.plistを保存してXcodeなりテキストエディタを終了して、sayLoopアプリをダブルクリックすると、Dockにも表示されずバックグラウンドで実行されることが確認できます。

Leave a Reply