iOS Session Replay Technical Notes (Alpha)

Creating a Mobile Session Replay

Creating a Mobile Replay is as easy as creating a Web Replay, just select mobile on Audience > Platform

Technical Notes

Updating Your Mobile SDK

For iOS and Android install methods, reach out to your development team to upgrade the SDK to the latest version. Please note that if you wish to use Replays in additional Products and Environments you will need to update the in each place that the SDK is installed.

iOS Replays are supported on iOS 14 and above

iOS Replay Privacy Controls

Privacy settings can be configured at Settings > Replays > User privacy.

All secure form contents (including password fields) are not recorded or stored by default. More specifically Secure UITextFields and UITextViews marked with the isSecureTextEntry flag are always masked.

Additionally, users are able to selectively exclude images, class names, etc.

iOS Main Thread Checker Warning (Replays Only)

Due to the capture method Sprig has implemented, you will experience an Xcode warning when debugging. This warning triggers during debugging when Session Replay is on under Settings > Replays for an Environment AND there is an active Replay study.

Main Thread Checker: UI API called on a background thread: -[UIView drawViewHierarchyInRect:afterScreenUpdates:

In order to capture user behavior without impacting main app functionality, the Sprig SDK reads UIKit properties in a background thread. Capturing UIKit properties on a background thread is a much more performant means of capturing behavior when compared to main thread operation, though at the expense of this error alert.

We have confirmed that reading properties on a background thread does not cause a crash in production, but Xcode's diagnostics tools will show a warning during debugging, but execution continues.

To proceed with proper testing, you will need to turn off the "Main Thread Checker" in your Run scheme as shown in the screenshot below.