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

守給你的承諾、 提交于 2019-11-29 01:42:07

问题


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.

回答1:


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.




回答2:


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.




回答3:


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.




回答4:


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



回答5:


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.



来源:https://stackoverflow.com/questions/25923099/over-the-air-ota-installation-fails-for-ios8-app-using-itms-services-url

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!