В приложении MacRuby для распространения, как вы можете запустить NSTask, который вызывает скрипт Ruby с macruby? - PullRequest
0 голосов
/ 20 июля 2011

У меня есть приложение MacRuby, и после его запуска я хотел бы запустить второй процесс с использованием NSTask. Второй процесс - это скрипт Ruby, связанный с приложением. Я хотел бы запустить его с помощью MacRuby Macruby интерпретатор, который собирается в комплекте приложений. Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 06 августа 2011

Сначала удалите расширение .rb из сценария ruby, в противном случае, если вы скомпилируете проект macruby с помощью macruby_deploy, он будет скомпилирован в файл rbo. Файл сценария должен иметь следующую строку:

#!/usr/bin/env ruby

Убедитесь, что скрипт будет скопирован в папку ресурсов.

Затем создайте и вызовите NSTask:

path = NSBundle.mainBundle.pathForResource('test', ofType:nil)
task = NSTask.alloc.init
task.setLaunchPath(path)

task.launch
0 голосов
/ 05 августа 2011

Ну, вы пробовали просто позвонить в NSTask?

NSTask.launchedTaskWithLaunchPath('script.rb', nil)

Затем кликните по Xcode, чтобы убедиться, что script.rb во время выполнения.

...