Загрузчик приложений: ошибка при создании файла.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.

Другие вопросы по тегам