Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I hope this is the right place to ask this question, since it isn't actually programming related.

I work at a company which is taking the first steps in iOS development, and we realised that there is a problem on how to demonstrate a fully functional developed application to a client.

The situation is quite simple:

Let us say some company (referred as "client") asks us to develop an application about whatever. The client can be geographically distant or even in another country. The client owns its set of iPhones/iPads and at end of development, it would like to run the app on their phones, so they can see it works and is fully functional.

So, the question is how to do it? How to make an app demonstration to this client on their iPhones?

We haven't done this before, but we realised that there is no other way to install an app from any source apart from the Store, or compiling it from a developer Xcode environment. I mean legally. We also understand that it takes quite a lot of time to deploy an application to the Apple Store, in order for Apple to check it out and other stuff.

Please, correct me if I said something wrong, but we are in the baby steps of this, and we would like to understand a bit more about all these issues.

So, are there any technical solutions to this problem? I mean, which do not involve sending phones by mail, and anything like that.

share|improve this question

closed as off topic by Nathan Greenstein Dec 4 '12 at 23:57

Questions on Ask Different are expected to relate to Apple hardware or software within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

3 Answers

Yes, there is a way to install apps on stock OS iOS devices, other than from Apple's App store or when tethered directly to the developers Mac.

An enrolled iOS Developer can sign an app with an Ad Hoc Distribution certificate and a provision file which includes the UDID's of the client's devices. You can email this app and provision file to a client. Then the client can install this app (and the mobileprovision files required for it to operate) using iTunes. Or the client can download direct to their device from a (OTA) web page using a developer service such as TestFlight.

This is very commonly done for beta testing of iOS apps.

Ad Hoc provisioning expires at least once per year, so these apps are only temporarily useable. A Developer is limited to no more than 100 UDIDs max total per year, so can only do this for a limited number of clients.

share|improve this answer
    
Thank you for the suggestions. I suppose it will take time for us to do this, but it is awesome to know. –  MobileCushion Nov 18 '11 at 16:41
add comment

You need to add the UUIDs of your client's devices to a provisioning profile in the Apple Developer Center, then you archive and sign your app with this profile.

The easiest way to distribute the .ipa you get then is probably to use a service like TestFlight or if you want to use your own server the app iOS beta builder.

The biggest problem with iOS beta distribution is that you are limited to 100 devices per account and year, but other than that it is pretty straighforward.

share|improve this answer
add comment

This is very easy to do once you get into how app signing works in iOS.

In a nutshell either you or your client will get a certificate from Apple that lets you list certain devices that can run your apps that will be side loaded directly from your build machine and not going through the store.

Xcode will use that certificate to sign the app when built and it won't matter so much how the app got onto your demo device as long as the provisioning profile on that device matches the certificates on the app you built. You can send the app via email to the device, shared as a file to iTunes for the client, or even set up a server to deliver the app over the air (OTA) using a web server.

You will have to do some reading and learning on the developer site as well as some trial and error as you learn how picky the certificates are and how things can and will break. There are many books and tools to help you out - but I've found making some efforts to attend cocoa / Xcode / iOS events in your community to be extremely valuable for learning the ropes and having resources to ask and be asked yourself how to get over hurdles.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.