Как я могу включить файл .jar в качестве ресурса в XCode для выполнения NSTask? - PullRequest
1 голос
/ 08 июня 2011

Я сейчас программирую собственный интерфейс Mac для CraftBukkit, используя MacRuby и XCode.

Сейчас я использую NSTask и NSPipe для запуска Java-сервера Minecraft:

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 Ответ

1 голос
/ 30 сентября 2011

Вы должны поместить свой JAR-файл в mainBundle в разделе Ресурсы / Java.Для этого добавьте новую фазу сборки файлов копирования типа «Ресурсы Java», а затем перетащите файл JAR сюда.

Затем вызовите метод:

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

Обратите внимание, что запуск отдельного процесса может быть проблемой при принятии вашего приложения в Mac App Store.

...