Deploying iOS apps without UDID to beta testers using TestFlight Beta Testing

iOS app testing for getting early feedbacks may be done in multiple ways. Enterprise, Adhoc and the new iOS8 Testflight Beta testing 

Ad-hoc Provisioning

In this method the focus is on devices rather than the users. The devices UDID need to be registered in member center and the deployment profile MUST have the UDID of the specific device to download the app build. The app may be hosted on testflight or even dropbox (Only https: is supported). 

Here is the steps involved:

  1. Get the UDID of the device where the app is intended to be installed. One of the ways of getting UDID reliably is to ask user to navigate to http://get.udid.io/  on the respective devices. Install to prompted profile and email back the UDID to developer.

  2. Developer can then embed the UDID in the existing profile or create a new profile.

the above approach works wonderfully for small (closed) groups. However, the issue with above approach is two-fold.

  1. The UDID must be known before-hand. If user changes the device; the profile has to be regenerated and a new build with the profile has to be deployed again.

  2. ONLY 100 devices can be registered. A device once registered cannot be unregistered to add new devices.

 

iOS 8 provides a new way for deploying apps which caters to above issues.

TestFlight Beta Testing for iOS applications:

  1. UDID is no longer required. The focus is on test users rather than device. A single user may have multiple devices on which the beta app may be installed.

2. You can enable up to 25 users from your iTunes Connect team to be internal testers and up to 1000 users to be external testers. External testers do not need to be in your organisation; you can invite any user with an email address to become one of your external testers.

TestFlight beta testing in iTunes Connect is available only for iOS apps. TestFlight beta testing for up to 10 apps at one time may be enabled in developer account.

Here are the steps to distribute prerelease build using iTunes Connect:

  1. Create an iTunes Connect app record with correct bundle Id. Log into iTunes Connect

  2. Archive and validate app using Xcode 6 

    to iTunes Connect.

  3. Manage testing in iTunes Connect and create internal and external test users

  4. Solicit crash reports and feedback from testers.

1. After login into itunes connect; select My apps and create / edit app

  1. Set up the app

  1. Go to Xcode (Check bundle Id of the app. It should exactly match the app bundle Id on itunes Connect). Achieve the app and open Organizer.

 

  1. Validate and submit the app. if you get an error; fix it and recheck the bundle Id of the app.

  2. While app is uploading; Go to itunes connect and create some users (internal users)

  1. Add the users in Testflight Beta Testers by first selecting the tab and then the users. You can also assign the external users by selecting the “External ” sub tab.

  1. Go back to MyApps; navigate down to “build” section and then select (associate) the build uploaded from Xcode in step3.

  1. Go to MyApps > Your app > PreRelease and  verify the build has uploaded.

  1. Go to MyApps > Your app  > PreRelease > internal testers and check the users to invite them for the app. Send invite by clicking on the “invite” button at top of the user grid.

  1. Go to MyApps > Your app  > PreRelease > Builds and set the Testflight Beta testing On 

  1. The users (beta users) will receive an email like below on invite.

  1. Users are expected to open this email on preferably “Safari browser” on an iOS device. As the email mentions; users can use their other (even personal AppleId) to download the app. Once the user clicks on “Open in testFlight” , the “TestFlight” app will be downloaded with the beta app within it.

  2. Here are screen shot on the device

 

 

Hope the blog post helps in distributing prerelease builds of your app to testers to collect feedback and prepare your app for release in the App Store. 

When you are done using TestFlight beta testing, you can submit the app for final review.

Happy coding!!!