2015-09-03T16:02:21+09:00
AppleScrit Applet で main.scpt を保存したくない
AppleScript Applet で実行時に property を変更すると、その変更は Applet 終了時に保存されて、次の実行時にも引き継がれる・・・って知ってましたか?つまり、AppleScript Applet はファイルの書き出し等を行わずとも自分自身がデータの格納場所になれるという面白い性質があります。
実際には、Applet のバンドル内の main.scpt が実行の度に更新されます。今回は、main.scpt を更新して欲しくない、というケースを考えます。というのも、AppleScript Applet を git のバージョン管理下に置きたいのです。Applet の実行の度に main.scpt がコミットの対象になっては困りますから、main.scpt の更新(property の保存)をさせない細工をしたくなります。
どこかに、正式なやり方はないものでしょうか? Info.plist あたりに何らかの値を設定したら main.scpt は書き換えない!というような仕組みがあればスマートだと思うのですが、見つけられませんでした。
仕方が無いので、泥臭く、
のどちらかで目的を果たせないか調べました。
結論から言えば、どちらも「main.scpt は書き換えない」という最低限の目的は果たせます。他のファイル操作ではどうか?できるだけ、影響が少ない方を選びたい。
アクセス権を無くす | ロックする | |
---|---|---|
ゴミ箱に入れる | 警告/確認無しでできる。 | 警告/確認無しできる。 ロックされたファイルは警告されるがパッケージ内のファイルなら警告無いのか。 |
ゴミ箱を空にする | 警告/確認無しでできる。 | 警告/確認ダイアログが表示されるが、空にはできる。 |
AppleScript エディタでスクリプトの変更を保存 | 保存できない。「書類“xxx”を保存できませんでした。」というメッセージが表示される。 | 書き込みできる。書き込み後の main.scpt はロックされていない。 |
ロックした場合、AppleScript エディタでスクリプトの変更を保存すると、ロックが外れてしまうのは不本意である。とりあえず、「アクセス権を無くす」方法で対処しよう。
git の管理下において、副作用が無ければいいのだけど。