Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS OTA Not Working

Tags:

xcode

ios

plist

ota

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!

like image 508
Jake Avatar asked Sep 13 '15 20:09

Jake


1 Answers

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.

like image 186
Jake Avatar answered Oct 03 '22 20:10

Jake