ios - iOS 8 上的企业应用程序更新分发

标签 ios xcode ios8 enterprise-distribution

我有一个通过 itms URL 分发的企业应用程序:

itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist

在 iOS 7 上,下载和更新都可以正常工作。然而,在 iOS 8 上,我收到错误:

LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp

在我的plist中,我有

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

在我的 iOS 8 应用程序上,我运行的是版本 0.2.1

最佳答案

我在应用程序分发中也遇到过这个问题。我们能够通过“伪造”用于下载分发的 .plist 中的包标识符来解决此问题,同时保持我们的 ipa 包标识符相同。

例如,在你的 plist 中:

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

com.mycom.MyApp 更改为 com.mycom.MyApp.ios8fix

该应用程序将使用新的应用程序图标进行安装,该图标将在安装后消失。

如果您已经安装了该应用程序,您甚至会在安装过程中看到一个新的应用程序图标。安装后此图标消失,但您现有的应用程序版本将会更新。 使用全新安装,安装图标将消失,已安装的应用程序图标将出现在适当的位置。

看起来 iOS 8 正在缓存包标识符并将请求的安装与这些缓存的进行比较。大多数时候,您只会看到一个要求安装的弹出窗口,但什么也没有发生。

正如 Sean 已经注意到的,这出现在 xCode 6 GM 和官方 iOS 8 版本中。以前从未安装过您的应用程序的设备可以毫无问题地安装该应用程序。

关于ios - iOS 8 上的企业应用程序更新分发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25772664/

相关文章:

ios - 使用 NSURLSession 在后台上传文件时无法保持恒定速度

ios - Swift/Xcode - 如何设置开发者环境配置

ios - 更改 UITableView 中每个单元格的 UIButton

在 appWillBecomeActive 之前调用 iOS 8 viewDidAppear?

ios - 在子类实例化中使用父类(super class)的便利初始化器

ios - Swift - 如何搜索结构数组

ios - 报亭套件 : Can an app be launched because an asset has become available?

xcode - 无法让自定义类在 SpriteKit 场景中工作(swiftui 和 xcode beta)

ios - 我需要为新的更大的 iPhone 5 显示器单独的 View Controller 吗?

ios - RTCVideoCapturer 捕获器WithDeviceName :(NSString*) becomes very slow after subsequent calls