SDK Installation


Smartlook API v2.0 released

Smartlook has released API v2.0. The new version consists of an improved API and improvements to stability and performance. Previous versions of the API will continue to be supported, but it is recommended to use Smartlook API v2.0, especially for new users.

For current users to upgrade from v1.0 to v2.0, see the comprehensive migration guide.

SDK will compile with iOS 10 target. Sessions will be recorded on devices with minimal iOS version 11.4.

Integration methods

There are three ways to integrate Smartlook into your app.

Swift Package Manager

Add this Swift Package:

Direct integration

Smartlook can also be added directly to the app project by downloading our latest iOS SDK (1.9.1):


unzipping the file, and adding Smartlook.xcframework to the Xcode project.


In projects that use Cocoapods, Smartlook can be installed by adding the respective pod into Podfile:

pod Smartlook

Please note that up-to-date Cocopoads version is necessary to build and run applications with Smartlook on computers with Apple Silicon (M1 and later) chips.

Setup and Start Recording

To setup and start recording with Smartlook, Smartlook must be imported and configured, e.g., in AppDelegate and its didFinishLaunching method:



To setup Smartlook, the unique project API Key is needed. It can be found in the mobile project settings in the Smartlook Dashboard.

import Smartlook

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  let smartlookConfig = Smartlook.SetupConfiguration(key: "API_KEY")
  Smartlook.setupAndStartRecording(configuration: smartlookConfig)
  // other initialization stuff
  return true
#import <Smartlook/Smartlook.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  SLSetupConfiguration *slConfig = [[SLSetupConfiguration alloc] initWithKey:@"API_KEY"];
  [Smartlook setupAndStartRecordingWithConfiguration:slConfig];
  // other initialization stuff
  return YES;

Smartlook now starts recording the app. The recordings will appear in the Smartlook player shortly.


Recording when on mobile network

SDK will upload sessions only on WiFi. When uploading on mobile connections is requested, too, it must be enabled in the project settings in the dashboard. More details about the recording process can be found in the Conceptual documentation


Xcode's Main Thread Checker

When starting in debug mode, your iOS app may stop for a few seconds after this it will start and print a warning when Smartlook is included.
It is caused by Xcode's Main Thread Checker diagnostics. Read more about why it happens and how to handle it in this Technical Note.