How to Deploy iOS Applications into Any Device out of Apple Store – Using dropbox

This is the previous article about how to do this on self managed host.
But we can take the advantage of Dropbox to do this, will be more convenient.

  1. Upload the signed ipa file to dropbox, and get the link of the ipa. It will be something like:
https://www.dropbox.com/s/xdfycqlw4e1r6bt/someapp.ipa?dl=0

Replace www.dropbox.com to dl.dropboxusercontent.com to modify it as:

https://dl.dropboxusercontent.com/s/xdfycqlw4e1r6bt/someapp.ipa?dl=0
  1. Create manifest file as:
<?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://dl.dropboxusercontent.com/s/xdfycqlw4e1r6bt/someapp.ipa?dl=0</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>url</key>
                    <string>https://dl.dropboxusercontent.com/s/0ef4etggy0aw8sa/image.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>url</key>
                    <string>https://dl.dropboxusercontent.com/s/0ef4etggy0aw8sa/image.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>YOUR APP BUNDLE IDENTIFIER</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>YOUR APP NAME</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

Please replace the ipa path, image path and bundle identifier, app name in this file.
The ipa path is what got from step 1.
And update this manifest file to Dropbox. And similar to ipa file, get the manifest file link from something like:

https://www.dropbox.com/s/imqvkwe2y395aua/manifest.plist?dl=0

To

https://dl.dropboxusercontent.com/s/imqvkwe2y395aua/manifest.plist

Please notice the postfix ?dl=0 also removed.

  1. Create a install html page using this manifest link:
<h1>Install</h1>
<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/imqvkwe2y395aua/manifest.plist">
  Install YOUR APP NAME
</a>

Please replace the manifest link and YOUR APP NAME.


Then open the install.html in Safari and enjoy!

How to Deploy iOS Applications into Any Device out of Apple Store

Pre-Conditions:
You have an apple developer account.

The first way, is that you plug in the device into the Mac, on which your application is developed and let xcode to install the applications automatically.

But, if you cannot access the device directly, this is not the way that fulfilled.

However, in this case, we can deploy an iOS application into Devices by Ad-Hoc and thus do not wait for the apple store review. Just following the steps below:

  1. Login into developer.apple.com, in the Devices tab, add the target device by it’s UDID
  2. In the provisioning tab, open the Distribute tab, add an Ad-Hoc, provisioning profile with the target device selected
  3. Download this provisioning file and open it, let it available in the Xcode
  4. Open the project in Xcode, using the provisioning profile downloaded in the code sign for release option
  5. Archive the project again.
  6. In the organizer opened automatically after archive is done, select the archived item and press the button ‘Distribute’
  7. Select Ad-Hoc, and Next
  8. Select ‘Enterprise’, fill in the url with the ipa url,such as”http://somedomain.com/appname.ipa
  9. And save the file exact as the name that specified in the url you typed above
  10. Upload the two files generated above, one plist, one ipa, onto your web site,and located exactly as in the url you specified above.
  11. Make a url link on your website like”itms-services://?action=download-manifest&url=http://somedomain.com/appname.plist
  12. Done!

After doing the above steps, you can let the target device to open your web page with Safari, and press the link. Then the device can download and install the application. And any device with jailbreak can install as well, even if it does not exist in your Devices list.

But after iOS 7, the ad-hoc deploy must with Https instead of Http
So we need to modify the url link to something like:
itms-services://?action=download-manifest&url=https://somedomain.com/appname.plist
And the host need to be configured with ssh access, for an apache server, you can do this with the steps in this blog.
And after you configured your server well, you need one more step, that copy your certificate generated in this blog to a public place, and use your iOS device open it with Safari, so this certificate can be installed in your device. After this, the app can be installed as well as the old days.