Ad-hoc应用程序无法安装

7
我在安装一款iOS 5上的iPad 1上的Ad-hoc分发应用时遇到了问题。但是在其他iPad上安装没有这个问题。以下是安装失败后的控制台日志:
Mar 16 19:09:58 iPad SpringBoard[635] : Killing com.myapp.ipad for app installation
Mar 16 19:10:03 iPad ReportCrash[743] : Formulating crash report for process installd[739]
Mar 16 19:10:03 iPad com.apple.itunesstored[736] : receive_message: failure running async function: 1
Mar 16 19:10:03 iPad com.apple.itunesstored[736] : call_and_response: Could not receive response from proxy
Mar 16 19:10:03 iPad com.apple.itunesstored[736] : MobileInstallationInstall: failed with -1
Mar 16 19:10:04 iPad ReportCrash[743] : Saved crashreport to /var/mobile/Library/Logs/CrashReporter/installd_2014-03-16-191003_iPad.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0
Mar 16 19:10:04 iPad com.apple.launchd[1] (com.apple.mobile.installd[739]) : (com.apple.mobile.installd) Job appears to have crashed: Segmentation fault: 11

  1. 您使用哪个部署SDK来构建应用程序?(iOS 5.1?)
  2. 构建中包含哪些架构?(armv7,armv7s,arm64?)
  3. 所提到的崩溃报告的内容是什么?
- Kerni
1
当我通过TestFlight分发Ad Hoc版本时,我遇到了相同的问题。所有设备都可以安装该构建,除了iPad 1之外。此问题始于升级到XCode 5.1后,让其调整架构设置。我的应用支持armv7、armv7s和arm64,并且具有5.0的部署目标。 - Daniel Saidi
在Xcode 5.1之后,苹果是否不再支持iPad 1进行Ad Hoc分发? - user2387149
我手头上有第三个装有iOS 5.1.1的iPad 1,但在下载接近完成时也无法安装...我认为苹果已经放弃了iPad 1或iOS 5的Ad Hoc支持... - user2387149
不,如果配置文件中包含其UDID,则应该可以在iPad上安装。 - zaheer
5个回答

5
如果你的构建设置支持arm64,尽管UDID已经在配置文件中,仍然会出现问题。只需删除arm64支持即可解决。

3

请检查ipa文件是否为32位。iOS 6之前不支持64位,将无法安装。

您可以在Xcode中将ipa拖到运行iOS 5的iPad的应用程序节点上,以查看此行为的错误消息。


1
对我来说,64位问题是iPad1显而易见的问题,如果我现在理解“arm64”的含义。从目标>构建设置>有效架构中删除arm64立即解决了这个问题。
在将ipa存档并从iTunes安装到设备后,我只看到图标部分安装在iPad1上,但蓝色温度计进度条无限期地停留在75%。如果user23...的失败是在“图标时间”,那么provisioning可能与之无关。我看到可能有4个失败点:
1.将ipa拖到iTunes。如果代码签名有缺陷,则我认为拖动会被忽略;拖动无法将其添加到库中。 2.从库中将应用程序拖到设备上。如果部署目标高于设备的操作系统,则我认为此操作会失败。 3.完成将应用程序安装到设备上。这是我遇到的问题级别。 4.在设备上启动应用程序。在一个测试中,我启动了一个应用程序,但它显示为空白;我认为这是由于autolayout打开时发生的。

关于64位,我曾在Jay Versluis的http://pinkstone.co.uk/how-to-build-apps-for-ios-5-with-xcode-5中读到过:“选择5.1.1(手动)以支持64位和32位二进制文件-这样无需更改默认的构建架构”,因此可能需要对此进行检查,不确定。(也许这就是“为iOS 5构建”和“为iPad1构建”的区别?)


1
请确保iPad的设备ID在开发者门户中作为已注册设备列出,Ad-hoc预配文件包括该设备,并且已下载并使用正确的预配文件来签署应用程序。此外,在归档应用程序时,请确保选择您分配给设备的Ad-hoc配置文件。
编辑,由于我们有更多信息,可能的原因是您正在针对大于iPad上安装的操作系统的OS进行目标定位。检查您的项目属性(常规部分)。

有7个iPad,应用程序在其中5个上完美安装,两个失败的iPad都是iOS 5.1.1的iPad 1。巧合吗? - user2387149
没有巧合。你的应用程序必须针对大于5.1.1的操作系统进行定位。我已经修改了我的答案,并包含了一个截图,告诉你需要检查什么。 - LJ Wilson
2
这也不是问题:S,目标是5.1.1,我可以在调试模式下运行应用程序,问题出在Ad-hoc上。 - user2387149

1

检查UDID。现在只能从xCode或iTunes中提取UDID,而不能从某些特殊的UDIDapp中提取。如果UDID错误,则可能在开头有FFFFF**。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接