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.
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 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 date: October 28, 2022
- Realtime user properties are now updated before displaying in-app campaigns from push notifications.
Release date: September 20, 2022
- Added CONTAINS conditions support to in-app message triggering logic.
Release date: September 5, 2022
- Added a new object called
SwrveMessageCenterDetailsto 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
downloadDatethat provides the download date of a message center campaign.
- Fixed public access reference for file
UINavigationController+KeyboardResponderFix.hon the tvOS framework.
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.
SwrveDismissButtonPressedCallbackAPIs now contain an extra string argument for the campaign name.
Removed the deprecated
Release date: June 1, 2022
- Fixed a class import issue in
SwrveImagethat causes a build failure.
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 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 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 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 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 date: October 21, 2021
- Added a new API called
userResourcesDiffWithListener, which is similar to the existing
userResourcesDiffAPI 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
userResourcesDiffAPI and will remove it in the next major version.
Release date: July 28, 2021
- Added a new API called
stopTrackingthat stops the SDK from tracking a user’s activity and sending events until you call the
startAPI. For more information, see the iOS integration guide.
- Included personalization properties in the
EmbeddedCallbackand 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 date: July 6, 2021
- Fixed missing file and duplicate file errors when using CocoaPods
use_frameworks!with a service extension that uses SwrveSDKCommon.
Release date: June 10, 2021
- Fixed an issue with image personalization validation that incorrectly caused an image without a fallback value to display.
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 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
ManagedModeAutoStartLastUserconfiguration in SwrveConfig to
AutoStartLastUserand 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:
- Increased the minimum iOS compilation version to iOS 9.0.
- Removed install button custom listener.
- Removed the deprecated
SWRVE_LOG_IDFAmacro. Use the new public API
[SwrveSDK idfa:]to set the IDFA after the user has given their permission.
SWRVE_LOG_IDFVmacro. Use the new config value
config.autoCollectIDFV = trueto auto-collect the IDFV.
SwrveDeeplinkDelegateto 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 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.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.|