This is a compatibility release for iOS 12 support, mostly adding new optional features. However some breaking changes have been made in order to support them.
Items previously marked "Deprecated - to be removed in SDK version 10.0" have been removed. Some iOS 8 specific workarounds that have been obsolete since SDK 9.0 have also been removed. This release also drops support for iOS 9.
Notification authorization settings and authorization status is now fully decoupled from requested options. Use UAAuthorizedNotificationSettings
and UAAuthorizationStatus
in order to determine which notification settings are authorized following push registration at runtime.
UAAuthorizationStatusNotDetermined
UAAuthorizationStatusDenied
UAAuthorizationStatusAuthorized
UAAuthorizationStatusProvisional
UAAuthorizedNotificationSettingsNone
UAAuthorizedNotificationSettingsBadge
UAAuthorizedNotificationSettingsSound
UAAuthorizedNotificationSettingsAlert
UAAuthorizedNotificationSettingsCarPlay
UAAuthorizedNotificationSettingsLockScreen
UAAuthorizedNotificationsSettingsNotificationCenter
UAAuthorizedNotificationsSettingsCriticalAlert
Registration delegate methods have been updated to reflect the new authorization model described above.
notificationRegistrationFinishedWithAuthorizedSettings:categories:status
notificationAuthorizedSettingsDidChange
notificationRegistrationFinishedWithOptions:categories:
notificationAuthorizedOptionsDidChange:
UAPush properties and methods have also been updated to reflect the new authorization model, and iOS 8 workarounds have been removed.
authorizationStatus
enableUserPushNotifications:completionHandler
authorizedNotificationOptions
allowUnregisteringUserNotificationTypes
requireSettingsAppToDisableUserNotifications
alias
Additional properties and factory methods have been added to support custom category summary formats, as well as placeholder strings for notifications with hidden body previews.
categorySummaryFormat
categorywithIdentifier:actions:intentIdentifiers:hiddenBodyPreviewsPlaceholder:categorySummaryFormat:options:
Additional properties have been added to support the summary argument, summary argument count and thread ID features new to iOS 12.
summaryArgument
summaryArgumentCount
threadIdentifier
matcherWithValueMatcher:key
matcherWithValueMatcher:key:scope
The methods above are redundant, and have been replaced with the more general matcherWithValueMatcher:scope
.
The removed key
parameter is just the last value of a scope array, so for instance, calls such as
[UAJSONMatcher matcherWithValueMatcher:someValueMatcher key:@"key"]
[UAJSONMatcher matcherWithValueMatcher:someValueMatcher key:@"key" scope:@[@"foo", @"bar"]]
can be rewritten as the following, respectively:
[UAJSONMatcher matcherWithValueMatcher:someValueMatcher scope:@[@"key"]]
[UAJSONMatcher matcherWithValueMatcher:someValueMatcher scope:@[@"foo", @"bar", @"key"]]
showInboxMessage:
loadMessage:onlyIfChanged:
See legacy migration guide for older migrations