Upgrade from 3.x to 3.13.0
UpdatedThere's a new version available!
These pages cover version 3 of our SDK, but a newer version is available. In general, we suggest that you update to the latest version to take advantage of new features and fixes.
- Are you new to our SDKs? Check out the latest docs.
- Otherwise, learn about updating to the latest version
This page introduces a new CioAppDelegateWrapper pattern for iOS that simplifies push notification setup and eliminates the need for method swizzling.
What changed?
The changes are mainly to align our SDK APIs across different platforms. No functional changes to be expected.
Upgrade process
Attributes
profileAttributesproperty is deprecated- Getter has no replacement, the mobile SDK doesn’t expose the user’s profile attributes
- Setter is replaced with
setProfileAttributes(attributes: [String: Any])
deviceAttributesproperty is deprecated- Getter has no replacement, the mobile SDK doesn’t expose the user’s device attributes
- Setter is replaced with
setDeviceAttributes(attributes: [String: Any])
Tracking
Identifying a user
- These variants of
identifyare deprecated:identify<T: Codable>(traits: T)where traits are a generic typeidentify<RequestBody: Codable>(userId: String, traits: RequestBody?)
- You should use this instead:
identify(userId: String, traits: [String: Any]?)setProfileAttributes(attributes: [String: Any])can now be used to track anonymous profile attributes
- These variants of
Tracking an event
- These variants of
trackare deprecated:track<RequestBody: Codable>(name: String, properties: RequestBody?)where traits are a generic type
- You should use this instead:
track(name: String, properties: [String: Any]?)
- These variants of
Screen tracking
- These variants of
screenare deprecated:screen<RequestBody: Codable>(title: String, properties: RequestBody?)where traits are a generic type
- You should use this instead:
screen(title: String, properties: [String: Any]?
- These variants of
