Upgrade from 3.x to 3.13.0

Updated

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

  • profileAttributes property 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])
  • deviceAttributes property 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 identify are deprecated:
      • identify<T: Codable>(traits: T) where traits are a generic type
      • identify<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
  • Tracking an event

    • These variants of track are 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]?)
  • Screen tracking

    • These variants of screen are 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]?
Copied to clipboard!
  Contents
Version
Is this page helpful?