Swiftpack.co - Package - Iterable/swift-sdk

Iterable logo

License Build Status codecov pod Carthage compatible

Iterable's iOS SDK

Iterable is a growth marketing platform that helps you to create better experiences for—and deeper relationships with—your customers. Use it to send customized email, SMS, push notification, in-app message, web push notification campaigns to your customers.

This SDK helps you integrate your iOS apps with Iterable. It supports iOS 9.0+.

Installation

For installation instructions, read Iterable's iOS SDK.

Features

To learn more about various SDK features, read:

Sample projects

For sample code, take a look at the following projects:

Release notes, support and troubleshooting

Release notes:

Support policies:

Troubleshooting:

Please contact your customer success manager with any questions.

License

This SDK is released under the MIT License. See LICENSE for more information.

Want to contribute?

This library is open source, and we will look at issue reports and pull requests. See CONTRIBUTING for more information.

Github

link
Stars: 52

Dependencies

Used By

Total: 0

Releases

- 2020-10-20 18:32:35

6.2.13

Fixed

  • Make IterablePushNotificationMetadata struct public.
  • Optimize auth token refresh.
  • Use systemBackground color for iOS 14.

6.2.12 - 2020-10-13 20:03:24

6.2.12

Added

  • Added authentication support

- 2020-09-30 20:50:30

6.2.12-beta1

Added

  • Added authentication support

6.2.11 - 2020-09-23 06:07:35

Added

  • Xcode 12 and iOS 14 support.

Fixed

  • Fixed minor warnings.

6.2.10 - 2020-09-02 21:35:46

Added

  • An option to pause automatic in-app displaying has been added. To pause, set IterableAPI.inAppManager.isAutoDisplayPaused to true (default: false).

- 2020-08-21 07:07:15

Fixed

  • In rare instances regiserDeviceToken API can cause crash. This should fix it. If you are not experiencing any issues you can skip this release.

- 2020-07-29 18:50:46

Fixed

  • Revert to dismissing in-app with animation.

- 2020-07-21 19:09:35

Fixed

  • Allow authentication tokens to be updated with the same email or user IDs

- 2020-07-16 21:29:41

6.2.9-beta

Added

  • Added a way to store an authentication token for verification by means of setEmail, setUserId, and updateEmail

Changed

  • Changed the dismiss animated parameter to false for in-apps

- 2020-05-27 16:42:10

6.2.8

Added

  • In-app messages now get "pre-loaded" with a timer (or until the in-app loads) to mitigate seeing the loading of the message

Fixed

  • The JSON payload is now checked to be a valid JSON object before serialization
  • Some classes that were intended for internal framework usage only have been assigned proper permission levels (thanks, made2k!)
  • The root view controller is now correctly found on projects that are newly created in iOS 13
  • nil is properly returned when deep linking encounters an error

- 2020-05-19 19:24:18

6.2.7

Added

  • Added internal deviceAttributes field for compatibility

- 2020-05-13 19:58:09

6.2.6

Notes

  • This SDK release is based off of 6.2.4, as 6.2.5 had some framework specific code that we don't believe has any user impact, but out of caution, is omitted from this release, and has the noted fixes below.

Fixed

  • Action buttons now show properly when a mediaURL isn't specified
  • The trackEvent event is now named accordingly
  • Fixed the campaignId data type within our SDK (thanks, nkotula!)

- 2020-05-08 01:16:29

6.2.5

Fixed

  • Fixed the campaignId data type within our SDK (thanks, nkotula!)

- 2020-04-20 19:38:38

Fixed

  • Properly attribute the source of in app closes

6.2.3 - 2020-04-15 07:04:03

Added

  • IterableInAppManagerProtocol has been given getMessage(withId id: String) (Objective-C: @objc(getMessageWithId:))

Fixed

  • For Objective-C apps, IterableLogDelegate.log has had a typo fixed; the new signature is @objc(log:message:)
  • For Objective-C apps, IterableAPI.updateSubscriptions has had a typo fixed; the new signature is @objc(updateSubscriptions:unsubscribedChannelIds:unsubscribedMessageTypeIds:subscribedMessageTypeIds:campaignId:templateId:)

- 2020-03-03 19:38:09

Fixed

  • Moved podspec resources to resource_bundles to avoid name collisions for static libraries (thanks ileitch!)
  • Give LogLevel an Objective-C specific name (IterableLogLevel) (thanks osawhoop!)

- 2020-02-28 19:14:17

Fixed

  • Made class extensions internal rather than public to avoid collisions (thanks, RolandasRazma!)

6.2.0 - 2020-02-25 19:47:27

Added

  • Moved Mobile Inbox support to GA (no longer in beta), and:
    • Added support for various ways to customize the default interface for a mobile inbox
    • Added a sample project that demonstrates how to customize the default interface for a mobile inbox
    • Added tracking for inbox sessions (when the inbox is visible in the app) and inbox message impressions (when a individual message's item is visible in the mobile inbox message list)
  • Added support for Swift Package Manager

Deprecated

Please see each method's source code documentation for details.

  • IterableAPI.track(inAppOpen messageId: String)
  • IterableAPI.track(inAppClick messageId: String, buttonURL: String)

- 2020-01-31 19:07:59

Fixed

  • Fixed in-apps where display types that were not fullScreen were not displaying properly or becoming unresponsive.

- 2020-01-24 18:09:00

6.1.4

Fixed

  • Fixed the function signature of the updateSubscriptions call (thanks, Conor!)
  • Fixed NoneLogDelegate not being usable for IterableConfig.logDelegate (thanks, katebertelsen!)

- 2019-12-03 23:57:59

  • Converted a log message variable to be interpreted as an UTF8 String (thanks, @chunkyguy !)
  • Enabled BUILD_LIBRARY_FOR_DISTRIBUTION for better compatibility across development environments

6.2.0-beta1 - 2019-10-15 19:52:19

IMPORTANT

  • This feature must be enabled for your project before you can use it. Please contact your CSM if you want to use this beta version.
  • Beta versions of this SDK are subject to Iterable's Beta Mobile SDK Terms of Service.

Installation

Beta installation instructions

Added

Removed

  • IterableAPI.spawnInAppNotification(_:)
    • In-app messages are automatically shown by SDK now. Please check our migration guide.
  • IterableAPI.get(inAppMessages:)
    • Use IterableAPI.inAppManager.getMessages() instead

Changed

  • There is no need to set IterableConfig.pushIntegrationName for new projects.

Deprecated

Please see method documentation for details about how to replace them.

  • IterableAPI.inAppConsume(messageId:)
  • IterableAPI.showSystemNotification(..)
  • IterableAPI.getAndTrack(deeplink:callbackBlock:)

- 2019-09-24 19:29:59

Fixed

  • Fixed a bug in token to hex conversion code.

- 2019-06-10 18:21:04

Changed

  • In this version we have changed the way we use in-app notifications. In-app messages are now being sent asynchronously and your code can control the order and time in which an in-app notification will be shown. There is no need to poll for new in-app messages. Please refer to the in-app messages section of README file for how to use in-app messages. If you are already using in-app messages, please refer to migration guide section of README file.

- 2019-06-05 23:06:30

Fixed

  • updateEmail function now works with userId

- 2019-05-29 17:36:51

Fixed

  • set preferUserId to true when using updateUser using userId

- 2019-05-13 17:19:44

IMPORTANT

  • Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
  • This version of the SDK requires Xcode 10.2.

Terms of Service

Changed

  • Url scheme iterable:// is reserved for Iterable internal actions. In an earlier beta version, the reserved url scheme was itbl:// but we are not using that now. itbl:// scheme is only there for backward compatibility and should not be used.
  • Url scheme action:// is for user custom actions.

More Information

- 2019-05-07 19:52:07

IMPORTANT

  • Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
  • This version of the SDK requires Xcode 10.2.

Terms of Service

Changed

  • Increase number of in-app messages fetched from the server to 100.

More Information

6.1.0-beta2 - 2019-04-17 00:31:44

IMPORTANT

  • Please talk to your Iterable Customer Success Manager if you want to try the beta version of the SDK, as we'll need to enable certain settings on the server for it to work as expected.
  • This version of the SDK requires Xcode 10.2.

Terms of Service

Added

  • Support for action://your-custom-action-name URL scheme for calling custom actions
    • For example, to have IterableCustomActionDelegate call a custom buyCoffee action when a user taps on an in-app message's Buy button.
  • Support for reserved itbl://sdk-custom-action scheme for SDK internal actions.
    • URL scheme itbl://sdk-custom-action is reserved for internal SDK actions. Do not use it for custom actions.
    • For example, future versions of the SDK may allow buttons to call href itbl://delete to delete an in-app message.

Fixed

  • Carthage support with Xcode 10.2
  • XCode 10.2 Warnings
  • URL Query parameters encoding bug

More Information

6.0.8 - 2019-04-03 00:33:16