This system allows us to distribute our BETAs and RCs to our dedicated testers without bothering them any time we have a new version to come to us, connect the device and so on.
Beside this very useful function we can embed the TestFlightSDK directly in our APPs to monitor how the user is actually moving in the APP (right now only for iOS,
Install the SDK
That's not very tricky... One way would be to download it and add it to your xCode, or the way I prefer is using Cocoapods to automatically inject it to my project.
As we only need it during development time we don't want to add the "Testflight.h" header in every single class where we use the monitoring. So we inject it using the "
#ifdef __OBJC__
#import
#import
#ifdef TESTFLIGHT
#import
#endif
#endif
Now we can enable it by going to the targets build settings and add a "-DTESTFLIGHT" to the "other C Flags" in the section "Apple LLVM compiler 4.2 - Language"
Activate it
That's quite simple too. Just go to your AppDelegate and add the following lines
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#ifdef TESTFLIGHT
// !!!: Use the next line only during beta
[TestFlight setDeviceIdentifier:[[[UIDevice currentDevice] identifierForVendor] UUIDString]];
[TestFlight takeOff:@""];
#endif
return YES;
}
And the basic features are already activated.
You see we are again using the makro to remove TestFlightSDK on release time
Checkpoints
Nothing simpler and useful than that. Basically with this function you can check if users are passing points in the code. Set a Checkpoint as follows
#ifdef TESTFLIGHT
[TestFlight passCheckpoint:@"" ];
#endif
In your TestFlight console you'll get a notification whenever a user passes this point in the execution
Feedback
Nice feature, even though the standard form is not usable in most cases. Fortunately they offer the possibility to use a custom form and just send the text to them (or better to your page on their website).
There are still a couple of interesting features in this SDK like questionnaires and remote logging that are worth to explore, and as soon as I had the time to do that I'll post them here.
Update March 2014:
TestFlight has been bought by Apple, and one of the first things they did was to announce that the Android support will be terminated by march 21th :-(