Загрузчик приложений: ошибка при создании файла.pkg с использованием productbuild
Я тестирую команду "productbuild" для архивирования моего пакета приложений CEMHapp. Идея состоит в том, чтобы отправить созданный файл.pkg в Mac App Store. На данный момент у меня возникла следующая проблема:
Когда я пытаюсь запустить основную команду:
productbuild --component "CEMHapp.app" /Applications CEMHapp.pkg
Я получаю следующее сообщение об ошибке:
productbuild: error: The component at "CEMHapp.app" is not a bundle.
Я также попробовал команду "pkgbuild", т.е.
pkgbuild --component CEMHapp.app --version 1 --install-location /Applications CEMHapp.pkg
Но появляется следующая ошибка
pkgbuild: Adding component at /Users/wilsondasilva/Desktop/Aplk/CEMHapp.app
pkgbuild: error: Path "/Users/wilsondasilva/Desktop/Aplk/CEMHapp.app" is not a valid bundle component (using destination path "/Users/wilsondasilva/Desktop/Aplk")
Странно то, что файл CEMHapp.app работает, работает как чудо, поэтому я не понимаю, почему система выдает мне вышеупомянутую ошибку. Кто-нибудь может пролить свет на эту тему и дать мне руководство?
CEMHapp - это бесплатное приложение с открытым исходным кодом, которое было разработано с использованием QtCreator и Python. Пакет (CEMHapp.app) был создан с использованием pyinstaller и может быть загружен по адресу http://concrete.fsv.cvut.cz/~wilson/Software/CEMHapp_v.1.0_MacOSX_10.9.2.dmg
С наилучшими пожеланиями и заранее спасибо, W.
1 ответ
Думаю, я нашел решение одной из проблем, которая частично отвечает на мой вопрос.
Я изменил некоторые части команды pkgbuild, и файл CEMHapp.pkg был успешно создан.
Вот команда, которую я использовал:
pkgbuild --identifier com.CEMHapp.pkg.app --install-location /Applications --root /Users/wilsondasilva/Desktop/Aplk CEMHapp.pkg
после завершения процесса сообщение в терминале читается
pkgbuild: Wrote package to CEMHapp.pkg
Я установил CEMHapp.pkg, и он работал. Тем не менее файл.icns, связанный с CEMHapp, был каким-то образом потерян и заменен файлом значков по умолчанию. Кроме того, копия CEMHapp.pkg (с нулевыми байтами) появилась в /Applications. Кто-нибудь знает, что не так?
Кроме того, я до сих пор не знаю, как правильно использовать productbuild. Как и pkgbuild, он всегда работает, когда я использую аргумент --root, но это не так при использовании --component, см. Сообщение об ошибке ниже:
pkgbuild --identifier com.CEMHapp.pkg.app --install-location /Applications --component /Users/wilsondasilva/Desktop/Aplk CEMHapp.pkg
pkgbuild: Adding component at /Users/wilsondasilva/Desktop/Aplk
pkgbuild: error: Path "/Users/wilsondasilva/Desktop/Aplk" is not a valid bundle component (using destination path "/Users/wilsondasilva/Desktop")
Помните, что в соответствии с библиотекой Mac Developer,
"При создании архивов продуктов для отправки в Mac App Store используйте только режим --component productbuild. В других режимах создаются архивы продуктов, которые совместимы с установщиком OS X, но не всегда приемлемы для Mac App Store."
Ура, W.