iOS OTA Not Working
Asked Answered
M

1

9

I've setup OTA for my organization, but can't seem to get it working. Here's what I've done:

  1. Setup an externally recognized SSL certificate on the hosting server
  2. Ensured the following MIME Types are on the server:

ipa application/octet-stream

plist application/xml

  1. Added this link to our webpage:

<a href="itms-services://?action=download-manifest&url=https://***/***/***.plist">Install</a>

  1. Distributed the ipa, manifest, 57x57 display image, and 512x512 full-size image to the server.

Here's what the manifest looks like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
    <dict>
        <key>assets</key>
        <array>
            <dict>
                <key>kind</key>
                <string>software-package</string>
                <key>url</key>
                <string>https://***/***/***.ipa</string>
            </dict>
            <dict>
                <key>kind</key>
                <string>display-image</string>
                <key>need-shine</key>
                <false/>
                <key>url</key>
                <string>https://***/***/***.png</string>
            </dict>
            <dict>
                <key>kind</key>
                <string>full-size-image</string>
                <key>need-shine</key>
                <false/>
                <key>url</key>
                <string>https://***/***/***.png</string>
            </dict>
        </array>
        <key>metadata</key>
        <dict>
            <key>bundle-identifer</key>
            <string>***.***.***</string>
            <key>bundle-version</key>
            <string>233582</string>
            <key>kind</key>
            <string>software</string>
            <key>title</key>
            <string>***</string>
        </dict>
    </dict>
</array>
</dict>
</plist>

I've verified the URLs in the manifest. They're definitely correct. I've used my computer as a proxy for my phone and I see that my phone is downloading the manifest successfully after clicking the Install link. However, after the phone downloads the manifest, nothing happens - the phone doesn't install the app or display an error on the screen. I've also monitored the console during the transaction and no error appears there either.

I'm completely at a loss for what might be causing the issue here. Any help would be appreciated! Thanks in advance!

Mcnamara answered 13/9, 2015 at 20:52 Comment(1)
We have exactly the same error - absolutely scratching my head here. We've validated and re-validated every step/URL. Any suggestions would be greatly appreciated!Astaire
M
2

I changed need-shine to needs-shine and bundle-identifer to bundle-identifier and that fixed the issue. It would have been nice if the console would have given an error for invalid fields in the manifest, but unfortunately it did not.

Mcnamara answered 16/9, 2015 at 14:10 Comment(1)
Thanks for the tip. I compared your plist file against mine, and found I had a slightly different structure. Weird as it was generated from XCode. But when I updated it to match your (excluding your spelling errors you highlighted!) it worked :) Maybe there is some plist versioning or something going on. But it's fixed now from my perspective.Astaire

© 2022 - 2024 — McMap. All rights reserved.