Last modified October 31, 2018 by Gordon Glauser

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

Version 6.0

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

Removed Summary
+(void) processNotificationResponseWithIdentifier:(NSString *)identifier andUserInfo:(NSDictionary *)userInfo; No longer applicable with minimum support set at iOS 10.
+(void)pushNotificationReceived:(NSDictionary*)userInfo; No longer applicable with minimum support set at iOS 10.
+(void) sharedInstanceWithAppID:(int)swrveAppID apiKey:(NSString*)swrveAPIKey launchOptions:(NSDictionary*)launchOptions; Removed launch options from the initilization, no longer required.
+(void) sharedInstanceWithAppID:(int)swrveAppID apiKey:(NSString*)swrveAPIKey config:(SwrveConfig*)swrveConfig launchOptions:(NSDictionary*)launchOptions; Removed launch options from the initilization, no longer required.
userId property from SwrveConfig To set a custom user ID, use our new Identify API call. For more information, see the iOS integration guide.
SWRVE_ADDRESS_BOOK
SWRVE_LOCATION
SWRVE_PHOTO_LIBRARY
SWRVE_PHOTO_CAMERA
Removed the iOS permissions-related optional framework build flags. Enable permissions by implementing the SwrvePermissionsDelegate delegate. For more information, see the iOS integration guide.
pushCategories property from SwrveConfig.h Removed support for non-iOS 10+ push categories. Use the notificationCategories property instead.
Removed configuration of HTTP from SwrveConfig The SDK now only supports HTTPS.

Authenticated push

If you want to use our new user identity authenticated push feature, ensure you configure your app to use silent notifications. For information on how to configure silent notifications, see the iOS integration guide.


Version 5.3

If you are upgrading from a version prior to 5.0, see the iOS SDK 5.0 Upgrade Guide. Otherwise, there are no code changes required to upgrade to Swrve iOS SDK v5.3.


Version 5.2.2

If you are upgrading from a version prior to 5.0, see the iOS SDK 5.0 Upgrade Guide. Otherwise, there are no code changes required to upgrade to Swrve iOS SDK v5.2.2.


Version 5.2.1

If you are upgrading from a version prior to 5.0, see the iOS SDK 5.0 Upgrade Guide. Otherwise, there are no code changes required to upgrade to Swrve iOS SDK v5.2.1.


Version 5.2

This section provides information for upgrading to upgrade to Swrve iOS SDK v5.2. If you are upgrading from a version prior to 5.0, see the iOS SDK 5.0 Upgrade Guide.

OTT Platform Support

Swrve iOS SDK 5.2 includes support for tvOS. If you install the SDK using CocoaPods, there are no extra steps. If you use Carthage or manually install the SDK, refer to the following.

  • Carthage – Ensure you’re running version 28 of Carthage or above and specify the platform as follows: Carthage update --platform tvOS.
  • Manual installation – If you are compiling your app to run on both iOS and tvOS, ensure you add the SwrveConversation-tvOS.storyboard resource to your app’s target membership in Xcode. Otherwise, exclude it to run on only iOS.

Version 5.1.1

If you are upgrading from a version prior to 5.0, see the iOS SDK 5.0 Upgrade Guide. Otherwise, there are no code changes required to upgrade to Swrve iOS SDK v5.1.1.


Version 5.1

If you are upgrading from a version prior to 5.0, see the iOS SDK 5.0 Upgrade Guide. Otherwise, there are no code changes required to upgrade to Swrve iOS SDK v5.1.


Version 5.0

This section provides information for upgrading to upgrade to Swrve iOS SDK v5.0.

New SwrveSDK Class and Internal Refactors

All interaction with the Swrve SDK is now done through a new class called SwrveSDK and we have also completed other refactoring to ensure internal consistency. For information on upgrading to version 5.0, see the iOS SDK 5.0 Upgrade Guide.

Optional iOS Frameworks

We have changed the process for excluding optional iOS frameworks in your app code. With the exception of push notifications, they are now excluded by default, and you must add the related Preprocessor Macros if you want to include the framework. For more information, see How Do I Exclude Optional iOS Frameworks?


Version 4.11.4

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.11.4.

Rich Push Notification Buttons

Add a call to the Swrve SDK to handle button click actions and reporting for devices running iOS 9 or earlier:


Version 4.11.3

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.11.3.

Push Engagement Events and Remote Notification Handling

If you have the application:didReceiveRemoteNotification:fetchCompletionHandler: method in your app, update it to the following snippet and remove any calls to the now deprecated silentPushReceived method:

Rich Push Notifications

If you’re upgrading from an SDK version prior to v4.11, you must add a notification service extension to your app. For more information, see the Advanced Push Notifications section in the iOS Integration Guide.


Version 4.11.2

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.11.2.

Rich Push Notifications

If you’re upgrading from an SDK version prior to v4.11, you must add a notification service extension to your app. For more information, see the Advanced Push Notifications section in the iOS Integration Guide.


Version 4.11.1

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.11.1.

Rich Push Notifications

If you’re upgrading from an SDK version prior to v4.11, you must add a notification service extension to your app. For more information, see the Advanced Push Notifications section in the iOS Integration Guide.


Version 4.11

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.11.

Rich Push Notifications

To use rich push notifications in iOS, you must add a notification service extension to your app. For more information, see the Advanced Push Notifications section in the iOS Integration Guide.


Version 4.10.2

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.10.2.

UserNotifications Frameworks

If you’re not upgrading via CocoaPods, ensure the following frameworks are now included as optional in your Build Phases:

  • UserNotificationsUI.framework
  • UserNotifications.framework

Version 4.10.1

No code changes are required to upgrade to Swrve iOS SDK v4.10.1.


Version 4.10

This section provides information for upgrading to upgrade to Swrve iOS SDK v4.10.

Silent Push Notifications

To enable silent push notifications, complete the steps outlined under Configuring Silent Notifications in the iOS Integration Guide.


Version 4.9.2

No code changes are required to upgrade to Swrve iOS SDK v4.9.2.


Version 4.9.1

No code changes are required to upgrade to Swrve iOS SDK v4.9.1.


Version 4.9

No code changes are required to upgrade to Swrve iOS SDK v4.9.


Version 4.8

No code changes are required to upgrade to Swrve iOS SDK v4.8.


Previous Versions

If you are upgrading from a version older than 4.8, please refer to the iOS SDK 5.0 Upgrade Guide and iOS Integration Guide.