Releases: Iterable/swift-sdk
6.4.1
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
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 theIterableConfig
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
andcustom
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
, anditerable
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).
6.3.4
Fixed
- When syncing in-app queues, new messages that already have
read
set totrue
will not spawn anInAppDelivery
event - Fixed the alignment of the no messages title on the inbox empty state
Changed
- Wrapped various app extension unsafe classes for Xcode 13 compatibility
Added
- Added ability to not show the unread count badge
6.3.3
6.3.3
Changed
- CocoaPods targets adding this SDK do not require
use_frameworks!
anymore
Fixed
- Inline comments will not show anymore warnings in Objective-C projects
6.3.2
Added
updateCart
has been added to the SDKdataFields
have been added as a field toCommerceItem
Removed
- The following calls that were previously marked as deprecated have been removed:
IterableAPI.track(inAppOpen messageId: String)
IterableAPI.track(inAppClick messageId: String, buttonURL: String)
IterableAPI.inAppConsume(messageId: String)
IterableAPI.getAndTrack(deeplink webpageURL: URL, callbackBlock: @escaping ITEActionBlock)
IterableAPI.showSystemNotification(withTitle title: String, body: String, button: String?, callbackBlock: ITEActionBlock?)
IterableAPI.showSystemNotification(withTitle title: String, body: String, buttonLeft: String?, buttonRight: String?, callbackBlock: ITEActionBlock?)
6.3.1
6.3.0
Added
-
Offline events processing - This feature 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.This feature is off by default, and we're rolling it out on a customer-by-customer
basis. After you start using this version of the SDK, we'll send you a message
before we enable the feature on your account (unfortunately, we can't give you an
exact timeline for when this will happen). If you have any questions, talk to your
Iterable customer success manager.
6.3.0-beta4
6.3.0-beta4
Changed
- This beta is rebuilt from version 6.2.22
Added
- A health monitor now checks to make sure offline events don't get written when there are already a maximum amount of events in the database, or if an error is returned from the database
6.2.22
Added
- In-app message prioritization - Ordering the display of in-app messages based on a priority you select in Iterable when creating in-app campaigns
Fixed
- The authentication flow, with JWT, now does the proper order of operations to avoid a false negative when setting the user (with
setEmail
orsetUser
) - The empty inbox message will now properly wraparound
- An inbox message that has its read state changed will now only animate the unread dot
Removed
- Removed device fingerprinting as a cautionary measure for iOS 14.5 policy updates - note: we still keep the system generated UUID
- Removed deferred deep linking feature
6.3.0-beta3
Added
- Support for syncing in-app message read state across multiple devices:
- When the SDK fetches in-app messages from Iterable, it examines each
message'sread
field to determine if it has already been read. - The SDK's default implementation no longer automatically displays in-app
messages that have already been seen on another device (even if those
messages were not configured to go directly to the inbox). - When you view a message, the SDK calls
POST /api/events/trackInAppOpen
to create aninAppOpen
event on the user's Iterable profile. Previous
versions of the SDK made this same API call, but the call now also causes
Iterable to set the message'sread
field totrue
. - Previous versions of the SDK will correctly sync a message's read / unread
indicator for the default implementation of a mobile inbox. However, these
older SDK versions will not automatically suppress messages that have
already been seen on another device (as this version of the SDK will).
- When the SDK fetches in-app messages from Iterable, it examines each
- Support for the display of a custom message (title and body) in an empty
mobile inbox. For more details, see Customizing Mobile Inbox on iOS