Once you have added the Lookback framework to your app, follow these steps to get research started in your app.

1. Add code to your app delegate

Open AppDelegate.swift and paste the 3 highlighted lines:

class AppDelegate: UIResponder, UIApplicationDelegate {

    var participate = LookbackParticipate() // 1

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
    {
        participate.setup(withApplicationWindow: self.window!) // 2
        return true
    }

    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
    {
        return participate.startParticipation(from: url) // 3
    }
}

Or, if you prefer Objective-C:

@interface MyAppDelegate ()
@property(nonatomic) LookbackParticipate *participate; // 1
@end

@implementation MyAppDelegate
- (LookbackParticipate*)participate // 1
{
    if(!_participate) {
        _participate = [LookbackParticipate new];
    }
    return _participate;
}

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)options
{
    [self.participate setupWithApplicationWindow: self.window]; // 2
    return YES;
}

- (BOOL)application:(UIApplication*)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    return [self.participate startParticipationFromURL:url]; // 3
}
@end
  1. This line creates LookbackParticipate within your app. Note that in Objective C you need to define the property and implement the lazy getter.
  2. participate.setup(withApplicationWindow:) prepares your app to display the Participate UI when needed, such as when uploading an experience
  3. participate.startParticipation(from:) allows the user to tap a Participate link on their device, and start a user experience testing session within your app (if you have existing deep links you will need to make sure that the incoming URL matches the Lookback link pattern before calling this method)

2. Add URL Types

To be able to open Participate links, your app must also be configured to respond to a specific URL protocol, or URL prefix. When a project is created for testing a native app in the Lookback dashboard, a URL prefix is generated. It's visible in the project settings, or from the blank slate view for the project. It looks like:

lookback-<app-slug>

After you've created a project in the dashboard, you'll find the URL prefix at the bottom:

Navigate to your project settings > target settings > Info > URL Types, and add a new type with "identifier" and "URL scheme" both set to your "URL prefix" as shown in the Lookback project you just created.

3. Add Usage Descriptions

If your app is built for iOS 10, it must provide "usage descriptions" for sensitive data using the new Info.plist keys, otherwise it will crash when attempting to access the camera or microphopne. Lookback uses the camera and microphone, so you'll need to add the NSCameraUsageDescription and NSMicrophoneUsageDescription keys to your app's Info.plist:

Apps that don't use the camera or microphone can use these descriptions which are specific to Lookback:

  • NSCameraUsageDescription: Lookback uses the camera to record you during user research studies
  • NSMicrophoneUsageDescription: Lookback uses the microphone to record you during user research studies

Note: If your app does use the camera or microphone, it should have its own descriptions.

Once the descriptions are entered into your Info.plist , they will be presented to the user when your app requests authorization to use the camera or microphone.

4. How to Start Testing!

Congrats! You're all done with the required steps for setting up Lookback in your iOS app. You now can record your app by sending and opening a Live or Self-Test link on the iOS device.

Nothing will be visible in your app until you open the Live or Self-Test link on an iOS device with your app on it. Clicking the link will prompt your app to start and Participate will show on top of it.

You can let your researcher know they can now record through your app using Lookback. Awesome work 🎉!

Additional Info on the iOS SDK

Now that you're done, it's worth revisiting the iOS SDK article page and scanning the "iOS SDK Additional Info" section at the bottom where you can see iOS SDK FAQ and additional features.

Did this answer your question?