ASOCでアプリケーションを作ってみる-01-Xcode3.2ASOCでアプリケーションを作ってみる-01-Xcode3.2ここを読んでいる人の大部分はすでに何となくAppleScriptを使っている人ではないかと思います。逆にまだAppleScriptをこれから始めようと言う人は、先ずスクリプトエディタで簡単なものから作ってみて、更に大きなもの、インターフェースを作り込んでみたいということになった時にAppleScriptObjCに取り組む事をお勧めします。ここからいろいろと書いて行きますが、言葉の使い方、解釈、もしかしたら私の理解そのものに間違いがあるかもしれません。お気付気の方はコメント欄なりにご使役を頂ければありがたいです。プロジェクトを作るさてこの後は取りあえず簡単なプロジェクトを作ってみることにしましょう。ところがXCodeの3.2と4.6では随分様子が違っている。3.2は日本語化されてるのに4.Xは日本語化されていないなどから始まってインターフェースが随分違ってしまっているのです。人でも取りあえず流れが追えるように、両方で作って比べてみる事にする。XCode3.2による新規プロジェクトの作成Xcodeを起動し、ファイルメニューから新規プロジェクトを選択すると以下の新規プロジェクトダイアローグボックスが表示されます。Application」を選択。application」にチェックが入っていない事を確認して「選択...」ボタンをクリックします。ダイアローグボックスプロジェクトの名称(基本的には作成するアプリケーションの名称でもあります)と保存先を決めます。ダイアローグボックスプロジェクトが作成されて、以下のような状態になります。『プロジェクト名称+AppDelegate.applescript』が差し当たり用意されたスクリプトのファイルと言うことになります。赤文字の『MyTest.app』はビルドされると出来上がるアプリケーションを示していますが、まだ一度もビルドしていないため存在しないので赤文字になっているということになります。プロジェクトウィンドウプロジェクトに用意されたものをファインダーで見ると以下のようになります。作成されたファイル類の中の、『プロジェクト名称+AppDelegate.applescript』がAppleScriptのファイルになります。始まる2つのハンドルが用意されています。Script定義はAppleScriptObjCの中ではクラスとして振る舞います。継承)等はオブジェクト指向のプログラミングの考え方の基本となるもので、ネット上に沢山の解説がありますし、そのための解説だけの本も沢山出版されていますので、そちらをお読みください。・・・とはいえ、それだけで本になってしまうような内容ですし、取りあえず動くものを作ってみたいということで先に進む為に、怒られるのを覚悟で思いっきりざっくり書くと以下のような感じでしょうか。定義された、プログラムの設計図にあたるクラスさんには『applicationWillFinishLaunching_』というハンドラと『applicationShouldTerminate_』というハンドラが定義されているのでそのハンドラが呼ばれた時にはやる事が分かるので、そのハンドラを実行するけど、それ以外は知らないから、分からないことはこのクラスの親は『NSObject』というAppleの偉い人が作ってくれたクラスなので、親元に聞いてみてくださいな、という感じでしょうか。はい、怒らないでください。ここはそういうもの、と流して先に進みましょう。script『applicationWillFinishLaunching_』と『applicationShouldTerminate_』というハンドラですが、これはそれぞれハンドラの名前やコメントに書かれていることからも推察されるように、アプリケーションのLaunch(起動)が終わろうとする時に呼ばれる命令に答える為のものと、アプリケーションの終了前にお片付けの為に呼ばれるハンドラになります。起動時に初期設定を読み込んだり環境をチェックしたりする処理は前者に書き込んだり、終了時に初期設定を書き出したりいらないファイルを消したりなどの処理を後者に書き込んだりして使います。いつ呼ばれているか分かるように『log』を書き出すようにしてみましょう。scriptコマンド+Sで保存します。問題なければインデントが調整され、文法に添って色分けされて保存されます。逆に問題があると、ちゃんと色分けされないので、どこか何か間違っているぞ、ということになります。アプリケーションを動かしてみるまだログしか書き込んでいませんが、アプリケーションを動かしてみましょう。ビルドと実行ボタンを押します。ビルドと実行プロジェクトウィンドウの左下に、問題なく完了しました、と表示され『MyTest』というアプリケーションが起動して、何もないウィンドウが表示されたかと思います。ログを書き出すようにしかしていないのですから、ログが書き出されたかを確認しましょう。Xcodeに戻り『実行』メニューから『コンソール』を選んでください。以下の様に表示されているかと思います。『起動処理』と書き出されていることでしょう。一度『MyTest』アプリケーションに戻ってみましょう。何も無い『MyTest』というウィンドウが表示され、また『MyTest』『File』『edit』などのメニューもあります。MyTest』を選ぶとアプリケーションは終了します。MyTest』を選択してみましょう。アプリケーションが終了し、先ほどのデバッグコンソールウィンドウを見てみると、『終了処理』が書き出されているかと思います。AppleScriptに関してのデバッグはほぼこのログ書き出しでバグを追うような感じですので、書いて実行してコンソールで確認して、という繰り返しになります。