AppleScript-保存のフォーマット
このコンテンツは2011-5-28(OSX10.6時点)に書いたものを転載しています
AppleScriptは『AppleScript エディタ』でも『Script Debugger』でも保存の時にいろいろとフォーマットを選択できる。
選択できるのだから何かしら違いが有るのだろうと思われる。しかしきちんと違いを認識していなかったので、一応調べてみる。
例えば、OSX10.6のAppleScriptエディターで保存を選ぶと選べるフォーマットは以下の四つ。
- スクリプト
- スクリプトバンドル
- アプリケーション
- テキスト
Script Debuggerだと以下の六つ。
- Compiled Script(Data fork)
- Compiled Script(Bundle)
- Compiled Script(Resource Fork)
- Application (Carbon)
- Application (Bundle)
- Text
私は大抵Script Debuggerを使用しているので、先ずはそちらに関して。
基本的には以下に詳細がでていた。
あとはこの辺にも何か書いてあるような。
で早速翻訳を試みる。・・・もちろん翻訳サイトで・・・しかも更に意訳・・・くれぐれも出典を参照されます事。
Compiled Scriptでの保存
- Compiled Script (Data Fork)
- ここに項目の説明などを書きます
- データフォークにコンパイルされたバイトコードがあるファイル。
- これは、アップルのScript Editorの最新版によって作成された省略時書式です。
- これはMac OS Xのすべてのバージョンと、非常に古いMac OS9のAppleScriptに互換性があります。
- 拡張子:scpt
- タイプ:'osas'
- Compiled Script (Bundle)
- コンパイルされたバイトコードがデータフォークに収められているスクリプトファイルがバンドルパッケージに含まれている形式。
- この形式は、Panther(Mac OS X10.3)で導入され、それ以前のシステムに互換性がありません。
- またバンドルパッケージ内に付随するファイルを保存できるという利点がありますが、いくつかのアプリケーションがこの形式を理解していないことに注意してください。
- 拡張子:scptd
- Compiled Script(Resource Fork)
- ここに項目の説明などを書きます
- コンパイルされたバイトコードがリソースフォーク内に含まれるファイル。 これは、最も古い形式であり、すべてのMacintosh systemsのすべてのバージョンのAppleScriptと互換性があります。
- しかし、リソースフォークにバイトコードを含めるのは、非常に危険な形式です。
- 例えば、非HFSファイリングシステム(本当のUnix、またはWindows)の上にコンパイルされたスクリプトファイルを保存する、メールでそれを圧縮せずにそれを送る、または何らかのお粗末なスクリプトエディタアプリケーションでそれを開く、などリソースフォークが分離してしまうアクシデントに見舞われるかもしれないからです。
- 拡張子:scpt
- タイプ:'osas'
- 警告:
- デバッグモードで保存されたコンパイルされたスクリプトは、他の環境(アップルのScript Editorでは開く事さえできない)正常に実行されないでしょう。
- それが意図的なものでないなら、デバッグし終わっているときには、必ず通常モードのスクリプトとして保存してください。
Applicationでの保存
アプレットとして伝統的に知られている、アプリケーションとしてコンパイルされたスクリプトとして保存されます。
アプレットはスタンドアロンのアプリケーションです。 Finderで開かれると、スクリプトは稼働しています。
Script DebuggerではFileメニューから開くか、またはScript DebuggerのDockかFinderアイコンにドラッグ&ドロップすることで編集できます。
アプレットとしてスクリプトを保存して、Script Debuggerでスクリプトを開いた状態のまま、Finderからスクリプトをテストし、またそれを編集することができます。
Script Debuggerには、アプレットとして保存するつもりのスクリプトをテストするのを助けるため、アプレット内の個々のハンドルをテストでき、実行中にアプレットのデバッグが出来ます。
- Application (Carbon)
- この形式はMac OS XとCarbonLibを使用する以前のシステムの古いバージョンと互換性があります。
- Application (Bundle)
- この形式は、Panther(Mac OS X10.3)で導入されて、それ以前のシステムと互換性がありません。
- バンドルパッケージ内に付随するファイルを保存できるという利点があります。
- Classic applet
- 「Classic applet」フォーマットのアプレットは、Mac OS X以前のシステムとAppleScriptのバージョンとの互換性のあるフォーマットが使用されています。
- そのため、Mac OS X ネイティブなものとしては実行できません。
- Mac OS X10.5(Leopard)以降ではClassic実行環境が無くなったので、そのようなアプレットは全く稼働できません。
- Script Debugger4.5はClassicアプレットを開くことはできますが、保存はできないので、別の形式のコンパイルを選ばざるを得ないでしょう。
- Classicアプレットを保存する必要があるなら、Script Debuggerの旧バージョンを使用してください。
- 警告:
- デバッグモードで保存されたアプリケーションは、正常に実行されないでしょう。
- それが意図的なものでないなら、デバッグし終わっているときには、必ず通常モードのアプリケーションとして保存してください。
Textでの保存
コンパイルされていない普通のテキストファイル (BOM付きの UTF-8 文字コード)としてスクリプトを保存できます。
また改行コードも指定できます。
なるほど、なるほど。
ところでAppleScriptエディターのテキスト保存は文字コードが違っているようです。
保存されているのはShift_JISというか、MacRoman。どうやら言語環境の設定で日本語を選択しているとStringはMacRomanになるらしいが、きっとこのあたりもそれに倣っているのだろう。
これはこれで厄介だな。
XCodeはファイル毎に指定できるけど・・・。
AppleScript初学者のために |
AppleScript |
AppleScript-保存のフォーマット-02 |