Releases: Iterable/iterable-swift-sdk
6.4.12
Added
- Added a new function to
IterableAPI
to get the currently set authentication token - Added a new function (
onTokenRegistrationFailed
) to theIterableAuthDelegate
upon authentication token retrieval failure
Changed
- Changed
setEmail
andsetUserId
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
Fixed
- Fixed so that
AuthManager
clears the previous refresh timer before setting a new one (thanks, @cranberyxl!)
6.4.10
Fixed
- Fixed instances where
config.inAppDisplayInterval
would not set custom interval set via react native layer.
6.4.9
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
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
Added
- Added
setEmail
andsetUserId
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 throughIterableAuthDelegate
).
6.4.6
6.4.5
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
Fixed
- Core data issues.
6.4.3
Added
- Retry request on JWT token obtained.
Fixed
- Core data multithreading issue.
- Update email with JWT token.