Sunday, June 16, 2013

iOS Application Distribution with TestFlight

Mobile development is becoming more and more relevant in the current digital landscape. Mobile devices are now covering a wide range of demographics, price tags and features, allowing more and more people to have access to them.

For me, being able to understand mobile platforms is important, both from business and development perspectives. I have been working on several mobile projects from different perspectives, coding, leading and facilitating mobile solutions not only on the Windows Phone platform but also on iOS.

Distribution of mobile applications is a key topic when developing a mobile application. Being able to quickly compile, deploy and share builds is highly important, particularly when working on fast phased and collaborative prototyping projects.

On one of these recent projects we set up to use TestFlight as our distribution platform. 

For those of us who develop applications, especially mobile applications, easy distribution is always a challenge. TestFlight is a brilliant tool to ease the pain and help us distribute iOS applications in a simple and straight forward way.

TestFlight is well known to iOS developers, and you should give it a try if you are developing iOS apps (promised for Android development soon).

It is a free platform intended for mobile developers, project managers and application testers. It is used to distribute beta and internal iOS applications to team members over-the-air. With it, you are able to upload and manage application builds, invite people, create and manage distribution lists and distribute applications in a simple and straight forward way. They also offer an SDK (currently for iOS only) which enables you to extend the metrics you can get from your apps.


Here is how to get started

  1. Go to TestFlight’s website.
  2. Sign up for an account (you should use an email address you use, or can access from your iOS device)
  3. Create a team
  4. Invite team members
  5. You can create distribution lists and add team members to them
  6. Add the team members' devices to their application build (this still has to be done via Apple's provisioning on the Developer Portal)
  7. Upload your application to TestFlight (.ipa)
  8. Distribute your app (with just a click) to everyone, or your selected lists or team members.
  9. Track downloads, installs and more through your TestFlight dashboard.

When you distribute an application, TestFlight will send an email to the registered email addresses included. People will get an email with the app’s information and a link to download and install the application’s build to the device.

TestFlight also exposes an API that can be used to automate the build’s upload. This is quite handy to setup continuous deployment mechanisms, but that will be a topic for another post.


Upload a Build

  1. From the dashboard you can select the 'Add a Build' button.
  2. This will take you to the upload screen. Drag and drop your .ipa file or click on the page to browse for it.
  3. Add the corresponding build notes.
  4. Click Upload to upload your app build to TestFlight.
  5. Afterwards you can select the people you want to have access to it.
  6. Send them the build.


Make sure to also take a look at the Permissions and Distributions features, the dashboard and the help links.

Connecting device with account

When you connect your device a small configuration profile is installed on your device which does two things. First, it sends your device's unique identifier (UDID) to TestFlight allowing a developer to include your device in future builds. Second, it adds a bookmark (web clip) to your home screen giving you quick access to the TestFlight website and your application list. No device settings are changed. The bookmark is a technical requirement in order to make the UDID sending possible.

You can view and/or remove the profile and verify what it installs by going to Settings > General > Profiles and look under the Configuration Profiles Section. Check out this page if you want to dig deeper on the subject.

No comments:

Post a Comment