0

我有一个 MacRuby 应用程序,在应用程序启动后,我想使用 NSTask 启动第二个进程。第二个过程是与应用程序捆绑在一起的 Ruby 脚本。我想使用编译到应用程序包中的 MacRuby macruby 解释器来启动它。我怎样才能做到这一点?

4

2 回答 2

1

首先,从 ruby​​ 脚本中删除 .rb 扩展名,否则如果使用 macruby_deploy 编译 macruby 项目,它将被编译为 rbo 文件。脚本文件的第一行应该是:

#!/usr/bin/env ruby

确保将脚本复制到资源文件夹。

然后创建并调用一个 NSTask:

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

task.launch
于 2011-08-06T01:45:23.820 回答
0

好吧,你试过只调用 NSTask 吗?

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

然后在 Xcode 中单击以确保 script.rb 在执行期间就位。

于 2011-08-04T23:36:04.110 回答