我正在测试命令“ 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.

最佳答案

我想我找到了其中一个问题的解决方案,部分解决了我的问题。

我更改了命令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,它可以正常工作。尽管如此,与CEMHapp相关的.icns文件还是以某种方式丢失并被默认图标文件替换。此外,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's Library

“创建产品存档以提交到Mac App Store时,仅使用productbuild的--component模式。其他模式将创建与OS X安装程序兼容的产品存档,但Mac App Store不一定接受。 ”

干杯,
W.

10-06 11:03