应用程序加载器:使用productbuild创建.pkg文件时出错
我正在测试一个叫“productbuild”的命令,目的是为了把我的应用程序包CEMHapp打包归档。我的想法是把生成的.pkg文件提交到Mac应用商店。目前,我遇到了以下问题:
当我尝试运行基本命令时:
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,结果一切正常。不过,和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开发者文档,
“在创建提交到Mac App Store的产品档案时,只能使用productbuild的--component模式。其他模式会创建与OS X安装程序兼容的产品档案,但不一定被Mac App Store接受。”
祝好,
W.