Download and install an ipa from self hosted url on iOS
To distribute your app over-the-air (OTA, this means without using TestFlight or the official App Store), you may need to create 3 different files, namely:
- The .ipa file (using an ad-hoc provisioning profile)
- index.html
- manifest.plist
You can use Beta Builder to generate these files:
- Archive your build.
- Save the .ipa on the Desktop.
- Download a small utility Beta Builder from here. This does most of the required task.
- Open the tool and select your .ipa file, then provide the path you will be placing the build on
https://myWeb.com/MY_TEST_APP
in the beta builder. - Generate all the files.
- Now upload
index.html
,your_App.ipa
, &manifest.plist
to your server pathhttps://myWeb.com/MY_TEST_APP
- Now share the link of
index.html
. Once you open this file, you will be asked to Tap on install. - It will install
your_App.ipa
on your device.
You can also do this more manually.
index.html
<a href="itms-services://?action=download-manifest&url=https://myWeb.com/MY_TEST_APP/manifest.plist">Install App</a>
manifest.plist
<?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>http://YOUR_SERVER_URL/YOUR-IPA-FILE.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.yourCompany.productName</string> <key>bundle-version</key> <string>1.0.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>YOUR APP NAME</string> </dict> </dict> </array></dict></plist>
If the app refuses to install or run, you may need to check the following items:
- The provisioning profile you've used when compiling/archiving your app
- The URLs in both
index.html
andmanifest.plist
- The
plist
file may possibly need to be hosted on an HTTPS server. You can use Dropbox for this if necessary. - Your device UUIDs may need to be registered inside Apple Developer Center unless you have an Enterprise licence
- You may need to manually enable access to the app within Settings > Profiles
More simply you can utilize DropBox for this. The steps basically remain the same.You can do the following-:
1) upload your .ipa to dropBox, Share the link for this .ipa
2) Paste the shared link for .ipa in your manifest.plist file , Upload manifest file in DropBox again share the link for this .plist file
3)paste the link for this Plist in your index.html file with a suitable tag.
Share this index.html file with anybody who can tap on the URL and download. or you can directly hit the URL instead.
Yes, safari will detect the *.ipa and will try to install it, but the ipa needs to be correctly signed and only allowed devices would be able to install it.
http://www.diawi.com is a service that will help you with this process.
All of this is for Ad-hoc distribution, not for production apps.
More information on below link : Is there a way to install iPhone App via browser?