This post is more of a public service announcement. Prior to Tilt to Live’s Game Center/Retina update we wanted to extensively test the game with a wider tester base. So we ran a small ‘open beta’ (as open as Apple’s ad-hoc program would allow us). Prior to iOS 4.0 users had to do a cumbersome dance to get an ad-hoc game on their devices. And by cumbersome, I mean anything dealing with the desktop iTunes client. There was a lot of room for error, and for those (like me) that loathe syncing with iTunes, it creates a barrier because the act of adding an ad-hoc pretty much wipes my personal device since I buy all my apps 100% on the device and never sync.

Enter iOS 4.0. I discovered this tidbit on Twitter one day. Sadly, I can’t recall who tweeted or retweeted it, but thanks!

With the new iPhone iOS 4, you can distribute apps wirelessly without iTunes intervention. You still need to collect the appropriate devices id’s and create the appropriate provisioning profiles but if you already have those sending out files is easy.

The benefit? Oh where to start? Your testers no longer need to be tethered to a desktop to actually test your app! Our beta e-mails contains direct links to the provisioning and ipa file. The user simply has to tap on both and the game installs over the air! It’s almost easier than buying an app on the app store. The barrier to beta testing has been dramatically lowered because of just this one feature. You can almost coin it as ‘one-click beta installs’. It’s good stuff.

The other upshot? You get more feedback. Some beta testers may simply be out and about and won’t remember to connect to their iTunes client when they return home for the day. We had a lot more responses this go around and even some quick back and forth e-mail discussions as people installed, played, and replied all in one sitting.

Another good thing is we were able to get some ‘field data’ on our Game Center implementation. I would imagine most people have wifi on their homes nowadays. We were getting some feedback from some testers that were on EDGE or 3G that Game Center was causing a long ‘pause’ between games. This was something that didn’t turn up in our internal testing because we’re always on Wifi. Turning over to 3G to test still didn’t give me any hang ups. So just the knowledge that a good portion of people were getting a significantly slower response from GC prompted me to investigate better ways to mitigate this and ‘hide’ the response time delay so users weren’t met with an unresponsive UI.

Downsides? It’s a bit cumbersome to create a build for wireless distro as you’re required to do a ‘build and archive’ from XCode. I have an automated build process for the old-school ad-hoc way. I wish there was a way to automate this as well. I feel that there might be a way, but not sure if ‘build and archive’ is doing any magic behind the scenes. If anyone’s got any info on this or whether xcodebuild has some way of doing this all through the command line please let me know!

A quick guide to build a wireless distro game or app

  1. Choose Build->Build and Archive

  2. If it already isn’t open, open the Organizer window (window->Organizer) and choose ‘Archived Applications.

  3. Highlight the build you just archived and click on “Share Application”

  1. Select “Distribute for Enterprise”. The correct provisioning profile should be automatically selected. If not, correct it.

  2. At this point you’re presented with a form (pictured below) that you need to fill out.

  • URL: You need to decide beforehand what the name of the ipa and the location on a webserver the file will reside at. For this example we’ll use ‘'
  • Title/Subtitle: self explanatory.
  • Large/Small image URL: not needed. But since I had this on hand I just put them in the same folder on the web server as the ipa file.

Now when you click ‘OK’ it will ask you to save the file. Be sure to save it as the same file name you gave it in the URL (in our previous example it was ‘Tilt_to_Live.ipa’).

Now upload both the ipa and plist file to the URL you put in the form. Drop the index.php file created by Jeffrey Sambells in this post to the directory you uploaded the IPA file and you’re good to go. This index file will generate the links for both the provisioning and ipa files.

Now any user that is in the provisioning profile can visit that link in safari on their device and download the app directly. Or more conveniently, you can just copy and those links into an e-mail :).