NSAppleScript

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.jpg

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