我有一个 MacRuby 应用程序,在应用程序启动后,我想使用 NSTask 启动第二个进程。第二个过程是与应用程序捆绑在一起的 Ruby 脚本。我想使用编译到应用程序包中的 MacRuby macruby 解释器来启动它。我怎样才能做到这一点?
问问题
228 次
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 回答