Testflight Beta Testing

Testflight Beta Testing

Apple recently made TestFlight Beta testing available to both internal and external users, something that has been sorely needed by the iOS app development community. This is a major step forward on several counts:

  • Many developers only test their mobile applications by cable-loading. While this is fine for initial versions, it can cause problems with updates, because an OTA update is not guaranteed to preserve the contents of NSCachesDirectory.

  • OTA distribution requires that the app be signed with either an Enterprise provisioning profile, or a Distribution profile that includes the UDID of the target device. Getting a UDID from a beta tester is an error-prone process. Enterprise signing avoids this complication, but requires that the beta tester be part of your organisation. You can always form a legal contract with a beta tester, but that is complicated in itself. Moreover, it is difficult to implement security on download links, meaning that there is the potential for an Enterprise-signed build with a long-expiry to disappear into the wilds. Not good.

  • Beta mobile apps expire after a well defined 31 days, whereas a normal build will expire whenever the provisioning profile expires - this could be anything from 1 hour to 1 year.

  • Beta apps are clearly indicated by a red dot on the home screen of the device.

Airsource recognised the need for OTA distribution years ago which is why we developed our own custom OTA distribution system, which we will continue to run internally. We have licensed this to several clients. Advantages of our system include:

  • It supports unlimited users, iOS applications, and builds.
  • User access can be restricted to particular apps.
  • Users can automatically die after a set period - e.g. one year, and their download access can be restricted, segmented, or revoked at any time
  • If you are signing with Enterprise, you can have an unlimited number of testers and test devices.
  • Even if signing with AdHoc, you can still have 100 test devices per application.
  • Our OTA server will allow an old build to be downloaded for testing - not just the most current beta.
  • If the provisioning profile on the download has expired, the OTA server will automatically resign it with the current provisioning profile.
  • Distribution consists of sending a secure download URL (valid for whatever period you choose, eg 24 hours) to the tester, who just has to click on the URL in their email. There is no need to enter a password, and no need to download a special Testflight app.

However, for external testers, particular for distributing early releases to current power users, the new Testflight system is quite attractive. Highly recommended!