CocoaPods

We support integrating Shake into your Xcode project using CocoaPods.

note

Not using CocoaPods yet? Follow their brief installation guide, then run pod init in the root of your project and you're done — let's move on.

note

Shake SDK is distributed as a binary package, more specifically an XCFramework. CocoaPods added support for XCFrameworks in the 1.9 beta release, so make sure your CocoaPods installation is running with version no lower than 1.9.

Add Shake SDK to your Podfile

Podfile
use_frameworks!
pod 'Shake'

Then, run the pod install command in your terminal. After the installation also run pod update Shake to be perfectly sure you're using the latest Shake .

Initialize Shake SDK

Initialize Shake in the didFinishLaunchingWithOptions callback of your AppDelegate. Replace your-api-client-id and your-api-client-secret with the actual values you have in your workspace settings.

AppDelegate.swift
import UIKit
import Shake
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
Shake.start(clientId: "your-api-client-id", clientSecret: "your-api-client-secret")
return true
}
}
note

To avoid a swizzling conflict, call Shake.start() before initializing all other frameworks (e.g. Firebase Performance Monitoring SDK). Otherwise, some network requests may not be captured and sent with reports.

Now select Product › Run in the menu bar. This first run will automatically add your app to your Shake Dashboard based on your app bundle ID.