Follow this Blog!

Jan 12, 2015

What is the Easiest Way to Beta Test Your iPhone iOS App?

Amazon If you are an iPhone app developer or an iOS app developer, you may find it frustrating when you want to beta test your app. By beta test I mean you want to identify more people to test your app, but you don't want your app to appear on Apple's app store yet. This situation is very practical. For example, if you are building an iPhone app to interact with a mockup sample monitor running Android, you may just want only your customer to test out your app.

So what's the best and simplest way to do this?

Three ways to beta test your app

According to Apple, there are three ways to beta test your app, as follows:

Method #1 - internal testers with TestFlight app

You upload your app to iTunes Connect using Xcode and then sign in to iTunes Connect to invite up to 25 internal testers (they must be your iTunes Connect users with either Technical, Admin, or Legal roles) to download and test your app. The recipient will get an email titled TestFlight: You're invited to test app xxx with a link to TestFlight. You will need to install TestFlight app first. Then, TestFlight will download and install the app for you.

One catch is TestFlight is only for iOS 8 and above. If your tester's iPhone is too old to upgrade to iOS 8, this method will not work.

Method #2 - external testers with TestFlight app

You upload your app to iTunes Connect using Xcode and then sign in to iTunes Connect to invite up to 1000 external testers, specifying just email addresses. The external testers will receive an email directing them to use the TestFlight app on their iOS devices to accept the invitation.

What's the catch? Your app must pass Beta App Review before you can invite your external testers to test it.

Again, TestFlight is only for iOS 8 and above. If your tester's iPhone is too old to upgrade to iOS 8, this method will not work.

Method #3 - ad hoc provisioning

The third way is distribute your app for testing on registered devices using an ad hoc provisioning profile. Using this method, testers don't need to be team members or iTunes Connect users to run the app, but their devices need to be registered in Member Center. A big catch is that you must connect the testing device to a Mac running iTunes! I think this requirement is insane. Not every iPhone user has a MacBook. Why does Apple force testers to buy MacBook?

Summary

Here's a table to sum up each method's pros and cons.

Method #1
internal testers with TestFlight app

- number of testers can be up to 25
- testers must be your iTunes Connect users
- test device must be iOS 8 or above

Method #2
external testers with TestFlight app

- number of testers can be up to 1000
- testers just need to have an email address
- test device must be iOS 8 or above
- your app must pass Beta App Review

Method #3
ad hoc provisioning

- number of testers can be up to 100
- testers don't need to be team members or iTunes Connect users to run the app, but their devices need to be registered in Member Center
- test devices must be connected to a MacBook running iTunes

Out of these three methods, it's straightforward to say that inviting internal testers to test your iOS app is the least time-consuming.

Conclusion

My verdict is that method #1, or inviting internal testers to test your app, is the EASIEST way to beta test your app. I have personally tried this method and it gave me the least trouble out of all three. But if your iOS test device is too old to use iOS 8, then method #3 is your only option.

All these methods are published in detail on https://developer.apple.com/.