If you’re an iOS developer and you haven’t yet heard of TestFlight, prepare yourself for some happiness. TestFlight is a web service that lets you remotely provision test devices and deploy beta builds via e-mail - for free.
Developing iOS applications for a client can be an interesting experience when it comes to testing and approval. And by interesting I mean mind bogglingly frustrating. The process, as Apple would have it, involves painstakingly cataloging each potential test device’s UDID (a 41 character string) and registering that device with your developer profile. Once all the devices are registered, you can generate a provisioning profile which contains those devices in it. You can then download that profile into XCode and build your app with it. Now that you’ve gotten this far, you can physically connect each test device to your development machine and load the test application onto the devices. Sigh. Get feedback. Repeat.
TestFlight makes your life much easier. Here’s the process with TestFlight:
Add beta tester’s e-mail addresses to TestFlight
Users will register their device from the e-mail
Download all of the UDID’s at once from TestFlight
Upload them all to your developer portal
Create and download the provisioning profile
Build and Archive your app into a .ipa file
Upload the build to TestFlight and send it out via e-mail
Steps 3+4 and 7 are where the vast majority of time is wasted in the standard procedure. Under TestFlight, these steps are all but instant. It’s almost like witchcraft. They’ve taken this incredibly painstaking and complicated process and reduced it down to a few clicks and some easy-to-follow steps.
The benefit gained from that assistance is enough to make a developer 60% less grumpy in an instant - and there is way more. You get a detailed activity stream letting you know which testers have installed the build.
You get a TestFlight SDK that provides you with out of the box app feedback submission, crash reports, live usage data with checkpoints, and more.
All of this, including the SDK, is available for Android as well so that you can unify your development and testing process.
Also notable is a new product by the same team, FlightPath. FlightPath is an attractive and helpful mobile analytics package for both development and production mobile applications that uses the TestFlight SDK to operate.
Do yourself a favor and get your team set up with TestFlight. Not only does it boost your productivity and reduce headaches, it’s also greatly appreciated by your clients who are able to get builds in their hands quickly and often.