我有一个MacRuby应用程序,在应用程序启动后,我想使用NSTask启动第二个进程。第二个过程是与应用程序捆绑在一起的Ruby脚本。我想使用MacRuby macruby解释器将其编译到应用程序包中。我怎样才能做到这一点?
答案 0 :(得分:1)
首先,从ruby脚本中删除.rb扩展名,否则如果使用macruby_deploy编译macruby项目,它将被编译为rbo文件。脚本文件应该将其作为第一行:
#!/usr/bin/env ruby
确保将脚本复制到Resources文件夹。
然后创建并调用NSTask:
path = NSBundle.mainBundle.pathForResource('test', ofType:nil)
task = NSTask.alloc.init
task.setLaunchPath(path)
task.launch
答案 1 :(得分:0)
嗯,你试过打电话给NSTask吗?
NSTask.launchedTaskWithLaunchPath('script.rb', nil)
然后在Xcode中单击以确保在执行期间脚本.rb就位。