2

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

4

1 回答 1

2

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

我更改了命令 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.

于 2014-05-18T10:27:20.510 回答