0

次のように NodeJS を使用して Applescript アプリケーションを実行しています。

var child = require('child_process').exec('open myApp.app'); 

        child.on('exit', function (code) {
          console.log('child process exited with code ' + code);
        });
        child.stdout.on('end', function (data) {
          console.log('end: ' + data);
        });
        child.stdout.on('data', function (data) {
          console.log('stdout: ' + data);
        });
        child.stderr.on('data', function (data) {
          console.log('stderr: ' + data);
        });

アップルスクリプト:

tell application "Final Cut Pro" to activate
tell application "System Events" to keystroke "2" using command down
tell application "System Events"
    tell process "Final Cut Pro"
        tell menu bar 1
            tell menu bar item "File"
                tell menu "File"
                    tell menu item "Export XML..."
                        click
                    end tell
                end tell
            end tell
        end tell
        tell its front window
            click button "Save"
            click button "Replace" of sheet 1
        end tell
    end tell
end tell

ノード コードは、node-webkit (nwjs) アプリから実行されます。Applescript アプリは、ScriptEditor で実行した場合と、nwjs アプリから呼び出した場合に機能します。

最後の 2 つのイベント ハンドラーで何も返されません。最初の 2 つの出力はそれぞれ次のとおりです。

undefined 
0

誤った Applescript コードを故意に記述して強制的にエラーを発生させても、node.js エラー イベント ハンドラには何も出力されません。私の質問は、Applescript からイベント ハンドラーに出力を戻すにはどうすればよいですか? 次の順序を変更したり、最初の 2 つをコメントアウトしたりしても役に立ちません。

4

1 に答える 1