Skip to content

Releases: Iterable/iterable-swift-sdk

6.4.9

08 Nov 22:49
1e25b42
Compare
Choose a tag to compare

Added

Version 6.4.9 of Iterable's iOS SDK makes it possible to store in-app messages in memory, rather than in an unencrypted local file. However, an unencrypted local file is still the default option.

To store in-app messages in memory, set useInMemoryStorageForInApps to true:

Swift

let config = IterableConfig()
config.useInMemoryStorageForInApps = true
IterableAPI.initialize(apiKey: "<YOUR_API_KEY>", launchOptions: launchOptions, config: config)

Objective-C

IterableConfig *config = [[IterableConfig alloc] init];
config.useInMemoryStorageForInApps = YES;
[IterableAPI initializeWithApiKey:@"<YOUR_API_KEY>" launchOptions:launchOptions config:config];

When users upgrade to a version of your iOS app that uses this version of the SDK (or higher), and you've enabled this option, the local file used for in-app message storage (if it already exists) is deleted. However, no data is lost.

6.4.8

31 Oct 23:04
cfa8776
Compare
Choose a tag to compare

Changed

Starting with this release, as a privacy enhancement, Iterable's iOS SDK encrypts the following data when storing it at rest:

  • email — The user's email address.
  • userId — The user's ID.
  • authToken — The JWT used to authenticate the user with Iterable's API.
  • lastPushPayload — The JSON payload that came along with the last push notification received by the app.

(Note that Iterable's iOS SDK does not store in-app messages at rest—before or after this update.)

⚠️ Iterable's iOS SDK does, in fact, store in-app messages in an unencrypted local file. However, version 6.4.9 provides an option to store them in memory, instead.

When a user upgrades to a version of your app that uses this version of the SDK (or higher), the fields shown above are encrypted. No data that's already stored is lost.

For more information about the encryption described above, examine the SDK source code:

6.4.7

10 Aug 21:25
8d984cf
Compare
Choose a tag to compare

Added

  • Added setEmail and setUserId as publicly accessible functions, which will set the identity of the SDK to attribute to events. The optional second parameter will take in a JWT if you already have one at the time of this call (as opposed to through IterableAuthDelegate).

6.4.6

22 Jul 00:01
537501e
Compare
Choose a tag to compare

Fixed

  • Added Objective-C access to IterableInboxViewController and IterableInboxNavigationViewController

6.4.5

12 Jul 20:09
Compare
Choose a tag to compare

Added

  • This release makes offline events processing available to all Iterable customers who'd like to use it — just ask your customer success manager to enable it for your account. Offline events processing saves a local copy of events triggered in your app while the device is offline (up to 1000 events). When a connection is re-established and your app is in the foreground, the events will be sent to Iterable. For more information, read Offline events processing.

6.4.4

13 Jun 17:14
Compare
Choose a tag to compare

Fixed

  • Core data issues.

6.4.3

17 May 19:07
Compare
Choose a tag to compare

Added

  • Retry request on JWT token obtained.

Fixed

  • Core data multithreading issue.
  • Update email with JWT token.

6.4.2

18 Apr 09:54
Compare
Choose a tag to compare

Added

  • Added support for apps built using Mac Catalyst.

Fixed

  • Fixed a couple of problems related to Swift Package Manager and the creation of release builds and simulator artifacts.
  • Fixed a problem with the SDK’s Carthage integration.
  • Fixed a problem that prevented the SDK from properly tracking inbox sessions when a mobile inbox is displayed in popup mode.
  • In-app delete events are now correctly associated with inbox session IDs.
  • Fixed some problems in a script that generates XCFramework binaries.

6.4.1

16 Dec 07:11
Compare
Choose a tag to compare

Fixed

  • Fix archiving issue. There was an issue when archiving for projects with deployment target set to iOS 10. This release fixes the issue.

6.4.0

13 Dec 19:51
Compare
Choose a tag to compare

Fixed

  • Prevented in-app messages from executing any JavaScript code included in their
    HTML templates.

Changed

  • Removed support for iOS 9.

Added

  • Added an allowedProtocols field to the IterableConfig class.

    Use this array to declare the specific URL protocols that the SDK can expect to see
    on incoming links (and that it should therefore handle). Doing this will prevent the
    SDK from opening links that use unexpected URL protocols.

    For example, this code allows the SDK to handle http and custom links:

    Swift

    let config = IterableConfig()
    config.allowedProtocols = ["http", "custom"]
    IterableAPI.initialize(apiKey: "<YOUR_API_KEY>", launchOptions: launchOptions, config: config)

    Objective-C

    IterableConfig *config = [[IterableConfig alloc] init];
    config allowedProtocols = @["http", "custom"];
    [IterableAPI initializeWithApiKey:@"<YOUR_API_KEY>" launchOptions:launchOptions config:config]

    Iterable's iOS SDK handles https, action, itbl, and iterable links,
    regardless of the contents of this array. However, you must explicitly declare any
    other types of URL protocols you'd like the SDK to handle (otherwise, the SDK won't
    open them in the web browser or as deep links).