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.