Skip to content
This repository was archived by the owner on Jul 22, 2020. It is now read-only.

Commit 472f9c0

Browse files
authored
[ITBL-5302] Update documentation with recent SDK changes (#60)
* Update README and CHANGELOG with documentation for recent SDK changes, provide migration notes * Fix a typo
1 parent 8dbf1db commit 472f9c0

File tree

4 files changed

+135
-48
lines changed

4 files changed

+135
-48
lines changed

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,36 @@ This project adheres to [Semantic Versioning](http://semver.org/).
1515
#### Fixed
1616
- nothing yet
1717

18+
## [5.0.0](https://github.com/Iterable/iterable-ios-sdk/releases/tag/5.0.0)
19+
#### Added
20+
- Added support for push action buttons
21+
- Added a new SDK initialization method that takes `IterableConfig` object with configuration options
22+
- User ID/email is now decoupled from SDK initialization. It can be changed by calling `setEmail:` or `setUserId:` on the `IterableAPI` instance.
23+
- Added automatic detection of APNS/APNS_SANDBOX, as long as both `pushIntegrationName` and `sandboxPushIntegrationName` are set in `IterableConfig`
24+
- The SDK now stores attribution data within 24 hours of opening the app from a push notififcation or from a Universal Link in an email
25+
- Added two delegates: `IterableUrlDelegate` and `IterableCustomActionDelegate` that can be used to customize URL and custom action handling for push notifications
26+
27+
#### Changed
28+
- Old initialization methods (`sharedInstanceWithApiKey:`) are now deprecated
29+
- Old `registerToken` methods are now deprecated
30+
31+
#### Fixed
32+
- Added safety checks for cases when email or userId is nil
33+
34+
#### Migration Notes
35+
1. Replace `[IterableAPI sharedInstanceWithApiKey:...]` with the following:
36+
```objective-c
37+
IterableConfig *config = [[IterableConfig alloc] init];
38+
config.pushIntegrationName = "myPushIntegration_Prod";
39+
config.sandboxPushIntegrationName = "myPushIntegration_Dev";
40+
config.urlDelegate = self; // If you want to handle URLs coming from push notifications
41+
[IterableAPI initializeWithApiKey:@"YOUR API KEY" launchOptions:launchOptions config:config];
42+
```
43+
2. Since both pushIntegrationName and sandboxPushIntegrationName are now set in the configuration, call `[[IterableAPI sharedInstance] registerToken:token]` when registering the token, and it will choose the correct integration name automatically.
44+
3. `[IterableAPI clearSharedInstance]` will do nothing if you initialize the SDK with the new initialization method. If you were previously calling `[IterableAPI clearSharedInstance]` to reinitialize the API with a new user, just call `setEmail:` or `setUserId:` instead.
45+
4. User email/userId is now persisted, so you'll only need to call `setEmail:` or `setUserId:` when the user logs in or logs out.
46+
5. The SDK now tracks push opens automatically, as long as calls to `userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:` are passed to it. See README for instructions. Once it is set up, remove all direct calls to `trackPushOpen:`.
47+
1848
## [4.4.7](https://github.com/Iterable/iterable-ios-sdk/releases/tag/4.4.7)
1949
#### Fixed
2050
- Fixed an unhandled exception in response handling on network errors

IterableAppExtensions.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
1616
#
1717

1818
s.name = "IterableAppExtensions"
19-
s.version = "4.4.7"
19+
s.version = "5.0.0"
2020
s.summary = "App Extensions for Iterable SDK"
2121

2222
s.description = <<-DESC

IterableSDK.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
1616
#
1717

1818
s.name = "IterableSDK"
19-
s.version = "4.4.7"
19+
s.version = "5.0.0"
2020
s.summary = "Iterable's official SDK for iOS"
2121

2222
s.description = <<-DESC

0 commit comments

Comments
 (0)