MStudios
MStudios

Reputation: 1063

Over the air (OTA) installation fails for iOS8 app using itms-services URL

For all prior versions of iOS, I've used the itms-services:// URL to install test iOS apps over the air (OTA). Now, all my devices with iOS8 fail when trying to install apps using this approach. Example URL:

itms-services://?action=download-manifest&url=https://myWebsite/myApp/myApp.plist

Summary of problem:

  1. The Safari browser used to launch the install from a web page does not exit to the main screen showing the app installing as before in prior iOS versions
  2. The application never successfully installs. It installs, but is left as a greyed out icon, and the app will not launch.
  3. This problem does not occur on existing iOS7 devices, with identical URL.

Upvotes: 8

Views: 21349

Answers (5)

gilm
gilm

Reputation: 8060

We had the same problem. Our cause was that TestFlight had installed the bundle previously. It seems that TestFlight has (had) a profile installed, and only it could update the apps, even if they were uninstalled and deleted.

A workaround was to add some suffix to the bundle identifier in the plist.

This of course caused another problem, that a secondary icon was showing until download was complete and the IPA was unpacked and matched with the app already on device.

BIG NOTICE: This is only a problem with iOS8, so you better check the user-agent during the download. It will be itunesd and will contain the exact iOS version.

Upvotes: 0

wasigh
wasigh

Reputation: 905

I had the same problem. In my case the problem was fixed when:

  • the plist was served from HTTPS
  • the IPA was served from HTTPS from the same domain as the plist
  • full-size-image and display-image are present in the plist

Upvotes: 3

Elan Wang
Elan Wang

Reputation: 121

As far as we know, this issue still not be solved in iOS 8.1, and we found that this solution will cause some side effect. After iOS 7.0.x devices use this method to install inHouse apps, although the app installed successful but the home screen left a black square, and can't be deleted.

You have to separate the install method between iOS8 and other iOS versions, which means you change the install method in iOS8, and keep the original install method in other version.

Upvotes: 4

alexcristea
alexcristea

Reputation: 2366

This answer helped me to fix the issue. It seems that for iOS8 you have to include in the assets key of the manifest .plist file the display-image and full-size-image keys. They were available in Xcode 5 when saving an archive for enterprise and add-hoc deployment, but not required.

I have created a gist on github with the template for the install-manifet.plist file. The original post is available on http://www.informit.com/articles/article.aspx?p=1829415&seqNum=16.

Upvotes: 7

Ivo Jansch
Ivo Jansch

Reputation: 1478

This seems to be a bug in the Beta5 and GM versions of iOS8.

Over at Buildozer we've found a workaround: change the bundle identifier of the app in the manifest file. (More details: https://buildozer.io/ios8)

A workaround that doesn't involve changing the manifest files is to restore the entire device from backup, however we feel the manifest 'hack' is less disruptive to users.

Upvotes: 8

Related Questions