diff --git a/Changelog.md b/Changelog.md index bb5af96..af2309e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,9 @@ # SDK Changelog +- __SDK 2.7.3__ + - Correct bug where action buttons were not refreshing properly for iOS +12 + - Correct bug where instantiating events before starting SDK produced deviceId to not be loaded + - __SDK 2.7.2__ - Fix some arm64 + simulator compatibility issues for StaticLibrary + podspec and for geolocation version of the SDK - Fix PushOpened sent twice if same notification ID is clicked more than once from notification center @@ -20,29 +24,24 @@ - Correct bug where for some devices the data was not properly stored for the AppGroup causing the extensions to not work properly (i.e Rich Push) - __SDK 2.6.2__ - - Correct bug 121236 inapp/mainaction from push not called without connectivity - Correct bug 143115 in-app message webview navigation arrows disabled - Removed processing of optiex url from inside SDK - __SDK 2.6.1__ - - Provide device id to main app - Provide delegate to allow app to process links contained in an in-app message of type url - Add Push in-app message payload to in-app message cache - Provide a delegate to allow app to manage display on app side of in-app message linked to a remote notification - __SDK 2.6__ - - Provide the SDK as a .xcframework - Remove geolocalisation api references from core SDK - __SDK 2.5.2__ - - Correct bug 136398 conflict with `SDWebImagePDFCoder` that avoid displays of images - __SDK 2.5.1__ - - Provide helper method to set in app message as deleted - Provide helper method to set in app message as unseen - Correct bug 124219 send pushopened event when push is viewed only with notification content extension @@ -51,56 +50,45 @@ - Correct bug 124144 warning "nil host used in call to .." is displayed when generating inapp icon buttons - __SDK 2.5__ - - Provide flexibility to In App Message by giving access to public methods and properties that will enable developer to process content - __SDK 2.4.1__ - - Support of iOS14 - Correct bug 109032 property contentCreation (creation date) of In AppContent public - documentation update to avoid call to serviceExtensionTimeWillExpire resulting in (Encrypted) displayed even when encryption not applied - Correct bug 113738 Events are sent twice - __SDK 2.4__ - - Support of rich push of type image - Correct bug 104272 provide an override method to send `SMEventUserLogin` and avoiding login with providing empty mail - Remove code that forces having to ask for camera permissions in plist file - __SDK 2.3.1__ - - Correct bug 102254 set way to provide App Group Id to the SDK - __SDK 2.3__ - - Support call to `didReceiveNotification Response:` to allow trigger action of notification content extension without opening app - Correct bug 102401 inappmessage flag was not set correctly - __SDK 2.2.1__ - - Correct bug 100688 manage useragent without usage of `WKWebView` - __SDK 2.2__ - - Correct bug 96667 `UIWebView` deprecation - use `WKWebView` instead - Correct bug 96827 Buttons inside in-app messages (url/html/image) don't work in SwiftUI - Correct bug 90501 add robustness to check if device was already registered - Add robustness when parsing plotID - __SDK 2.1__ - - support of plot projects SDK v3.2.0 - __SDK 2.0.3__ - - format devicetoken without using of `NSData` description property for better support of Xcode11 and iOS 13 - __SDK 2.0.2.1__ - - Correct bug 86049 User are optouted when App is reinstalled with v2.0.2 - __SDK 2.0.2__ - - Correct bug 77531 device id is nil when performing background fetch and app is killed - Correct bug 74907 IAC Url type stuck forever with incorrect URL - Correct fetch in app with correct last date fetch when app was killed @@ -114,67 +102,54 @@ - Correct bug 69351 unregister notification functionality in not working correctly - __SDK 2.0.1__ - - Correct bug 64260 fetching in app message with date - url is not valid and header validation is not successful - Correct bug 64246 encoding of url is causing issue when there is a # - Improve way optout is retrieved from iOS - __SDK 2.0__ - - Support decryption of remote notification - Changed the way the SDK is initialized from inside a notification extension - __SDK 1.9__ - - Support action button in push notification center - __SDK 1.8__ - - Support push only without in-app message - Support deeplinking and main action when user click on push notification - __SDK 1.7.4__ - - Improve how in-app content are managed in cache - Correction on dismiss of in-app content viewcontroller when it is not wrapped inside other controller and when a link is present - __SDK 1.7.3__ - - Improve behavior and robustness of the way in-app ,essages are fetched - Add a type for InApp refresh only for dev use: `.Minutely` - __SDK 1.7.2__ - - Correction on IAC cache issue when app was killed (file was not updated) - __SDK 1.7.1__ - - Correction on duplicate symbol due to integrate library - __SDK 1.7__ - - Added geolocation functionality - Misc Bugs correction - Add http header to inform which version of the platform is supported - Support of bitcode - __SDK 1.6__ - - iOS 11 support - misc bug corrections - consolidate received event - adapt user-agent of request - __SDK 1.5.2__ - - correct bug for in-app content that must be displayed only once - __SDK 1.5.1__ - - correct crash bug that happens when expiration or creation date for in app content is null - __SDK 1.5__ - - `sendDeviceInfo` deprecated method replaced with `sendDeviceInfo:(SMDeviceInfos*)deviceInfos` method - New `SMManager` category for `DataTransaction` with back-end - public `SMDeviceInfos` object @@ -184,30 +159,24 @@ - Update deviceID with the one received from platform - __SDK 1.4.5__ - - Store last sent user custom event and check if a modification has been done before sending next one - __SDK 1.4.4__ - - compare device token based on string instead of `NSData` (bug swift 3 and Data class) - __SDK 1.4.3__ - - correction for max number of in-app content crash when max > number of messages received - creation date of in-app content - dismiss when no button in notification payload - __SDK 1.4.2__ - - correction on `unregisterForRemoteNotification` method - issue with the notification when the App was killed - __SDK 1.4.1__ - - bug corrections - __SDK 1.4__ - - enum `SMInAppMessageRefreshType` has been renamed to `SMInAppRefreshType` (this enum is used both for in-app message and for in-app content) possible values are : - `kSMIA_RefreshType_None` @@ -215,10 +184,8 @@ - `kSMIA_RefreshType_Daily` - __SDK 1.3__ - - To access easily all API methods you will need to replace `#import SMManager.h` by `#import SMHelper.h` - __SDK 1.2__ - - The API `sendEvent:` has been renamed to `sendSMEvent:` (this call will prevent compilation) - The API `registerForRemoteNotification` has been added. It allows applications to register remote-notification when they really need it. This, then, becomes a mandatory call for receiving pushes (after starting the library). diff --git a/Documentation/IOSSDKTemplate.zip b/Documentation/IOSSDKTemplate.zip index c5c6831..e620508 100644 Binary files a/Documentation/IOSSDKTemplate.zip and b/Documentation/IOSSDKTemplate.zip differ diff --git a/Documentation/MobileSDK Reference/Categories/SMManager+UserNotification.md b/Documentation/MobileSDK Reference/Categories/SMManager+UserNotification.md index 5c7402a..beeeb6d 100644 --- a/Documentation/MobileSDK Reference/Categories/SMManager+UserNotification.md +++ b/Documentation/MobileSDK Reference/Categories/SMManager+UserNotification.md @@ -63,6 +63,8 @@ Notification service extension : [– didReceiveNotification:](#/api/name/didReceiveNotification:) +[– didReceiveNotification:withContext:](#/api/name/didReceiveNotification:withContext:) + [– didReceiveNotificationRequest:](#/api/name/didReceiveNotificationRequest:) [– didReceiveNotificationRequest:withContentHandler:](#/api/name/didReceiveNotificationRequest:withContentHandler:) @@ -95,6 +97,30 @@ The category that must be added to Info.plist of the Notification Content Extens #### Declared In * `SMManager+UserNotification.h` + +### didReceiveNotification:withContext: + +Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: +Handle the push action buttons that may be present in the selligent notification payload + +- (void)didReceiveNotification:(UNNotification *_Nonnull)*notification* withContext:(NSExtensionContext *_Nullable)*context* + +#### Parameters + +*notification* +   A UNNotification that contains information about the notification. + +*context* +   A NSExtensionContext that contains the context information of the extension. + +#### Discussion +This allows the SDK to display the action buttons in the push notification outside of the app. + +The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + +#### Declared In +* `SMManager+UserNotification.h` + ### didReceiveNotificationRequest: diff --git a/Documentation/README.md b/Documentation/README.md index d1e5f7f..37290f2 100644 --- a/Documentation/README.md +++ b/Documentation/README.md @@ -210,6 +210,12 @@ To install any version of our SDK via Cocoapods, refer to the ([README](../READM ![](images/Picture14.png) +
+ When importing the framework version of the SDK, instead, make sure it is embedded in your main App target and set as "Do Not Embed" in your App extensions.
+ + ![](images/Picture37.png) +
+
Then, go to the "Build Settings" of your App target, search for "Other Linker Flags" property and set the value to "–ObjC".
@@ -308,6 +314,11 @@ class AppUniversalLinksDelegateExample: NSObject, SMManagerUniversalLinksDelegat // Your class will look like // AppUniversalLinksDelegateExample.h #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @interface AppUniversalLinksDelegateExample : NSObject @end @@ -579,8 +590,12 @@ func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent noti } func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping() -> Void) { - SMManager.sharedInstance().didReceive(response) - completionHandler() + SMManager.sharedInstance().didReceive(response, withCompletionHandler: completionHandler) + + // OR + // SMManager.sharedInstance().didReceive(response) + // completionHandler() + // In this case the App will be in charge to call completionHandler } ``` @@ -610,8 +625,12 @@ func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive respo } - (void) userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)(void))completionHandler { - [[SMManager sharedInstance] didReceiveNotificationResponse:response]; - completionHandler(); + [[SMManager sharedInstance] didReceiveNotificationResponse:response withCompletionHandler:completionHandler]; + + // OR + // [[SMManager sharedInstance] didReceiveNotificationResponse:response]; + // completionHandler(); + // In this case the App will be in charge to call completionHandler: } ``` @@ -870,6 +889,11 @@ class AppWKNavigationDelegateExample: NSObject, WKNavigationDelegate { // AppWKNavigationDelegateExample.m #import "AppWKNavigationDelegateExample.h" #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @implementation AppWKNavigationDelegateExample @@ -938,6 +962,11 @@ class AppInAppMessageDelegateExample: NSObject,SMManagerInAppMessageDelegate { // AppInAppMessageDelegateExample.h #import #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @interface AppInAppMessageDelegateExample: NSObject @end @@ -945,6 +974,11 @@ class AppInAppMessageDelegateExample: NSObject,SMManagerInAppMessageDelegate { // AppInAppMessageDelegateExample.m #import "AppInAppMessageDelegateExample.h" #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @implementation AppInAppMessageDelegateExample @@ -1217,7 +1251,7 @@ This object is used to send a custom event to the server with some data and a ca **Swift** ```swift -let event = SMEvent.init(dictionary: ["key": "value"]) +let event = SMEvent(dictionary: ["key": "value"]) // Optional event.shouldCache = true // Not necessary as it is the default value @@ -1417,6 +1451,11 @@ class NotificationService: UNNotificationServiceExtension { ```objective-c #import "NotificationService.h" #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @interface NotificationService() @property(nonatomic, strong)void(^contentHandler)(UNNotificationContent *contentToDeliver); @@ -1499,6 +1538,11 @@ class NotificationService: UNNotificationServiceExtension { ```objective-c #import "NotificationService.h" #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @implementation NotificationService @@ -1551,9 +1595,9 @@ This extension will:
You will notice the creation of those files (in Objective C in this example): -* `MainInterface.storyboard`: where you will be able to design the notification. -* `NotificationViewController.m`: an `UIViewController` subclassz -* `Info.plist`. +* `MainInterface.storyboard`: where you will be able to design the notification +* `NotificationViewController.m`: an `UIViewController` subclass +* `Info.plist`
In the capabilities of your target enable App groups and check "group.yourGroupName".
@@ -1569,10 +1613,10 @@ It is mandatory to have one once a button is present in the payload and should b By default, the Selligent category will be `SELLIGENT_BUTTON`. If you plan to also send Rich Push, Selligent provides you the ability to have a specific extension to manage the way you want to display it in the UI. The category will be named `SELLIGENT_IMAGE` in this case. -To set the category in your content extension, just open the `Info.plist` of the extension, find the `NSExtensionAttributes` dictionary and set the value of the `UNNotificationExtensionCategory` Key to `SELLIGENT_BUTTON` or `SELLIGENT_IMAGE`. +To set the category in your content extension, just open the `Info.plist` of the extension, find the `NSExtensionAttributes` dictionary and set the value of the `UNNotificationExtensionCategory` Key.
- You can also have both category in one extension as `UNNotificationExtensionCategory` can be an Array type.
+ You can add both categories by making UNNotificationExtensionCategory an Array.
![](images/Picture33.png)
@@ -1652,7 +1696,7 @@ class NotificationViewController: UIViewController, UNNotificationContentExtensi // SDK API to add Push Notification buttons // "SELLIGENT_BUTTON" category must be configured - SMManager.sharedInstance().didReceive(notification) + SMManager.sharedInstance().didReceive(notification, with: self.extensionContext) } // If you want the Push Notification buttons to be processed without the need of opening the App @@ -1674,6 +1718,11 @@ class NotificationViewController: UIViewController, UNNotificationContentExtensi #import #import #import "SMHelper.h" +// OR +// @import SelligentMobileSDK; +// @import SelligentMobileSDK_Geofencing; +// #import +// #import @interface NotificationViewController () // UI elements from the storyboard @@ -1723,7 +1772,7 @@ class NotificationViewController: UIViewController, UNNotificationContentExtensi // SDK API to add Push Notification buttons // "SELLIGENT_BUTTON" category must be configured - [[SMManager sharedInstance] didReceiveNotification:notification]; + [[SMManager sharedInstance] didReceiveNotification:notification withContext:self.extensionContext]; } // If you want the Push Notification buttons to be processed without the need of opening the App diff --git a/Documentation/images/Picture37.png b/Documentation/images/Picture37.png new file mode 100644 index 0000000..8b56521 Binary files /dev/null and b/Documentation/images/Picture37.png differ diff --git a/Framework/SelligentMobileSDK.xcframework/Info.plist b/Framework/SelligentMobileSDK.xcframework/Info.plist index 1fe8f83..cd6591f 100644 --- a/Framework/SelligentMobileSDK.xcframework/Info.plist +++ b/Framework/SelligentMobileSDK.xcframework/Info.plist @@ -6,32 +6,32 @@ LibraryIdentifier - ios-arm64_i386_x86_64-simulator + ios-arm64_armv7 LibraryPath SelligentMobileSDK.framework SupportedArchitectures arm64 - i386 - x86_64 + armv7 SupportedPlatform ios - SupportedPlatformVariant - simulator LibraryIdentifier - ios-arm64_armv7 + ios-arm64_i386_x86_64-simulator LibraryPath SelligentMobileSDK.framework SupportedArchitectures arm64 - armv7 + i386 + x86_64 SupportedPlatform ios + SupportedPlatformVariant + simulator CFBundlePackageType diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h index 276e334..d77c619 100644 --- a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h +++ b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h @@ -120,7 +120,20 @@ * * @param notification A UNNotification that contains information about the notification. */ -- (void) didReceiveNotification:(UNNotification*_Nonnull)notification; +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`"); + +/*! + * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: + * Handle the push action buttons that may be present in the selligent notification payload + * + * This allows the SDK to display the action buttons in the push notification outside of the app. + * + * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + * + * @param notification A UNNotification that contains information about the notification. + * @param context A NSExtensionContext that contains the context information of the extension. + */ +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context; /*! * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler: diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Info.plist b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Info.plist index d02d298..bc4984f 100644 Binary files a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Info.plist and b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/Info.plist differ diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/SelligentMobileSDK b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/SelligentMobileSDK index d532a41..7fd7120 100644 Binary files a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/SelligentMobileSDK and b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/SelligentMobileSDK differ diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/_CodeSignature/CodeResources b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/_CodeSignature/CodeResources index 4fb641a..ee4b250 100644 --- a/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/_CodeSignature/CodeResources +++ b/Framework/SelligentMobileSDK.xcframework/ios-arm64_armv7/SelligentMobileSDK.framework/_CodeSignature/CodeResources @@ -154,7 +154,7 @@ Headers/SMManager+UserNotification.h - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= Headers/SMManager+ViewController.h @@ -230,7 +230,7 @@ Info.plist - p0iDUTu/7Qg3Q82xWvpzYnGj/mE= + +ue7X8adEBW7DfguEyW38jWnMVo= Modules/module.modulemap @@ -650,11 +650,11 @@ hash - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= hash2 - xcOqiep3qg3HfOkQ8g+9KNqdr8P3mkUDomEXwsZQhKI= + ahfM7quDhVVQUnU36SBO3d5YBwdS4uL3daCcyRwiftE= Headers/SMManager+ViewController.h diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h index 276e334..d77c619 100644 --- a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h +++ b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Headers/SMManager+UserNotification.h @@ -120,7 +120,20 @@ * * @param notification A UNNotification that contains information about the notification. */ -- (void) didReceiveNotification:(UNNotification*_Nonnull)notification; +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`"); + +/*! + * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: + * Handle the push action buttons that may be present in the selligent notification payload + * + * This allows the SDK to display the action buttons in the push notification outside of the app. + * + * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + * + * @param notification A UNNotification that contains information about the notification. + * @param context A NSExtensionContext that contains the context information of the extension. + */ +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context; /*! * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler: diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Info.plist b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Info.plist index 8965125..51e87b3 100644 Binary files a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Info.plist and b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/Info.plist differ diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/SelligentMobileSDK b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/SelligentMobileSDK index dfa08cd..cfb8923 100644 Binary files a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/SelligentMobileSDK and b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/SelligentMobileSDK differ diff --git a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/_CodeSignature/CodeResources b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/_CodeSignature/CodeResources index 443e1be..17f171c 100644 --- a/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/_CodeSignature/CodeResources +++ b/Framework/SelligentMobileSDK.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK.framework/_CodeSignature/CodeResources @@ -154,7 +154,7 @@ Headers/SMManager+UserNotification.h - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= Headers/SMManager+ViewController.h @@ -230,7 +230,7 @@ Info.plist - CQndjSZuEcQ/+v9etGah/DsLI38= + sEMQxtqfr9aFQj5CfBwqZk3WYRw= Modules/module.modulemap @@ -650,11 +650,11 @@ hash - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= hash2 - xcOqiep3qg3HfOkQ8g+9KNqdr8P3mkUDomEXwsZQhKI= + ahfM7quDhVVQUnU36SBO3d5YBwdS4uL3daCcyRwiftE= Headers/SMManager+ViewController.h diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h index 276e334..d77c619 100644 --- a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h +++ b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h @@ -120,7 +120,20 @@ * * @param notification A UNNotification that contains information about the notification. */ -- (void) didReceiveNotification:(UNNotification*_Nonnull)notification; +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`"); + +/*! + * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: + * Handle the push action buttons that may be present in the selligent notification payload + * + * This allows the SDK to display the action buttons in the push notification outside of the app. + * + * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + * + * @param notification A UNNotification that contains information about the notification. + * @param context A NSExtensionContext that contains the context information of the extension. + */ +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context; /*! * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler: diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Info.plist b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Info.plist index 9be3841..0691cb4 100644 Binary files a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Info.plist and b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/Info.plist differ diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing index 47b1911..c305dd3 100644 Binary files a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing and b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing differ diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources index d4fb36d..2193df6 100644 --- a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources +++ b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_armv7/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources @@ -154,7 +154,7 @@ Headers/SMManager+UserNotification.h - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= Headers/SMManager+ViewController.h @@ -230,7 +230,7 @@ Info.plist - rELsobslZxP7EUxeLD528hGLi+g= + qOkGxgRti4+ji81RbCA0VrDQB0o= Modules/module.modulemap @@ -650,11 +650,11 @@ hash - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= hash2 - xcOqiep3qg3HfOkQ8g+9KNqdr8P3mkUDomEXwsZQhKI= + ahfM7quDhVVQUnU36SBO3d5YBwdS4uL3daCcyRwiftE= Headers/SMManager+ViewController.h diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h index 276e334..d77c619 100644 --- a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h +++ b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Headers/SMManager+UserNotification.h @@ -120,7 +120,20 @@ * * @param notification A UNNotification that contains information about the notification. */ -- (void) didReceiveNotification:(UNNotification*_Nonnull)notification; +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`"); + +/*! + * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: + * Handle the push action buttons that may be present in the selligent notification payload + * + * This allows the SDK to display the action buttons in the push notification outside of the app. + * + * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + * + * @param notification A UNNotification that contains information about the notification. + * @param context A NSExtensionContext that contains the context information of the extension. + */ +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context; /*! * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler: diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Info.plist b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Info.plist index a043fc7..63c048d 100644 Binary files a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Info.plist and b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/Info.plist differ diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing index c68a79e..d9ce716 100644 Binary files a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing and b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/SelligentMobileSDK_Geofencing differ diff --git a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources index 8923c22..0bca3db 100644 --- a/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources +++ b/Framework_Geofencing/SelligentMobileSDK_Geofencing.xcframework/ios-arm64_i386_x86_64-simulator/SelligentMobileSDK_Geofencing.framework/_CodeSignature/CodeResources @@ -154,7 +154,7 @@ Headers/SMManager+UserNotification.h - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= Headers/SMManager+ViewController.h @@ -230,7 +230,7 @@ Info.plist - uVa0dGMa+VnBkxT95E29RsZqUdM= + 6vWKQ9coBNznOJBIjtT0subYXRc= Modules/module.modulemap @@ -650,11 +650,11 @@ hash - 3RRuKDy2FAXYvuODDhl+sh5HHag= + Rgnohhc9gOFczRg6Ssk7J2PSkk0= hash2 - xcOqiep3qg3HfOkQ8g+9KNqdr8P3mkUDomEXwsZQhKI= + ahfM7quDhVVQUnU36SBO3d5YBwdS4uL3daCcyRwiftE= Headers/SMManager+ViewController.h diff --git a/README.md b/README.md index 455a6be..b47804b 100644 --- a/README.md +++ b/README.md @@ -58,4 +58,4 @@ Please check our Reference manual to quickly check all our available methods. -Download our example application to see how our SDK needs to be implemented - The swift target (and the extensions inside the project) embed the sdk framework, and the objective c target use the static library. +Download our example application to see how our SDK needs to be implemented. Do note though that it is just an example to see where/how the SDK code needs to be integrated but it is not supposed to be used as a base project for your App, or anything similar. diff --git a/SelligentMobileSDK.podspec b/SelligentMobileSDK.podspec index 350b927..ed53dc4 100644 --- a/SelligentMobileSDK.podspec +++ b/SelligentMobileSDK.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.platform = :ios, "10.0" s.name = "SelligentMobileSDK" - s.version = "2.7.2" + s.version = "2.7.3" s.summary = "Selligent Marketing Cloud - Mobile SDK for iOS" s.description = <<-DESC The Selligent Marketing Cloud - Mobile SDK is a tool that enables you to use the Selligent Marketing Cloud - Mobile feature in a very easy and straightforward way. diff --git a/StaticLib/include/SMManager+UserNotification.h b/StaticLib/include/SMManager+UserNotification.h index 276e334..d77c619 100644 --- a/StaticLib/include/SMManager+UserNotification.h +++ b/StaticLib/include/SMManager+UserNotification.h @@ -120,7 +120,20 @@ * * @param notification A UNNotification that contains information about the notification. */ -- (void) didReceiveNotification:(UNNotification*_Nonnull)notification; +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`"); + +/*! + * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: + * Handle the push action buttons that may be present in the selligent notification payload + * + * This allows the SDK to display the action buttons in the push notification outside of the app. + * + * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + * + * @param notification A UNNotification that contains information about the notification. + * @param context A NSExtensionContext that contains the context information of the extension. + */ +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context; /*! * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler: diff --git a/StaticLib/libSelligentMobile.a b/StaticLib/libSelligentMobile.a index 0c88b4d..099d784 100644 Binary files a/StaticLib/libSelligentMobile.a and b/StaticLib/libSelligentMobile.a differ diff --git a/StaticLib_Geofencing/include/SMManager+UserNotification.h b/StaticLib_Geofencing/include/SMManager+UserNotification.h index 276e334..d77c619 100644 --- a/StaticLib_Geofencing/include/SMManager+UserNotification.h +++ b/StaticLib_Geofencing/include/SMManager+UserNotification.h @@ -120,7 +120,20 @@ * * @param notification A UNNotification that contains information about the notification. */ -- (void) didReceiveNotification:(UNNotification*_Nonnull)notification; +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification __deprecated_msg("Method deprecated. Use `didReceiveNotification:withContext:`"); + +/*! + * Optional API, when building against iOS 10+ and using a Notification Content Extension target, to be included in NotificationViewController didReceiveNotification: + * Handle the push action buttons that may be present in the selligent notification payload + * + * This allows the SDK to display the action buttons in the push notification outside of the app. + * + * The category that must be added to Info.plist of the Notification Content Extension target is mandatory and must be SELLIGENT_BUTTON. + * + * @param notification A UNNotification that contains information about the notification. + * @param context A NSExtensionContext that contains the context information of the extension. + */ +- (void) didReceiveNotification:(UNNotification*_Nonnull)notification withContext:(NSExtensionContext*_Nullable)context; /*! * Optional API, when building against iOS 10+ and using a Notification Service Extension target, to be included in NotificationService didReceiveNotificationRequest:withContentHandler: diff --git a/StaticLib_Geofencing/libSelligentMobile_Geofencing.a b/StaticLib_Geofencing/libSelligentMobile_Geofencing.a index abfe351..efeca0e 100644 Binary files a/StaticLib_Geofencing/libSelligentMobile_Geofencing.a and b/StaticLib_Geofencing/libSelligentMobile_Geofencing.a differ