如何将.jar文件作为资源包含在XCode中,由NSTask执行?

时间:2011-06-07 20:08:41

标签: objective-c xcode macruby

我目前正在使用MacRuby和XCode为CraftBukkit编写Mac原生接口。

现在,我正在使用NSTask和NSPipe来运行Minecraft的Java服务器:

buk.setLaunchPath("/usr/bin/java")
buk.setArguments([
  "-Xmx1024M",
  "-Xincgc",
  "-jar",
  "#{NSBundle.mainBundle.pathForResource 'bukkit', :ofType => 'jar'}",
  "nogui"
])

buk.launch

但是,我无法添加bukkit.jar作为资源!它只是不会建立。我可以轻松地添加图片,NSBundle可以使用。

#{NSBundle.mainBundle.pathForResource 'bukkit', :ofType => 'jar'}不返回任何内容(因为该文件不包含)。

如何将bukkit.jar作为资源添加到sample.app/Contents/Resources

谢谢!

1 个答案:

答案 0 :(得分:1)

您必须将您的jar文件放在Resources / Java下的mainBundle中。为此,添加一个“Java Resources”类型的新副本文件构建阶段,然后将jar文件拖放到此处。

然后调用方法:

NSBundle.mainBundle.pathForResource 'bukkit', 
                         :ofType => 'jar', 
                    :inDirectory => "Java"

请注意,启动单独的流程可能会导致您的应用程序在Mac App Store中被接受。