Application Loader:使用productbuild创建.pkg文件时出错

时间:2014-05-18 09:51:38

标签: python macos application-loader pkgbuild 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开发的开源免费应用程序。 bundle(CEMHapp.app)是使用pyinstaller创建的,可以在http://concrete.fsv.cvut.cz/~wilson/Software/CEMHapp_v.1.0_MacOSX_10.9.2.dmg下载

提前致以最诚挚的问候和谢意, W上。

1 个答案:

答案 0 :(得分: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并且工作正常。尽管如此,与CEMHapp相关的.icns文件却以某种方式丢失并替换为默认图标文件。此外,/ Applications中还出现了CEMHapp.pkg(带有零字节)的副本。有没有人知道什么是错的?

此外,我仍然不知道如何正确使用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 Installer兼容的产品档案,但不一定适用于Mac App Store。“

干杯, W上。