I read about this gem called TestFlight (http://www.testflightapp.com) earlier this year, and never really gave it much thought. I’m pretty busy and a ‘lone wolf’ developer, so typically send out screenshots during development to the client and sometimes do a face-to-face demo. Recently, more people here at the college wanted to proof and test the app before it was submitted, so we all gathered in a conference room, and I projected the iPhone Simulator on the big screen and gave a demo to the group.
After that meeting, I had one of the designers come to my office, hooked up her iPhone to my laptop, and went through the process of setting it up as a development phone with a provisioning profile and all that goodness. If you’ve done this you know its a bit of a pain even for just your own phone. Once it was set up, I deployed the app to her phone and sent her on her way.
I received an email a few days later with changes and new features. I made them (took about 3 weeks), she came back up – and in the span of those three weeks – she had a phone issue and had to restore, essentially wiped out the setup I had done. I don’t remember why, but the repeated setup didn’t work, or we didn’t have time to set it up again, so she used my phone to test the app. The app finally was approved by the college, submitted to Apple, and released to the app store.
A couple bugs were discovered after it was launched, and I fixed them. Not wanting to have to have a meeting, demo or deploy the app again to other phones, but wanting them to view the changes I made, I remembered TestFlight and figured I’d give it a whirl. I know the headache involved when manually setting up and deploying and app, so I buckled up ready to generate certificates, profiles, and playing with the developer portal at Apple.
I was completely amazed at how easy it was to create an account, set up a team, invite testers, and upload and install the app. I had it installed on the designer’s phone within an hour of creating the account, and alot of that time was compiling, building and uploading the app. Once your team mate(s) add their device, you’ll get an email with a “device-export.txt” file.
- Save this file to your desktop
- Access Apple’s Portal and click Devices | All | click the + sign at the top to add a new device
- Upload this file
You’ll now see your teammate’s device listed (just a quick note – you can set up 100 devices total – Apple’s limit).
Now you need to update TestFlight with the new devices via the provisioning profile. To do that –
- click Development under Provisioning Profiles
- download a new provisioning profile.
- Back in TestFlight (after you’ve uploaded your app) – go to Apps
- click your app name
- click a version of your app
- then permissions on the left
- upload that new profile you downloaded from your portal
Now that the new profile is uploaded, you’ll see the new people you’ve added listed in TestFlight with empty checkboxes. Check them off, and click Notify via email – and they’ll get an email with a button to install the new profile and a button to install the app. That’s sounds confusing, but its pretty straightforward and makes sense once you’ve done it.
Getting your App Uploaded to TestFlight
One thing I didn’t know was how to create an .ipa file (which you can read about here btw – ( http://help.testflightapp.com/customer/portal/articles/494413-how-to-create-an-ipa-xcode-4-3- ) once you have an .ipa file, you can drag it to this TestFlight desktop app, and it’ll upload it for you. Alternatively you can log into your TestFlight account, and upload it old school.
HOWEVER, you don’t have to do all of that if you install the desktop app ( https://testflightapp.com/desktop ) which is in beta, but freaking brilliant !
It watches Xcode for new Archive builds and will ask if you want to Upload the new build to your TestFlight Account (be aware TestFlight must be running for this to happen). If you miss that growl-like pop-up which goes away after a minute-ish, you can simply click the pilot icon in your status bar, and choose an archive. TestFlight takes over, converts your archive to an .ipa and uploads it for you, which is fantastic and one less thing I had to do!
While it uploads, it’ll ask you for release notes, so you can list all the bugs, fixes and features you have added for this version, and when its complete you can choose what members (or all) on your team you want to notify of the new version. These team members will get an email they can open on their device and immediately install the new app.
This saves so much time and hassle, and gives your client and/or app testers ‘beta’ access to your app – hassle free, which is the most important part. Today alone its saved me a few hours because I’ve pushed 2 versions, and added multiple people to the team. If you have questions about what it can do, if its free, how it works, etc check out their FAQ (TestFLight is free btw)
I can’t tell you how awesome this is, you have to try it yourself.