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

原文 标签 ios xcode ios8 enterprise-distribution

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

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 正在缓存捆绑标识符,并将请求的安装与这些缓存的安装进行比较。大多数情况下,您只会看到一个要求安装的弹出窗口,但没有任何 react 。

正如 Sean 已经注意到的,这出现在 xCode 6 GM 和官方 iOS 8 版本中。以前从未安装过您的应用程序的设备在安装应用程序时不会有任何问题。

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

相关文章:

objective-c - 如何将 Excel 工作表数据导入我的 iphone 应用程序。

ios - swift 4 : kill executing thread with called c++ bridge function

ios - 从UIbutton读取数字

ios - 我的 iOS 应用程序中的键盘在 iPhone 6 上太高了。如何在 XCode 中调整键盘的分辨率?

UICollectionViewCell 在第一次出现时不会自动调整 subview 的大小

ios - 您的二进制文件专为 iPad Pro 设计。上传 iPad Pro 屏幕截图以获得更好的 App Store 体验警告

iOS AutoLayout 出现问题

swift - 在XCode UI测试中编辑记录的元素

ios - 当我的应用程序在后台时,我可以保持视频上传过程吗?

ios - 自动布局 Xcode6 : Need autolayout constraints for this: