无法在安装了iOS 9 GM种子版本的设备上安装企业应用程序

12
我正在尝试在iOS 9 GM种子版本的iPad 2设备上通过空中安装的方式安装企业级应用程序。iOS显示下载进度,但下载后出现了错误“无法安装”。
这在最新的iOS 9 beta版本中是可以正常工作的。
这里有一份控制台日志:
Sep 10 04:12:25 iPad-Dashboard ondemandd[145] <Error>: Application with ID: M3KJ3WBD2L.com.boardmaps.boardmaps was installed, but it doesn't appear to have a bundle URL, we are taking no action on this.
Sep 10 04:12:27 iPad-Dashboard ondemandd[145] <Error>: An object with ID [0x15e74230 <x-coredata:///AssetDownloads/t7E19FE36-172C-43EF-90EC-1B069309CF8B16>] has already registered.
Sep 10 04:12:27 iPad-Dashboard itunesstored[116] <Warning>: LaunchServices: Creating installProgressForApplication:<LSApplicationProxy: 0x14deb5f0> M3KJ3WBD2L.com.boardmaps.boardmaps (Placeholder) <file:///private/var/mobile/Containers/Bundle/Application/7312DC34-DF53-43BA-AE3E-DEA05EBF014D/-4088318364755750305.app> withPhase:0
Sep 10 04:12:27 iPad-Dashboard lsd[74] <Warning>: LaunchServices: Updating installPhase for parent <NSProgress: 0x16586090> : Parent: 0x0 / Fraction completed: 0.6000 / Completed: 60 of 100   to 0
Sep 10 04:12:27 iPad-Dashboard SpringBoard[47] <Warning>: HW kbd: Failed to set (null) as keyboard focus
Sep 10 04:12:28 iPad-Dashboard MobileSafari[137] <Warning>: Snapshotting a view that has not been rendered results in an empty snapshot. Ensure your view has been rendered at least once before snapshotting or snapshot after screen updates.
Sep 10 04:12:47 iPad-Dashboard itunesstored[116] <Warning>: [Download]: Download task did finish: 5 for download: -4088318364755750305
Sep 10 04:12:47 iPad-Dashboard itunesstored[116] <Warning>: [ApplicationWorkspace] Installing download: -4088318364755750305 with step(s): Install
Sep 10 04:12:47 iPad-Dashboard itunesstored[116] <Warning>: [ApplicationWorkspace]: Installing software package with bundleID: M3KJ3WBD2L.com.boardmaps.boardmaps: bundleVersion: 1.1.18.1100 path: /var/mobile/Media/Downloads/-4088318364755750305/8091709402150391677
Sep 10 04:12:50 iPad-Dashboard itunesstored[116] <Warning>: BundleValidator: Failed bundleIdentifier: M3KJ3WBD2L.com.boardmaps.boardmaps does not match expected bundleIdentifier: com.boardmaps.boardmaps
Sep 10 04:12:50 iPad-Dashboard itunesstored[116] <Warning>: [ApplicationWorkspace]: Bundle validated for bundleIdentifier: M3KJ3WBD2L.com.boardmaps.boardmaps success: 0
Sep 10 04:12:50 iPad-Dashboard itunesstored[116] <Warning>: LaunchServices: Uninstalling placeholder for app <LSApplicationProxy: 0x16095af0> M3KJ3WBD2L.com.boardmaps.boardmaps (Placeholder) <file:///private/var/mobile/Containers/Bundle/Application/7312DC34-DF53-43BA-AE3E-DEA05EBF014D/-4088318364755750305.app>
Sep 10 04:12:50 iPad-Dashboard itunesstored[116] <Warning>: LaunchServices: Uninstalling app <LSApplicationProxy: 0x16095af0> M3KJ3WBD2L.com.boardmaps.boardmaps (Placeholder) <file:///private/var/mobile/Containers/Bundle/Application/7312DC34-DF53-43BA-AE3E-DEA05EBF014D/-4088318364755750305.app>
Sep 10 04:12:50 iPad-Dashboard installd[42] <Notice>: 0x1f081000 -[MIClientConnection uninstallIdentifiers:withOptions:completion:]: Uninstall requested by itunesstored (pid 116) with options: {
    }
Sep 10 04:12:50 iPad-Dashboard installd[42] <Notice>: 0x1f081000 -[MIUninstaller _uninstallBundleWithIdentifier:error:]: Uninstalling identifier M3KJ3WBD2L.com.boardmaps.boardmaps
Sep 10 04:12:50 iPad-Dashboard installd[42] <Notice>: 0x1f081000 -[MIUninstallNotifier performRemovalWithCompletionBlock:]: Destroying container with identifier M3KJ3WBD2L.com.boardmaps.boardmaps at /private/var/mobile/Containers/Bundle/Application/7312DC34-DF53-43BA-AE3E-DEA05EBF014D
Sep 10 04:12:50 iPad-Dashboard installd[42] <Notice>: 0x1f081000 -[MIUninstallNotifier performRemovalWithCompletionBlock:]: Destroying container with identifier M3KJ3WBD2L.com.boardmaps.boardmaps at /private/var/mobile/Containers/Data/Application/B7AD1744-EB1F-42D3-8690-F1FB4B2DA526
Sep 10 04:12:51 iPad-Dashboard itunesstored[116] <Warning>: LaunchServies: No app bundle to remove for M3KJ3WBD2L.com.boardmaps.boardmaps
Sep 10 04:12:51 iPad-Dashboard lsd[74] <Warning>: LaunchServices: Updating identifier store
Sep 10 04:12:51 iPad-Dashboard itunesstored[116] <Warning>: LaunchServices: clearing created progress for M3KJ3WBD2L.com.boardmaps.boardmaps
Sep 10 04:12:51 iPad-Dashboard itunesstored[116] <Warning>: [ApplicationWorkspace]: Uninstalling application placeholder for bundleIdentifier: M3KJ3WBD2L.com.boardmaps.boardmaps; success: 1
Sep 10 04:12:51 iPad-Dashboard itunesstored[116] <Warning>: [ApplicationWorkspace]: Failed to install application: M3KJ3WBD2L.com.boardmaps.boardmaps; /var/mobile/Media/Downloads/-4088318364755750305/8091709402150391677; Error Domain=SSErrorDomain Code=143 "(null)"

遇到了完全相同的问题。已经尽可能清理了清单,但没有效果。从终端运行ios-deploy正常。 - David Amey
9个回答

12

您可能遇到过iOS8 OTA安装的相同问题,并在服务器端实现了解决方法:您更改了plist清单文件中的Bundle ID并添加了board maps。我们添加了.dummy,以使其与iOS 8.1兼容。

BundleValidator:失败的bundleIdentifier:M3KJ3WBD2L.com.boardmaps.boardmaps与预期的bundleIdentifier:com.boardmaps.boardmaps不匹配。

不幸的是,它在iOS 9上不再起作用。我们需要在生成plist文件时再次更改服务器端逻辑,以区分iOS 8和9。

干杯!


我们在服务器的plist文件中有相同的标识符。它包含AppId前缀和我们的bundleIdentifier。 - sidslog
谢谢,Frood。我们从服务器的清单plist中删除了标识符的应用前缀,应用程序已成功安装。您知道苹果是否永久更改了这个吗?@endrelzr - sidslog
1
这似乎是正确的解决方案。在 iOS8 中,我们必须生成一个独特的 "bundle-identifier",并在其后加上构建编号。重要的是,在 iOS9 中 不要 这样做(基本上他们已经修复了在 iOS8 中引入的错误,据我所见),确保您的 manifest.plist 中的 "bundle-identifier" 与 ipa 文件相同。 - Peter Theill
1
我们需要再次更改服务器端的逻辑,以便在生成plist文件时区分iOS 8和9。由于这对从7升级到8的用户造成了问题,而现在用户只能从7升级到9(8无法安装),所以我不再看到任何问题。请忽略它。我更新了一个我在iOS 8上安装的应用程序,从我们内部的hockey上安装后,在iOS 9上也可以正常安装。尽管我忘记了我们之前还附加了“.ios8”,并且使用该bundle ID在iOS 9上无法安装 - 直到我在这里找到了你的答案并想起来 ;) - benjist
我遇到了同样的问题,因为iOS 8的虚拟包标识符出现了错误。然而,我已经在plist文件中更改了正确的包标识符,但iPad仍然在错误日志中显示旧的包标识符。我已经重新启动了Safari并软重置了设备,但还是不起作用。有什么想法吗? - momo

4

同时,使用TestFairy也会出现这个问题。TestFairy在您的捆绑标识符末尾添加".download",导致在安装iOS 9 GM Pre-Seed的设备上安装失败。这在iOS 8和iOS 9 beta中都不是问题...


1
想知道这是否与苹果推荐使用的新PRODUCT_BUNDLE_IDENTIFIER有关... - Ari Braginsky
TestFairy区分iOS版本,只有iOS 8.x才会获得“.download”后缀。 - gilm

2

我们发现从bundle-id中移除团队前缀可以帮助某些下载,但对于其他情况,我们需要在XCode 7中重新构建.ipa文件。


1
简而言之,回到8.1.3之前的做法。只要我使用“旧”技术重建我们的(非下载)企业应用程序,它们就可以在9.0上进行OTA下载。 虽然现在需要一个8.1.3 >= < 9.0版本和一个 >= 9.0版本,但这有点麻烦,但是这就是苹果...

请问您能详细说明一下8.1.3之前的方法吗?我使用itms-services链接,指向包含IPA链接的plist文件。这就是您所说的方法吗? - momo

1

iOS 9对清单信息变得更加严格:标签、值或其他内容。

最近我遇到了类似的问题:

I find the problem is that I mistake the bundle-identifier value.

我发现如果你错误地填写了bundle-identifier值,iOS 9将不允许你安装应用程序,但是iOS 8或更低版本将不检查bundle-identifier值。

0

我有同样的问题。通过将bundler标识符设置为xcode构建设置中设置的确切值来修复它。

enter image description here


0

我遇到了相同的错误,一直坐到凌晨4点。睡了一会儿然后喝了咖啡,我注意到了问题所在: 在manifest.plist文件中,有三个assets字典条目:"software-package","full-size-image","display-image"。

“full-size-image” 条目在URL中使用了逗号而不是点: <string>https://www.myserver,com/AppIcon512.png</string>

将其更改为点,adhoc下载就可以正常工作了 :-)


0
在我的情况下,我在ipa文件名中使用了一个特殊字符。最终我删除了这个特殊字符(é),然后重新部署,问题得到了解决。

0

我注意到在iOS 9 GM上也有同样的问题。最终我发现这个问题是由ipa的zip版本引起的。

我之前使用Java库来生成ipa,现在我使用/usr/bin/zip来生成ipa,这解决了我的问题。

使用file命令,我可以看到两个zip工具生成的zip版本不同:

$ file working_with_ios9gm.ipa
working_with_ios9gm.ipa: Zip archive data, at least v1.0 to extract

$ file not_working_with_ios9gm.ipa
not_working_with_ios9gm.ipa: Zip archive data, at least v2.0 to extract

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