首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法安装使用productbuild创建的OSX包

无法安装使用productbuild创建的OSX包
EN

Stack Overflow用户
提问于 2011-11-18 19:15:39
回答 2查看 1.8K关注 0票数 0

我对整个mac开发和部署世界都很陌生。我正在尝试创建一个OSX应用程序,并使用Itunes Connect和应用程序加载器将其上传到应用程序商店。即时通信使用Mac OSX 10.6.8版

我使用以下工具共同设计了我的应用程序:

代码语言:javascript
复制
codesign -s "3rd Party Mac Developer Application: <company name>" <my app name>.app

然后,我使用以下命令构建了一个安装程序包:

代码语言:javascript
复制
productbuild --component <my app name>.app /Applications --sign "3rd Party Mac Developer Installer: <company name>" <my app name>.pkg

在codesign和productbuild期间,我没有得到任何错误,应用程序运行也没有问题。

不幸的是,我无法安装这个包。如果我在命令行中使用以下命令运行pkg:

代码语言:javascript
复制
sudo installer -store -pkg <my app name>.pkg -target /

我得到以下输出:

代码语言:javascript
复制
installer: <my app name>.pkg has valid signature for submission
installer: Installation Check: Passed
installer: Volume Check: Passed
installer: Bundle <my bundle name> will be relocated to <path to my app>/<my app name>.app
installer: Starting install
installer: Install 0.0% complete
installer: Install 5.0% complete
[...]
installer: Install 95.0% complete
installer: Install failed: Beim Extrahieren von Dateien aus dem Paket <my app name>.pkg“ ist ein Fehler aufgetreten.

该错误表示“解压软件包的文件时出错...”

installer.log中有关失败安装的条目:

代码语言:javascript
复制
Install Failed: PKG: extracting "<my bundle name>"
Error Domain=PKInstallErrorDomain Code=110 UserInfo=0x1004687b0 "Beim Extrahieren von Dateien aus dem Paket „<my app name>.pkg“ ist ein Fehler aufgetreten." Underlying Error=(Error Domain=BOMCopierFatalError Code=0 UserInfo=0x10c9af710 "Der Vorgang konnte nicht abgeschlossen werden. cpio read error: Unknown error: 0") {
    NSFilePath = "/var/folders/zz/zzzivhrRnAmviuee+++++++++++/Cleanup At Startup/PKInstallSandbox-tmp/Root/Applications";
    NSLocalizedDescription = "Beim Extrahieren von Dateien aus dem Paket \U201e<my App name>.pkg\U201c ist ein Fehler aufgetreten.";
    NSURL = "#<my bundle name>.pkg -- file://localhost/<path to my app>/<my app name>.pkg#Distribution";
    NSUnderlyingError = "Error Domain=BOMCopierFatalError Code=0 UserInfo=0x10c9af710 \"Der Vorgang konnte nicht abgeschlossen werden. cpio read error: Unknown error: 0\"";    

我猜这与cpio读取错误有关,但我在这里迷路了……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-19 06:01:57

好的,重新构建应用程序并将其打包到不同的文件夹中确实起到了作用。我仍然不确定是什么问题,但至少我现在可以继续了。

票数 -2
EN

Stack Overflow用户

发布于 2014-08-25 14:34:10

问题是installed会在磁盘上的其他位置找到您的.app,并断定它已经安装,但已被重新定位。它会在你的构建目录中找到它,对吧?至少这是我的案子。

解决此问题的方法是:

  1. 构建安装程序;
  2. 压缩在此构建的生产过程中使用的所有资源,您可能希望为此特定构建存档(对于崩溃报告符号,您需要将应用程序放在包之外),包括.app捆绑包,但实际安装程序除外。

这样,对正在安装的二进制执行操作(当您启动安装程序时),在安装过程中将不会在磁盘上的任何位置找到(它已存档)。installd将不关心~/Library/Developer/Xcode/DerivedData/或磁盘上任何其他位置中的应用程序的调试版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8181494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档