iOS Ad Hoc 安装失败

Posted

技术标签:

【中文标题】iOS Ad Hoc 安装失败【英文标题】:iOS Ad Hoc installation failing 【发布时间】:2013-08-23 17:29:16 【问题描述】:

当我尝试通过 TestFlightApp.com 安装应用程序时遇到以下错误。

"Unable to download application. "helloworld" could not be installed at this time.

我也尝试通过 iTunes 和 Apple Configurator 进行安装。

当我第一次遇到此错误时,我认为这可能是由于几周前 Apple 的开发人员计划停止运行,因此我使用笔记本电脑上的代码签名请求重新生成了所有证书,然后重建了所有配置文件。

然后我从我的 iPhone 和 XCode 中删除了所有配置文件,并从我的手机中删除了 TestFlight。

然后我将应用程序存档,上传到试飞,授予配置文件中所有设备的权限,并发送带有下载链接的通知电子邮件。

当我尝试下载时,进度条几乎一直到最后,然后弹出错误。这是我在安装期间在控制台中看到的(来自 iPhone 配置实用程序):

SpringBoard[67] <Warning>: Killing com.helloworldapp for app installation
installd[53] <Error>: 0x2c6000 handle_install: Install 
    of "/var/mobile/Media/Downloads/-2429066128781955904/-410631401396950200" 
    requested by itunesstored
installd[53] <Error>: 0x2c6000 MobileInstallationInstall_Server: Installing 
    app com.helloworldapp
installd[53] <Error>: Aug 23 11:45:37  SecTrustEvaluate  
    [leaf CriticalExtensions IssuerCommonName]
installd[53] <Error>: 0x2c6000 verify_signer_identity: 
    MISValidateSignatureAndCopyInfo failed for
    /var/tmp/install_staging.a1ku9y/foo_extracted/Payload/helloworld.app/helloworld: 0xe8008017
installd[53] <Error>: 0x2c6000 do_preflight_verification: Could not verify 
    executable at /var/tmp/install_staging.a1ku9y/foo_extracted/Payload/helloworld.app
installd[53] <Error>: 0x2c6000 install_application: Could not preflight 
    application install
itunesstored[71] <Error>: 0x183b000 MobileInstallationInstall: failed with -1
installd[53] <Error>: 0x2c6000 handle_install: API failed

所以我有全新的证书和配置文件,配置文件包含我尝试安装的嵌入式设备,并且我已在 TestFlight 中授予这些设备的权限。

我现在很茫然,过去我已经解决了类似的问题,所以我已经用完了所有我通常的想法。

我也尝试过增加版本号,(这在过去有效)但没有运气。

我最近将项目从我的 /Users/ 文件夹移到了外部硬盘驱动器,但我已经更新了所有必要的路径,我可以构建应用程序并通过 Xcode 运行它,所以我看不出这是怎么回事.

更新:感谢 Jason 的回答,我设法从 Apple Configurator 中得到了一个不同的错误

A signed resource has been added, modified or deleted
-402620393
com.apple.mdk.amderror

更新:为了完整起见,这是我在尝试通过 iTunes 同步时在 iPhone 上遇到的错误:

iTunes Sync: 'helloworld' failed to install

【问题讨论】:

我用来制作证书的代码签名请求是旧的 - 我以前用过,每次制作证书时都需要创建一个新的请求文件吗? 所以最后,我让一个队友在他的mac上克隆了repo,生成了新的证书和配置文件,然后他毫无问题地将应用程序提交到了应用商店。我尝试提交到应用商店,并收到代码签名错误。我认为问题与我将项目移动到外部硬盘有关。我将尝试在 HDD 上构建一个新项目,从 GitHub 克隆它,看看是否能解决我的问题。 【参考方案1】:

我在 TestFlight 工作。在上传时,我们会尝试捕捉所有可能的情况以防止这种情况发生,但有些情况是无法捕捉的,或者我们以前从未见过。而 iPhone 的错误消息“无法下载应用程序”并没有提供太多信息。

在这种情况下,最好的办法是使用您的 IPA(与您上传到 TestFlight 的相同)并将其手动安装到设备上。如果你使用Apple's Configurator,这很容易。如果 Apple 的 Configurator 无法安装,则问题不是由 TestFlight 引起的,希望 Configurator 能给您提供更好的错误消息,帮助解决问题。如果可以安装,则可能是 TestFlight 问题,您应该向我们发送支持请求here。

不管怎样,让我知道会发生什么。希望下次我们可以再次进行上传检查以防止这种情况发生。

【讨论】:

我尝试通过 iTunes 安装,但也失败了 - 我将尝试配置器,看看它是否会提供更好的错误消息 是的,它比 iTunes 容易得多,而且您无需同步或任何其他操作。 这是外置硬盘。我将项目移回我的内部 SSD,构建、部署,一切都很好。【参考方案2】:

问题出在我的外置硬盘上,我 100% 确定这一点,因为我将项目文件夹复制回我的 SSD,使用相同的证书构建和编译,现在它已经通过试飞了。

这是我买的便宜的 USB 硬盘驱动器,因为我的 Macbook 驱动器已满,我还没有存够买一个新的。我建议不要在外部硬盘上构建

我不是 100% 确定,但我猜我的代码签名证书仅对最初创建项目的 HDD 有效,将其移动到 HDD 可能就像将文件夹完全移动到另一台计算机一样,使代码签名无效。

如果其他人可以证实或加强我的理论,那就太好了,但肯定会将项目移回我笔记本电脑的内置硬盘驱动器,即项目的原始位置,立即为我解决了问题。

【讨论】:

有些人喜欢先投后问,直接投反对票,这叫不耐烦。【参考方案3】:

然后我将应用程序存档,上传到试飞,授予权限 配置文件中的所有设备,并发送通知电子邮件 下载链接。

您必须先将设备添加到配置文件中,然后才能构建和归档应用程序。批准的设备列表捆绑在应用程序中,在安装时未在线检查。

【讨论】:

我的配置文件嵌入了所有设备。将构建上传到 TestFlight 后,您可以选择哪个获准设备能够下载构建 - 该列表基于嵌入式设备列表,我已选择所有设备

以上是关于iOS Ad Hoc 安装失败的主要内容,如果未能解决你的问题,请参考以下文章

iOS ad-hoc内测包,查看支持安装的设备UDID

由于配置错误,iOS 应用 Ad Hoc 安装卡住

iOS ad-hoc 构建未安装在设备上

在不受支持的 iOS 设备上安装 ad hoc

iOS Ad-hoc App:此时无法安装[重复]

iOS7.1 - 使用无线 Ad Hoc 分发和企业帐户安装 .ipa