Skip to content

Releases: Iterable/iterable-swift-sdk

6.5.0

31 Jan 18:58
f37b558
Compare
Choose a tag to compare

Added

  • Introduces support for embedded messaging: an eligibility–based, personalized messages sent from Iterable to your mobile and web apps, which can display them inline, using native interface components
  • To display embedded messages, you can use customizable, out-of-the-box components provided by the SDK (cards, notifications, banners), or you can build fully custom components of your own design.
  • To learn more, read Embedded Messages with Iterable's iOS SDK.

Changed

  • IterableConfig is updated with an enableEmbeddedMessaging flag that needs to be set to true to allow use of embedded messaging functionality

6.4.17

19 Dec 22:17
0016306
Compare
Choose a tag to compare

Changed

  • IterableTaskRunner’s stop function now to set running variable as false

6.5.0-beta1

17 Nov 18:20
f7f52a8
Compare
Choose a tag to compare
6.5.0-beta1 Pre-release
Pre-release
Merge pull request #697 from Iterable/evan/MOB-7313-prepare-3.5.0-bet…

6.4.16

13 Nov 22:04
Compare
Choose a tag to compare

Added

  • sendRequestWithRetries function added as part of the NetworkHelperclass
  • For an API request that results in a 500-level error response, the SDK now executes up to five retries. Before each of the final three attempts, there is a two-second delay.

Changed

  • updates sendRequest in RequestProcessorUtil to retry the API request that resulted in a 401 response upon receipt of a new JWT
  • updates NetworkHelper class logic to use sendRequestWithRetriesmethod which wraps the original networkSession.makeRequest
  • When an API request fails with a 401 because of an invalid JWT token, the SDK now immediately requests a new JWT token for the signed-in user.

6.4.15

03 Aug 17:09
84caa3d
Compare
Choose a tag to compare

Added

  • This release allows you to use projects hosted on Iterable's EU data center. If your project is hosted on Iterable's European data center (EUDC), configure the SDK to use Iterable's EU-based API endpoints:

Swift

let config = IterableConfig()
config.dataRegion = IterableDataRegion.EU
IterableAPI.initialize(apiKey: "<YOUR_API_KEY>", launchOptions: launchOptions, config: config)

Objective-C

IterableConfig *config = [[IterableConfig alloc] init];
config.dataRegion = IterableDataRegion.EU;
[IterableAPI initializeWithApiKey:@"<YOUR_API_KEY>" launchOptions:launchOptions config:config];

Fixed

  • Offline Mode is now off by default. Offline mode components will only load when the offlineMode configuration for RequestHandler is set to true.

Changed

  • Offline mode configuration now persists throughout the current app session. Changes will take effect from the next app session.

6.4.14

07 Jul 18:39
3f3b3cd
Compare
Choose a tag to compare

Added

  • Success and Failure handlers can now be passed to following functions:
    InAppManager.remove, InAppManager.setRead, IterableAPI.setEmail and IterableAPI.setUserId

6.4.13

21 Apr 18:03
fe72db1
Compare
Choose a tag to compare

Added

  • ITBNotificationServiceExtension has a new optional delegate in the scenario of wanting to receive and pass along push information (e.g. Firebase)

Changed

  • The behavior of lastPushPayload now matches that of the Android SDK in being purely in memory and will now not count the payload of a silent push

Fixed

  • The itbl_inapp.json file generated from in-app messaging has been relocated to the correct spot

6.4.12

28 Mar 00:28
ef4811d
Compare
Choose a tag to compare

Added

  • Added a new function to IterableAPI to get the currently set authentication token
  • Added a new function (onTokenRegistrationFailed) to the IterableAuthDelegate upon authentication token retrieval failure

Changed

  • Changed setEmail and setUserId to run through the login process if also sent in an authentication token (and a non-nil ID)

Fixed

  • Fixed instances where setting a new authentication token for a user failed

6.4.11

28 Feb 00:09
375db1c
Compare
Choose a tag to compare

Fixed

  • Fixed so that AuthManager clears the previous refresh timer before setting a new one (thanks, @cranberyxl!)

6.4.10

09 Jan 21:12
4720ada
Compare
Choose a tag to compare

Fixed

  • Fixed instances where config.inAppDisplayInterval would not set custom interval set via react native layer.