Last modified January 29, 2024 by Shelly Wolfe

iOS SDK release notes

Swrve has an open source SDK repository. There are three options for downloading the latest public Swrve iOS SDK:

  • If using CocoaPods, add pod 'SwrveSDK' to your Podfile. The Swrve SDK is automatically downloaded and added to your project.
  • Download the SDK from the GitHub public repository.
  • Download a .zip file of the latest iOS SDK.

For upgrade instructions, see iOS SDK upgrade guide.

Release 9.0.2

Release date: June 17, 2024


  • Fixed an issue with Campaign Holdouts where control campaigns weren’t treated exactly the same as treatment campaigns.

Release 9.0.1

Release date: April 30, 2024


  • Fixed an issue where the push to start token for Live Activities was not been sent in Swift Package Manager integrations.

Release 9.0.0

Release date: April 23, 2024


  • Added support for starting Live Activities from a push. For more information, see our Live Activity API.
  • Added code signature to our Swrve SDKs XCFrameworks.
  • Added API for retrieving Swrve Device Id.
  • Increased minimum SwrveSDK support version from iOS 10 to iOS 12.
  • Removed numerous deprecated APIs. For more information, see iOS SDK upgrade guide.
  • The Swrve SDK does not support direct source integration.
  • The Swrve SDK will no longer request the push permission by default. Please see our upgrade guide for more information.
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

Release 8.13.1

Release date: April 4, 2024


  • Fixed an issue where the first page of an in-app message that had multiple pages got clipped when swiping backwards from the second page.

Release 8.13.0

Release date: March 26, 2024


  • In-app messages now support customizable layering of content elements. For more information, see Layering elements.

Release 8.12.0

Release date: February 28, 2024


  • Added privacy manifest with the default data collected by the SwrveSDK. For more information, see Using Apples Privacy Manifest
  • Removed code referencing CTCarrier, which has been deprecated in iOS 16.2 with no replacement.

Release 8.11.0

Release date: January 29, 2024



  • Fixed an issue with in-app messages accessibility, where a background image with no assigned action caused the view below it to be read out when selected.

Release 8.10.0

Release date: January 10, 2024


  • The Identify API now supports periodic hard refresh with the server instead of using a local cache. For more information, contact your CSM at
  • Added a check to prohibit the use of a secret key type when creating an SDK instance with an API key.
  • Added the providesAppNotificationSettings API to the SwrveConfig, which controls the addition of UNAuthorizationOptionProvidesAppNotificationSettings to the push options when requesting push permissions. The default is false; if set to true the SwrvePushResponseDeleage includes a callback to openSettingsForNotification.
  • Added extra parameters to the push payload for internal processing.


  • Resolved an issue that prevented the dealloc’ing of in-app messages.

Release 8.9.0

Release date: October 27th, 2023


  • Added support for Live Activities. The SwrveSDK now provides two APIs for starting and resuming the tracking of your live activities:
    • SwrveSDKSwift.startLiveActivityTracking(activityId: activityId, activity: activity)
    • SwrveSDKSwift.resumeLiveActivityTracking(ofType: Activity.self)

    For more information, see the Live activities API guide, and the Live activities integration guide.


  • Resolved an issue to ensure that events are correctly requeued when a HTTP 429 error occurs.
  • Fixed an issue that prevents in-app messages from displaying when they contain multiline text and cannot support personalization without fallback text.

Release 8.8.1

Release date: September 7, 2023


  • Fixed an issue where deeplinks are not opening if the SwrveInAppMessageDelegate is implemented. For custom deeplink opening, implement the SwrveDeeplinkDelegate.
  • Fixed an issue with in-app messages not displaying for campaign triggers that are sent in viewDidLoad as part of the app lifecycle startup.
  • Fixed an issue with the NS file protection error log for non-existent files.

Release 8.8.0

Release date: July 26, 2023


  • tvOS: Added SwrveInAppMessageFocusDelegate to the SwrveInAppMessageConfig, which is used to configure button focus behavior for in-app message campaigns.


  • Fixed an issue with text templating that sometimes caused embedded campaigns to crash, by adding a check for a nil personalization string.

Release 8.7.0

Release date: June 27, 2023


  • SwrveInAppMessageDelegate now receives callbacks that include campaign and button metadata for the following in-app campaign interactions: impression, dismiss, custom, and copy to clipboard.
  • Deprecated the SwrveDismissButtonPressed, SwrveCustomButtonPressed, and SwrveClipboardButtonPressed callbacks. For more information, see In-app messages.


  • Fixed an issue to ensure the SDK called the SwrveEmbeddedCallback instead of the deprecated SwrveEmbeddedCallbackWithPersonlisation for embedded campaigns from push notifications.

Release 8.6.0

Release date: May 18, 2023


  • In-app messages now support custom button styles. For more information, see Intro to in-app messages.
  • Improved push token registration for QA users.
  • In-app message page navigation events now include the button name.
  • In-app message campaigns now require a valid image content type for URL images.

Release 8.5.0

Release date: January 19, 2023


  • To improve campaign holdout reporting on in-app message and embedded campaigns, the SDK now sends an impression event.
  • Added a new action to in-app message campaigns that automatically directs a user to the app’s notification settings page when they click a button. This is a useful option for getting the user to grant permission if they previously denied the permission prompt.
  • Added a new action to in-app message campaigns that automatically launches the Swrve Geo SDK, prompting the user to grant location permission.
  • Added NUMERIC conditions support to in-app message triggering logic.

Release 8.4.0

Release date: November 24, 2022


  • Added support for sending an event or user property update when a user engages with an in-app message. For more information, see In-app messages.

Release 8.3.0

Release date: October 28, 2022


  • Realtime user properties are now updated before displaying in-app campaigns from push notifications.

Release 8.2.0

Release date: September 20, 2022


  • Added CONTAINS conditions support to in-app message triggering logic.

Release 8.1.0

Release date: September 5, 2022


  • Added a new object called SwrveMessageCenterDetails to expose the subject, description, and image icon of a message center campaign. For more information, see Swrve Message Center API.
  • Added a new API called downloadDate that provides the download date of a message center campaign.


  • Fixed public access reference for file UINavigationController+KeyboardResponderFix.h on the tvOS framework.

Release 8.0.0

Release date: August 4, 2022


  • In-app messages now support displaying animated GIFs as the background or button image format, using SDWebImage Library. For more information, see In-app messages.
  • Added an API to retrieve the name of an in-app message campaign via the Message Center API.
  • The SwrveCustomButtonPressedCallback and SwrveDismissButtonPressedCallback APIs now contain an extra string argument for the campaign name.
  • Removed the deprecated userResourcesDiff API.

Release 7.5.2

Release date: June 1, 2022


  • Fixed a class import issue in SwrveImage that causes a build failure.

Release 7.5.1

Release date: May 16, 2022


  • Fixed accessibility labelling for images with partially transparent backgrounds by setting UIAccessibilityTraitNone to avoid addition of unnecessary OS voice over and text recognition content. Added hint text to assign the role, button, or image.

Release 7.5.0

Release date: May 10, 2022


  • Added support for multiple pages of in-app messages within a single in-app message campaign.
  • Added accessibility text support for in-app messages.
  • Added OR conditions support to in-app message triggering logic.

Release 7.4.0

Release date: February 28, 2022


  • Added support for custom text styling, padding, fonts, and line height for in-app messages. For more information, see Intro to in-app messages.

Release 7.3.0

Release date: December 9, 2021


  • Added support for multiple lines of text in the in-app message text component.
  • Added ability to set a NSURLSessionDelegate through our Swrve Config, which will be used by our networking code for calls to Swrve content and API servers.


  • Prevented eTag becoming invalidated when attempting to load Real Time User Properties from cache when they are unavailable.
  • Improved cache refreshing for Real Time User Properties to prevent out-of-date properties being used when loading campaigns for the first time.
  • The swrve.sdk_version device property is now logged with platform prefix so it is consistent with other platforms, for example, 7.3.0 will now be logged as iOS 7.3.0.
  • Fixed a bug with Conversation Surveys where the survey title was trimmed intermittently.

Release 7.2.1

Release date: November 23, 2021


  • For customers installing the SDK via Swift Package Manager, fixed an issue that caused assets such as star surveys and close icons to not properly display in a Conversation.

Release 7.2.0

Release date: October 21, 2021


  • Added a new API called userResourcesDiffWithListener, which is similar to the existing userResourcesDiff API except it now uses a new callback listener that contains more information about where the result came from and any errors encountered. We’ve deprecated the existing userResourcesDiff API and will remove it in the next major version.

Release 7.1.0

Release date: July 28, 2021


  • Added a new API called stopTracking that stops the SDK from tracking a user’s activity and sending events until you call the identify or start API. For more information, see the iOS integration guide.
  • Included personalization properties in the EmbeddedCallback and streamlined the process of applying personalization to message data. For more information, see Embedded campaigns personalization.


  • Fixed an issue where push delivery events were not sending for background notifications.
  • Fixed an issue where Swrve logs were not showing unless the device logging level was set in SwrveLogger. The default state is now WARNING.

Release 7.0.3

Release date: July 6, 2021


  • Fixed missing file and duplicate file errors when using CocoaPods use_frameworks! with a service extension that uses SwrveSDKCommon.

Release 7.0.2

Release date: June 10, 2021


  • Fixed an issue with image personalization validation that incorrectly caused an image without a fallback value to display.

Release 7.0.1

Release date: June 8, 2021


  • Fixed an issue where the QA device logs might not display on app startup if the campaigns downloaded to the device included an embedded campaign.
  • Fixed an issue where default realtime user properties were not included in the personalization properties of Message Center campaigns.

Release 7.0.0

Release date: May 31, 2021


  • Added permission requests to in-app message button actions. Use this option to initiate an app permission request (for example, push notifications, camera, or location access) as the button action.
  • Updated in-app message personalization to include realtime user properties by default.
  • Added support for in-app message image personalization.
  • Renamed the ManagedModeAutoStartLastUser configuration in SwrveConfig to AutoStartLastUser and made it available to use to delay activity tracking until a user is identified. For more information, see the iOS integration guide.
  • Moved to XCFramework for building .frameworks.
  • Added a new configurable log level that can be set at any time using [SwrveLogger setLogLevel:]. Supported log levels are: NONE, ERROR, WARNING, and VERBOSE.
  • Increased the minimum iOS compilation version to iOS 9.0.
  • Removed install button custom listener.
  • Removed the deprecated SWRVE_NO_PUSH macro.
  • Removed SWRVE_LOG_IDFA macro. Use the new public API [SwrveSDK idfa:] to set the IDFA after the user has given their permission.
  • Removed SWRVE_LOG_IDFV macro. Use the new config value config.autoCollectIDFV = true to auto-collect the IDFV.
  • Added SwrveDeeplinkDelegate to allow overriding SwrveSDK internal processing of deeplinks that use the openURL:options:completionHandler: API, which is not compatible with universal links.


  • Fixed an issue with Swift Package Manager integration with reference to incorrect umbrella header.

Release 6.8.1

Release date: February 18, 2021


  • Fixed a threading issue with QA logging that might prevent the SDK from sending logs if kicked off from a background thread.
  • Fixed an issue with in-app messages where associated campaign details might return nil when using onDismiss, onClipboard or onCustom callbacks.
  • Fixed a compilation issue found in the Xcode 12.5 beta.

Previous releases summary


Date Version Features and Fixes
December 14, 2020 6.8.0 Added the ability to use Swrve triggering for your own application UI and added support for Swift Package Manager. Fixed a threading issue that could cause a crash if queuing events while calling the Identity API.
December 1, 2020 6.7.1 Fixed an issue where push notification custom buttons might not display the first time a user was sent a notification.
October 16, 2020 6.7.0 Updated tracking of device OS and type for platform-specific delivery of in-app messages and various bug fixes.
October 7, 2020 6.6.2 Fixed an issue with in-app message button QA logging.
October 6, 2020 6.6.1 Fixed an issue where the SDK wasn’t sending campaign influenced events if an app was hard closed and restarted.
August 17, 2020 6.6.0 Upgrades to the QA user feature, with richer logs now available in the QA user logging screen and fixed deprecated warnings.
August 6, 2020 6.5.4 Various bug fixes.
July 6, 2020 6.5.3 Various bug fixes.
June 23, 2020 6.5.2 Various bug fixes.
June 8, 2020 6.5.1 Fixed an issue that caused the SDK to crash when receiving a background notification from third party push provider.
May 14, 2020 6.5.0 Mark Message Center campaigns as seen programmatically. Various bug fixes.
April 8, 2020 6.4.2 Fixed an issue with tvOS where Conversations were incorrectly triggered, resulting in an overlay appearing on screen.
March 25, 2020 6.4.1 Fixed an issue where the message delegate and button listeners did not reset when calling the Identify API.
March 10, 2020 6.4.0 Swrve now automatically tracks and logs when push notifications are delivered and displayed on each device. Various bug fixes.
February 19, 2020 6.3.1 Added support for the CocoaPods generate_multiple_pod_projects installation option.
October 3, 2019 5.3.3 Bug fixes.
October 2, 2019 6.3.0 Added configuration options for delaying the start of the SDK and setting a custom user ID for tracking purposes and added a new SwrveConfig property (prefersConversationsStatusBarHidden) for hiding the status bar in Conversations. Various bug fixes.
September 12, 2019 6.2.1 5.3.2 With Apple’s deprecation of the UIWebView API, migrated to the recommended WKWebView to prevent issues with submitting your app to the App Store.
July 31, 2019 6.2.0 Added support for Swrve GeoSDK plugin v2.3, which supports geo notification cooldown periods. Also includes support for adding geoplace opening hours via CSV upload or the Geoplace API.
July 16, 2019 5.3.1 5.X series hotfix for backward compatibility.
July 4, 2019 6.1.4 Bug fixes.
June 13, 2019 6.1.3 Bug fixes.
May 21, 2019 6.1.2 Bug fixes.
May 9, 2019 6.1.1 Bug fixes.
April 5, 2019 6.1.0 Added support for iOS 12 Provisional Authorization for push and for Swrve Geo SDK plugin v2.2.
February 8, 2019 6.0.2 Set UIWindow level priority for Conversation windows and fixed issue with background alignment of Conversations on iPhone X.
December 18, 2018 6.0.1 Improvements to Swrve Geo SDK performance and various bug fixes.
October 21, 2018 6.0.0 Added an API for handling User Identity. Removed permissions handling code, support for iOS 8 and 9, and support for deprecated Locations campaigns.
September 3, 2018 5.3.0 Added support for linking push notifications to in-app campaigns and Swrve Geo SDK 2.0. Various refactors and improvements to how Notifications are built.
April 4, 2018 5.2.2 Bug fixes.
March 13, 2018 5.2.1 Bug fixes.
March 5, 2018 5.2.0 Added support for OTT platforms. You can integrate the Swrve SDK into tvOS to do tracking, resource A/B testing and in-app messages.
January 25, 2018 5.1.1 Bug fixes.
December 12, 2017 5.1.0 Updates to Locations SDK and bug fixes.
November 16, 2017 5.0.0 Refactors and addition of a new SwrveSDK class. Updates to iOS frameworks process.
October 6, 2017 4.11.4 Bug fixes.
September 20, 2017 4.11.3 Added support for Carthage and bug fixes.
August 29, 2017 4.11.2 Bug fixes.
August 23, 2017 4.11.1 Improved thread safety in the Swrve Permissions manager and bug fixes.
August 16, 2017 4.11.0 Several push notification enhancements, including support for creating rich notifications directly in Swrve and influenced metrics reporting. Also a new API for extracting resource A/B test campaign information.
August 1, 2017 4.10.2 Added new user property to track permission of background app refresh setting and bug fixes.
July 4, 2017 4.10.1 Bug fixes.
May 24, 2017 4.10.0 Added support for using silent push notifications to send background app content updates.
April 25, 2017 4.9.2 Bug fixes.
April 11, 2017 4.9.1 Deprecated the SWRVE_NO_PUSH flag and bug fixes.
March 21, 2017 4.9.0 Updated minimum OS support to iOS 8 and bug fixes.
January 26, 2017 4.8.0 Various Conversation enhancements and fixes, including custom fonts and styling.
December 13, 2016 4.7.1 Improved the Swrve SDK support for iOS apps building with a high Data Protection entitlement.
November 24, 2016 4.7.0 Added support for using date-type user properties to target your campaign audiences and for sending your own push engagement event.
November 3, 2016 4.6.2 Bug fixes.
October 13, 2016 4.6.1 Added a feature flag to remove the Photo Camera Access API for users who don’t use photo camera access.
August 31, 2016 4.6.0 SDK now uses HTTPS by default for all endpoints.
August 18, 2016 4.5.2 Moved relevant frameworks out of Required and into Optional to prevent iOS 7 and iOS 8 compatibility issues when using Swift.
July 27, 2016 4.5.1 Bug fixes.
July 5, 2016 4.5.0 Conversations enhancements.
June 27, 2016 4.4.2 Bug fixes.
June 16, 2016 4.4.1 Bug fixes.
May 25, 2016 4.4.0 Added support for using event payload conditions to trigger in-app messages and Conversations campaigns.
May 9, 2016 4.3.1 Added dependancy to Locations SDK v1.1 on Swrve iOS SDK v4.3.1 or higher.
April 7, 2016 4.3.0 Added Star Rating survey template to Conversations.
February 11, 2016 4.2.0 Added Message Center API and ability to exclude optional iOS frameworks.
December 3, 2015 4.1.1 Bug fixes.
November 30, 2015 4.1.0 Restricted use of Swrve. namespace for custom events.
October 9, 2015 4.0.5 Bug fixes.
October 1, 2015 4.0.4 Bug fixes.
September 17, 2015 4.0.3 Increased HTTP default timeout and added support for a new UIWindow when displaying Conversations.
August 21, 2015 4.0.2 Bug fixes.
August 18, 2015 4.0.1 Added support for iOS 9 and logging device region.
July 7, 2015 4.0.0 Added support for Conversations and requesting device permissions.
April 8, 2015 3.4.0 Changed default background for in-app messages from solid black to transparent.
January 21, 2015 3.3.1 Bug fixes.
November 11, 2014 3.3.0 Added support for iOS 8 interactive push notifications and to log carrier information by default.
October 21, 2014 3.2.0 Added support for CocoaPods and random generation of UUID if no custom user ID is provided at initialization.
September 12, 2014 3.1.3 Production support for iOS 8.
August 29, 2014 3.1.2 Beta support for testing devices running iOS 8 Beta 5.
August 8, 2014 3.1.1 Beta support for iOS 8 push registration method.
July 30, 2014 3.1.0 Added support for triggering in-app messages at session start and bug fixes.
May 30, 2014 3.0.2 Bug fixes.
May 27, 2014 3.0.1 Bug fixes.
May 15, 2014 3.0.0 Real-time targeting enhancements.
April 18, 2014 2.2.1 Bug fixes.
April 1, 2014 2.2.0 Updates to iOS receipt validation process and bug fixes.
March 4, 2014 2.1.0 Improved processing of campaign, user resources and saved events.
2.0.1 Bug fixes.
2.0.0 Various updates to event handling and user properties.
1.13.0 Push notification enhancements and bug fixes.
November 12, 2013 1.12.0 Added support for extended IAP event and bug fixes.
October 18, 2013 1.11.1 Bug fixes.
October 16, 2013 1.11.0 Added support for in-app messaging per campaign dismissal rules and bug fixes.
September 18, 2013 1.10.1 Bug fixes.
September 17, 2013 1.10.0 Added support for in-app messaging QA logging.
August 20, 2013 1.9.0 Added support for in-app messaging QA users.
July 26, 2013 1.8.0 Added support for server side IAP validation.
July 2, 2013 1.7.0 Added support for app store filtering in in-app messaging.
May 8, 2013 1.6.0 Removed UDID system calls from libReceiptVerification.multi.a library.
April 15, 2013 1.5.0 Added in-app messaging.
March 19, 2013 1.4.0 Added client-side IAP validation and third-party ID tracking.
November 8, 2012 Fix bug where user_resources call returned incorrect results when called with no network connection.
November 2, 2012 Add user_resources call (in parallel to user_resources_diff).
August 24, 2012 Fixing a small timestamp bug effecting session length and playtime.
April 17, 2012 Add support for joined field to A/B Test call in iOS SDK.
December 1, 2011 Adding currency_given API support.
September 30, 2011 First public release.