iOS 4: wireless app distribution for in-house applications

54,390

Solution 1

If you don't have an entreprise account. You won't have the unlimited or very large pool of devices you can add to your account distribution profiles. BUT, even with normal accounts you can definitely create an Ad Hoc distribution profile (limited to 100 devices) and use the Xcode 3.2.3 "Build and archive" + "Share app / Distribute for entreprise" feature. This will create a .IPA app bundle that already contains the distribution profile. All you need to do is create a web page on some server containing a link with some special scheme.

For instance: <a href="itms-services://?action=download-manifest&url=http://www.myserver.com/ota/myapp/appname.plist">Install My App over the air</a>

Solution 2

Found a guide on how to get wireless app distribution working. You do not need to be part of the enterprise program for this to work.

http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/

Solution 3

The official documentation is no longer tagged as pre-release (and no longer requires a dev login):

http://help.apple.com/iosdeployment-apps/#app43ad871e

Solution 4

Hockey is a really useful project for wireless app distribution. It has all the server side ready to make it easy to distribute the apps. It also contains an iOS module that can be used to auto-update the apps.

Source here: https://github.com/TheRealKerni/HockeyKit

Solution 5

Fire up Xcode and select Build -> Build and Archive. The Organiser will pop-up. Select the build you want to publish and click on the Share... button above the list. Select then the identity you want to sign your code with (usually this is the same you use for signing the code for a standard deploy on the device). Click, then, on Distribuite for Enterprise..

At this point a form will appear asking you from which URL the application should be downloaded from. Let’s suppose your website is available at www.example.com and your application (the file .ipa) is hosted at www.example.com/download/myapp.ipa, then http://www.example.com/download/myapp.ipa should go in that field. [See the update below] Fill the other fields as you wish; you can get more information about that in the Apple Documentation

Once you filled the form and clicked OK select the place where to save the generated files (ipa and plist).

Now the tricky parts comes when you have to deal with the webserver-side code. I have created a small example page below. Remember that you have to put on your website all the files: myapp.ipa, myapp.plist and myapp.mobileprovision.

<!DOCTYPE HTML>
<html>
  <head>
    <title>Install your application</title>
  </head>
  <body>
    <ul>
      <li> <a href="http://www.example.com/download/myapp.mobileprovision">Install Team Provisioning File</a></li>
      <li><a href="itms-services://?action=download-manifest&url=http%3A%2F%2Fwww.example.com%2Fdownload%2Fmyapp.plist">Install Application</a></li>
    </ul>
    </div>
  </body>
</html>

Please notice that the second href is nothing just a plain old-fashioned URL. Nothing special into that. If you are wondering about those weird %2F and %3A they are normal urlencoded symbols (for ‘/’ and ‘:’ resp.). Once you did this you are definitely done.

This answer has been taken as part of a blogpost I made in 2010. You can read the full story here

Share:
54,390
holz
Author by

holz

Have been developing in x++ and c# for about 3 years.

Updated on December 29, 2020

Comments

  • holz
    holz over 3 years

    According to the apple website iOS 4 should support wireless app distribution. I have been unable to find any documentation at all on how to host your applications for users to download them over wifi/3g.

    We are currently enrolled in the standard iPhone dev program, as we don't have over 500 employees. Is this limited feature limited to the enterprise program only?

  • Chris Brandt
    Chris Brandt almost 14 years
    Is there some official documentation that describes this?
  • Chris Brandt
    Chris Brandt almost 14 years
    posted official (pre-release) docs below as a possible 'answer'
  • Conceptdev
    Conceptdev over 13 years
    There's now also testflightapp.com -- a neat website that helps you take advantage of this feature to distribute beta builds on the 'net.
  • JosephH
    JosephH almost 13 years
    That link seems to be dead now :-(
  • Almas Adilbek
    Almas Adilbek over 12 years
    @François P. Can you tell me, do I have to add all UDIDs for all devices to profile? Can someone I don't know with his iPad download and install my app without giving me his device UDID?!
  • Bart Sipes
    Bart Sipes over 12 years
    Apple has now removed the article from this link. The updated url is help.apple.com/iosdeployment-apps
  • JosephH
    JosephH over 12 years
    Thanks @BartSipes , I've updated my answer.
  • Anand Gautam
    Anand Gautam over 10 years
    @holzI am using Enterprise program(299$), now can you pls give me the best way that how can i publish my iPhone app with >3000 employees without using their device UDID. I have an experienced with dev program. Thanks
  • Dimitris
    Dimitris over 10 years
    No experience with the Enterprise Programme, but have you tried TestFlight? It should have tools that will greatly help you gather the UDIDs, import them and distribute. testflightapp.com
  • JosephH
    JosephH over 10 years
    @APG It's hard to recommend the best way as it depends on what limitations you have. But it's basically the same as adhoc distribution, except you use your enterprise certificate to sign. We distribute quite a lot using testflightapp.com, but that's because we use their analytics, and they're probably not a good option if you're not using their analytics.
  • Tim
    Tim over 8 years
    While this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference.