Skip to content

Commit

Permalink
Merge pull request #217 from CleverTap/develop
Browse files Browse the repository at this point in the history
Release v4.1.6
  • Loading branch information
akashvercetti authored Nov 28, 2022
2 parents a42a0b9 + f55670b commit 084293f
Show file tree
Hide file tree
Showing 14 changed files with 64 additions and 19 deletions.
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# Change Log
All notable changes to this project will be documented in this file.

### [Version 4.1.6](https://github.com/CleverTap/clevertap-ios-sdk/releases/tag/4.1.6) (November 28, 2022)

#### Added
- Adds a public instance method `deleteInboxMessagesforID` for deleting multiple App Inbox messages by passing a collection of `messageID`s.

#### Fixed
- Fixes a bug where embedded videos were not rendering in html inapp messages.
- Fixes a bug where incorrect events were being fired for Signed Call iOS SDK.

### [Version 4.1.5](https://github.com/CleverTap/clevertap-ios-sdk/releases/tag/4.1.5) (November 15, 2022)

#### Added
Expand Down Expand Up @@ -36,7 +45,7 @@ All notable changes to this project will be documented in this file.
### [Version 4.1.0](https://github.com/CleverTap/clevertap-ios-sdk/releases/tag/4.1.0) (June 16, 2022)

##### Added
- Adds analytics support for upcoming CleverTap Direct Call iOS SDK.
- Adds analytics support for upcoming CleverTap Signed Call iOS SDK.
- `CleverTap.sharedInstance()?.profileRemoveValue(forKey: )` can now remove PII data like Email, Phone and Date Of Birth.

##### Fixed
Expand Down
4 changes: 2 additions & 2 deletions CleverTap-iOS-SDK.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "CleverTap-iOS-SDK"
s.version = "4.1.5"
s.version = "4.1.6"
s.summary = "The CleverTap iOS SDK for App Analytics and Engagement."
s.homepage = "https://github.com/CleverTap/clevertap-ios-sdk"
s.license = { :type => "MIT" }
Expand All @@ -13,7 +13,7 @@ s.ios.dependency 'SDWebImage', '~> 5.11.1'
s.ios.resource_bundle = {'CleverTapSDK' => ['CleverTapSDK/**/*.{png,xib}', 'CleverTapSDK/**/*.xcdatamodeld']}
s.ios.deployment_target = '9.0'
s.ios.source_files = 'CleverTapSDK/**/*.{h,m}'
s.ios.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h','CleverTapSDK/CleverTap+Inbox.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapInAppNotificationDelegate.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h', 'CleverTapSDK/CleverTapJSInterface.h', 'CleverTapSDK/CleverTap+DisplayUnit.h', 'CleverTapSDK/CleverTap+FeatureFlags.h', 'CleverTapSDK/CleverTap+ProductConfig.h', 'CleverTapSDK/CleverTapPushNotificationDelegate.h', 'CleverTapSDK/CleverTapURLDelegate.h', 'CleverTapSDK/CleverTap+InAppNotifications.h', 'CleverTapSDK/CleverTap+DCDomain.h'
s.ios.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h','CleverTapSDK/CleverTap+Inbox.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapInAppNotificationDelegate.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h', 'CleverTapSDK/CleverTapJSInterface.h', 'CleverTapSDK/CleverTap+DisplayUnit.h', 'CleverTapSDK/CleverTap+FeatureFlags.h', 'CleverTapSDK/CleverTap+ProductConfig.h', 'CleverTapSDK/CleverTapPushNotificationDelegate.h', 'CleverTapSDK/CleverTapURLDelegate.h', 'CleverTapSDK/CleverTap+InAppNotifications.h', 'CleverTapSDK/CleverTap+SCDomain.h'
s.tvos.deployment_target = '9.0'
s.tvos.source_files = 'CleverTapSDK/*.{h,m}', 'CleverTapSDK/ProductConfig/**/*.{h,m}', 'CleverTapSDK/FeatureFlags/**/*.{h,m}'
s.tvos.exclude_files = 'CleverTapSDK/CleverTapJSInterface.{h,m}'
Expand Down
8 changes: 4 additions & 4 deletions CleverTapSDK.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@
4E87296E277CE8EB00A7A618 /* StubHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E87296D277CE8EB00A7A618 /* StubHelper.m */; };
4E872973277CEE6700A7A618 /* TestConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E872972277CEE6700A7A618 /* TestConstants.m */; };
4EC2D085278AAD8000F4DE54 /* IdentityManagementTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EC2D084278AAD8000F4DE54 /* IdentityManagementTests.m */; };
5709005327FD8E1F0011B89F /* CleverTap+DCDomain.h in Headers */ = {isa = PBXBuildFile; fileRef = 5709005227FD8E1E0011B89F /* CleverTap+DCDomain.h */; settings = {ATTRIBUTES = (Public, ); }; };
5709005327FD8E1F0011B89F /* CleverTap+SCDomain.h in Headers */ = {isa = PBXBuildFile; fileRef = 5709005227FD8E1E0011B89F /* CleverTap+SCDomain.h */; settings = {ATTRIBUTES = (Public, ); }; };
57D2E1C82684B1630068E45A /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C7BBC8207D8837001345EF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; };
57EDC7A12683845B001DD157 /* CleverTap+InAppNotifications.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EDC7A02683845B001DD157 /* CleverTap+InAppNotifications.h */; settings = {ATTRIBUTES = (Public, ); }; };
583D9573DCDA5D219016B990 /* libPods-shared-CleverTapSDKTestsApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2108AFE9090417CC69A0E3EB /* libPods-shared-CleverTapSDKTestsApp.a */; };
Expand Down Expand Up @@ -580,7 +580,7 @@
4E872972277CEE6700A7A618 /* TestConstants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestConstants.m; sourceTree = "<group>"; };
4EC2D084278AAD8000F4DE54 /* IdentityManagementTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IdentityManagementTests.m; sourceTree = "<group>"; };
4EDCDE4D278AC4DF0065E699 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
5709005227FD8E1E0011B89F /* CleverTap+DCDomain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CleverTap+DCDomain.h"; sourceTree = "<group>"; };
5709005227FD8E1E0011B89F /* CleverTap+SCDomain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CleverTap+SCDomain.h"; sourceTree = "<group>"; };
57EDC7A02683845B001DD157 /* CleverTap+InAppNotifications.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CleverTap+InAppNotifications.h"; sourceTree = "<group>"; };
6A2E4C17291E8A4A00385536 /* CleverTapInstanceConfigTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CleverTapInstanceConfigTests.m; sourceTree = "<group>"; };
840B38DDFBBEAE05FC6C5458 /* Pods-shared-CleverTapSDKTestsApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-shared-CleverTapSDKTestsApp.release.xcconfig"; path = "Target Support Files/Pods-shared-CleverTapSDKTestsApp/Pods-shared-CleverTapSDKTestsApp.release.xcconfig"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1087,7 +1087,7 @@
071EB476217F6427008F0FAB /* InApps */,
D0C7BBC8207D8837001345EF /* CleverTap.h */,
D0C7BBC9207D8837001345EF /* CleverTap.m */,
5709005227FD8E1E0011B89F /* CleverTap+DCDomain.h */,
5709005227FD8E1E0011B89F /* CleverTap+SCDomain.h */,
57EDC7A02683845B001DD157 /* CleverTap+InAppNotifications.h */,
D0CACF8A20B890EA00A02327 /* CleverTap+SSLPinning.h */,
07B9454F219EA38F00D4C542 /* CleverTap+Inbox.h */,
Expand Down Expand Up @@ -1283,7 +1283,7 @@
D0BD759D241760C60006EE55 /* CTProductConfigController.h in Headers */,
4E49AE53275D24570074A774 /* CTValidationResultStack.h in Headers */,
07B94544219EA34300D4C542 /* CTInboxController.h in Headers */,
5709005327FD8E1F0011B89F /* CleverTap+DCDomain.h in Headers */,
5709005327FD8E1F0011B89F /* CleverTap+SCDomain.h in Headers */,
D0213D4F207D905800FE5740 /* CleverTapUTMDetail.h in Headers */,
071EB4D3217F6427008F0FAB /* CTAVPlayerViewController.h in Headers */,
07B9454A219EA34300D4C542 /* CTUserMO+CoreDataProperties.h in Headers */,
Expand Down
3 changes: 3 additions & 0 deletions CleverTapSDK/CTEventBuilder.m
Original file line number Diff line number Diff line change
Expand Up @@ -445,10 +445,13 @@ + (void)buildSignedCallEvent:(int)eventRawValue
switch (eventRawValue) {
case 0:
signedCallEvent = CLTAP_SIGNED_CALL_OUTGOING_EVENT_NAME;
break;
case 1:
signedCallEvent = CLTAP_SIGNED_CALL_INCOMING_EVENT_NAME;
break;
case 2:
signedCallEvent = CLTAP_SIGNED_CALL_END_EVENT_NAME;
break;
default: break;
}
if (signedCallEvent) {
Expand Down
9 changes: 9 additions & 0 deletions CleverTapSDK/CleverTap+Inbox.h
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,15 @@ typedef void (^CleverTapInboxUpdatedBlock)(void);

- (void)deleteInboxMessageForID:(NSString * _Nonnull)messageId;

/*!
@method
@abstract
This method deletes `CleverTapInboxMessage` objects for the given `Message Id` as a collection.
*/

- (void)deleteInboxMessagesForIDs:(NSArray<NSString *> *_Nonnull)messageIds;

/*!
@method
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@
@abstract
When conformed to `CleverTapDomainDelegate`, domain available callback will be received if domain available
@param domain the domain to be used by DC SDK
@param domain the domain to be used by SC SDK
*/
- (void)onDCDomainAvailable:(NSString* _Nonnull)domain;
- (void)onSCDomainAvailable:(NSString* _Nonnull)domain;

/*!
@method
@abstract
When conformed to `CleverTapDomainDelegate`, domain unavailable callback will be received if domain not available
*/
- (void)onDCDomainUnavailable;
- (void)onSCDomainUnavailable;
@end

@interface CleverTap (DCDomain)
@interface CleverTap (SCDomain)
@end
17 changes: 12 additions & 5 deletions CleverTapSDK/CleverTap.m
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
#import "CleverTapProductConfigPrivate.h"
#import "CTProductConfigController.h"

#import "CleverTap+DCDomain.h"
#import "CleverTap+SCDomain.h"
#import <objc/runtime.h>

static const void *const kQueueKey = &kQueueKey;
Expand Down Expand Up @@ -4310,6 +4310,13 @@ - (void)deleteInboxMessageForID:(NSString *)messageId {
[self.inboxController deleteMessageWithId:messageId];
}

- (void)deleteInboxMessagesForIDs:(NSArray<NSString *> *_Nonnull)messageIds {
if (![self _isInboxInitialized]) {
return;
}
[self.inboxController deleteMessagesWithId:messageIds];
}

- (void)markReadInboxMessageForID:(NSString *)messageId{
if (![self _isInboxInitialized]) {
return;
Expand Down Expand Up @@ -4912,16 +4919,16 @@ - (void)setDomainDelegate:(id<CleverTapDomainDelegate>)delegate {

- (void)onDomainAvailable {
NSString *dcDomain = [self getDomainString];
if (self.domainDelegate && [self.domainDelegate respondsToSelector:@selector(onDCDomainAvailable:)]) {
[self.domainDelegate onDCDomainAvailable: dcDomain];
if (self.domainDelegate && [self.domainDelegate respondsToSelector:@selector(onSCDomainAvailable:)]) {
[self.domainDelegate onSCDomainAvailable: dcDomain];
} else if (dcDomain == nil) {
[self onDomainUnavailable];
}
}

- (void)onDomainUnavailable {
if (self.domainDelegate && [self.domainDelegate respondsToSelector:@selector(onDCDomainUnavailable)]) {
[self.domainDelegate onDCDomainUnavailable];
if (self.domainDelegate && [self.domainDelegate respondsToSelector:@selector(onSCDomainUnavailable)]) {
[self.domainDelegate onSCDomainUnavailable];
}
}

Expand Down
2 changes: 1 addition & 1 deletion CleverTapSDK/CleverTapBuildInfo.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@

#define WR_SDK_REVISION @"40105"
#define WR_SDK_REVISION @"40106"

5 changes: 5 additions & 0 deletions CleverTapSDK/InApps/CTInAppHTMLViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ - (void)layoutNotification {
WKWebViewConfiguration *wkConfig = [[WKWebViewConfiguration alloc] init];
wkConfig.userContentController = wkController;
wkConfig.allowsInlineMediaPlayback = YES;
if (@available(iOS 10.0, *)) {
[wkConfig setMediaTypesRequiringUserActionForPlayback:WKAudiovisualMediaTypeNone];
} else {
// Fallback on earlier versions
}
webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:wkConfig];
webView.scrollView.showsHorizontalScrollIndicator = NO;
webView.scrollView.showsVerticalScrollIndicator = NO;
Expand Down
1 change: 1 addition & 0 deletions CleverTapSDK/Inbox/controllers/CTInboxController.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)updateMessages:(NSArray<NSDictionary*> *)messages;
- (NSDictionary * _Nullable )messageForId:(NSString *)messageId;
- (void)deleteMessageWithId:(NSString *)messageId;
- (void)deleteMessagesWithId:(NSArray *_Nonnull)messageIds;
- (void)markReadMessageWithId:(NSString *)messageId;

@end
Expand Down
11 changes: 11 additions & 0 deletions CleverTapSDK/Inbox/controllers/CTInboxController.m
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,17 @@ - (void)deleteMessageWithId:(NSString *)messageId {
[self _deleteMessages:@[message]];
}

- (void)deleteMessagesWithId:(NSArray *_Nonnull)messageIds {
NSMutableArray *toDeleteInboxMessages = [NSMutableArray new];
for (NSString *ids in messageIds) {
CTMessageMO *msg = [self _messageForId:ids];
[toDeleteInboxMessages addObject:msg];
}
if ([toDeleteInboxMessages count] > 0) {
[self _deleteMessages:toDeleteInboxMessages];
}
}

- (void)markReadMessageWithId:(NSString *)messageId {
[privateContext performBlock:^{
CTMessageMO *message = [self _messageForId:messageId];
Expand Down
1 change: 0 additions & 1 deletion CleverTapSDK/include/CleverTap+DCDomain.h

This file was deleted.

1 change: 1 addition & 0 deletions CleverTapSDK/include/CleverTap+SCDomain.h
2 changes: 1 addition & 1 deletion CleverTapSDK/ios.modulemap
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@ framework module CleverTapSDK {
header "CleverTapInstanceConfig.h"
header "CleverTapJSInterface.h"
header "CleverTap+InAppNotifications.h"
header "CleverTap+DCDomain.h"
header "CleverTap+SCDomain.h"
export *
}

0 comments on commit 084293f

Please sign in to comment.