# Apptimize iOS / iPadOS / tvOS / watchOS SDK API Documentation

Apptimize is an AB testing framework that allows you to easily run AB tests and deploy changes to your mobile applications.

This documentation covers all the APIs needed to integrate Apptimize with your iOS, iPadOS, tvOS, and watchOS applications.

## Platform Feature Availability

| iOS | iPadOS | watchOS | tvOS
--- | --- | --- | --- | ---
Code Blocks | ✓ | ✓ | ✓ | ✓
Custom Attributes | ✓ | ✓ | ✓ | ✓
Dynamic Variables | ✓ | ✓ | ✓ | ✓
Event Tracking | ✓ | ✓ | ✓ | ✓
Feature Flags | ✓ | ✓ | ✓ | ✓
Instant Updates | ✓ | ✓ |  | ✓
Pilot Groups | ✓ | ✓ | ✓ | ✓
Visual Experiments | ✓ | ✓ |  | ✓
Visual Event Tracking | ✓ | ✓ |  | ✓
Third Party Framework Event Exporting * |  |  |  |
• Airship | ✓ | ✓ |  |
• Localytics | ✓ | ✓ |  | ✓
• Mixpanel | ✓ | ✓ |  | ✓
Third Party Framework Event Importing * |  |  |  |
• Adobe Marketing Cloud (Omniture) | ✓ | ✓ |  | ✓
• Amplitude | ✓ | ✓ |  |
• Firebase | ✓ | ✓ |  |
• Flurry | ✓ | ✓ |  | ✓
• Google Analytics | ✓ | ✓ |  | ✓
• Localytics | ✓ | ✓ |  | ✓
• Mixpanel | ✓ | ✓ |  | ✓

* Third party framework support depends on third party framework availability for a given platform.

## Watch OS Integration

In order to for Apptimize to propertly integrate with your watchOS application you must provide a `WKExtensionDelegate` in your application’s extension as well as the appropriate `Info.plist` entry. This should be generated for you automatically by XCode when you create a new watchOS application.

You do not need to implement any of the protocol instance methods.

For further information on the `WKExtensionDelegate` see the Apple developer documentation for WKExtensionDelegate.

## A Note on Pairing

Applications running in the debugger as well as developer, ad-hoc, and enterprise builds automatically pair with the dashboard. To disable pairing, set the `ApptimizeDevicePairingEnabled` plist option to `NO` or set the `ApptimizeDevicePairingOption` to `NO` in the `options` dictionary when calling `startApptimizeWithApplicationKey:options:`.

## A Note on Data Protection

Data Protection is an iOS feature that protects the user data associated with an application by encrypting those files automatically. By default files are encrypted until the first time the user unlocks the device after it is powered on. Apptimize will set the properties of the files it creates to this default level of protection.

If your application receives push notifications or performs background refresh it may be launched in the background before the user has unlocked the device for the first time. In this situation Apptimize will not be able to read the device specific configuration and its startup will be delayed. Most APIs will be unavailable until startup has completed (e.g. those that set configuration options or access any test information). Apptimize will startup automatically when files are unlocked. If this case applies to your application, you should wait for the notification `ApptimizeInitializedNotification` before using Apptimize.

If you call an Apptimize API while files are encrypted a warning will be logged.

For further information on Data Protection, see the Apple developer article Encrypting Your App’s Files

## Further Reading

More details on getting started with integrating Apptimize into your application can be found on Apptimize’s main documentation site.

© 2025 Apptimize Inc.. All rights reserved. (Last updated: 2025-10-10)

Generated by jazzy ♪♫ v0.14.3, a Realm project.