Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
OTA sideloading on iOS

Note: This requires a paid developer certificate or an enterprise certificate. A free developer certificate will not work.

Create an Example.plist file with the following content:

<?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://example.com/Example.ipa</string>
          </dict>
          <dict>
            <key>kind</key>
            <string>display-image</string>
            <key>url</key>
            <string>https://example.com/Example.png</string>
          </dict>
          <dict>
            <key>kind</key>
            <string>full-size-image</string>
            <key>url</key>
            <string>https://example.com/Example.png</string>
          </dict>
        </array>
        <key>metadata</key>
        <dict>
          <key>bundle-identifier</key>
          <string>com.example.Example</string>
          <key>bundle-version</key>
          <string>1.0.0</string>
          <key>kind</key>
          <string>software</string>
          <key>title</key>
          <string>Example</string>
        </dict>
      </dict>
    </array>
  </dict>
</plist>

Then place a link to this on a webpage:

itms-services://?action=download-manifest&url=https://example.com/Example.plist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment