📜 ⬆️ ⬇️

How to distribute iOS applications bypassing the AppStore

When creating a mobile application for iPad for one large company, we faced the question - how to distribute this application. The most common option - of course, through the AppStore.

But this option did not suit us, since the application was created for company employees, and not for general use. There is only the second option - the Enterprise Program ( more on the Developer Program and the Enterprise Program ).

The client bought the license, we were developing, and now it’s time to upload the application. Before that, we laid out applications in the AppStore, but we didn’t have experience with in-house applications (they assume internal use in the company and are not intended for sharing). To our surprise, we did not find the full-fledged articles describing this process, so we decided to create some instruction that would help save someone time.
')

Receiving an application file package



So, after the development is complete, you must perform the following steps:
  1. Create a distribution certificate ( detailed description of the process ).
  2. Create Distribution Provisioning Profile
  3. Sign the application with the appropriate Provisioning Profile and create a package that can be distributed later. To do this, select the Archive in the Xcode in the Product menu and select the item - Save for Enterprise or Ad-Hoc Deployment.



  4. Next, select a signature (you must select the provisioning profile that you created above)



  5. Save the received package. Do not forget to put a tick next to Save for Enterprise Distribution (without this, you can not get a plist file). In the Application URL field, specify the full path to the ipa file on the server (http://www.yoursite.com/dir/yourFile.ipa)





At the output we get ipa- and plist-files, they can already be sent to people who need to install the application. But to install on an iPad (iPhone) you need to connect it to a computer (while Windows users also need some dances with a tambourine ).

Installing the application via the Internet



And what if there is no computer at hand? This was our case, as the application was intended for the sales representatives of the customer’s company, and by the nature of their activities they are often in transit and do not have a computer at hand. The question arose: “But how to distribute in-house applications (by the way, the same is true for Ad Hoc distribution - direct installation of the application file assembly via iTunes) without using a computer?

You need to put previously created ipa- and plist-files on the server, which has http (or https) access. Then create a simple html file with a link to the following plist file:

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


And replace # your_plist_file_path.plist # with the full path to your plist-file ( important note: the name of the plist-file should not contain spaces ). Those. The code should look like this:

 <a href="itms-services://?action=download-manifest&url=http://www.yoursite.ru/dirname/yourFile.plist">Install</a> 


A user visiting the site from his iPhone or iPad, clicks on this link and will receive a message: “Do you want to install this application?”. That's all.

A couple of little things



An additional advantage of the in-house distribution is that the application does not pass the test at Apple, and accordingly, it does not “hang” there for 1-2 weeks ( and sometimes more ), which is very useful for correcting errors and making urgent changes.

Everything described also works to distribute the application through Ad Hoc . The only difference is that when creating a Provisioning Profile, you must select the corresponding item in the Distribution Method and link the Provisioning Profile to the device profile (otherwise the application will not work).



You can also see the order of actions in the video.

Source: https://habr.com/ru/post/160087/


All Articles