Enterprise App Update Distribution on iOS 8

2020-01-23 04:46发布

I have an enterprise app that I'm distributing via an itms URL:

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

On iOS 7, both downloads and updates work fine. On iOS 8, however, I get the error:

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

In my plist, I have

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

and on my app on iOS 8, I'm running version 0.2.1

13条回答
smile是对你的礼貌
2楼-- · 2020-01-23 05:08

Problem solved by changing the bundle identifier in plist.

Normally, after tapping the itms link, it will shows the desktop which shows the icon installation. However, for my iOS 8.0 device, after tapping the itms link, it will not change to the installation page but installation is already working behind.

查看更多
孤傲高冷的网名
3楼-- · 2020-01-23 05:08

This is extreme but if you can't change your bundle identifier, which I couldn't, restoring your iPhone through iTunes to the latest iOS 8 and restoring from a backup fixes the problem.

查看更多
地球回转人心会变
4楼-- · 2020-01-23 05:10

What Gil said seems to be correct, but more specifically, I found that I also needed to increment the bundle-version string in the server.plist:

    <key>bundle-version</key>
    <string>3.2.2</string>

This at least allows you to accomplish an OTA install.

(Sorry... Would've added to comments, but I'm too much a n00b.)

查看更多
贪生不怕死
5楼-- · 2020-01-23 05:13

This a bug first found in iOS8 Beta5. And it was still not fixed by Apple in GM seed and official iOS8.0 version. More discussons could be found here

The current workaround being tested by myself:

  • If you don't care the contents in your device: do a clean restore in DFU mode of the device
  • If you want your things back
    1. Backup your iOS Device in iTunes before restore (without Ad-Hoc/enterprise app)
    2. After restored your device cleanly, install your Ad-Hoc/enterprise app
    3. Restore your backup from iTunes
    4. Now you are free to delete those Ad-Hoc/enterprise apps and reinstall them.
查看更多
我想做一个坏孩纸
6楼-- · 2020-01-23 05:14

Make sure you have a full internet access.

I was facing the same problem with OTA installation and IOS8. Because i'm behind a corporate proxy, the solutions above didn't work until I set manual proxy settings (not needed in IOS7) to solve that problem.

查看更多
做自己的国王
7楼-- · 2020-01-23 05:15

I've also encountered this problem with our app distribution. We were able to fix this issue by 'faking' the bundle identifier inside the .plist using for download distribution, keeping our ipa bundle identifier the same.

For example, in your plist:

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

change com.mycom.MyApp to com.mycom.MyApp.ios8fix

The app will be installed using a new app icon, which will disappear after install.

If you already have an install of the app, you will even see a new app icon during install. After the installation this icon disappears, but your already existing version of the app will be updated. With a clean install the installation icon will disappear and the installed application icon will appear in place.

It looks like iOS 8 is caching the bundle identifiers and compares the requested installs with these cached ones. Most of the times you'll only see an popup asking for install, but nothing happens.

As Sean already noticed, this appears with xCode 6 GM and the official iOS 8 version. Devices which never installed your application before will have no problems to install the app.

查看更多
登录 后发表回答