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

Macos 无法安装使用productbuild创建的OSX包,macos,installation,package,mac-app-store,productbuild,Macos,Installation,Package,Mac App Store,Productbuild,我对整个mac开发和部署领域都很陌生。我正在尝试创建一个OSX应用程序,并使用Itunes Connect和应用程序加载器将其上载到appstore。Im使用Mac OSX 10.6.8版 我已使用以下代码对我的应用程序进行了代码签名: codesign -s "3rd Party Mac Developer Application: <company name>" <my app name>.app codesign-s“第三方Mac开发者应用程序:”.app 然后

我对整个mac开发和部署领域都很陌生。我正在尝试创建一个OSX应用程序,并使用Itunes Connect和应用程序加载器将其上载到appstore。Im使用Mac OSX 10.6.8版

我已使用以下代码对我的应用程序进行了代码签名:

codesign -s "3rd Party Mac Developer Application: <company name>" <my app name>.app
codesign-s“第三方Mac开发者应用程序:”.app
然后,我使用以下方法构建了一个安装程序包:

productbuild --component <my app name>.app /Applications --sign "3rd Party Mac Developer Installer: <company name>" <my app name>.pkg
productbuild--component.app/Applications--sign“第三方Mac开发者安装程序:”.pkg
在codesign和productbuild期间,我没有收到任何错误,应用程序运行没有问题

很遗憾,我无法安装该软件包。如果我在命令行中使用以下命令运行pkg:

sudo installer -store -pkg <my app name>.pkg -target /
sudo安装程序-store-pkg.pkg-target/
我得到以下输出:

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.
安装程序:.pkg具有提交的有效签名
安装程序:安装检查:通过
安装程序:卷检查:通过
安装程序:捆绑包将重新定位到/.app
安装程序:开始安装
安装程序:安装完成0.0%
安装程序:安装完成5.0%
[...]
安装程序:安装完成95.0%
安装程序:安装失败:Beim Extrahieren von Dateien aus dem Paket.pkg“ist ein Fehler aufgetreten。
该错误表示“提取包文件时出错…”

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

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\"";    
安装失败:程序包:正在提取“”
错误域=PKInstallErrorDomain Code=110 UserInfo=0x1004687b0“Beim Extrahieren von Dateien aus dem Paket.pkg”ist ein Fehler aufgetreten。“基本错误=(错误域=BOMCOPIERTALERROR Code=0 UserInfo=0x10c9af710”Der Vorgang konnte nicht abgeschlossen werden.cpio读取错误:未知错误:0”){
NSFilePath=“/var/folders/zz/zzzivhrnamviuee++++++/Cleanup-At-Startup/PKInstallSandbox-tmp/Root/Applications”;
NSLocalizedDescription=“将数据放在包装上\U201e.pkg\U201c是一个完整的文件。”;
NSURL=“#.pkg--file://localhost//.pkg#Distribution";
NSUnderlyingError=“Error Domain=bomcopierfattarror Code=0 UserInfo=0x10c9af710\”Der Vorgang konnte nicht abgeschlossen werden.cpio读取错误:未知错误:0\”;

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

好的,重建应用程序并将其打包到其他文件夹中成功了。我仍然不确定问题出在哪里,但至少我现在可以继续了。

问题是installd在磁盘上的其他地方找到了你的.app,并断定它已经安装了是的,但是重新定位了。它在你的构建目录中找到了,对吗?至少我是这样

解决办法是:

  • 构建安装程序
  • 压缩此生成中使用的所有资源,您可能希望为此特定生成进行存档(对于崩溃报告符号,您需要将应用程序放在包之外),包括.app捆绑包,实际安装程序除外
  • 这样,在安装过程中,磁盘上的任何地方都找不到与正在安装的二进制文件完全相同的文件(启动安装程序时)(已存档).和installd将不关心可在~/Library/Developer/Xcode/DerivedData/或磁盘上任何其他位置找到的应用程序的调试版本