Проблемы пакета .app OSX на съемном носителе - PullRequest
1 голос
/ 21 октября 2008

Итак, из того, что я мало понимаю об упаковке для Mac, я вижу, что запускаемая программа - это та, которая определена в ключе CFBundleExecutable в Info.plist.

<key>CFBundleExecutable</key>
<string>JavaApplicationStub</string>

Теперь мое приложение не работает, если / APP / Content / MacOS / JavaApplicationStub не chmodded + x (оно просто молча завершается сбоем, ничего не делая, что является болью!). Честно говоря, я думаю, это не исполнимо. Но это большая проблема, если вы копируете приложение откуда-то, у которого отсутствует поддержка + x свойств в файлах; например, windows, fat32 USB-ключи, компакт-диски, веб-сайты, zip-файлы и т. д. *

Что я могу сделать в этих случаях, чтобы приложение могло работать? Установка бита выполнения вручную не возможна.

Должны быть люди, которые запускают приложения Mac с CD, по крайней мере!

Ответы [ 2 ]

1 голос
/ 21 октября 2008

@ mxcl, это работает, вроде как, спасибо. Тем не менее, вы должны быть на Mac, чтобы запустить hdiutil :(. Кроме того, он исправляет пути приложения ... были некоторые файлы (например, файл db), которых не было в папке .app, и, следовательно, они не включены в файл .DMG.

Я работаю на Windows, и приложение развертывается на съемный носитель. Весь смысл в том, чтобы ничего не устанавливать.

Приложение также работает на Windows, поэтому в корне диска есть файл .exe вместе с mac.app. Существует также файл sqllite.db, который используется в обеих версиях приложения. Мультиплатформенность сложна: /

1 голос
/ 21 октября 2008

Я думаю, что ваш единственный вариант - упаковать пакет APP в файл DMG или tar.

DMG более стандартный и такой же простой в использовании, как и tar. Командная строка, которую мы используем:

hdiutil create -srcfolder Last.fm.app -format UDZO -imagekey zlib-level=9 -scrub Last.fm.dmg

Вы можете использовать tar с любой платформы (даже Windows, если вы устанавливаете Cygwin или используете автономную версию GNU, http://gnuwin32.sourceforge.net/packages/gtar.htm)

tar cf app.tar app_directory

со сжатием gzip:

tar czf app.tar.gz app_directory
...