Skip to main content

iOS SDK upgrade guide

info

This guide provides information about how to upgrade to the latest Swrve iOS SDK. For information about the changes that have been made in each iOS SDK release, see iOS SDK release notes.

Upgrading via CocoaPods​

If you're upgrading via CocoaPods, ensure you complete the following for every upgrade:

  • Update all libraries to the latest SDK version; for example, 10.11.0.
  • Run the command pod repo update to ensure all references are up to date (for example, Geo SDK).

Version 10.11.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.11.0.


Version 10.10.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.10.0.


Version 10.9.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.9.0.


Version 10.8.4​

There are no code changes required to upgrade to Swrve iOS SDK v10.8.4.


Version 10.8.3​

There are no code changes required to upgrade to Swrve iOS SDK v10.8.3.


Version 10.8.2​

There are no code changes required to upgrade to Swrve iOS SDK v10.8.2.


Version 10.8.1​

Rebuilt for compatibility with Xcode 16 and later.

There are no code changes required to upgrade to Swrve iOS SDK v10.8.1.


Version 10.8.0​

Built using Xcode 26 with a newer Swift compiler. Installations of the SDK through Swift Package Manager may not be compatible when used in Xcode 16 projects.

Embedded campaign content from the Message Center is now returned pre‑personalized. To access the original (unpersonalized) payload, use the dataRaw property on SwrveEmbeddedMessage.


Version 10.7.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.7.0.


Version 10.6.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.6.0.


Version 10.5.1​

There are no code changes required to upgrade to Swrve iOS SDK v10.5.1.


Version 10.5.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.5.0.


Version 10.4.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.4.0.


Version 10.3.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.3.0.


Version 10.2.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.2.0.


Version 10.1.0​

There are no code changes required to upgrade to Swrve iOS SDK v10.1.0.


Version 10.0.0​

This section provides information for upgrading to Swrve iOS SDK v10.0.0.

The following enums have been migrated to Swift. Please see below for more details on the breaking changes and how to access the updated properties.

  • SwrveStack
  • SwrveInitMode
  • SwrveMessageAction
  • SwrveCampaignStatus

We recommend using @import SwrveSDK instead ofΒ #import "SwrveSDK.h".

The following table lists the methods and fields that have changed or been removed:

ChangedSummary
#import "SwrveSDK.h"Use @import SwrveSDK instead
SWRVE_STACK_EUSwift: .eu
Obj-C: SwrveStackEu
SWRVE_STACK_USSwift: .us
Obj-C: SwrveStackUs
SWRVE_INIT_MODE_AUTOSwift: .auto
Obj-C: SwrveInitModeAuto
SWRVE_INIT_MODE_MANAGEDSwift: .managed
Obj-C: SwrveInitModeManaged
SwrveActionDismissSwift: .dismiss
Obj-C: SwrveMessageActionDismiss
SwrveActionCustomSwift: .custom
Obj-C: SwrveMessageActionCustom
SwrveActionImpressionSwift: .impression
Obj-C: SwrveMessageActionImpression
SwrveActionClipboardSwift: .clipboard
Objc: SwrveMessageActionClipboard
SWRVE_CAMPAIGN_STATUS_SEENSwift: .seen
Objc: SwrveCampaignStatusSeen
SWRVE_CAMPAIGN_STATUS_UNSEENSwift: .unseen
Objc: SwrveCampaignStatusUnseen
SWRVE_CAMPAIGN_STATUS_DELTETEDSwift: .deleted
Objc: SwrveCampaignStatusDeleted
SWRVE_CAMPAIGN_STATUS_DELTETEDSwift: .deleted
Objc: SwrveCampaignStatusDeleted
SwrveSDK.deviceUUID()SwrveSDK.deviceUUID() now returns an optional string
SwrveSDK.config()SwrveSDK.config() returns SwrveConfig rather than SwrveImmutableConfig
SwrveSDK.realTimeUserPropertiesSwrveSDK.realTimeUserProperties returns NSMutableDictionary rather than NSDictionary
SwrveEmbeddedMessage.type kSwrveEmbeddedDataTypeJsonSwift:.json
ObjC: SwrveEmbeddedDataTypeJson
SwrveEmbeddedMessage.type kSwrveEmbeddedDataTypeOtherSwift:.other
ObjC: SwrveEmbeddedDataTypeOther
RemovedSummary
appStoreURLsThis feature has been removed.
SwrveImmutableConfigThis class has been removed. SwrveSDK returns SwrveConfig instead.
import SwrveSDKSwift
SwrveSDKSwift.registerLiveActivity
Use import SwrveSDK instead. SwrveSDKSwift file has been removed. The API registerLiveActivity has been moved to SwrveSDK.

Version 9.2.0​

There are no code changes required to upgrade to Swrve iOS SDK v9.2.0.


Version 9.1.0​

There are no code changes required to upgrade to Swrve iOS SDK v9.1.0.


Version 9.0.2​

There are no code changes required to upgrade to Swrve iOS SDK v9.0.2.


Version 9.0.1​

There are no code changes required to upgrade to Swrve iOS SDK v9.0.1.


Version 9.0.0​

This section provides information for upgrading to Swrve iOS SDK v9.0.0.

The minimum iOS support has been increased from iOS 10 to iOS 12.

The following table lists the methods and fields that have changed or been removed:

RemovedSummary
SwrveCustomButtonPressedCallbackPlease use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveDismissButtonPressedCallbackPlease use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveClipboardButtonPressedCallbackPlease use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveConfig.pushNotificationEventsPlease use SwrveConfig.pushNotificationPermissionEvents instead and set it to Swrve.session.start to request the push notification upon install if required.
SwrveEmbeddedMessageConfig.embeddedMessageCallbackPlease use SwrveEmbeddedMessageConfig.embeddedCallback instead.
SwrveEmbeddedMessageConfig.embeddedMessageCallbackWithPersonalizationPlease use SwrveEmbeddedMessageConfig.embeddedCallback instead.
startLiveActivityTracking(activityId: activity:)Please use registerLiveActivity(ofType attributesType: T.Type) instead.
resumeLiveActivityTracking(ofType activityType: Activity.Type)This method is no longer needed

If your integration previously relied on the Swrve SDK to request push permission upon install then please set Swrve.session.start in the Swrveconfig.pushNotificationPermissionsEvents API.


Version 8.13.1​

There are no code changes required to upgrade to Swrve iOS SDK v8.13.1.


Version 8.13.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.13.0.


Version 8.12.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.12.0.


Version 8.11.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.11.0.


Version 8.10.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.10.0.


Version 8.9.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.9.0.


Version 8.8.1​

There are no code changes required to upgrade to Swrve iOS SDK v8.8.1.


Version 8.8.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.8.0.


Version 8.7.0​

This section provides information for upgrading to Swrve iOS SDK v8.7.0.

The following table lists the methods and fields that have changed or been removed:

ChangedTo
SwrveCustomButtonPressedCallbackTheSwrveCustomButtonPressedCallback API is now deprecated. Please use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveDismissButtonPressedCallbackTheSwrveDismissButtonPressedCallback API is now deprecated. Please use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveClipboardButtonPressedCallbackTheSwrveClipboardButtonPressedCallback API is now deprecated. Please use SwrveInAppMessageDelegate instead to get campaign and button metadata.

Version 8.6.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.6.0.


Version 8.5.0​

This section provides information for upgrading to Swrve iOS SDK v8.5.0.

The following table lists the methods and fields that have changed or been removed:

ChangedTo
SwrveConfig.pushNotificationEventsThe SwrveConfig.pushNotificationEvents API is now deprecated. Please use SwrveConfig.pushNotificationPermissionEvents instead and set it to Swrve.session.start to request the push notification upon install.
SwrveEmbeddedMessageConfig.embeddedMessageCallbackWithPersonalizationThe SwrveEmbeddedMessageConfig.embeddedMessageCallbackWithPersonalization API is now deprecated. Please use SwrveEmbeddedMessageConfig.embeddedCallback instead.

Version 8.4.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.4.0.


Version 8.3.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.3.0.


Version 8.2.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.2.0.


Version 8.1.0​

There are no code changes required to upgrade to Swrve iOS SDK v8.1.0.


Version 8.0.0​

This section provides information for upgrading to Swrve iOS SDK v8.0.0.

The following table lists the methods and fields that have changed or been moved.

RemovedSummary
SwrveMessageDelegateIf you want to override the default in-app message display, we recommend using embedded campaigns.
userResourcesDiffuserResourcesDiff is replaced by the userResourcesDiffWithListener API. This new API uses a callback listener that contains more information about where the result came from and any errors encountered.
ChangedSummary
SwrveCustomButtonPressedCallbackThis API now contains an extra string argument for the campaign name.
SwrveDismissButtonPressedCallbackThis API now contains an extra string argument for the campaign name.

GIF support for in-app messages​

To support using animated GIFs as your in-app message images and buttons, the Swrve SDK now requires SDWebImage as a dependency. If you integrate the SDK via CocoaPods or Swift Package Manager, it is automatically included and does not require any further code changes. However, Carthage integrations require you to include the SDWebImage.xcframework from our SwrveFramework project, or manually add SDWebImage to your Cartfile: github "SDWebImage" "~> 5.0"


Previous versions​

If you are upgrading from a version older than 8.0.0, please refer to the iOS Integration Guide.