AppleScriptが結構面白いので色々調べてみていたのだが、これっていうのはアプリケーションにメッセージを送って制御できる Apple Event という仕組みを使っているらしい。これのベースにあるのは Mach カーネルのようで、結構前からこの考え方はあるっぽい。脱線するけどMachとかNeXTSTEPとかあのへんは文章を読んでいるだけでやっぱり面白いですね。
話は戻って、CocoaでApple Eventを受け付ける仕組みはあるんだけど、いまいちApple Eventを送る方法がわからなかった。Objective-Cとかで試してるひとは居たけど、なんかなかなか面倒くさそうな感じがする。
関連があるのかわからないけど、 ScriptingBridge.framework
というのがあって、これを使えばObjective-Cとかから他のアプリを制御できる。アプリケーションが何を出来るのかというのは sdef
コマンドでXML形式で書き出すことが出来て、それをObjective-Cのヘッダーファイルにしてくれる sdp
というコマンドもある。でも時代は2016年だからSwiftでやりたいよねと探してみたところこんなのがあった。
毎度思うんですけどAppleのドキュメントはなんだか掴みどころがなくて読みにくいなあという気がしている。