macosのアプリをswiftでコントロールするscriptarian

5
SwiftからGUI Appを コントロールするScripatian Piyomaru Software Takaaki Naganoya 2016/11/01

Upload: takaaki-naganoya

Post on 18-Jan-2017

51 views

Category:

Technology


0 download

TRANSCRIPT

SwiftからGUI Appを コントロールするScripatian

Piyomaru Software Takaaki Naganoya

2016/11/01

Scriptarian http://scriptarian.com

価格:10ドル上記URLから購入

アプリ上で編集、テスト実行

アプリ上で実行すると遅いので注意(実行ファイルを書き出して実行)

Apple純正 GUIアプリの操作

サードパーティ製 GUIアプリの操作

アプリのGUI強制操作(GUI Scripting)

Shell Scriptの呼び出し

RESTful APIの機能呼び出し

サードパーティ製 マクロからの呼び出し

(Office, FM)

GUIベース アプリ開発

Cocoaの機能呼び出し

AppleScriptの応用エリア

アプリ内のScriptメニューからの呼び出し

音声認識呼び出し

障害者サポート系機能

Apple純正 GUIアプリの操作

サードパーティ製 GUIアプリの操作

アプリのGUI強制操作(GUI Scripting)

Shell Scriptの呼び出し

RESTful APIの機能呼び出し

サードパーティ製 マクロからの呼び出し

(Office, FM)

GUIベース アプリ開発

Cocoaの機能呼び出し

Scriptarian(Swift App Control)がリーチするエリア

英語圏でしかテストしていない場合には、日本語などの取り扱いに問題が出る(未知のバグ)

アプリ内のScriptメニューからの呼び出し

OSA言語ではないため、スピードは速いかもしれないが、運用面では制約が生じる

来年になったらSwiftのバージョンが上がって、使えなくなるプログラムが多数出てくる

音声認識呼び出し

障害者サポート系機能

通常のSwift環境(Xcode)で

できないわけではないが 周辺補助ツールがないので とてもやる気が起きない

ScriptarianのコードJXAよりは読みやすいかもしれない

AppleScriptの代替ではなく、JXAの代替に見える

フィルタ参照が使えるのかがキモ(JXAでは使えない)

var Safari = Application("Safari"); var win = Safari.windows; // ウィンドウを取得する var url = win[0].currentTab.url(); // 最前面のウィンドウのアクティブタブのURLを取得する Safari.includeStandardAdditions = true; // 標準コマンドを使用可能にする Safari.displayAlert(url); // アラートダイアログを表示する

■JXA(JavaScript for Automation)の実例