Last modified February 8, 2019 by Gordon Glauser

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. To view the feature support matrix, see SDK feature support matrix.

Release 6.0.2

Release date: February 8, 2019


  • Set UIWindow level priority for Conversation windows.


  • Fixed an issue with background image alignment for Conversations on iPhone X.

Release 6.0.1

Release date: December 18, 2018


  • Added some internal APIs to the Swrve Geo SDK plugin to improve performance.


  • Fixed versioning issue with internal event API.
  • Fixed an issue where the push permission was being requested again after having received a token.
  • Fixed an issue where an authenticated push was not showing when no media URL was present in the push payload.
  • Fixed an issue where the setEventQueuedCallback was blocking in-app messages from displaying.

Release 6.0

Release date: October 31, 2018


  • Added an API for handling User Identity. For more information, see the iOS integration guide. To be part of our Early Access program, contact your CSM at
  • Added ability for the SDK to send a targeted silent notification that confirms a user’s identity before displaying a push notification.
  • Added nullable annotations to public methods for better Swift compatibility.
  • Removed permissions code (camera, location, contacts, photo library) from the SDK. If you want to handle these permissions in the SDK, you must now implement the SwrvePermissionsDelegate. For more information, see the iOS integration guide.
  • Removed support for iOS 8 and 9. For devices running unsupported OS versions of the SDK, the SDK will start with a dummy implementation.
  • Removed support for Locations campaigns, which have now been replaced by our new geo-triggered campaigns. For more information, see Intro to geo-triggered campaigns.
  • Removed the launch options parameter from Swrve init methods.
  • Removed pre-iOS 10 push notification processing methods.
  • Removed Swrve user ID from the Swrve config.


  • Fixed an issue where a device token was not sent when a user enabled push notifications from their device settings.

Release 5.3

Release date: September 3, 2018


  • Added support for displaying a Swrve in-app message or Conversation campaign directly after a customer engages with a push notification. For more information, see Linking push notifications to in-app campaigns.
  • Added support for the release of Swrve Geo SDK add-on v2.0. This includes a new workflow for setting up your geo-triggered campaigns. For more information, see Creating geo-triggered campaigns.
  • Updated and revamped the Swrve sample projects in GitHub, including a new MinimalIntegration project.
  • Various refactors and improvements to how Notifications are built.


  • Fixed an issue that caused an app to crash if the adSource value was null when sending an internal event.

Release 5.2.2

Release date: April 4, 2018


  • Fixed compilation issues caused by Xcode 9.3 and Swift 4.1.
  • Fixed a bug where the Resource Diff file was pointing to the wrong resource file.

Release 5.2.1

Release date: March 13, 2018


  • Fixed an issue affecting devices running iOS 8 where the SDK would cause a hard crash on displaying an in-app message.

Release 5.2

Release date: March 5, 2018


  • Added support for OTT platforms. You can now integrate the Swrve SDK into tvOS to do tracking, resource A/B testing and in-app messages. Conversations and push notifications are not currently supported. For more information, see Swrve OTT Integrations.
  • Updated OCMock libraries.

Release 5.1.1

Release date: January 25, 2018


  • Fixed an issue in Conversations where margins were cutting of some of the text when using a custom font.

Release 5.1

Release date: December 12, 2017


  • Includes updates required for Locations SDK 2.0. For more information, see the Locations SDK Release Notes.


  • Fixed a bug in version 4.11.4 where the optional functions in SwrvePushResponseDelegate were causing crashes if not both implemented.

Release 5.0

Release date: November 16, 2017


  • All interaction with the Swrve SDK, including initialization, is via a new class called SwrveSDK. For more information, see the iOS SDK 5.0 Upgrade Guide.
  • Includes refactors to safely persist data per User ID.
  • With the exception of push notifications, we have changed the process to exclude optional iOS frameworks from your app. Now, rather than adding a Preprocessor Macro to exclude the framework, you must add them to include the framework in your Swrve integration. For more information, see How Do I Exclude Optional iOS Frameworks?
  • Improved Conversations compatibility for the iPhone X.


  • It is no longer possible to use internal Swrve.* events to trigger in-app messages or conversations.

Release 4.11.4

Release date: October 6, 2017


  • Fixed an issue affecting devices running iOS 10 or later where the UNNotificationCenter delegate was not set when the app starts.
  • Fixed an issue affecting devices running iOS 10 or later where a push notification permission status of “unknown” was reported as “denied”.
  • Fixed a crash related to push permission caching.

Release 4.11.3

Release date: September 20, 2017



  • Fixed an issue affecting devices running iOS 9 or earlier where push notification engagement events were not processed correctly if the app had remote background notifications enabled.
  • Fixed an issue to reset Conversation multiple choice inputs after they are displayed.
  • Fixed a compilation issue with Xcode 9 header.
  • Fixed a documentation issue that was causing compilation failures with CocoaPods.

Release 4.11.2

Release date: August 29, 2017


  • Fixed an issue introduced in 4.11.1 where Conversations with permission request buttons were not displayed.

Release 4.11.1

Release date: August 23, 2017


  • Improved thread safety in the Swrve Permissions manager, specifically around writing to and reading from the cache.


  • Fixed an issue where the button text in a QA rich push notification wasn’t reflecting edits made in the campaign workflow.

Release 4.11

Release date: August 16, 2017


  • Added support for rich notifications that you can create and send directly in the Swrve dashboard. For more information, see About Rich Push Notifications.
  • Expanded influenced logic to all push notification metrics reporting using an iOS service extension (was previously only included in silent notifications). For more information, see Managing Push Notifications.
  • The SDK now includes a new API that enables you to extract resource A/B test campaign information. For more information, see How Do I Get Resource A/B Test Information from the Swrve SDK?
  • Made the following improvements to overall SDK performance:
    • Fixed potential memory leaks associated with Conversations font styles.
    • Ensured all UIApplication calls are called from main thread as recommended by Apple.
    • Fixed an issue where external deeplinks were slow to open.
    • The SDK now uses the iOS 10 UserNotifications.framework for registration and push notification responses.


  • Fixed an issue where height and width parameters for Conversations got mixed up.
  • Fixed an issue where joined A/B test parameters were not populating due to an invalid timestamp being sent to the backend.
  • Fixed an issue for Conversations targeted at users who have not enabled push permission.
  • Fixed a threading issue discovered when writing the event buffer to JSON.

Release 4.10.2

Release date: August 1, 2017


  • Added new user property Swrve.permission.ios.push_bg_refresh to track permission of background app refresh setting.


  • Fixed a bug around existing user property Swrve.permission.ios.push_notifications that broke with the iOS SDK 4.10 silent push notification release. On iOS 10+, this value is now accurately taken from UNNotificationsettings. However, this value cannot be accurately read on iOS 8 or 9, so UIUsernotificationsettings is used instead.

Release 4.10.1

Release date: July 4, 2017


  • Fixed an issue with userUpdateDate on iOS 8.4 where the locale caused an incorrect format if locale en_US_POSIX was not set.

Release 4.10

Release date: May 24, 2017


  • Added support for using silent push notifications to send background app content updates.

Release 4.9.2

Release date: April 25, 2017


  • Fixed an issue where the SDK was sending session information when started from a background mode (locations, silent push).

Release 4.9.1

Release date: April 11, 2017


  • Fixed an issue in the SwrveConfig where push notification permission status showed as DENIED even though a push token was successfully received and registered.
  • Deprecated the SWRVE_NO_PUSH flag and fixed an issue where app lifecycle methods were ignored if the SWRVE_NO_PUSH build flag was used to exclude push privileges.

Release 4.9

Release date: March 21, 2017


  • The SDK now supports a minimum OS version of iOS 8. However, it works on apps running iOS 6 or 7 as a dummy implementation only.
  • Improvements to thread safety.


  • Fixed an issue with the notification permission status check.
  • Conversations:
    • Fixed an issue with star rating layouts.
    • Fixed an issue to ensure Conversations with unknown content are not displayed.
    • Fixed an issue with videos not playing properly.
    • Fixed an issue with images not displaying properly when switching device orientation from portrait to landscape.

Release 4.8

Release date: January 26, 2017


  • Conversations now include support for uploading custom or brand-specific fonts and using advanced text styling and spacing options.
  • Added CoreText framework dependency.


  • Fixed alignment of Conversations star rating icons.

Previous releases summary

  • December 13, 2016 – v4.7.1 – Improved the Swrve SDK support for iOS apps building with a high Data Protection entitlement.
  • November 24, 2016 – v4.7 – Added support for using date-type user properties to target your campaign audiences and for sending your own push engagement event.
  • November 3, 2016 – v4.6.2 – Bug fixes.
  • October 13, 2016 – v4.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 – v4.6 – 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 – v4.5.1 – Bug fixes.
  • July 5, 2016 – v4.5 – Conversations enhancements.
  • June 27, 2016 – v4.4.2 – Bug fixes.
  • June 16, 2016 – v4.4.1 – Bug fixes.
  • May 25, 2016 – v4.4 – Added support for using event payload conditions to trigger in-app messages and Conversations campaigns.
  • May 9, 2016 – v4.3.1 –  Added dependancy to Locations SDK v1.1 on Swrve iOS SDK v4.3.1 or higher.
  • April 7, 2016 – v4.3 – Added Star Rating survey template to Conversations.
  • February 11, 2016 – v.4.2 – Added Message Center API and ability to exclude optional iOS frameworks.
  • December 3, 2015 – v4.1.1 – Bug fixes.
  • November 30, 2015 – v4.1 – Restricted use of Swrve. namespace for custom events.
  • October 9, 2015 – v4.0.5 – Bug fixes.
  • October 1, 2015 – v4.0.4 – Bug fixes.
  • September 17, 2015 – v4.0.3 – Increased HTTP default timeout and added support for a new UIWindow when displaying Conversations.
  • August 21, 2015 – v4.0.2 – Bug fixes.
  • August 18, 2015 – v4.0.1 – Added support for iOS 9 and logging device region.
  • July 7, 2015 – v4.0 – Added support for Conversations and requesting device permissions.
  • April 8, 2015 – v3.4 – Changed default background for in-app messages from solid black to transparent.
  • January 21, 2015 – v3.3.1 – Bug fixes.
  • November 11, 2014 – v3.3 – Added support for iOS 8 interactive push notifications and to log carrier information by default.
  • October 21, 2014 – v3.2 – Added support for CocoaPods and random generation of UUID if no custom user ID is provided at initialization.
  • September 12, 2014 – v3.1.3 – Production support for iOS 8.
  • August 29, 2014 – v3.1.2 Beta – Beta support for testing devices running iOS 8 Beta 5.
  • August 8, 2014 – v3.1.1 Beta – Beta support for iOS 8 push registration method.
  • July 30, 2014 – v3.1 – Added support for triggering in-app messages at session start and bug fixes.
  • May 30, 2014 – v3.0.2 – Bug fixes.
  • May 27, 2014 – v3.0.1 – Bug fixes.
  • May 15, 2014 – v3.0 – Real-time targeting enhancements.
  • April 18, 2014 – v2.2.1 – Bug fixes.
  • April 1, 2014 – v2.2 – Updates to iOS receipt validation process and bug fixes.
  • March 4, 2014 – v2.1 – Improved processing of campaign, user resources and saved events.
  • v2.0.1 – Bug fixes.
  • v2.0 – Various updates to event handling and user properties.
  • v1.13 – Push notification enhancements and bug fixes.
  • November 12, 2013 – v1.12 – Added support for extended IAP event and bug fixes.
  • October 18, 2013 – v1.11.1 – Bug fixes.
  • October 16, 2013 – v1.11 – Added support for in-app messaging per campaign dismissal rules and bug fixes.
  • September 18, 2013 – v1.10.1 – Bug fixes.
  • September 17, 2013 – v1.10 – Added support for in-app messaging QA logging.
  • August 20, 2013 – v1.9 – Added support for in-app messaging QA users.
  • July 26, 2013 – v 1.8 – Added support for server side IAP validation.
  • July 2nd, 2013 – v 1.7 – Added support for app store filtering in in-app messaging.
  • May 8, 2013 – v1.6 – Removed UDID system calls from libReceiptVerification.multi.a library. You must use this library if submitting to Apple after May 1, 2013. This library is compatible with the v1.4 SDK.
  • April 15, 2013 – v1.5 – Major update – in-app messaging added.
  • March 19, 2013 – v1.4 – 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.