我有一个MacRuby应用程序,在应用程序启动后,我想使用NSTask启动第二个进程。第二个进程是与应用捆绑在一起的Ruby脚本。我想使用编译到应用捆绑包中的MacRuby MacRuby解释器来启动它。我该怎么做呢?
首先,从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
你试过调用NSTask吗?
NSTask.launchedTaskWithLaunchPath('script.rb', nil)
然后在Xcode中点击以确保脚本。