Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enterprise app deployment doesn't work on iOS 7.1

Tags:

ios

deployment

We distribute apps via an Enterprise account, using an itms-services:// URL. This has always worked fine, but after installing the iOS 7.1 beta on our iPad it refuses to install. Instead we just get the generic Cannot connect to example.com message that iOS unhelpfully displays when there is any sort of problem downloading the app.

I've been unable to find anything here on SO, on Google or in the 7.1 release notes to suggest what could be causing the problem.

like image 354
Mark Parnell Avatar asked Nov 29 '13 01:11

Mark Parnell


People also ask

How do I enable enterprise apps on my iphone?

Tap Settings > General > Profiles or Profiles & Device Management. Under the "Enterprise App" heading, you see a profile for the developer. Tap the name of the developer profile under the Enterprise App heading to establish trust for this developer. Then you see a prompt to confirm your choice.

How do I update the enterprise app on my iphone?

Go to Apps tab > Click on the Enterprise app which is to be updated. Click on the Settings drop-down (gear icon) on the top-right corner of the app details box > Select Edit from the drop-down list. Click on the option Change beside the IPA file. Upload the new app version > Click Save.

How do I know if I have enterprise app on my iphone?

Tap the name of the developer profile under the “Enterprise App” heading to establish trust for this developer. Tap on “Trust (Developer Name)”. You'll then you see a prompt to confirm your choice. After you trust this profile, you can manually install other apps from the same developer and open them immediately.


1 Answers

I found the issue by connecting the iPad to the computer and viewing the console through the XCode Organizer while trying to install the app. The error turns out to be:

Could not load non-https manifest URL: http://example.com/manifest.plist

Turns out that in iOS 7.1, the URL for the manifest.plist file has to be HTTPS, where we were using HTTP. Changing the URL to HTTPS resolved the problem.

I.e.

itms-services://?action=download-manifest&url=http://example.com/manifest.plist 

becomes

itms-services://?action=download-manifest&url=https://example.com/manifest.plist 

I would assume you have to have a valid SSL certificate for the domain in question. We already did but I'd imagine you'll have issues without it.

like image 122
Mark Parnell Avatar answered Sep 30 '22 01:09

Mark Parnell