Last modified January 29, 2024 by Shelly Wolfe

iOS SDK upgrade guide

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, 8.13.0.
  • Run the command pod repo update to ensure all references are up to date (for example, Geo SDK).

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:

Changed To
SwrveCustomButtonPressedCallback TheSwrveCustomButtonPressedCallback API is now deprecated. Please use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveDismissButtonPressedCallback TheSwrveDismissButtonPressedCallback API is now deprecated. Please use SwrveInAppMessageDelegate instead to get campaign and button metadata.
SwrveClipboardButtonPressedCallback TheSwrveClipboardButtonPressedCallback 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:

Changed To
SwrveConfig.pushNotificationEvents The 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.embeddedMessageCallbackWithPersonalization The 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.

Removed Summary
SwrveMessageDelegate If you want to override the default in-app message display, we recommend using embedded campaigns.
userResourcesDiff userResourcesDiff 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.
Changed Summary
SwrveCustomButtonPressedCallback This API now contains an extra string argument for the campaign name.
SwrveDismissButtonPressedCallback This 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"


Version 7.5.2

There are no code changes required to upgrade to Swrve iOS SDK v7.5.2.


Version 7.5.1

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


Version 7.5.0

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


Version 7.4.0

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


Version 7.3.0

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


Version 7.2.1

There are no code changes required to upgrade to Swrve iOS SDK v7.2.1.


Version 7.2.0

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


Version 7.1.0

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


Version 7.0.3

There are no code changes required to upgrade to Swrve iOS SDK v7.0.3.


Version 7.0.2

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


Version 7.0.1

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


Version 7.0.0

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

We’ve made several changes to the SDK to simplify integration for future releases.

  • The SwrveMessageController class is now internal and no longer accessible via the ‘messaging’ property.
  • Moved certain methods and functionalities to the SwrveSDK and SwrveInAppMessageConfig classes.
  • Updated the spelling and syntax of certain methods and configuration.

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

Removed Summary
showMessageTransition:
installButtonCallback:
messageForEvent:
Methods no longer needed or supported.
SWRVE_LOG_IDFA Use new public API [SwrveSDK idfa:] to set the IDFA after the user has given their permission.
SWRVE_LOG_IDFV Use new config value config.autoCollectIDFV = true to auto-collect the IDFV.
Moved or changed Summary
messageCenterCampaignsWithPersonalization: Moved from the SwrveMessageController class to SwrveSDK and updated spelling (-is to -iz).
messageCenterCampaigns:
showMessageCenterCampaign:
embeddedMessageWasShownToUser:
embeddedButtonWasPressed:
removeMessageCenterCampaign:
markMessageCenterCampaignAsSeen:
Moved from the SwrveMessageController class to SwrveSDK.
showMessageDelegate:
customButtonCallback:
dismissButtonCallback:
clipboardButtonCallback:
Moved to SwrveInAppMessageConfig.
personalizationCallback: Moved to SwrveInAppMessageConfig and updated spelling (-is to -iz).
prefersIAMStatusBarHidden:
(now prefersStatusBarHidden:)
inAppMessageBackgroundColor:
(now backgroundColor:)
Moved configuration from SwrveConfig to SwrveInAppMessageConfig and changed property name to provide more context.
personalizationForegroundColor:
personalizationBackgroundColor:
personalizationFont:
Updated spelling (-is to -iz).
managedModeAutoStartLastUser Renamed to autoStartLastUser

Version 6.8.1

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


Version 6.8.0

This section provides information for upgrading to Swrve iOS SDK v6.8.0.

Embedded campaigns

For information on adding embedded campaigns to your Swrve integration, see the iOS integration guide.


Version 6.7.1 to 6.4.1

There are no code changes required to upgrade to Swrve iOS SDK versions 6.7.1 to 6.4.1.


Version 6.4.0

This section provides information for upgrading to Swrve iOS SDK v6.4.0.

Push delivery tracking

Swrve now automatically tracks and logs when push notifications are delivered and displayed on each device. To manage this, the iOS SDK uses a notification service app extension and app group. For information on how to implement these in your app, see the iOS integration guide.


Previous versions

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