Cocoa Programming Tips 1001
Foundation
NSAppleScript
Foundation - NSAppleScript
AppleScriptを送る
Keywords: iTunes, AppleScript
AppleScriptは、それ自体で立派なプログラミング環境。でも、CocoaからAppleScriptを呼び出すことができると、便利な事が多い。たとえば、iTunesをコントロールしたいときとかね。
CocoaからAppleScriptを呼ぶときは、NSAppleScriptクラスを使う。まずは、サクっと送ってみよう。
iTunes Controller/AppController.m
char* playScript =
"tell application \"iTunes\" \n"
" play \n"
"end tell \n";
- (void)play:(id)sender
{
NSAppleScript* script;
NSAppleEventDescriptor* desc;
NSDictionary* error;
script = [[NSAppleScript alloc] initWithSource:[NSString stringWithCString:playScript]];
desc = [script executeAndReturnError:&error];
[script release];
}
iTunesの再生をスタートさせるAppleScriptを送ってみた。まず、スクリプトをNSStringの形で作る。それをもとに、NSAppleScriptのインスタンスを作る。そして、executeAndReturnError:メソッドを呼んでやればオッケーだ。AppleScriptの呼び出しは、同期的になるらしい。時間がかかるときは、別スレッドにしておこう。
サンプルでは、こんな形でiTunesコントロールのテストをしている。

■サンプルダウンロード:
iTunesController.zip