2

I have an app I need unlimited non-technical people to be able to download and I can't distribute it through the iTunes store.

I've read a bit about in-house distribution and it seems like it is what I should be going for. I am not totally sure how it works yet.

As far as I understand, you can compile the app and upload it to a website of some sort and then people can download it from there.

Is this the procedure from the users perspective?

Can you link to an example?

Do you know of a good (recent) tutorial describing the whole process?

Holger Sindbaek
  • 2,278
  • 6
  • 41
  • 68

4 Answers4

2

From your question, I come to know that, you want to develop your app which will be used by the company people only. And app will not display on Apple Store to download for other general people.

For that,

You should go for "Enterprise Account" developing.

Actually there are 2 types of account in Apple:

1) Developer Account: This is used when you publish your app on App Store.

2) Enterprise Account: This is for In-House development. When you create your account as Enterprise, then you will be able to create the app for in-house development and people of the company can download and install the app on his/her device. You can not publish your app on App Store using this account.

I hope, this info will be useful to you.

Have a good start.

Cheers.

Nishant B
  • 2,897
  • 1
  • 18
  • 25
  • It's exactly the Interprise Account I'm going for. I need to know more about the process of distributing the app though. Do you need to know the UDID's of peoples devices and add them to the Provisioning Profile as you do in the developer account? Do you have a link to a tutorial describing how to compile for enterprise and distribute via a link? – Holger Sindbaek Feb 12 '13 at 06:47
  • Actually it will be same as Developer Account. You can add people devices's UDID numbers and bind those UDIDs into profile, test the app etc.. You will get same Provisional Portal as Developer Account. – Nishant B Feb 12 '13 at 06:50
  • As I understand it from @Praveen-K's answer, you actually don't need people's UDID's when you distribute it as an In-House app. Am I mistaken? – Holger Sindbaek Feb 12 '13 at 06:55
  • Not that much sure, but as far as I know, you need it for testing purpose. So that, you can add app bundle in people's device. – Nishant B Feb 12 '13 at 07:01
2
  1. Is this the procedure from the users perspective? : Yes it is possible. It's just that you need a Enterprise distribution license. I've been distributing my apps wirelessly for several months now with no problems. Granted, I am distributing under the Enterprise license, which costs $299 a year and is intended for internal business use.
  2. Can you link to an example? : Check this and apply here
  3. Do you know of a good (recent) tutorial describing the whole process? : You'll get this also in above links.
Rushi
  • 4,553
  • 4
  • 33
  • 46
  • Thanks a lot for the links. That's exactly what I intended to do. Do you use a service to distribute your app? Do you need to register peoples devices and recompile the app each time a new user wants to download it? – Holger Sindbaek Feb 12 '13 at 06:44
  • No you don't need to have Device UDIDs You don't need to recompile the app. – Rushi Feb 12 '13 at 06:48
  • That sounds great. Do you use a service (like Testflight) to distribute your app then or how is that done? – Holger Sindbaek Feb 12 '13 at 06:56
  • Building with Enterprise profile will create an .ipa and a .plist file. You put that on a website that is protected via basic authentication. Put a link to the plist file on the site in the below format. Then you can just browse to that site with any ios-device, type in your credentials, click on the link and install the app. – Rushi Feb 12 '13 at 07:00
  • That sounds easy. What credentials is it people are using to type in? Do you have to have the authentication on the site? Do you know any services that can make this website for you? Thanks again for all the clarification. – Holger Sindbaek Feb 12 '13 at 07:05
  • Authentication on the site is not compulsory It's just a way to make sure only people who are supposed to use the app download it. And you have the control on whom to share the controls with. Not aware of services which can make this website for you. It's not very complicated. – Rushi Feb 12 '13 at 07:08
  • Ok, that's nice. Thanks for the info. It says on Apples website: "Distribute your internal app using your company’s authorized software distribution mechanism." Is that the website I create? It also says: "Members of your company can use iTunes, iPhone Configuration Utility, or Xcode to install the app on their devices." Does that mean that they have to open iTunes to install the app. Can't they just click the link from their iOS device to install the app? – Holger Sindbaek Feb 12 '13 at 07:12
  • Can't they just click the link from their iOS device to install the app? : Yes possible. Whatever they've mentioned about iTunes is another way of doing it. But using the link is also possible. And that's the purpose of Enterprise license – Rushi Feb 12 '13 at 07:14
  • Ok. That sounds great. I can't find information on how to create this website. Do you have a tutorial/example you can point me towards? – Holger Sindbaek Feb 12 '13 at 07:22
  • You can check this http://stackoverflow.com/questions/5546581/how-to-distribute-ios-application-wirelessly-without-managing-udids-and-recompil – Rushi Feb 12 '13 at 07:27
  • I've dug a bit further into it and you have to sign a contract with Apple as well, stating that you will only use the enterprise account for internal use. I'm intending to let users download this app in the context of being a demo app. Do you think that will be a problem? – Holger Sindbaek Mar 17 '13 at 11:56
1

Well, I had the same doubt and i used to messed myself with several answer. Then i sat for a while and went through the apple docs. Here is some notes from their docs

To develop and deploy custom apps for iOS,

First register for the iOS Developer Enterprise Program at:developer.apple.com/programs/ios/enterprise Once you register,

you can request a developer certificate and developer provisioning profile.

You use these during development to build and test your app. The development provisioning profile allows apps signed with your developer certificate to run on registered devices. You create the developer provisioning profile at the iOS Provisioning Portal.

Well that was for build and test the app.

Now for the distribution

There are two options :

 In-House and Ad-Hoc

Ad-Hoc : The ad-hoc profile expires after 3 months and specifies which devices (by device ID) can run development builds of your app. You distribute your developer signed build, and the development provisioning profile, to your app team and testers.

In-House : Now, when you feel that your app is ready to distribute to the real user after getting all the testing done. You can use build your app In-House profile. See the image to get more detailsenter image description here

The only difference is you do not need to add the device ID for the In-house distribution provisioning profile.

I use the testflightapp.com to distribute the app with In-House profile. Its all your choice you can use your own wireframe.

I know you do not need to submit your app to the app store for review. Its not required but my client always want so, I submit our enterprise app to the app store for just review not for publish.

I will recommend you to go through this docs

Happy coding :)

Praveen-K
  • 3,401
  • 1
  • 23
  • 31
  • Thanks. That's a very helpful clarification :-). Is there any advantage in using Testflight for In-House distribution? I can understand Ad-Hoc, when you need to collect UDID's, but In-House? Do people still need to sign up to testflight? Do you know some other alternatives? Thanks a lot for the clarification! – Holger Sindbaek Feb 12 '13 at 06:50
  • You can use Over-The-Air Distribution to distribute your app without testflight. – Minthos Feb 12 '13 at 06:54
  • 1
    You do not need UDIDs for in-house distribution, but your certificate must match the app id (i.e. it can't be wildcard). – Minthos Feb 12 '13 at 06:54
  • Is Over-The-Air Distribution another service or is that a build in apple thing? Do you have a tutorial? – Holger Sindbaek Feb 12 '13 at 06:57
  • You just need to send the invitation via testflight. http://help.testflightapp.com/customer/portal/articles/829913-how-do-i-add-team-members- – Praveen-K Feb 12 '13 at 07:05
  • For In-House you do not need to collect the UDID's. – Praveen-K Feb 12 '13 at 07:06
  • Ok. And if you'd rather have a link where people can just download the app from? I'd rather not have that people sign up to some 3'rd party service or even log in with some authentication before being able to download the app. – Holger Sindbaek Feb 12 '13 at 07:08
  • http://help.testflightapp.com/customer/portal/articles/829600-how-do-i-connect-my-device-to-my-account- . The user has to register once and that is a very small process with email and password. This is all just for security purpose. Though if you setup your own server you will also provide for sake of security. – Praveen-K Feb 12 '13 at 07:16
  • I know the process of testflight and for this purpose, I think it's too long and cumbersome. Do you know how to do it through your own link? Can you point me towards an example/tutorial? – Holger Sindbaek Feb 12 '13 at 07:24
  • http://shinydevelopment.com/blog/over-the-air-ios-provisioning-and-distribution/ You host the app on your own webserver. Just export the archive in Xcode and put it on the web/intraweb. – Minthos Feb 12 '13 at 12:00
0

You can simply use the https://testflightapp.com/. It's very easy to use.

You can generate an adhoc distribution certificate including all the UDIDs you need to share with. After that upload you build to testflight. It has feature to notify the users by emails.

Then your end users can simply open that email from the device and install the build by clicking on the install button.

Inoka
  • 664
  • 7
  • 16
  • I'm already using Testflight. Problem with Testflight is that it is limited to 100 people (on developer account) and people have to sign up to testflight (which is a bad experience for non technical people). I need a link people can click, where there will be a button they can click and then the app will automatically install. And I don't know the device UDID before-hand. – Holger Sindbaek Feb 12 '13 at 06:43