Patrick Perini Patrick Perini - 5 months ago 9
iOS Question

Enterprise App Update Distribution on iOS 8

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

Answer

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.