5
votes

My company has recently started developing custom iPhone applications for various clients. One of the challenges we are running into is how to get these applications to the client so they can review them during the development process.

Ideally, this would just be a matter of sending them the app file and having them install it on their iPhone. Of course app signing makes things much more complicated than that. We would have to add their phone ID to our development profile, have them provision their phone to accept the app, then install the app. This creates a headache for us of course in trying to walk the client through this process.

At this point, our best solution is either to simply send them screenshots or to snail-mail an iPod Touch back and forth with the app installed on it. Of course neither of those options is ideal.

Is there a better way to distribute development versions of iPhone/iPod Touch apps to non-technical clients?

4

4 Answers

3
votes

Are you using Ad-Hoc distribution profiles? For me the process is like this:

They send their device uuid - which is visible in iTunes after you click the device sn. Then i send them the compiled application, and a provision profile. They drag both to iTunes, and sync their iPhone.

I don't think that's impossible for non-technical clients.

2
votes

You can snail-mail them an adhoc-provisioned device, and then email them/let them download updated builds. Best of both of your approaches.

1
votes

We ran a similar beta program with non-technical users. We had 30-40 participants, most of them very non-technical and it was definitely painful organizing the provisioning and getting the apps on their phones. We ran into the following problems:

  • Dealing with Windows users. We were working on Macs and it's difficult to ensure that your distribution archive will work properly with the Windows version of iTunes. Testing the installation on a Windows VM helps, but it's definitely a tricky area.
  • Provisioning users as beta applications trickle in. Since we had no defined beta schedule (our fault), we provisioned users as they came in and when we felt like enough had accumulated, we pushed out a new build that would work on the new devices. Unless you're organized, it's possible that some users may accidentally be left out and not be provisioned for a particular build. If they're not provisioned, this can be difficult to debug from the iTunes error message that pops up when they attempt to install.
  • Dealing with iTunes errors when users try to install or upgrade. iTunes seems to be very particular about how you install apps and we could never crack the code on the best method to have our users install or upgrade the app (drag and drop the .app file/directory? build a .ipa file and give it to them that way?)

All that being said, if you're only distributing to a few users per client, ad hoc distribution should be manageable and is definitely better than screenshots or mailing a device.

1
votes

You should be familiar with Ad Hoc distribution and provisioning profile. if not, go to apple developer website and do some readings in "Provisioning Portal".

First, go to apple developer and add the devices of your clients to your profile. Now, you need to create a provisioning profile with all the device ID's in it. Download the Ad-Hoc profile and drag it to Xcode.

From here on, there are many options to distribute.

I use Test Flight https://testflightapp.com to distribute my Beta's between testers and clients, I'm very satisfied with their service. you can go to their site and read the articles in "support"