Tejaswi Yerukalapudi
Tejaswi Yerukalapudi

Reputation: 9157

iOS enterprise OTA distribution problems

I'm trying to deploy an app that I built OTA. These are the steps I went through to create the ipa:

I've tried to install the same app manually on the iPad via iTunes and it works fine. So at this point, I don't even know what else I can try. I've tried and removed entitlements.plist after realizing that Xcode does this automatically.

Any help is much appreicated!

Thanks,
Teja.

Upvotes: 5

Views: 8377

Answers (7)

BuddhiP
BuddhiP

Reputation: 6461

Simply add two MIME types for .plist and .ipa extensions.

I added following on IIS 7 and things started working:

.ipa: application/octet-stream
.plist: application/xml

I did not have to deploy the .mobileprovision file. I guess it's not needed, at least not anymore.

Upvotes: 0

peterept
peterept

Reputation: 4427

My guess is that even though the files all work, that one of them is misspelt in itms-services:// url or inside the download manifest file.

The best way to check the whole process (in 30 seconds) is to install a web proxy and trace the requests.

Steps:

  1. Install Charles Proxy (Mac/Windows)
  2. Run it (it will listen on port 8888 for external requests)
  3. Go to your iPhone/iPad current Wifi settings and press (i) and set Http proxy to manual. Enter the IP address of your PC/Mac and port 8888.
  4. Go to safari and click on your itms-services link.
  5. Watch for where the failure is and what URL was the one caused the failure.

Upvotes: 1

Stephen Quan
Stephen Quan

Reputation: 26214

To troubleshoot your website, these are the steps I use:

  1. Open the Chrome browser on my PC and navigate to my folder containing your itms-services links
  2. Either click on the itms-services link or copy the link
  3. Rewrite the address to point to the plist file and follow the rewritten link
  4. Review the return XML that it's correct, specifically the URL of the IPA
  5. Navigate to the address of the IPA shown
  6. It should start downloading the IPA in your browser

If there's an error in any of the above steps, fix your website and repeat the the test on your PC.

From Apple, you can find under iPhone in Business - Deployment the iOS Deployment Technical Reference in PDF. On page 42, you can find the following text regarding configuring your web server on both OS X and IIS's mime types:

Setting server MIME types

You may need to configure your web server so the manifest file and app file are transmitted correctly.

For OS X Server, add the following MIME types to the web service’s MIME Types settings:

  • application/octet-stream ipa
  • text/xml plist

For IIS, use IIS Manager to add the MIME type in the Properties page of the server:

  • .ipa application/octet-stream
  • .plist text/xml

Upvotes: 0

Durai Amuthan.H
Durai Amuthan.H

Reputation: 32320

I hosted my ios 6 app in iis 7.5 and I didn't add any mime types and it installs for me.

anyhow from what I have read in Internet use following mime types.

.mobileprovision and .ipa

application/octet-stream

.plist

 text/plain

application/octet-stream

It is a binary file.A generic http byte streaming.Typically it will be an application or document which must be opened in application.

URL escaping problem Clicking on the download link with the right format (itms-services://?action=download-manifest&url=$URL)

make sure the URL is escaped otherwise it may not install.

Network configuration requirements

Apple requires two of its server must be reachable in order to install successfully.

Access one server confirms that it's authorised to install and another one checks maximum app size limit for ota.

Read the apple document regarding the server address and make sure those are not locked inside the closed intranet.

Upvotes: 1

justinhartman
justinhartman

Reputation: 722

Also what drove me mad was trying to find out the mime type for .mobileprovision files and it wasn't clear to me then but application/octet-stream is used for .mobileprovision files.

Upvotes: 0

hawkeyecoder
hawkeyecoder

Reputation: 571

I had the same problem trying to deploy enterprise deployment signed OTA Apps with IIS 7.5. The following solution worked for me:

Change the mime types:

.plist : application/xml
.ipa : application/x-plist

Set IIS Anonymous Authentication Credentials to the Application Pool Identity.

Upvotes: 4

Denis Kim
Denis Kim

Reputation: 1

try "application/x-plist" as MIME type for the plist

Upvotes: 0

Related Questions