1

我目前正在使用 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

谢谢!

4

1 回答 1

1

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

然后调用方法:

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

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

于 2011-09-30T12:08:37.813 回答