From 1ce53caca43da6d741ae1a8c6418f68f869bae30 Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Tue, 23 Oct 2018 07:23:57 +0530 Subject: [PATCH 1/5] prepare 3.3.0 --- CleverTap-iOS-SDK.podspec | 6 +- CleverTapSDK/CTInAppNotification.m | 157 -- CleverTapSDK/CTInAppUtils.h | 12 - CleverTapSDK/CTInAppUtils.m | 21 - CleverTapSDK/CleverTap.m | 36 + CleverTapSDK/CleverTapBuildInfo.h | 2 +- .../InApps/CTAVPlayerControlsViewController.h | 16 + .../InApps/CTAVPlayerControlsViewController.m | 251 +++ .../CTAVPlayerControlsViewController.xib | 95 + .../InApps/CTAVPlayerViewController.h | 20 + .../InApps/CTAVPlayerViewController.m | 91 + CleverTapSDK/InApps/CTAlertViewController.h | 5 + CleverTapSDK/InApps/CTAlertViewController.m | 125 ++ .../InApps/CTBaseHeaderFooterViewController.h | 5 + .../InApps/CTBaseHeaderFooterViewController.m | 369 ++++ .../CTBaseHeaderFooterViewControllerPrivate.h | 9 + .../InApps/CTCoverImageViewController.h | 6 + .../InApps/CTCoverImageViewController.m | 87 + .../CTCoverImageViewController~ipad.xib | 81 + .../CTCoverImageViewController~iphoneport.xib | 79 + CleverTapSDK/InApps/CTCoverViewController.h | 5 + CleverTapSDK/InApps/CTCoverViewController.m | 115 ++ .../InApps/CTCoverViewController~ipad.xib | 176 ++ .../CTCoverViewController~iphoneport.xib | 149 ++ CleverTapSDK/{ => InApps}/CTDismissButton.h | 0 CleverTapSDK/{ => InApps}/CTDismissButton.m | 24 +- CleverTapSDK/InApps/CTFooterViewController.h | 5 + CleverTapSDK/InApps/CTFooterViewController.m | 30 + .../InApps/CTFooterViewController~ipad.xib | 163 ++ .../CTFooterViewController~iphoneport.xib | 163 ++ .../CTHalfInterstitialImageViewController.h | 6 + .../CTHalfInterstitialImageViewController.m | 110 ++ ...lfInterstitialImageViewController~ipad.xib | 77 + ...rstitialImageViewController~iphoneport.xib | 67 + .../InApps/CTHalfInterstitialViewController.h | 5 + .../InApps/CTHalfInterstitialViewController.m | 140 ++ .../CTHalfInterstitialViewController~ipad.xib | 146 ++ ...fInterstitialViewController~iphoneport.xib | 151 ++ CleverTapSDK/InApps/CTHeaderViewController.h | 5 + CleverTapSDK/InApps/CTHeaderViewController.m | 36 + .../InApps/CTHeaderViewController~ipad.xib | 163 ++ .../CTHeaderViewController~iphoneport.xib | 164 ++ .../CTInAppDisplayViewController.h | 0 .../CTInAppDisplayViewController.m | 62 + .../CTInAppDisplayViewControllerPrivate.h | 7 +- CleverTapSDK/{ => InApps}/CTInAppFCManager.h | 0 CleverTapSDK/{ => InApps}/CTInAppFCManager.m | 0 .../{ => InApps}/CTInAppHTMLViewController.h | 0 .../{ => InApps}/CTInAppHTMLViewController.m | 136 +- .../{ => InApps}/CTInAppNotification.h | 27 +- CleverTapSDK/InApps/CTInAppNotification.m | 322 ++++ CleverTapSDK/InApps/CTInAppResources.h | 14 + CleverTapSDK/InApps/CTInAppResources.m | 38 + CleverTapSDK/InApps/CTInAppUtils.h | 26 + CleverTapSDK/InApps/CTInAppUtils.m | 93 + .../CTInterstitialImageViewController.h | 5 + .../CTInterstitialImageViewController.m | 110 ++ ...CTInterstitialImageViewController~ipad.xib | 80 + ...rstitialImageViewController~iphoneport.xib | 81 + .../InApps/CTInterstitialViewController.h | 5 + .../InApps/CTInterstitialViewController.m | 295 ++++ .../CTInterstitialViewController~ipad.xib | 157 ++ ...TInterstitialViewController~iphoneport.xib | 161 ++ CleverTapSDK/InApps/CTNotificationButton.h | 22 + CleverTapSDK/InApps/CTNotificationButton.m | 52 + CleverTapSDK/InApps/CTSlider.h | 13 + CleverTapSDK/InApps/CTSlider.m | 28 + CleverTapSDK/InApps/FLAnimatedImage.h | 107 ++ CleverTapSDK/InApps/FLAnimatedImage.m | 816 +++++++++ CleverTapSDK/InApps/FLAnimatedImageView.h | 36 + CleverTapSDK/InApps/FLAnimatedImageView.m | 442 +++++ CleverTapSDK/InApps/images/ic_expand@1x.png | Bin 0 -> 188 bytes CleverTapSDK/InApps/images/ic_expand@2x.png | Bin 0 -> 341 bytes CleverTapSDK/InApps/images/ic_expand@3x.png | Bin 0 -> 455 bytes CleverTapSDK/InApps/images/ic_pause@1x.png | Bin 0 -> 113 bytes CleverTapSDK/InApps/images/ic_pause@2x.png | Bin 0 -> 153 bytes CleverTapSDK/InApps/images/ic_pause@3x.png | Bin 0 -> 241 bytes CleverTapSDK/InApps/images/ic_play@1x.png | Bin 0 -> 309 bytes CleverTapSDK/InApps/images/ic_play@2x.png | Bin 0 -> 601 bytes CleverTapSDK/InApps/images/ic_play@3x.png | Bin 0 -> 764 bytes CleverTapSDK/InApps/images/ic_shrink@1x.png | Bin 0 -> 186 bytes CleverTapSDK/InApps/images/ic_shrink@2x.png | Bin 0 -> 349 bytes CleverTapSDK/InApps/images/ic_shrink@3x.png | Bin 0 -> 465 bytes CleverTapSDK/InApps/images/ic_thumb.png | Bin 0 -> 751 bytes .../InApps/images/sound-wave-headphones.png | Bin 0 -> 108604 bytes .../ObjCStarter.xcodeproj/project.pbxproj | 106 +- ObjCStarter/ObjCStarter/ViewController.m | 18 + ObjCStarter/Podfile | 1 - ObjCStarter/Podfile.lock | 6 +- .../CleverTap-iOS-SDK.podspec.json | 11 +- ObjCStarter/Pods/Manifest.lock | 6 +- .../Pods/Pods.xcodeproj/project.pbxproj | 1553 ++++++++++------- .../CleverTap-iOS-SDK-iOS/Info.plist | 2 +- .../CleverTap-iOS-SDK-tvOS/Info.plist | 2 +- 94 files changed, 7246 insertions(+), 967 deletions(-) delete mode 100644 CleverTapSDK/CTInAppNotification.m delete mode 100644 CleverTapSDK/CTInAppUtils.h delete mode 100644 CleverTapSDK/CTInAppUtils.m create mode 100644 CleverTapSDK/InApps/CTAVPlayerControlsViewController.h create mode 100644 CleverTapSDK/InApps/CTAVPlayerControlsViewController.m create mode 100644 CleverTapSDK/InApps/CTAVPlayerControlsViewController.xib create mode 100644 CleverTapSDK/InApps/CTAVPlayerViewController.h create mode 100644 CleverTapSDK/InApps/CTAVPlayerViewController.m create mode 100644 CleverTapSDK/InApps/CTAlertViewController.h create mode 100644 CleverTapSDK/InApps/CTAlertViewController.m create mode 100644 CleverTapSDK/InApps/CTBaseHeaderFooterViewController.h create mode 100644 CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m create mode 100644 CleverTapSDK/InApps/CTBaseHeaderFooterViewControllerPrivate.h create mode 100644 CleverTapSDK/InApps/CTCoverImageViewController.h create mode 100644 CleverTapSDK/InApps/CTCoverImageViewController.m create mode 100644 CleverTapSDK/InApps/CTCoverImageViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTCoverImageViewController~iphoneport.xib create mode 100644 CleverTapSDK/InApps/CTCoverViewController.h create mode 100644 CleverTapSDK/InApps/CTCoverViewController.m create mode 100644 CleverTapSDK/InApps/CTCoverViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTCoverViewController~iphoneport.xib rename CleverTapSDK/{ => InApps}/CTDismissButton.h (100%) rename CleverTapSDK/{ => InApps}/CTDismissButton.m (92%) create mode 100644 CleverTapSDK/InApps/CTFooterViewController.h create mode 100644 CleverTapSDK/InApps/CTFooterViewController.m create mode 100644 CleverTapSDK/InApps/CTFooterViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTFooterViewController~iphoneport.xib create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialImageViewController.h create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialImageViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialImageViewController~iphoneport.xib create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialViewController.h create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialViewController.m create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTHalfInterstitialViewController~iphoneport.xib create mode 100644 CleverTapSDK/InApps/CTHeaderViewController.h create mode 100644 CleverTapSDK/InApps/CTHeaderViewController.m create mode 100644 CleverTapSDK/InApps/CTHeaderViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTHeaderViewController~iphoneport.xib rename CleverTapSDK/{ => InApps}/CTInAppDisplayViewController.h (100%) rename CleverTapSDK/{ => InApps}/CTInAppDisplayViewController.m (56%) rename CleverTapSDK/{ => InApps}/CTInAppDisplayViewControllerPrivate.h (68%) rename CleverTapSDK/{ => InApps}/CTInAppFCManager.h (100%) rename CleverTapSDK/{ => InApps}/CTInAppFCManager.m (100%) rename CleverTapSDK/{ => InApps}/CTInAppHTMLViewController.h (100%) rename CleverTapSDK/{ => InApps}/CTInAppHTMLViewController.m (90%) rename CleverTapSDK/{ => InApps}/CTInAppNotification.h (52%) create mode 100644 CleverTapSDK/InApps/CTInAppNotification.m create mode 100644 CleverTapSDK/InApps/CTInAppResources.h create mode 100644 CleverTapSDK/InApps/CTInAppResources.m create mode 100644 CleverTapSDK/InApps/CTInAppUtils.h create mode 100644 CleverTapSDK/InApps/CTInAppUtils.m create mode 100644 CleverTapSDK/InApps/CTInterstitialImageViewController.h create mode 100644 CleverTapSDK/InApps/CTInterstitialImageViewController.m create mode 100644 CleverTapSDK/InApps/CTInterstitialImageViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTInterstitialImageViewController~iphoneport.xib create mode 100644 CleverTapSDK/InApps/CTInterstitialViewController.h create mode 100644 CleverTapSDK/InApps/CTInterstitialViewController.m create mode 100644 CleverTapSDK/InApps/CTInterstitialViewController~ipad.xib create mode 100644 CleverTapSDK/InApps/CTInterstitialViewController~iphoneport.xib create mode 100644 CleverTapSDK/InApps/CTNotificationButton.h create mode 100644 CleverTapSDK/InApps/CTNotificationButton.m create mode 100644 CleverTapSDK/InApps/CTSlider.h create mode 100644 CleverTapSDK/InApps/CTSlider.m create mode 100644 CleverTapSDK/InApps/FLAnimatedImage.h create mode 100755 CleverTapSDK/InApps/FLAnimatedImage.m create mode 100644 CleverTapSDK/InApps/FLAnimatedImageView.h create mode 100755 CleverTapSDK/InApps/FLAnimatedImageView.m create mode 100755 CleverTapSDK/InApps/images/ic_expand@1x.png create mode 100755 CleverTapSDK/InApps/images/ic_expand@2x.png create mode 100755 CleverTapSDK/InApps/images/ic_expand@3x.png create mode 100755 CleverTapSDK/InApps/images/ic_pause@1x.png create mode 100755 CleverTapSDK/InApps/images/ic_pause@2x.png create mode 100755 CleverTapSDK/InApps/images/ic_pause@3x.png create mode 100755 CleverTapSDK/InApps/images/ic_play@1x.png create mode 100755 CleverTapSDK/InApps/images/ic_play@2x.png create mode 100755 CleverTapSDK/InApps/images/ic_play@3x.png create mode 100755 CleverTapSDK/InApps/images/ic_shrink@1x.png create mode 100755 CleverTapSDK/InApps/images/ic_shrink@2x.png create mode 100755 CleverTapSDK/InApps/images/ic_shrink@3x.png create mode 100644 CleverTapSDK/InApps/images/ic_thumb.png create mode 100644 CleverTapSDK/InApps/images/sound-wave-headphones.png diff --git a/CleverTap-iOS-SDK.podspec b/CleverTap-iOS-SDK.podspec index 92b364e9..118faaa8 100644 --- a/CleverTap-iOS-SDK.podspec +++ b/CleverTap-iOS-SDK.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CleverTap-iOS-SDK" -s.version = "3.2.2" +s.version = "3.3.0" s.summary = "The CleverTap iOS SDK for App Analytics and Engagement." s.homepage = "https://github.com/CleverTap/clevertap-ios-sdk" s.license = { :type => "MIT" } @@ -8,9 +8,9 @@ s.author = { "CleverTap" => "http://www.clevertap.com" } s.source = { :git => "https://github.com/CleverTap/clevertap-ios-sdk.git", :tag => s.version.to_s } s.requires_arc = true s.module_name = 'CleverTapSDK' -s.resources = 'CleverTapSDK/*.crt' +s.resources = 'CleverTapSDK/*.crt', 'CleverTapSDK/**/*.{png,xib}' s.ios.deployment_target = '8.0' -s.ios.source_files = 'CleverTapSDK/*.{h,m}' +s.ios.source_files = 'CleverTapSDK/**/*.{h,m}' s.ios.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapInAppNotificationDelegate.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h' s.tvos.deployment_target = '9.0' s.tvos.source_files = 'CleverTapSDK/*.{h,m}' diff --git a/CleverTapSDK/CTInAppNotification.m b/CleverTapSDK/CTInAppNotification.m deleted file mode 100644 index 5b7974ab..00000000 --- a/CleverTapSDK/CTInAppNotification.m +++ /dev/null @@ -1,157 +0,0 @@ -#import "CTInAppNotification.h" -#import "CTConstants.h" - -@interface CTInAppNotification() { -} - -@property (nonatomic, readwrite) NSString* Id; -@property (nonatomic, readwrite) NSString* campaignId; -@property (nonatomic, readwrite) CTInAppType inAppType; -@property (nonatomic, copy, readwrite) NSString *html; -@property (nonatomic, copy, readwrite) NSDictionary *jsonDescription; -@property (nonatomic, readwrite) BOOL showClose; -@property (nonatomic, readwrite) BOOL darkenScreen; -@property (nonatomic, readwrite) BOOL excludeFromCaps; -@property (nonatomic, readwrite) int maxPerSession; -@property (nonatomic, readwrite) int totalLifetimeCount; -@property (nonatomic, readwrite) int totalDailyCount; -@property (nonatomic, assign, readwrite) char position; -@property (nonatomic, assign, readwrite) float height; -@property (nonatomic, assign, readwrite) float heightPercent; -@property (nonatomic, assign, readwrite) float width; -@property (nonatomic, assign, readwrite) float widthPercent; - -@property (nonatomic, copy, readwrite) NSDictionary *customExtras; - -@property (nonatomic, readwrite) NSString *error; - -@end - -@implementation CTInAppNotification: NSObject - -- (instancetype)initWithJSON:(NSDictionary *)jsonObject { - if (self = [super init]) { - @try { - self.jsonDescription = jsonObject; - if (![self validateJSON:jsonObject]) { - self.error = @"Invalid JSON"; - return self; - } - if (jsonObject[@"ti"]) { - self.Id = [NSString stringWithFormat:@"%@", jsonObject[@"ti"]]; - } - self.campaignId = (NSString*) jsonObject[@"wzrk_id"]; - self.excludeFromCaps = [jsonObject[@"efc"] boolValue]; - self.totalLifetimeCount = jsonObject[@"tlc"] ? [jsonObject[@"tlc"] intValue] : -1; - self.totalDailyCount = jsonObject[@"tdc"] ? [jsonObject[@"tdc"] intValue] : -1; - NSDictionary *data = (NSDictionary*) jsonObject[@"d"]; - if (data) { - NSString *html = (NSString*) data[CLTAP_INAPP_DATA_TAG]; - if (html) { - self.html = html; - self.inAppType = [CTInAppUtils inAppTypeFromString:@"html"]; - } - NSDictionary* customExtras = (NSDictionary *) data[@"kv"]; - if (!customExtras) customExtras = [NSDictionary new]; - self.customExtras = customExtras; - } - NSDictionary *displayParams = jsonObject[@"w"]; - if (displayParams) { - self.darkenScreen = [displayParams[CLTAP_INAPP_NOTIF_DARKEN_SCREEN] boolValue]; - self.showClose = [displayParams[CLTAP_INAPP_NOTIF_SHOW_CLOSE] boolValue]; - self.position = (char) [displayParams[CLTAP_INAPP_POSITION] characterAtIndex:0]; - self.width = displayParams[CLTAP_INAPP_X_DP] ? [displayParams[CLTAP_INAPP_X_DP] floatValue] : 0.0; - self.widthPercent = displayParams[CLTAP_INAPP_X_PERCENT] ? [displayParams[CLTAP_INAPP_X_PERCENT] floatValue] : 0.0; - self.height = displayParams[CLTAP_INAPP_Y_DP] ? [displayParams[CLTAP_INAPP_Y_DP] floatValue] : 0.0; - self.heightPercent = displayParams[CLTAP_INAPP_Y_PERCENT] ? [displayParams[CLTAP_INAPP_Y_PERCENT] floatValue] : 0.0; - self.maxPerSession = displayParams[@"mdc"] ? [displayParams[@"mdc"] intValue] : -1; - } - } @catch (NSException *e) { - self.error = e.debugDescription; - } - } - return self; -} - -- (void)prepareWithCompletionHandler: (void (^)(void))completionHandler { - if ([NSThread isMainThread]) { - self.error = [NSString stringWithFormat:@"[%@ prepareWithCompletionHandler] should not be called on the main thread", [self class]]; - completionHandler(); - return; - } - completionHandler(); -} - -- (BOOL)validateJSON:(NSDictionary *)jsonObject { - // Check that either xdp or xp is set - NSDictionary *w = jsonObject[@"w"]; - if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_X_DP ofClass:[NSNumber class]]) if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_X_PERCENT ofClass:[NSNumber class]]) - return FALSE; - - // Check that either ydp or yp is set - if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_Y_DP ofClass:[NSNumber class]]) if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_Y_PERCENT ofClass:[NSNumber class]]) - return FALSE; - - // Check that dk is set - if ([self isKeyValidInDictionary:w forKey:CLTAP_INAPP_NOTIF_DARKEN_SCREEN ofClass:[NSNumber class]]) { - @try { - [w[CLTAP_INAPP_NOTIF_DARKEN_SCREEN] boolValue]; - } - @catch (NSException *exception) { - return FALSE; - } - } else { - return FALSE; - } - - // Check that sc is set - if ([self isKeyValidInDictionary:w forKey:CLTAP_INAPP_NOTIF_SHOW_CLOSE ofClass:[NSNumber class]]) { - @try { - [w[CLTAP_INAPP_NOTIF_SHOW_CLOSE] boolValue]; - } - @catch (NSException *exception) { - return FALSE; - } - } else { - return FALSE; - } - - NSDictionary *d = jsonObject[@"d"]; - // Check that html is set - if (![self isKeyValidInDictionary:d forKey:CLTAP_INAPP_DATA_TAG ofClass:[NSString class]]) - return FALSE; - - // Check that pos contains the right value - if ([self isKeyValidInDictionary:w forKey:CLTAP_INAPP_POSITION ofClass:[NSString class]]) { - char pos = (char) [w[CLTAP_INAPP_POSITION] characterAtIndex:0]; - switch (pos) { - case CLTAP_INAPP_POSITION_TOP: - break; - case CLTAP_INAPP_POSITION_RIGHT: - break; - case CLTAP_INAPP_POSITION_BOTTOM: - break; - case CLTAP_INAPP_POSITION_LEFT: - break; - case CLTAP_INAPP_POSITION_CENTER: - break; - default: - return false; - } - } else - return false; - - return true; -} - -- (BOOL)isKeyValidInDictionary:(NSDictionary *)d forKey:(NSString *)key ofClass:(Class)type { - if (d[key] != nil) { - if ([d[key] isKindOfClass:type]) { - return TRUE; - } - } - return FALSE; -} - - -@end diff --git a/CleverTapSDK/CTInAppUtils.h b/CleverTapSDK/CTInAppUtils.h deleted file mode 100644 index 3f7e0314..00000000 --- a/CleverTapSDK/CTInAppUtils.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -typedef NS_ENUM(NSUInteger, CTInAppType){ - CTInAppTypeHTML, - -}; - -@interface CTInAppUtils : NSObject - -+(CTInAppType)inAppTypeFromString:(NSString*)type; - -@end diff --git a/CleverTapSDK/CTInAppUtils.m b/CleverTapSDK/CTInAppUtils.m deleted file mode 100644 index fa6562d5..00000000 --- a/CleverTapSDK/CTInAppUtils.m +++ /dev/null @@ -1,21 +0,0 @@ -#import "CTInAppUtils.h" - -static NSDictionary *_inAppTypeMap; - -@implementation CTInAppUtils - -+ (void)load { - _inAppTypeMap = @{ - @"html": @(CTInAppTypeHTML), - }; -} - -+(CTInAppType)inAppTypeFromString:(NSString*)type { - NSNumber *_type = _inAppTypeMap[type]; - if (!_type) { - _type = @(CTInAppTypeHTML); - } - return [_type integerValue]; -} - -@end diff --git a/CleverTapSDK/CleverTap.m b/CleverTapSDK/CleverTap.m index 42cac222..52377c24 100644 --- a/CleverTapSDK/CleverTap.m +++ b/CleverTapSDK/CleverTap.m @@ -23,6 +23,15 @@ #import "CTInAppDisplayViewController.h" #if !CLEVERTAP_NO_INAPP_SUPPORT #import "CTInAppHTMLViewController.h" +#import "CTInterstitialViewController.h" +#import "CTHalfInterstitialViewController.h" +#import "CTCoverViewController.h" +#import "CTHeaderViewController.h" +#import "CTFooterViewController.h" +#import "CTAlertViewController.h" +#import "CTCoverImageViewController.h" +#import "CTInterstitialImageViewController.h" +#import "CTHalfInterstitialImageViewController.h" #endif #import "CTLocationManager.h" @@ -1544,6 +1553,33 @@ - (void)displayNotification:(CTInAppNotification*)notification { case CTInAppTypeHTML: controller = [[CTInAppHTMLViewController alloc] initWithNotification:notification]; break; + case CTInAppTypeInterstitial: + controller = [[CTInterstitialViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeHalfInterstitial: + controller = [[CTHalfInterstitialViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeCover: + controller = [[CTCoverViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeHeader: + controller = [[CTHeaderViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeFooter: + controller = [[CTFooterViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeAlert: + controller = [[CTAlertViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeInterstitialImage: + controller = [[CTInterstitialImageViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeHalfInterstitialImage: + controller = [[CTHalfInterstitialImageViewController alloc] initWithNotification:notification]; + break; + case CTInAppTypeCoverImage: + controller = [[CTCoverImageViewController alloc] initWithNotification:notification]; + break; default: errorString = [NSString stringWithFormat:@"Unhandled notification type: %lu", (unsigned long)notification.inAppType]; break; diff --git a/CleverTapSDK/CleverTapBuildInfo.h b/CleverTapSDK/CleverTapBuildInfo.h index 52c03e57..4dfa595d 100644 --- a/CleverTapSDK/CleverTapBuildInfo.h +++ b/CleverTapSDK/CleverTapBuildInfo.h @@ -5,4 +5,4 @@ // Copyright (c) 2015 WizRocket. All rights reserved. // -#define WR_SDK_REVISION @"30202" +#define WR_SDK_REVISION @"30300" diff --git a/CleverTapSDK/InApps/CTAVPlayerControlsViewController.h b/CleverTapSDK/InApps/CTAVPlayerControlsViewController.h new file mode 100644 index 00000000..312883b5 --- /dev/null +++ b/CleverTapSDK/InApps/CTAVPlayerControlsViewController.h @@ -0,0 +1,16 @@ +#import +#import + + +@protocol CTAVPlayerControlsDelegate +- (void)toggleFullscreen; +@end + +@interface CTAVPlayerControlsViewController : UIViewController + +@property (nonatomic, weak) id delegate; + +- (instancetype)init __unavailable; +- (instancetype)initWithPlayer:(AVPlayer*)player andConfig:(NSDictionary*)config; + +@end diff --git a/CleverTapSDK/InApps/CTAVPlayerControlsViewController.m b/CleverTapSDK/InApps/CTAVPlayerControlsViewController.m new file mode 100644 index 00000000..471d49f9 --- /dev/null +++ b/CleverTapSDK/InApps/CTAVPlayerControlsViewController.m @@ -0,0 +1,251 @@ +#import "CTAVPlayerControlsViewController.h" +#import "CTAVPlayerViewController.h" +#import "CTInAppUtils.h" +#import "CTSlider.h" + +static const float kAVSliderHeight = 18; + +@interface CTAVPlayerControlsViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet CTSlider *avSlider; +@property (nonatomic, strong) IBOutlet UIButton *playButton; +@property (nonatomic, strong) IBOutlet UILabel *currentTimeLabel; +@property (nonatomic, strong) IBOutlet UILabel *remainingTimeLabel; +@property (nonatomic, strong) IBOutlet UIButton *fullscreenButton; +@property (nonatomic, weak) NSTimer *controllersTimer; +@property (nonatomic, assign) NSInteger controllersTimeoutPeriod; +@property (nonatomic, assign) BOOL isControlsHidden; +@property (nonatomic, assign) BOOL allowsFullscreen; + +@property (nonatomic, strong, readwrite) AVPlayer *player; +@property (nonatomic, strong) id periodicTimeObserver; + +@end + +@implementation CTAVPlayerControlsViewController + +- (instancetype)initWithPlayer:(AVPlayer*)player andConfig:(NSDictionary *)config { + self = [super initWithNibName:NSStringFromClass([self class]) bundle:[CTInAppUtils bundle]]; + if (self) { + _player = player; + _allowsFullscreen = [config[@"fullscreen"] boolValue]; + } + return self; +} + +- (void)dealloc { + [self.player pause]; + self.player = nil; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + self.view.backgroundColor = [UIColor clearColor]; + self.containerView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.65f]; + + // setup fullscreen button + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + UIImage *imageShrink = [UIImage imageNamed:@"ic_shrink.png" inBundle:bundle compatibleWithTraitCollection:nil]; + UIImage *imageExpand = [UIImage imageNamed:@"ic_expand.png" inBundle:bundle compatibleWithTraitCollection:nil]; + [self.fullscreenButton setImage:imageExpand forState:UIControlStateNormal]; + [self.fullscreenButton setImage:imageShrink forState:UIControlStateSelected]; + [self.fullscreenButton addTarget:self action:@selector(toggleFullscreen:) forControlEvents:UIControlEventTouchUpInside]; + + self.fullscreenButton.hidden = !_allowsFullscreen; + + // setup progress slider + UIImage *imagethumb = [UIImage imageNamed:@"ic_thumb.png" inBundle:bundle compatibleWithTraitCollection:nil]; + imagethumb = [imagethumb resizableImageWithCapInsets:UIEdgeInsetsZero resizingMode:UIImageResizingModeTile]; + [self.avSlider setThumbImage:imagethumb forState:UIControlStateNormal]; + self.avSlider.tintColor = [UIColor whiteColor]; + self.avSlider.maximumTrackTintColor = [UIColor whiteColor]; + self.avSlider.minimumTrackTintColor = [UIColor redColor]; + [self.avSlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; + self.avSlider.minimumValue = 0; + CGFloat availableDuration = [self duration]; + self.avSlider.maximumValue = round(availableDuration); + + [[NSLayoutConstraint constraintWithItem:self.avSlider + attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual + toItem:nil attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 constant:kAVSliderHeight] setActive:YES]; + + // setup time-labels + self.currentTimeLabel.text = @"00:00"; + self.remainingTimeLabel.text = @"00:00"; + + + // setup play button + UIImage *imagePlay = [UIImage imageNamed:@"ic_play.png" inBundle:bundle compatibleWithTraitCollection:nil]; + UIImage *imagePause = [UIImage imageNamed:@"ic_pause.png" inBundle:bundle compatibleWithTraitCollection:nil]; + [self.playButton setImage:imagePlay forState:UIControlStateNormal]; + [self.playButton setImage:imagePause forState:UIControlStateSelected]; + [self.playButton addTarget:self action:@selector(togglePlay) forControlEvents:UIControlEventTouchUpInside]; + + self.controllersTimeoutPeriod = 3; + + UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(togglePlayControls:)]; + [self.view addGestureRecognizer:tapGesture]; + + __weak typeof(self) weakSelf = self; + _periodicTimeObserver = [self.player addPeriodicTimeObserverForInterval:CMTimeMake(1, 2) queue:nil usingBlock:^(CMTime progressTime) { + [weakSelf progressDidUpdate:progressTime]; + }]; +} + +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; + [self pause]; + [self.player removeTimeObserver:_periodicTimeObserver]; + _periodicTimeObserver = nil; +} + +#pragma mark - Actions + +- (void)play { + if (self.player != nil) { + [self.player play]; + [self.playButton setSelected:YES]; + [self startAVIdleCountdown]; + } +} + +- (void)stop { + [self pause]; + if (self.player != nil) { + [self.player seekToTime:kCMTimeZero]; + [self.playButton setSelected:NO]; + [self stopAVIdleCountdown]; + } +} + +- (void)pause { + if (self.player != nil) { + [self.player pause]; + [self.playButton setSelected:NO]; + [self stopAVIdleCountdown]; + } +} + +- (CGFloat)duration { + return (self.player && self.player.currentItem) ? CMTimeGetSeconds(self.player.currentItem.asset.duration) : 0; +} + +- (BOOL)isPlaying { + return self.player && self.player.rate > 0; +} + +- (CGFloat)currentTime { + return self.player ? CMTimeGetSeconds(self.player.currentTime) : 0.0; +} + +- (AVPlayerItemStatus)currentStatus { + return (self.player && self.player.currentItem) ? self.player.currentItem.status : AVPlayerItemStatusUnknown; +} + +- (void)togglePlay { + if (![self isPlaying]){ + [self play]; + } else { + [self pause]; + } +} + +- (void)seekTo:(CMTime)time { + if(self.player) { + [self pause]; + [self.player seekToTime:time]; + if (![self isPlaying]) { + [self play]; + } + } +} + +- (void)progressDidUpdate:(CMTime)progressTime { + CGFloat availableDuration = [self duration]; + Float64 seconds = CMTimeGetSeconds(progressTime); + NSString *secondsString = [NSString stringWithFormat:@"%02d", (int)(((int)seconds % 60))]; + NSString *minutesString = [NSString stringWithFormat:@"%02d", (int)(seconds/60)]; + self.currentTimeLabel.text = [NSString stringWithFormat:@"%@:%@", minutesString, secondsString]; + + Float64 remaininingSeconds = round(availableDuration) - CMTimeGetSeconds(progressTime); + NSString *secondsString1 = [NSString stringWithFormat:@"%02d", (int)(((int)remaininingSeconds % 60))]; + NSString *minutesString1 = [NSString stringWithFormat:@"%02d", (int)(remaininingSeconds/60)]; + self.remainingTimeLabel.text = [NSString stringWithFormat:@"-%@:%@", minutesString1, secondsString1]; + + // move the slider thumb + if ([self currentStatus] == AVPlayerStatusReadyToPlay) { + CGFloat currentTime = [self currentTime]; + [self.avSlider setValue:round(currentTime) animated:NO]; + } + + if (round(seconds) >= round(availableDuration)) { + [self stop]; + } +} + +- (void)sliderValueChanged:(UISlider *)sender { + Float64 seconds = self.avSlider.value; + CMTime targetTime = CMTimeMake(seconds, 2); + [self seekTo:targetTime]; +} + +- (void)togglePlayControls:(UIGestureRecognizer *)sender { + if (self.isControlsHidden) { + [self showControls:YES]; + }else { + [self hideControls:YES]; + } +} + +- (void)toggleFullscreen:(UIButton *)sender { + sender.selected = !sender.selected; + if (self.delegate && [self.delegate respondsToSelector:@selector(toggleFullscreen)]) { + [self.delegate toggleFullscreen]; + } + [self hideControls:NO]; +} + +- (void)showControls:(BOOL)animated { + if (!animated) { + [self.containerView setAlpha:1.0f]; + self.isControlsHidden = YES; + return; + } + [UIView animateWithDuration:0.3f animations:^{ + [self.containerView setAlpha:1.0f]; + } completion:^(BOOL finished) { + self.isControlsHidden = false; + }]; +} + +- (void)hideControls:(BOOL)animated { + if (!animated) { + [self.containerView setAlpha:0.0f]; + self.isControlsHidden = YES; + return; + } + [UIView animateWithDuration:0.3f animations:^{ + [self.containerView setAlpha:0.0f]; + } completion:^(BOOL finished) { + self.isControlsHidden = true; + }]; +} + +- (void)startAVIdleCountdown { + if (self.controllersTimer) { + [self.controllersTimer invalidate]; + } + if (self.controllersTimeoutPeriod > 0) { + self.controllersTimer = [NSTimer scheduledTimerWithTimeInterval:self.controllersTimeoutPeriod target:self selector:@selector(hideControls:) userInfo:nil repeats:NO]; + } +} + +- (void)stopAVIdleCountdown { + if (self.controllersTimer) { + [self.controllersTimer invalidate]; + } +} + +@end diff --git a/CleverTapSDK/InApps/CTAVPlayerControlsViewController.xib b/CleverTapSDK/InApps/CTAVPlayerControlsViewController.xib new file mode 100644 index 00000000..c3236dc5 --- /dev/null +++ b/CleverTapSDK/InApps/CTAVPlayerControlsViewController.xib @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTAVPlayerViewController.h b/CleverTapSDK/InApps/CTAVPlayerViewController.h new file mode 100644 index 00000000..977e008e --- /dev/null +++ b/CleverTapSDK/InApps/CTAVPlayerViewController.h @@ -0,0 +1,20 @@ +#import +#import "CTAVPlayerControlsViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@class CTInAppNotification; + +@protocol CTAVPlayerViewControllerDelegate +- (void)toggleFullscreen; +@end + +@interface CTAVPlayerViewController : AVPlayerViewController + +@property (nonatomic, weak) id playerDelegate; + +- (instancetype)initWithNotification:(CTInAppNotification*)notification; + +@end + +NS_ASSUME_NONNULL_END diff --git a/CleverTapSDK/InApps/CTAVPlayerViewController.m b/CleverTapSDK/InApps/CTAVPlayerViewController.m new file mode 100644 index 00000000..e09b9114 --- /dev/null +++ b/CleverTapSDK/InApps/CTAVPlayerViewController.m @@ -0,0 +1,91 @@ +#import "CTAVPlayerViewController.h" +#import "CTInAppNotification.h" +#import "CTInAppResources.h" + +@interface CTAVPlayerViewController () + +@property (nonatomic, strong) CTAVPlayerControlsViewController *controlsViewVC; +@property (nonatomic, strong) CTInAppNotification *notification; +@property (nonatomic, strong) UIImageView *imageView; + +@end + +@implementation CTAVPlayerViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + self = [super init]; + if (self) { + _notification = notification; + AVPlayerItem *avPlayerItem = [AVPlayerItem playerItemWithURL:[NSURL URLWithString:self.notification.mediaUrl]]; + self.player = [AVPlayer playerWithPlayerItem:avPlayerItem]; + } + return self; +} + +- (void)dealloc { + [self.controlsViewVC removeFromParentViewController]; + self.controlsViewVC = nil; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; + self.showsPlaybackControls = NO; + self.view.backgroundColor = [UIColor clearColor]; + self.view.translatesAutoresizingMaskIntoConstraints = NO; + + self.controlsViewVC = [[CTAVPlayerControlsViewController alloc] initWithPlayer:self.player andConfig:@{@"fullscreen":@(!self.notification.mediaIsAudio)}]; + [self addChildViewController:self.controlsViewVC]; + [self.view addSubview:self.controlsViewVC.view]; + [self.controlsViewVC didMoveToParentViewController:self]; + self.controlsViewVC.delegate = self; + self.controlsViewVC.view.translatesAutoresizingMaskIntoConstraints = NO; + + [[NSLayoutConstraint constraintWithItem:self.controlsViewVC.view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeWidth + multiplier:1 constant:0] setActive:YES]; + + [[NSLayoutConstraint constraintWithItem:self.controlsViewVC.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeHeight + multiplier:1 constant:0] setActive:YES]; + + [[NSLayoutConstraint constraintWithItem:self.controlsViewVC.view attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:0] setActive:YES]; + + [[NSLayoutConstraint constraintWithItem:self.controlsViewVC.view attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:0] setActive:YES]; + + [[NSLayoutConstraint constraintWithItem:self.controlsViewVC.view attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeCenterY + multiplier:1 constant:0] setActive:YES]; + + if (self.notification.mediaIsAudio) { + + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + UIImage *image = [UIImage imageNamed:@"sound-wave-headphones.png" inBundle:bundle compatibleWithTraitCollection:nil]; + self.imageView = [[UIImageView alloc] initWithFrame: self.controlsViewVC.view.frame]; + self.imageView.backgroundColor = [UIColor whiteColor]; + self.imageView.contentMode = UIViewContentModeScaleAspectFit; + self.imageView.image = image; + [self.contentOverlayView addSubview:self.imageView]; + } +} + +- (void)viewDidLayoutSubviews { + [super viewDidLayoutSubviews]; + self.controlsViewVC.view.frame = self.view.bounds; + self.imageView.frame = self.controlsViewVC.view.bounds; + [self.view bringSubviewToFront:self.controlsViewVC.view]; +} + +#pragma mark - Delegates + +- (void)toggleFullscreen { + if (self.playerDelegate && [self.playerDelegate respondsToSelector:@selector(toggleFullscreen)]) { + [self.playerDelegate toggleFullscreen]; + } +} + +@end diff --git a/CleverTapSDK/InApps/CTAlertViewController.h b/CleverTapSDK/InApps/CTAlertViewController.h new file mode 100644 index 00000000..e67befbc --- /dev/null +++ b/CleverTapSDK/InApps/CTAlertViewController.h @@ -0,0 +1,5 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTAlertViewController : CTInAppDisplayViewController + +@end diff --git a/CleverTapSDK/InApps/CTAlertViewController.m b/CleverTapSDK/InApps/CTAlertViewController.m new file mode 100644 index 00000000..41ce81e5 --- /dev/null +++ b/CleverTapSDK/InApps/CTAlertViewController.m @@ -0,0 +1,125 @@ +#import "CTAlertViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTInAppResources.h" + +@interface CTAlertViewController () + +@end + +@implementation CTAlertViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + if (self) { + self.notification = notification; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = [UIColor clearColor]; + [self setupDialogNotification]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +#pragma mark - Setup Notification + +- (void)setupDialogNotification { + + UIAlertController *dialogBox = [UIAlertController + alertControllerWithTitle: self.notification.title + message: self.notification.message + preferredStyle:UIAlertControllerStyleAlert]; + + if (self.notification.buttons && self.notification.buttons.count > 0) { + + //Add Buttons + UIAlertAction *firstButton = [UIAlertAction + actionWithTitle:self.notification.buttons[0].text + style:UIAlertActionStyleDefault + handler:^(UIAlertAction * action) { + [self handleAlertButtonClickFromIndex:0]; + }]; + + [dialogBox addAction:firstButton]; + + if (self.notification.buttons.count == 2) { + + UIAlertAction *secondButton = [UIAlertAction + actionWithTitle:self.notification.buttons[1].text + style:UIAlertActionStyleDefault + handler:^(UIAlertAction * action) { + [self handleAlertButtonClickFromIndex:1]; + }]; + + [dialogBox addAction:secondButton]; + } else if (self.notification.buttons.count == 3) { + + UIAlertAction *secondButton = [UIAlertAction + actionWithTitle:self.notification.buttons[1].text + style:UIAlertActionStyleDefault + handler:^(UIAlertAction * action) { + [self handleAlertButtonClickFromIndex:1]; + }]; + + [dialogBox addAction:secondButton]; + + UIAlertAction *thirdButton = [UIAlertAction + actionWithTitle:self.notification.buttons[2].text + style:UIAlertActionStyleDefault + handler:^(UIAlertAction * action) { + [self handleAlertButtonClickFromIndex:2]; + }]; + + [dialogBox addAction:thirdButton]; + } + } + + dispatch_async(dispatch_get_main_queue(), ^{ + [self presentViewController:dialogBox animated:YES completion:nil]; + }); +} + +- (void)handleAlertButtonClickFromIndex:(int)index { + [self handleButtonClickFromIndex:index]; + [self hide:true]; +} + +- (void)showFromWindow:(BOOL)animated { + + if (!self.notification) return; + + self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; + self.window.alpha = 0; + self.window.backgroundColor = [UIColor clearColor]; + self.window.windowLevel = UIWindowLevelNormal; + self.window.rootViewController = self; + [self.window makeKeyAndVisible]; + [self.window setHidden:NO]; + + void (^completionBlock)(void) = ^ { + if (self.delegate && [self.delegate respondsToSelector:@selector(notificationDidShow:fromViewController:)]) { + [self.delegate notificationDidShow:self.notification fromViewController:self]; + } + }; + + self.window.alpha = 1.0; + completionBlock(); +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.h b/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.h new file mode 100644 index 00000000..8c01748a --- /dev/null +++ b/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.h @@ -0,0 +1,5 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTBaseHeaderFooterViewController : CTInAppDisplayViewController + +@end diff --git a/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m b/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m new file mode 100644 index 00000000..205cdaaf --- /dev/null +++ b/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m @@ -0,0 +1,369 @@ + +#import "CTBaseHeaderFooterViewController.h" +#import "CTBaseHeaderFooterViewControllerPrivate.h" +#import "CTInAppDisplayViewControllerPrivate.h" + +typedef enum { + kWRSlideStatusNormal = 0, + kWRSlideStatusLeftExpanded, + kWRSlideStatusLeftExpanding, + kWRSlideStatusRightExpanded, + kWRSlideStatusRightExpanding, +} kWRSlideStatus; + +typedef enum { + WRSlideCellDirectionRight, + WRSlideCellDirectionLeft, +} WRSlideCellDirection; + +#define kMinimumVelocity self.containerView.frame.size.width*1.5 +#define kMinimumPan 60.0 +#define kBOUNCE_DISTANCE 0.0 + + +@interface CTBaseHeaderFooterViewController () { + + kWRSlideStatus _currentStatus; +} + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UILabel *titleLabel; +@property (nonatomic, strong) IBOutlet UILabel *bodyLabel; +@property (nonatomic, strong) IBOutlet UIImageView *imageView; +@property (nonatomic, strong) IBOutlet UIView *buttonsContainer; +@property (nonatomic, strong) IBOutlet UIView *secondButtonContainer; +@property (nonatomic, strong) IBOutlet UIButton *firstButton; +@property (nonatomic, strong) IBOutlet UIButton *secondButton; +@property (nonatomic, strong) IBOutlet UIView *imageContainer; + +@property(nonatomic, retain) UIPanGestureRecognizer *panGesture; +@property(nonatomic, assign) CGFloat initialHorizontalCenter; +@property(nonatomic, assign) CGFloat initialTouchPositionX; + +@property(nonatomic, assign) WRSlideCellDirection lastDirection; +@property(nonatomic, assign) CGFloat originalCenter; + +@property(nonatomic, assign) BOOL revealing; + +@end + +@implementation CTBaseHeaderFooterViewController + +- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil notification:(CTInAppNotification *)notification { + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + self.shouldPassThroughTouches = YES; + self.notification = notification; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + self.view.backgroundColor = [UIColor clearColor]; + CTInAppPassThroughView *view = (CTInAppPassThroughView*)self.view; + view.delegate = self; + [self layoutNotification]; +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + if (self.notification.darkenScreen) { + self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.75f]; + } + + // set image + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.clipsToBounds = YES; + self.imageView.hidden = NO; + self.imageView.contentMode = UIViewContentModeScaleAspectFill; + self.imageView.image = [UIImage imageWithData:self.notification.image]; + } else { + [[NSLayoutConstraint constraintWithItem:self.imageContainer attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 constant:20] setActive:YES]; + self.imageView.hidden = YES; + } + + if (self.notification.title) { + self.titleLabel.textAlignment = NSTextAlignmentLeft; + self.titleLabel.backgroundColor = [UIColor clearColor]; + self.titleLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.titleColor]; + self.titleLabel.text = self.notification.title; + } + + if (self.notification.message) { + self.bodyLabel.textAlignment = NSTextAlignmentLeft; + self.bodyLabel.backgroundColor = [UIColor clearColor]; + self.bodyLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.messageColor]; + self.bodyLabel.numberOfLines = 0; + self.bodyLabel.text = self.notification.message; + } + + if (!self.notification.showClose) { + _panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureHandle:)]; + _panGesture.delegate = self; + [self.containerView addGestureRecognizer:_panGesture]; + } + + self.firstButton.hidden = YES; + self.secondButton.hidden = YES; + + if (self.notification.buttons && self.notification.buttons.count > 0) { + self.firstButton = [self setupViewForButton:self.firstButton withData:self.notification.buttons[0] withIndex:0]; + if (self.notification.buttons.count == 2) { + _secondButton = [self setupViewForButton:_secondButton withData:self.notification.buttons[1] withIndex:1]; + } else { + [[NSLayoutConstraint constraintWithItem:self.secondButtonContainer attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual + toItem:nil attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 constant:0] setActive:YES]; + } + } +} + +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { + return YES; +} + +- (void)panGestureHandle:(UIPanGestureRecognizer *)recognizer { + //begin pan... + if (recognizer.state == UIGestureRecognizerStateBegan) { + self.initialTouchPositionX = [recognizer locationInView:self.view].x; + self.initialHorizontalCenter = self.containerView.center.x; + } else if (recognizer.state == UIGestureRecognizerStateChanged) { //status change + + CGFloat panAmount = _initialTouchPositionX - [recognizer locationInView:self.view].x; + CGFloat newCenterPosition = _initialHorizontalCenter - panAmount; + CGFloat centerX = self.containerView.center.x; + + if (centerX > _originalCenter && _currentStatus != kWRSlideStatusLeftExpanding) { + _currentStatus = kWRSlideStatusLeftExpanding; + } + else if (centerX < _originalCenter && _currentStatus != kWRSlideStatusRightExpanding) { + _currentStatus = kWRSlideStatusRightExpanding; + } + + if (panAmount > 0) { + _lastDirection = WRSlideCellDirectionLeft; + } + else { + _lastDirection = WRSlideCellDirectionRight; + } + + if (newCenterPosition > self.view.bounds.size.width + self.containerView.bounds.size.width) { + newCenterPosition = self.view.bounds.size.width + self.containerView.bounds.size.width; + } + else if (newCenterPosition < -self.containerView.bounds.size.width) { + newCenterPosition = -self.containerView.bounds.size.width; + } + CGPoint center = self.containerView.center; + center.x = newCenterPosition; + self.containerView.layer.position = center; + } + else if (recognizer.state == UIGestureRecognizerStateEnded || + recognizer.state == UIGestureRecognizerStateCancelled) { + + CGPoint translation = [recognizer translationInView:self.view]; + CGFloat velocityX = [recognizer velocityInView:self.view].x; + + BOOL isNeedPush = (fabs(velocityX) > kMinimumVelocity); + + isNeedPush |= ((_lastDirection == WRSlideCellDirectionLeft && translation.x < -kMinimumPan) || + (_lastDirection == WRSlideCellDirectionRight && translation.x > kMinimumPan)); + + if (velocityX > 0 && _lastDirection == WRSlideCellDirectionLeft) { + isNeedPush = NO; + } + + else if (velocityX < 0 && _lastDirection == WRSlideCellDirectionRight) { + isNeedPush = NO; + } + + if (isNeedPush && !self.revealing) { + + if (_lastDirection == WRSlideCellDirectionRight) { + _currentStatus = kWRSlideStatusLeftExpanding; + } + else { + _currentStatus = kWRSlideStatusRightExpanding; + } + [self _slideOutContentViewInDirection:_lastDirection]; + [self _setRevealing:YES]; + } + else if (self.revealing && translation.x != 0) { + WRSlideCellDirection direct = _currentStatus == kWRSlideStatusRightExpanding ? WRSlideCellDirectionLeft : WRSlideCellDirectionRight; + + [self _slideInContentViewFromDirection:direct]; + [self _setRevealing:NO]; + } + else if (translation.x != 0) { + // Figure out which side we've dragged on. + WRSlideCellDirection finalDir = WRSlideCellDirectionRight; + if (translation.x < 0) + finalDir = WRSlideCellDirectionLeft; + [self _slideInContentViewFromDirection:finalDir]; + [self _setRevealing:NO]; + } + } +} + +#pragma mark - revealing setter + +- (void)setRevealing:(BOOL)revealing { + if (_revealing == revealing) { + return; + } + [self _setRevealing:revealing]; + + if (self.revealing) { + [self _slideOutContentViewInDirection:_lastDirection]; + } else { + [self _slideInContentViewFromDirection:_lastDirection]; + } +} + +- (void)_setRevealing:(BOOL)revealing { + _revealing = revealing; +} + +#pragma mark - ContentView Sliding + +- (void)_slideInContentViewFromDirection:(WRSlideCellDirection)direction { + CGFloat bounceDistance; + + if (self.containerView.center.x == _originalCenter) + return; + + switch (direction) { + case WRSlideCellDirectionRight: + bounceDistance = kBOUNCE_DISTANCE; + break; + case WRSlideCellDirectionLeft: + bounceDistance = (CGFloat) -kBOUNCE_DISTANCE; + break; + default: + break; + } + + [UIView animateWithDuration:0.1 + delay:0 + options:UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAllowUserInteraction + animations:^{ + self->_containerView.center = CGPointMake(self->_originalCenter, self->_containerView.center.y); + } + completion:^(BOOL f) { + [UIView animateWithDuration:0.1 delay:0 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_containerView.frame = CGRectOffset(self->_containerView.frame, bounceDistance, 0); + } + completion:^(BOOL f2) { + [UIView animateWithDuration:0.1 delay:0 + options:UIViewAnimationOptionCurveEaseIn + animations:^{ + self->_containerView.frame = CGRectOffset(self->_containerView.frame, -bounceDistance, 0); + } + completion:^(BOOL f1) { + self->_currentStatus = kWRSlideStatusNormal; + }]; + }]; + }]; +} + +- (void)_slideOutContentViewInDirection:(WRSlideCellDirection)direction; { + CGFloat newCenterX; + CGFloat bounceDistance; + switch (direction) { + case WRSlideCellDirectionLeft: { + newCenterX = -self.containerView.bounds.size.width; + bounceDistance = (CGFloat) -kBOUNCE_DISTANCE; + _currentStatus = kWRSlideStatusLeftExpanded; + } + break; + case WRSlideCellDirectionRight: { + newCenterX = self.view.bounds.size.width + self.containerView.bounds.size.width; + bounceDistance = kBOUNCE_DISTANCE; + _currentStatus = kWRSlideStatusRightExpanded; + } + break; + default: + break; + } + + [UIView animateWithDuration:0.1 + delay:0 + options:UIViewAnimationOptionCurveEaseOut + animations:^{ + self->_containerView.center = CGPointMake(newCenterX, self->_containerView.center.y); + } + completion:^(BOOL f) { + [UIView animateWithDuration:0.1 delay:0 + options:UIViewAnimationOptionCurveEaseIn + animations:^{ + self->_containerView.frame = CGRectOffset(self->_containerView.frame, -bounceDistance, 0); + } + completion:^(BOOL f1) { + [UIView animateWithDuration:0.1 delay:0 + options:UIViewAnimationOptionCurveEaseIn + animations:^{ + self->_containerView.frame = CGRectOffset(self->_containerView.frame, bounceDistance, 0); + } + completion:^(BOOL finished) { + [self hide:NO]; + }]; + }]; + }]; +} + +#pragma mark - UIGestureRecognizerDelegate + +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { + if (gestureRecognizer == _panGesture) { + UIScrollView *superview = (UIScrollView *) self.view; + CGPoint translation = [(UIPanGestureRecognizer *) gestureRecognizer translationInView:superview]; + // Make it scrolling horizontally + return fabs(translation.x) / fabs(translation.y) > 1; + } + return YES; +} + +- (void)showFromWindow:(BOOL)animated { + if (!self.notification) return; + self.window = [[CTInAppPassThroughWindow alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; + self.window.alpha = 0; + self.window.backgroundColor = [UIColor clearColor]; + self.window.windowLevel = UIWindowLevelNormal; + self.window.rootViewController = self; + [self.window setHidden:NO]; + + void (^completionBlock)(void) = ^ { + if (self.delegate && [self.delegate respondsToSelector:@selector(notificationDidShow:fromViewController:)]) { + [self.delegate notificationDidShow:self.notification fromViewController:self]; + } + }; + if (animated) { + [UIView animateWithDuration:0.25 animations:^{ + self.window.alpha = 1.0; + } completion:^(BOOL finished) { + completionBlock(); + }]; + } else { + self.window.alpha = 1.0; + completionBlock(); + } +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTBaseHeaderFooterViewControllerPrivate.h b/CleverTapSDK/InApps/CTBaseHeaderFooterViewControllerPrivate.h new file mode 100644 index 00000000..bd5da3a3 --- /dev/null +++ b/CleverTapSDK/InApps/CTBaseHeaderFooterViewControllerPrivate.h @@ -0,0 +1,9 @@ +@interface CTBaseHeaderFooterViewController () + +- (instancetype)initWithNibName:(NSString *)nibNameOrNil + bundle:(NSBundle *)nibBundleOrNil + notification: (CTInAppNotification *)notification; + +- (void)layoutNotification; + +@end diff --git a/CleverTapSDK/InApps/CTCoverImageViewController.h b/CleverTapSDK/InApps/CTCoverImageViewController.h new file mode 100644 index 00000000..722d1c05 --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverImageViewController.h @@ -0,0 +1,6 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTCoverImageViewController : CTInAppDisplayViewController + +@end + diff --git a/CleverTapSDK/InApps/CTCoverImageViewController.m b/CleverTapSDK/InApps/CTCoverImageViewController.m new file mode 100644 index 00000000..0f823c76 --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverImageViewController.m @@ -0,0 +1,87 @@ +#import "CTCoverImageViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTDismissButton.h" +#import "CTInAppResources.h" + +@interface CTCoverImageViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UIImageView *imageView; +@property (nonatomic, strong) IBOutlet CTDismissButton *closeButton; + +@end + +@implementation CTCoverImageViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + self = [super initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTCoverImageViewController class])] bundle:[CTInAppUtils bundle]]; + if (self) { + self.notification = notification; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = [UIColor clearColor]; + [self layoutNotification]; +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + // UIView container which holds all other subviews + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + if (@available(iOS 11.0, *)) { + CGFloat statusBarFrame = [[CTInAppResources getSharedApplication] statusBarFrame].size.height; + [[NSLayoutConstraint constraintWithItem: self.closeButton + attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual + toItem:self.containerView + attribute:NSLayoutAttributeTop + multiplier:1.0 constant:statusBarFrame] setActive:YES]; + + } else { + // Fallback on earlier versions + } + + // set image + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.clipsToBounds = YES; + self.imageView.contentMode = UIViewContentModeScaleAspectFill; + self.imageView.image = [UIImage imageWithData:self.notification.image]; + self.imageView.userInteractionEnabled = YES; + UITapGestureRecognizer *imageTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTapGesture:)]; + [self.imageView addGestureRecognizer:imageTapGesture]; + + } +} + +#pragma mark - Actions + +- (IBAction)closeButtonTapped:(id)sender { + [super tappedDismiss]; +} +- (void)handleImageTapGesture:(UITapGestureRecognizer *)sender { + [self handleImageTapGesture]; + [self hide:true]; +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTCoverImageViewController~ipad.xib b/CleverTapSDK/InApps/CTCoverImageViewController~ipad.xib new file mode 100644 index 00000000..07365840 --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverImageViewController~ipad.xib @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTCoverImageViewController~iphoneport.xib b/CleverTapSDK/InApps/CTCoverImageViewController~iphoneport.xib new file mode 100644 index 00000000..4e5549c5 --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverImageViewController~iphoneport.xib @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTCoverViewController.h b/CleverTapSDK/InApps/CTCoverViewController.h new file mode 100644 index 00000000..bb08ec89 --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverViewController.h @@ -0,0 +1,5 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTCoverViewController : CTInAppDisplayViewController + +@end diff --git a/CleverTapSDK/InApps/CTCoverViewController.m b/CleverTapSDK/InApps/CTCoverViewController.m new file mode 100644 index 00000000..358b5f23 --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverViewController.m @@ -0,0 +1,115 @@ +#import "CTCoverViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTDismissButton.h" +#import "CTInAppUtils.h" +#import "CTInAppResources.h" + +@interface CTCoverViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UILabel *titleLabel; +@property (nonatomic, strong) IBOutlet UILabel *bodyLabel; +@property (nonatomic, strong) IBOutlet UIImageView *imageView; +@property (nonatomic, strong) IBOutlet UIView *buttonsContainer; +@property (nonatomic, strong) IBOutlet UIView *secondButtonContainer; +@property (nonatomic, strong) IBOutlet UIButton *firstButton; +@property (nonatomic, strong) IBOutlet UIButton *secondButton; +@property (nonatomic, strong) IBOutlet CTDismissButton *closeButton; + +@end + +@implementation CTCoverViewController + +@synthesize delegate; + +#pragma mark - UIViewController Lifecycle + +- (instancetype) initWithNotification:(CTInAppNotification *)notification { + self = [super initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTCoverViewController class])] bundle:[CTInAppUtils bundle]]; + if (self) { + self.notification = notification; + } + return self; +} + +-(void)viewDidLoad { + [super viewDidLoad]; + [self layoutNotification]; +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + self.view.backgroundColor = [UIColor clearColor]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { + if (@available(iOS 11.0, *)) { + CGFloat statusBarFrame = [[CTInAppResources getSharedApplication] statusBarFrame].size.height; + [[NSLayoutConstraint constraintWithItem: self.closeButton + attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual + toItem:self.containerView + attribute:NSLayoutAttributeTop + multiplier:1.0 constant:statusBarFrame] setActive:YES]; + } + } + + // UIView container which holds all other subviews + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + self.closeButton.hidden = !self.notification.showCloseButton; + + // set image + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.clipsToBounds = YES; + self.imageView.contentMode = UIViewContentModeScaleAspectFill; + self.imageView.image = [UIImage imageWithData:self.notification.image]; + } + + if (self.notification.title) { + self.titleLabel.textAlignment = NSTextAlignmentCenter; + self.titleLabel.backgroundColor = [UIColor clearColor]; + self.titleLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.titleColor]; + self.titleLabel.text = self.notification.title; + } + + if (self.notification.message) { + self.bodyLabel.textAlignment = NSTextAlignmentCenter; + self.bodyLabel.backgroundColor = [UIColor clearColor]; + self.bodyLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.messageColor]; + self.bodyLabel.numberOfLines = 0; + self.bodyLabel.text = self.notification.message; + } + + self.firstButton.hidden = YES; + self.secondButton.hidden = YES; + + if (self.notification.buttons && self.notification.buttons.count > 0) { + self.firstButton = [self setupViewForButton:self.firstButton withData:self.notification.buttons[0] withIndex:0]; + if (self.notification.buttons.count == 2) { + self.secondButton = [self setupViewForButton:self.secondButton withData:self.notification.buttons[1] withIndex:1]; + } else { + [self.secondButton setHidden:YES]; + [[NSLayoutConstraint constraintWithItem:self.secondButtonContainer attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual + toItem:nil attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 constant:0] setActive:YES]; + } + } +} + +#pragma mark - Actions + +- (IBAction)closeButtonTapped:(id)sender { + [super tappedDismiss]; +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} +@end diff --git a/CleverTapSDK/InApps/CTCoverViewController~ipad.xib b/CleverTapSDK/InApps/CTCoverViewController~ipad.xib new file mode 100644 index 00000000..42cf403c --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverViewController~ipad.xib @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTCoverViewController~iphoneport.xib b/CleverTapSDK/InApps/CTCoverViewController~iphoneport.xib new file mode 100644 index 00000000..bf5c2d7d --- /dev/null +++ b/CleverTapSDK/InApps/CTCoverViewController~iphoneport.xib @@ -0,0 +1,149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/CTDismissButton.h b/CleverTapSDK/InApps/CTDismissButton.h similarity index 100% rename from CleverTapSDK/CTDismissButton.h rename to CleverTapSDK/InApps/CTDismissButton.h diff --git a/CleverTapSDK/CTDismissButton.m b/CleverTapSDK/InApps/CTDismissButton.m similarity index 92% rename from CleverTapSDK/CTDismissButton.m rename to CleverTapSDK/InApps/CTDismissButton.m index 1ed636ce..7c08e60c 100644 --- a/CleverTapSDK/CTDismissButton.m +++ b/CleverTapSDK/InApps/CTDismissButton.m @@ -5,9 +5,29 @@ @implementation CTDismissButton static UIImage *dismissButtonImage; - (instancetype)init { - if (!(self = [super initWithFrame:(CGRect) {0, 0, 32, 32}])) { + if (!(self = [self initWithFrame:(CGRect) {0, 0, 32, 32}])) { return nil; } + return self; +} + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + [self commonInit]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder { + self = [super initWithCoder:aDecoder]; + if (self) { + [self commonInit]; + } + return self; +} + +- (void)commonInit { if (dismissButtonImage != nil) { [self setImage:dismissButtonImage forState:UIControlStateNormal]; } else { @@ -16,7 +36,6 @@ - (instancetype)init { dismissButtonImage = [self dismissButtonImage]; }); } - return self; } - (UIImage *)dismissButtonImage { @@ -129,5 +148,4 @@ - (UIImage *)dismissImage:(UIColor *)color withSize:(int)size return img; } - @end diff --git a/CleverTapSDK/InApps/CTFooterViewController.h b/CleverTapSDK/InApps/CTFooterViewController.h new file mode 100644 index 00000000..ad796cee --- /dev/null +++ b/CleverTapSDK/InApps/CTFooterViewController.h @@ -0,0 +1,5 @@ +#import "CTBaseHeaderFooterViewController.h" + +@interface CTFooterViewController : CTBaseHeaderFooterViewController + +@end diff --git a/CleverTapSDK/InApps/CTFooterViewController.m b/CleverTapSDK/InApps/CTFooterViewController.m new file mode 100644 index 00000000..382a0106 --- /dev/null +++ b/CleverTapSDK/InApps/CTFooterViewController.m @@ -0,0 +1,30 @@ +#import "CTFooterViewController.h" +#import "CTBaseHeaderFooterViewControllerPrivate.h" + +@interface CTFooterViewController () { +} + +@property (nonatomic, strong) IBOutlet UIView *containerView; + +@end + +@implementation CTFooterViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + self = [super + initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTFooterViewController class])] + bundle:[CTInAppUtils bundle] + notification:notification]; + return self; +} + +- (void)layoutNotification { + [super layoutNotification]; + + if (@available(iOS 11, *)) { + UILayoutGuide *layoutGuide = self.view.safeAreaLayoutGuide; + [self.containerView.bottomAnchor constraintEqualToAnchor:layoutGuide.bottomAnchor].active = YES; + } +} + +@end diff --git a/CleverTapSDK/InApps/CTFooterViewController~ipad.xib b/CleverTapSDK/InApps/CTFooterViewController~ipad.xib new file mode 100644 index 00000000..91b161b6 --- /dev/null +++ b/CleverTapSDK/InApps/CTFooterViewController~ipad.xib @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTFooterViewController~iphoneport.xib b/CleverTapSDK/InApps/CTFooterViewController~iphoneport.xib new file mode 100644 index 00000000..52c1bba5 --- /dev/null +++ b/CleverTapSDK/InApps/CTFooterViewController~iphoneport.xib @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.h b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.h new file mode 100644 index 00000000..0312fd12 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.h @@ -0,0 +1,6 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTHalfInterstitialImageViewController : CTInAppDisplayViewController + +@end + diff --git a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m new file mode 100644 index 00000000..ef424736 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m @@ -0,0 +1,110 @@ +#import "CTHalfInterstitialImageViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTDismissButton.h" +#import "CTInAppResources.h" + +@interface CTHalfInterstitialImageViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UIImageView *imageView; +@property (nonatomic, strong) IBOutlet CTDismissButton *closeButton; + +@end + +@implementation CTHalfInterstitialImageViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + self = [super initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTHalfInterstitialImageViewController class])] bundle:[CTInAppUtils bundle]]; + if (self) { + self.notification = notification; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = [UIColor clearColor]; + [self layoutNotification]; + +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + // UIView container which holds all other subviews + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { + [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + if (self.notification.tablet) { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeWidth + multiplier:0.58 constant:0] setActive:YES]; + + }else{ + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:160] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-160] setActive:YES]; + } + } + + // set image + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.clipsToBounds = YES; + self.imageView.contentMode = UIViewContentModeScaleAspectFill; + self.imageView.image = [UIImage imageWithData:self.notification.image]; + self.imageView.userInteractionEnabled = YES; + UITapGestureRecognizer *imageTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTapGesture:)]; + [self.imageView addGestureRecognizer:imageTapGesture]; + } +} + +#pragma mark - Actions + +- (IBAction)closeButtonTapped:(id)sender { + [super tappedDismiss]; +} + +- (void)handleImageTapGesture:(UITapGestureRecognizer *)sender { + [self handleImageTapGesture]; + [self hide:true]; +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController~ipad.xib b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController~ipad.xib new file mode 100644 index 00000000..d91ed797 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController~ipad.xib @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController~iphoneport.xib b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController~iphoneport.xib new file mode 100644 index 00000000..5536bbcb --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController~iphoneport.xib @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTHalfInterstitialViewController.h b/CleverTapSDK/InApps/CTHalfInterstitialViewController.h new file mode 100644 index 00000000..bfabc293 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialViewController.h @@ -0,0 +1,5 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTHalfInterstitialViewController : CTInAppDisplayViewController + +@end diff --git a/CleverTapSDK/InApps/CTHalfInterstitialViewController.m b/CleverTapSDK/InApps/CTHalfInterstitialViewController.m new file mode 100644 index 00000000..4f134d15 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialViewController.m @@ -0,0 +1,140 @@ +#import "CTHalfInterstitialViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTDismissButton.h" +#import "CTInAppUtils.h" +#import "CTInAppResources.h" + +@interface CTHalfInterstitialViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UIImageView *imageView; +@property (nonatomic, strong) IBOutlet UIView *buttonsContainer; +@property (nonatomic, strong) IBOutlet UIView *secondButtonContainer; +@property (nonatomic, strong) IBOutlet UILabel *titleLabel; +@property (nonatomic, strong) IBOutlet UILabel *bodyLabel; +@property (nonatomic, strong) IBOutlet UIButton *firstButton; +@property (nonatomic, strong) IBOutlet UIButton *secondButton; +@property (nonatomic, strong) IBOutlet CTDismissButton *closeButton; + + +@end + +@implementation CTHalfInterstitialViewController + +#pragma mark - UIViewController Lifecycle + +- (instancetype) initWithNotification:(CTInAppNotification *)notification { + self = [super initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTHalfInterstitialViewController class])] bundle:[CTInAppUtils bundle]]; + if (self) { + self.notification = notification; + } + return self; +} + +-(void)viewDidLoad { + [super viewDidLoad]; + [self layoutNotification]; +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + self.view.backgroundColor = [UIColor clearColor]; + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { + [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + if (self.notification.tablet) { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeHeight + relatedBy:NSLayoutRelationEqual + toItem:self.view + attribute:NSLayoutAttributeWidth + multiplier:0.58 constant:0] setActive:YES]; + + }else { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-160] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:160] setActive:YES]; + } + } + + if (self.notification.darkenScreen) { + self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.75f]; + } + + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.clipsToBounds = YES; + self.imageView.contentMode = UIViewContentModeScaleAspectFill; + self.imageView.image = [UIImage imageWithData:self.notification.image]; + } + + self.closeButton.hidden = !self.notification.showCloseButton; + + if (self.notification.title) { + self.titleLabel.textAlignment = NSTextAlignmentCenter; + self.titleLabel.backgroundColor = [UIColor clearColor]; + self.titleLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.titleColor]; + self.titleLabel.text = self.notification.title; + } + + if (self.notification.message) { + self.bodyLabel.textAlignment = NSTextAlignmentCenter; + self.bodyLabel.backgroundColor = [UIColor clearColor]; + self.bodyLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.messageColor]; + self.bodyLabel.numberOfLines = 0; + self.bodyLabel.text = self.notification.message; + } + + self.firstButton.hidden = YES; + self.secondButton.hidden = YES; + + if (self.notification.buttons && self.notification.buttons.count > 0) { + self.firstButton = [self setupViewForButton:self.firstButton withData:self.notification.buttons[0] withIndex:0]; + if (self.notification.buttons.count == 2) { + self.secondButton = [self setupViewForButton:_secondButton withData:self.notification.buttons[1] withIndex:1]; + } else { + [[NSLayoutConstraint constraintWithItem:self.secondButtonContainer attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual + toItem:nil attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 constant:0] setActive:YES]; + + [self.secondButton setHidden:YES]; + } + } +} + +#pragma mark - Actions + +- (IBAction)closeButtonTapped:(id)sender { + [super tappedDismiss]; +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib b/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib new file mode 100644 index 00000000..5e0db5e7 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTHalfInterstitialViewController~iphoneport.xib b/CleverTapSDK/InApps/CTHalfInterstitialViewController~iphoneport.xib new file mode 100644 index 00000000..3cec1366 --- /dev/null +++ b/CleverTapSDK/InApps/CTHalfInterstitialViewController~iphoneport.xib @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTHeaderViewController.h b/CleverTapSDK/InApps/CTHeaderViewController.h new file mode 100644 index 00000000..e4569b56 --- /dev/null +++ b/CleverTapSDK/InApps/CTHeaderViewController.h @@ -0,0 +1,5 @@ +#import "CTBaseHeaderFooterViewController.h" + +@interface CTHeaderViewController : CTBaseHeaderFooterViewController + +@end diff --git a/CleverTapSDK/InApps/CTHeaderViewController.m b/CleverTapSDK/InApps/CTHeaderViewController.m new file mode 100644 index 00000000..5fffefa4 --- /dev/null +++ b/CleverTapSDK/InApps/CTHeaderViewController.m @@ -0,0 +1,36 @@ +#import "CTHeaderViewController.h" +#import "CTBaseHeaderFooterViewControllerPrivate.h" +#import "CTInAppResources.h" + +@interface CTHeaderViewController () { +} + +@property (nonatomic, strong) IBOutlet UIView *containerView; + +@end + +@implementation CTHeaderViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + self = [super + initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTHeaderViewController class])] + bundle:[CTInAppUtils bundle] + notification:notification]; + + return self; +} + + +#pragma mark - Setup Notification + +- (void)layoutNotification { + [super layoutNotification]; + + CGFloat statusBarFrame = [[CTInAppResources getSharedApplication] statusBarFrame].size.height; + [[NSLayoutConstraint constraintWithItem: self.containerView + attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTop + multiplier:1.0 constant:statusBarFrame] setActive:YES]; +} + +@end diff --git a/CleverTapSDK/InApps/CTHeaderViewController~ipad.xib b/CleverTapSDK/InApps/CTHeaderViewController~ipad.xib new file mode 100644 index 00000000..9d26d865 --- /dev/null +++ b/CleverTapSDK/InApps/CTHeaderViewController~ipad.xib @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTHeaderViewController~iphoneport.xib b/CleverTapSDK/InApps/CTHeaderViewController~iphoneport.xib new file mode 100644 index 00000000..b477487b --- /dev/null +++ b/CleverTapSDK/InApps/CTHeaderViewController~iphoneport.xib @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/CTInAppDisplayViewController.h b/CleverTapSDK/InApps/CTInAppDisplayViewController.h similarity index 100% rename from CleverTapSDK/CTInAppDisplayViewController.h rename to CleverTapSDK/InApps/CTInAppDisplayViewController.h diff --git a/CleverTapSDK/CTInAppDisplayViewController.m b/CleverTapSDK/InApps/CTInAppDisplayViewController.m similarity index 56% rename from CleverTapSDK/CTInAppDisplayViewController.m rename to CleverTapSDK/InApps/CTInAppDisplayViewController.m index 5aca5153..fcad4491 100644 --- a/CleverTapSDK/CTInAppDisplayViewController.m +++ b/CleverTapSDK/InApps/CTInAppDisplayViewController.m @@ -31,6 +31,14 @@ - (instancetype)initWithNotification:(CTInAppNotification *)notification { return self; } +- (BOOL)shouldAutorotate { + return NO; +} + +- (UIInterfaceOrientationMask)supportedInterfaceOrientations { + return (UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown); +} + -(void)show:(BOOL)animated { NSAssert(false, @"Override in sub-class"); } @@ -100,10 +108,64 @@ - (void)viewWillPassThroughTouch { [self hide:NO]; } +#pragma mark - Setup Buttons + +- (UIButton*)setupViewForButton:(UIButton *)buttonView withData:(CTNotificationButton *)button withIndex:(NSInteger)index { + [buttonView setTag: index]; + buttonView.titleLabel.adjustsFontSizeToFitWidth = YES; + buttonView.hidden = NO; + if (_notification.inAppType != CTInAppTypeHeader && _notification.inAppType != CTInAppTypeFooter) { + buttonView.layer.borderWidth = 1.0f; + buttonView.layer.cornerRadius = [button.borderRadius floatValue]; + buttonView.layer.borderColor = [[CTInAppUtils ct_colorWithHexString:button.borderColor] CGColor]; + } + + [buttonView setBackgroundColor:[CTInAppUtils ct_colorWithHexString:button.backgroundColor]]; + [buttonView setTitleColor:[CTInAppUtils ct_colorWithHexString:button.textColor] forState:UIControlStateNormal]; + [buttonView addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; + [buttonView setTitle:button.text forState:UIControlStateNormal]; + return buttonView; +} + #pragma mark - Actions - (void)tappedDismiss { [self hide:YES]; } +- (void)buttonTapped:(UIButton*)button { + [self handleButtonClickFromIndex:(int)button.tag]; + [self hide:YES]; +} + +- (void)handleButtonClickFromIndex:(int)index { + CTNotificationButton *button = self.notification.buttons[index]; + NSURL *buttonCTA = button.actionURL; + NSString *buttonText = button.text; + NSString *campaignId = self.notification.campaignId; + + if (campaignId == nil) { + campaignId = @""; + } + + if (self.delegate && [self.delegate respondsToSelector:@selector(handleNotificationCTA:forNotification:fromViewController:withExtras:)]) { + [self.delegate handleNotificationCTA:buttonCTA forNotification:self.notification fromViewController:self withExtras:@{@"wzrk_id":campaignId, @"wzrk_c2a": buttonText}]; + } +} + +- (void)handleImageTapGesture{ + CTNotificationButton *button = self.notification.buttons[0]; + NSURL *buttonCTA = button.actionURL; + NSString *buttonText = @"image"; + NSString *campaignId = self.notification.campaignId; + + if (campaignId == nil) { + campaignId = @""; + } + + if (self.delegate && [self.delegate respondsToSelector:@selector(handleNotificationCTA:forNotification:fromViewController:withExtras:)]) { + [self.delegate handleNotificationCTA:buttonCTA forNotification:self.notification fromViewController:self withExtras:@{@"wzrk_id":campaignId, @"wzrk_c2a": buttonText}]; + } +} + @end diff --git a/CleverTapSDK/CTInAppDisplayViewControllerPrivate.h b/CleverTapSDK/InApps/CTInAppDisplayViewControllerPrivate.h similarity index 68% rename from CleverTapSDK/CTInAppDisplayViewControllerPrivate.h rename to CleverTapSDK/InApps/CTInAppDisplayViewControllerPrivate.h index 413f2be6..65de0fe9 100644 --- a/CleverTapSDK/CTInAppDisplayViewControllerPrivate.h +++ b/CleverTapSDK/InApps/CTInAppDisplayViewControllerPrivate.h @@ -16,13 +16,18 @@ @interface CTInAppDisplayViewController () { } + @property (nonatomic, strong) UIWindow *window; @property (nonatomic, strong, readwrite) CTInAppNotification *notification; -@property(nonatomic, assign) BOOL shouldPassThroughTouches; +@property (nonatomic, assign) BOOL shouldPassThroughTouches; -(void)showFromWindow:(BOOL)animated; -(void)hideFromWindow:(BOOL)animated; -(void)tappedDismiss; +-(void)buttonTapped:(UIButton*)button; +-(void)handleButtonClickFromIndex:(int)index; +-(void)handleImageTapGesture; +-(UIButton*)setupViewForButton:(UIButton *)buttonView withData:(CTNotificationButton *)button withIndex:(NSInteger)index; @end diff --git a/CleverTapSDK/CTInAppFCManager.h b/CleverTapSDK/InApps/CTInAppFCManager.h similarity index 100% rename from CleverTapSDK/CTInAppFCManager.h rename to CleverTapSDK/InApps/CTInAppFCManager.h diff --git a/CleverTapSDK/CTInAppFCManager.m b/CleverTapSDK/InApps/CTInAppFCManager.m similarity index 100% rename from CleverTapSDK/CTInAppFCManager.m rename to CleverTapSDK/InApps/CTInAppFCManager.m diff --git a/CleverTapSDK/CTInAppHTMLViewController.h b/CleverTapSDK/InApps/CTInAppHTMLViewController.h similarity index 100% rename from CleverTapSDK/CTInAppHTMLViewController.h rename to CleverTapSDK/InApps/CTInAppHTMLViewController.h diff --git a/CleverTapSDK/CTInAppHTMLViewController.m b/CleverTapSDK/InApps/CTInAppHTMLViewController.m similarity index 90% rename from CleverTapSDK/CTInAppHTMLViewController.m rename to CleverTapSDK/InApps/CTInAppHTMLViewController.m index 605c27d8..55a88481 100644 --- a/CleverTapSDK/CTInAppHTMLViewController.m +++ b/CleverTapSDK/InApps/CTInAppHTMLViewController.m @@ -26,21 +26,21 @@ @interface CTInAppHTMLViewController () #import #import "CTInAppUtils.h" +#import "CTNotificationButton.h" @interface CTInAppNotification : NSObject -@property (nonatomic, readonly) NSString* Id; -@property (nonatomic, readonly) NSString* campaignId; +@property (nonatomic, readonly) NSString *Id; +@property (nonatomic, readonly) NSString *campaignId; +@property (nonatomic, copy, readonly) NSString *type; @property (nonatomic, readonly) CTInAppType inAppType; + @property (nonatomic, copy, readonly) NSString *html; @property (nonatomic, readonly) BOOL excludeFromCaps; @property (nonatomic, readonly) BOOL showClose; @@ -21,6 +24,26 @@ @property (nonatomic, assign, readonly) float width; @property (nonatomic, assign, readonly) float widthPercent; +@property (nonatomic, readonly) NSData *image; +@property (nonatomic, copy, readonly) NSString *contentType; +@property (nonatomic, copy, readonly) NSString *mediaUrl; +@property (nonatomic, readonly, assign) BOOL mediaIsVideo; +@property (nonatomic, readonly, assign) BOOL mediaIsAudio; +@property (nonatomic, readonly, assign) BOOL mediaIsImage; +@property (nonatomic, readonly, assign) BOOL mediaIsGif; + +@property (nonatomic, copy, readonly) NSString *title; +@property (nonatomic, copy, readonly) NSString *titleColor; +@property (nonatomic, copy, readonly) NSString *message; +@property (nonatomic, copy, readonly) NSString *messageColor; +@property (nonatomic, copy, readonly) NSString *backgroundColor; + +@property (nonatomic, readonly, assign) BOOL hideMedia; +@property (nonatomic, readonly, assign) BOOL showCloseButton; +@property (nonatomic, readonly, assign) BOOL tablet; + +@property (nonatomic, readonly) NSArray *buttons; + @property (nonatomic, copy, readonly) NSDictionary *jsonDescription; @property (nonatomic, readonly) NSString *error; diff --git a/CleverTapSDK/InApps/CTInAppNotification.m b/CleverTapSDK/InApps/CTInAppNotification.m new file mode 100644 index 00000000..31288711 --- /dev/null +++ b/CleverTapSDK/InApps/CTInAppNotification.m @@ -0,0 +1,322 @@ +#import "CTInAppNotification.h" +#import "CTConstants.h" +#import "FLAnimatedImage.h" + +@interface CTInAppNotification() { +} + +@property (nonatomic, readwrite) NSString *Id; +@property (nonatomic, readwrite) NSString *campaignId; +@property (nonatomic, readwrite) NSString *type; +@property (nonatomic, readwrite) CTInAppType inAppType; + +@property (nonatomic, strong) NSURL *imageURL; +@property (nonatomic, readwrite, strong) NSData *image; +@property (nonatomic, copy, readwrite) NSString *contentType; +@property (nonatomic, copy, readwrite) NSString *mediaUrl; + +@property (nonatomic, readwrite) NSString *title; +@property (nonatomic, readwrite) NSString *titleColor; +@property (nonatomic, readwrite) NSString *message; +@property (nonatomic, readwrite) NSString *messageColor; + +@property (nonatomic, readwrite) NSString *backgroundColor; + +@property (nonatomic, readwrite, assign) BOOL hideMedia; +@property (nonatomic, readwrite, assign) BOOL showCloseButton; +@property (nonatomic, readwrite, assign) BOOL tablet; + +@property (nonatomic, copy, readwrite) NSString *html; +@property (nonatomic, readwrite) BOOL showClose; +@property (nonatomic, readwrite) BOOL darkenScreen; +@property (nonatomic, readwrite) BOOL excludeFromCaps; +@property (nonatomic, readwrite) int maxPerSession; +@property (nonatomic, readwrite) int totalLifetimeCount; +@property (nonatomic, readwrite) int totalDailyCount; +@property (nonatomic, assign, readwrite) char position; +@property (nonatomic, assign, readwrite) float height; +@property (nonatomic, assign, readwrite) float heightPercent; +@property (nonatomic, assign, readwrite) float width; +@property (nonatomic, assign, readwrite) float widthPercent; + +@property (nonatomic, readwrite) NSArray *buttons; + +@property (nonatomic, copy, readwrite) NSDictionary *jsonDescription; +@property (nonatomic, copy, readwrite) NSDictionary *customExtras; + +@property (nonatomic, readwrite) NSString *error; + +@end + +@implementation CTInAppNotification: NSObject + +@synthesize mediaIsImage=_mediaIsImage; +@synthesize mediaIsGif=_mediaIsGif; +@synthesize mediaIsAudio=_mediaIsAudio; +@synthesize mediaIsVideo=_mediaIsVideo; + +- (instancetype)initWithJSON:(NSDictionary *)jsonObject { + if (self = [super init]) { + @try { + self.inAppType = CTInAppTypeUnknown; + self.jsonDescription = jsonObject; + self.campaignId = (NSString*) jsonObject[@"wzrk_id"]; + self.excludeFromCaps = [jsonObject[@"efc"] boolValue]; + self.totalLifetimeCount = jsonObject[@"tlc"] ? [jsonObject[@"tlc"] intValue] : -1; + self.totalDailyCount = jsonObject[@"tdc"] ? [jsonObject[@"tdc"] intValue] : -1; + if (jsonObject[@"ti"]) { + self.Id = [NSString stringWithFormat:@"%@", jsonObject[@"ti"]]; + } + NSString *type = (NSString*) jsonObject[@"type"]; + if (!type) { + [self legacyConfigureFromJSON:jsonObject]; + } else { + [self configureFromJSON:jsonObject]; + } + if (self.inAppType == CTInAppTypeUnknown) { + self.error = @"Unknown InApp Type"; + } + } @catch (NSException *e) { + self.error = e.debugDescription; + } + } + return self; +} + +- (void)configureFromJSON: (NSDictionary *)jsonObject { + self.type = (NSString*) jsonObject[@"type"]; + if (self.type) { + self.inAppType = [CTInAppUtils inAppTypeFromString:self.type]; + } + self.backgroundColor = jsonObject[@"bg"]; + self.title = (NSString*) jsonObject[@"title"][@"text"]; + self.titleColor = (NSString*) jsonObject[@"title"][@"color"]; + self.message = (NSString*) jsonObject[@"message"][@"text"]; + self.messageColor = (NSString*) jsonObject[@"message"][@"color"]; + self.hideMedia = [jsonObject[@"hideMedia"] boolValue]; + self.showCloseButton = [jsonObject[@"close"] boolValue]; + self.tablet = [jsonObject[@"tablet"] boolValue]; + + NSDictionary *_media = (NSDictionary*) jsonObject[@"media"]; + if (_media) { + self.contentType = _media[@"content_type"]; + NSString *_mediaUrl = _media[@"url"]; + if (_mediaUrl) { + if ([self.contentType hasPrefix:@"image"]) { + self.imageURL = [NSURL URLWithString:_mediaUrl]; + + if ([self.contentType isEqualToString:@"image/gif"] ) { + _mediaIsGif = YES; + }else { + _mediaIsImage = YES; + } + + } else { + self.mediaUrl = _mediaUrl; + if ([self.contentType hasPrefix:@"video"]) { + _mediaIsVideo = YES; + } + if ([self.contentType hasPrefix:@"audio"]) { + _mediaIsAudio = YES; + } + } + } + } + + id buttons = jsonObject[@"buttons"]; + + NSMutableArray *_buttons = [NSMutableArray new]; + + if ([buttons isKindOfClass:[NSArray class]]) { + buttons = (NSArray *) buttons; + for (NSDictionary *button in buttons) { + CTNotificationButton *ct_button = [[CTNotificationButton alloc] initWithJSON:button]; + if (ct_button && !ct_button.error) { + [_buttons addObject:ct_button]; + } + } + } + else if ([buttons isKindOfClass:[NSDictionary class]]) { + buttons = (NSDictionary*) buttons; + for (NSString *key in [buttons allKeys]) { + CTNotificationButton *ct_button = [[CTNotificationButton alloc] initWithJSON:buttons[key]]; + if (ct_button && !ct_button.error) { + [_buttons addObject:ct_button]; + } + } + } + self.buttons = _buttons; + + switch (self.inAppType) { + case CTInAppTypeHeader: + case CTInAppTypeFooter: + if (_mediaIsGif || _mediaIsAudio || _mediaIsVideo){ + self.error = [NSString stringWithFormat:@"wrong media type for template"]; + } + break; + case CTInAppTypeInterstitial: + if (!_mediaIsGif && !_mediaIsAudio && !_mediaIsVideo && !_mediaIsImage){ + self.error = [NSString stringWithFormat:@"no media type found for template"]; + } + break; + case CTInAppTypeCoverImage: + case CTInAppTypeInterstitialImage: + case CTInAppTypeHalfInterstitialImage: + if (_mediaIsGif || _mediaIsAudio || _mediaIsVideo || !_mediaIsImage){ + self.error = [NSString stringWithFormat:@"wrong media type for template"]; + } + break; + case CTInAppTypeCover: + case CTInAppTypeHalfInterstitial: + if (_mediaIsGif || _mediaIsAudio || _mediaIsVideo){ + self.error = [NSString stringWithFormat:@"wrong media type for template"]; + } + break; + default: + break; + } +} + +- (void)legacyConfigureFromJSON:(NSDictionary *)jsonObject { + if (![self validateLegacyJSON:jsonObject]) { + self.error = @"Invalid JSON"; + return; + } + NSDictionary *data = (NSDictionary*) jsonObject[@"d"]; + if (data) { + NSString *html = (NSString*) data[@"html"]; + if (html) { + self.html = html; + self.inAppType = [CTInAppUtils inAppTypeFromString:@"custom-html"]; + } + NSDictionary* customExtras = (NSDictionary *) data[@"kv"]; + if (!customExtras) customExtras = [NSDictionary new]; + self.customExtras = customExtras; + } + NSDictionary *displayParams = jsonObject[@"w"]; + if (displayParams) { + self.darkenScreen = [displayParams[CLTAP_INAPP_NOTIF_DARKEN_SCREEN] boolValue]; + self.showClose = [displayParams[CLTAP_INAPP_NOTIF_SHOW_CLOSE] boolValue]; + self.position = (char) [displayParams[CLTAP_INAPP_POSITION] characterAtIndex:0]; + self.width = displayParams[CLTAP_INAPP_X_DP] ? [displayParams[CLTAP_INAPP_X_DP] floatValue] : 0.0; + self.widthPercent = displayParams[CLTAP_INAPP_X_PERCENT] ? [displayParams[CLTAP_INAPP_X_PERCENT] floatValue] : 0.0; + self.height = displayParams[CLTAP_INAPP_Y_DP] ? [displayParams[CLTAP_INAPP_Y_DP] floatValue] : 0.0; + self.heightPercent = displayParams[CLTAP_INAPP_Y_PERCENT] ? [displayParams[CLTAP_INAPP_Y_PERCENT] floatValue] : 0.0; + self.maxPerSession = displayParams[@"mdc"] ? [displayParams[@"mdc"] intValue] : -1; + } +} + +- (BOOL)mediaIsAudio { + return _mediaIsAudio; +} + +- (BOOL)mediaIsImage { + return _mediaIsImage; +} +- (BOOL)mediaIsGif { + return _mediaIsGif; +} + +- (BOOL)mediaIsVideo { + return _mediaIsVideo; +} + +- (void)prepareWithCompletionHandler: (void (^)(void))completionHandler { + if ([NSThread isMainThread]) { + self.error = [NSString stringWithFormat:@"[%@ prepareWithCompletionHandler] should not be called on the main thread", [self class]]; + completionHandler(); + return; + } + + if (self.imageURL) { + NSError *error = nil; + NSData *imageData = [NSData dataWithContentsOfURL:self.imageURL options:NSDataReadingMappedIfSafe error:&error]; + if (error || !imageData) { + self.error = [NSString stringWithFormat:@"unable to load image from URL: %@", self.imageURL]; + } else { + if ([self.contentType isEqualToString:@"image/gif"] ) { + FLAnimatedImage *gif = [FLAnimatedImage animatedImageWithGIFData:imageData]; + if (gif == nil) { + self.error = [NSString stringWithFormat:@"unable to decode gif for URL: %@", self.imageURL]; + } + } + self.image = self.error ? nil : imageData; + } + } + + completionHandler(); +} + +- (BOOL)validateLegacyJSON:(NSDictionary *)jsonObject { + // Check that either xdp or xp is set + NSDictionary *w = jsonObject[@"w"]; + if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_X_DP ofClass:[NSNumber class]]) if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_X_PERCENT ofClass:[NSNumber class]]) + return FALSE; + + // Check that either ydp or yp is set + if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_Y_DP ofClass:[NSNumber class]]) if (![self isKeyValidInDictionary:w forKey:CLTAP_INAPP_Y_PERCENT ofClass:[NSNumber class]]) + return FALSE; + + // Check that dk is set + if ([self isKeyValidInDictionary:w forKey:CLTAP_INAPP_NOTIF_DARKEN_SCREEN ofClass:[NSNumber class]]) { + @try { + [w[CLTAP_INAPP_NOTIF_DARKEN_SCREEN] boolValue]; + } + @catch (NSException *exception) { + return FALSE; + } + } else { + return FALSE; + } + + // Check that sc is set + if ([self isKeyValidInDictionary:w forKey:CLTAP_INAPP_NOTIF_SHOW_CLOSE ofClass:[NSNumber class]]) { + @try { + [w[CLTAP_INAPP_NOTIF_SHOW_CLOSE] boolValue]; + } + @catch (NSException *exception) { + return FALSE; + } + } else { + return FALSE; + } + + NSDictionary *d = jsonObject[@"d"]; + // Check that html is set + if (![self isKeyValidInDictionary:d forKey:@"html" ofClass:[NSString class]]) + return FALSE; + + // Check that pos contains the right value + if ([self isKeyValidInDictionary:w forKey:CLTAP_INAPP_POSITION ofClass:[NSString class]]) { + char pos = (char) [w[CLTAP_INAPP_POSITION] characterAtIndex:0]; + switch (pos) { + case CLTAP_INAPP_POSITION_TOP: + break; + case CLTAP_INAPP_POSITION_RIGHT: + break; + case CLTAP_INAPP_POSITION_BOTTOM: + break; + case CLTAP_INAPP_POSITION_LEFT: + break; + case CLTAP_INAPP_POSITION_CENTER: + break; + default: + return false; + } + } else + return false; + + return true; +} + +- (BOOL)isKeyValidInDictionary:(NSDictionary *)d forKey:(NSString *)key ofClass:(Class)type { + if (d[key] != nil) { + if ([d[key] isKindOfClass:type]) { + return TRUE; + } + } + return FALSE; +} + + +@end diff --git a/CleverTapSDK/InApps/CTInAppResources.h b/CleverTapSDK/InApps/CTInAppResources.h new file mode 100644 index 00000000..4e772e2e --- /dev/null +++ b/CleverTapSDK/InApps/CTInAppResources.h @@ -0,0 +1,14 @@ +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface CTInAppResources : NSObject + ++ (NSBundle *)bundle; ++ (NSString *)XibNameForControllerName:(NSString *)controllerName; ++ (UIImage *)imageForName:(NSString *)name type:(NSString *)type; ++ (UIApplication *)getSharedApplication; +@end + +NS_ASSUME_NONNULL_END diff --git a/CleverTapSDK/InApps/CTInAppResources.m b/CleverTapSDK/InApps/CTInAppResources.m new file mode 100644 index 00000000..fe795fad --- /dev/null +++ b/CleverTapSDK/InApps/CTInAppResources.m @@ -0,0 +1,38 @@ +#import "CTInAppResources.h" + +@implementation CTInAppResources + ++ (NSBundle *)bundle { + return [NSBundle bundleForClass:self.class]; +} + ++ (NSString *)XibNameForControllerName:(NSString *)controllerName { + NSMutableString *xib = [NSMutableString stringWithString:controllerName]; + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { + UIApplication *sharedApplication = [self getSharedApplication]; + BOOL landscape = UIInterfaceOrientationIsLandscape(sharedApplication.statusBarOrientation); + if (landscape) { + [xib appendString:@"~iphoneland"]; + } else { + [xib appendString:@"~iphoneport"]; + } + } else { + [xib appendString:@"~ipad"]; + } + return [xib copy]; +} + ++ (UIImage *)imageForName:(NSString *)name type:(NSString *)type { + NSString *imagePath = [[self bundle] pathForResource:name ofType:type]; + return [UIImage imageWithContentsOfFile:imagePath]; +} + ++ (UIApplication *)getSharedApplication { + Class UIApplicationClass = NSClassFromString(@"UIApplication"); + if (UIApplicationClass && [UIApplicationClass respondsToSelector:@selector(sharedApplication)]) { + return [UIApplication performSelector:@selector(sharedApplication)]; + } + return nil; +} + +@end diff --git a/CleverTapSDK/InApps/CTInAppUtils.h b/CleverTapSDK/InApps/CTInAppUtils.h new file mode 100644 index 00000000..15b37ff1 --- /dev/null +++ b/CleverTapSDK/InApps/CTInAppUtils.h @@ -0,0 +1,26 @@ +#import + +typedef NS_ENUM(NSUInteger, CTInAppType){ + CTInAppTypeUnknown, + CTInAppTypeHTML, + CTInAppTypeInterstitial, + CTInAppTypeHalfInterstitial, + CTInAppTypeCover, + CTInAppTypeHeader, + CTInAppTypeFooter, + CTInAppTypeAlert, + CTInAppTypeInterstitialImage, + CTInAppTypeHalfInterstitialImage, + CTInAppTypeCoverImage, +}; + +@interface CTInAppUtils : NSObject + ++ (CTInAppType)inAppTypeFromString:(NSString*_Nonnull)type; ++ (NSBundle *_Nullable)bundle; ++ (NSString *_Nullable)XibNameForControllerName:(NSString *_Nonnull)controllerName; ++ (UIImage *_Nullable)imageForName:(NSString *_Nonnull)name type:(NSString *_Nonnull)type; ++ (UIColor * _Nullable)ct_colorWithHexString:(NSString* _Nonnull)string; ++ (UIColor * _Nullable)ct_colorWithHexString:(NSString * _Nonnull)string withAlpha:(CGFloat)alpha; + +@end diff --git a/CleverTapSDK/InApps/CTInAppUtils.m b/CleverTapSDK/InApps/CTInAppUtils.m new file mode 100644 index 00000000..dfdc1edb --- /dev/null +++ b/CleverTapSDK/InApps/CTInAppUtils.m @@ -0,0 +1,93 @@ +#import +#import "CTInAppUtils.h" +#if !CLEVERTAP_NO_INAPP_SUPPORT +#import "CTInAppResources.h" +#endif + + +static NSDictionary *_inAppTypeMap; + +@implementation CTInAppUtils + ++ (void)load { + _inAppTypeMap = @{ + @"custom-html": @(CTInAppTypeHTML), + @"interstitial": @(CTInAppTypeInterstitial), + @"cover": @(CTInAppTypeCover), + @"header-template": @(CTInAppTypeHeader), + @"footer-template": @(CTInAppTypeFooter), + @"half-interstitial": @(CTInAppTypeHalfInterstitial), + @"alert-template": @(CTInAppTypeAlert), + @"interstitial-image": @(CTInAppTypeInterstitialImage), + @"half-interstitial-image": @(CTInAppTypeHalfInterstitialImage), + @"cover-image": @(CTInAppTypeCoverImage) + }; +} + ++ (CTInAppType)inAppTypeFromString:(NSString*)type { + NSNumber *_type = type != nil ? _inAppTypeMap[type] : @(CTInAppTypeUnknown); + if (!_type) { + _type = @(CTInAppTypeUnknown); + } + return [_type integerValue]; +} + ++ (NSBundle *)bundle { +#if CLEVERTAP_NO_INAPP_SUPPORT + return nil; +#else + return [CTInAppResources bundle]; +#endif +} + ++ (NSString *)XibNameForControllerName:(NSString *)controllerName { +#if CLEVERTAP_NO_INAPP_SUPPORT + return nil; +#else + return [CTInAppResources XibNameForControllerName:controllerName]; +#endif +} + ++ (UIImage *)imageForName:(NSString *)name type:(NSString *)type { +#if !CLEVERTAP_NO_INAPP_SUPPORT + return nil; +#else + return [CTInAppResources imageForName:name type:type]; +#endif + +} + ++(UIColor * _Nullable)ct_colorWithHexString:(NSString *)string{ + + return [self ct_colorWithHexString:string withAlpha:1.0]; +} + ++ (UIColor * _Nullable)ct_colorWithHexString:(NSString *)string withAlpha:(CGFloat)alpha{ + + if (![string isKindOfClass:[NSString class]] || [string length] == 0) { + return [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f]; + } + + // Convert hex string to an integer + unsigned int hexint = 0; + + // Create scanner + NSScanner *scanner = [NSScanner scannerWithString:string]; + + // Tell scanner to skip the # character + [scanner setCharactersToBeSkipped:[NSCharacterSet + characterSetWithCharactersInString:@"#"]]; + [scanner scanHexInt:&hexint]; + + // Create color object, specifying alpha + UIColor *color = + [UIColor colorWithRed:((CGFloat) ((hexint & 0xFF0000) >> 16))/255 + green:((CGFloat) ((hexint & 0xFF00) >> 8))/255 + blue:((CGFloat) (hexint & 0xFF))/255 + alpha:alpha]; + + return color; + +} + +@end diff --git a/CleverTapSDK/InApps/CTInterstitialImageViewController.h b/CleverTapSDK/InApps/CTInterstitialImageViewController.h new file mode 100644 index 00000000..5c04de4b --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialImageViewController.h @@ -0,0 +1,5 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTInterstitialImageViewController : CTInAppDisplayViewController + +@end diff --git a/CleverTapSDK/InApps/CTInterstitialImageViewController.m b/CleverTapSDK/InApps/CTInterstitialImageViewController.m new file mode 100644 index 00000000..a1f4fad7 --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialImageViewController.m @@ -0,0 +1,110 @@ +#import "CTInterstitialImageViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTDismissButton.h" + +@interface CTInterstitialImageViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UIImageView *imageView; +@property (nonatomic, strong) IBOutlet CTDismissButton *closeButton; + +@end + +@implementation CTInterstitialImageViewController + +- (instancetype)initWithNotification:(CTInAppNotification *)notification { + self = [super initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTInterstitialImageViewController class])] bundle:[CTInAppUtils bundle]]; + if (self) { + self.notification = notification; + } + return self; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = [UIColor clearColor]; + [self layoutNotification]; + +} + +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + // UIView container which holds all other subviews + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { + [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + if (self.notification.tablet) { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.containerView + attribute:NSLayoutAttributeHeight + multiplier:0.85 constant:0] setActive:YES]; + + }else { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:160] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-160] setActive:YES]; + + } + } + + // set image + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.clipsToBounds = YES; + self.imageView.contentMode = UIViewContentModeScaleAspectFill; + self.imageView.image = [UIImage imageWithData:self.notification.image]; + self.imageView.userInteractionEnabled = YES; + UITapGestureRecognizer *imageTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTapGesture:)]; + [self.imageView addGestureRecognizer:imageTapGesture]; + } +} + +#pragma mark - Actions + +- (IBAction)closeButtonTapped:(id)sender { + [super tappedDismiss]; +} + +- (void)handleImageTapGesture:(UITapGestureRecognizer *)sender { + [self handleImageTapGesture]; + [self hide:true]; +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTInterstitialImageViewController~ipad.xib b/CleverTapSDK/InApps/CTInterstitialImageViewController~ipad.xib new file mode 100644 index 00000000..adf3889c --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialImageViewController~ipad.xib @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTInterstitialImageViewController~iphoneport.xib b/CleverTapSDK/InApps/CTInterstitialImageViewController~iphoneport.xib new file mode 100644 index 00000000..18eb7277 --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialImageViewController~iphoneport.xib @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTInterstitialViewController.h b/CleverTapSDK/InApps/CTInterstitialViewController.h new file mode 100644 index 00000000..bde5a8b1 --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialViewController.h @@ -0,0 +1,5 @@ +#import "CTInAppDisplayViewController.h" + +@interface CTInterstitialViewController : CTInAppDisplayViewController + +@end diff --git a/CleverTapSDK/InApps/CTInterstitialViewController.m b/CleverTapSDK/InApps/CTInterstitialViewController.m new file mode 100644 index 00000000..325e72ae --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialViewController.m @@ -0,0 +1,295 @@ +#import "CTInterstitialViewController.h" +#import "CTInAppDisplayViewControllerPrivate.h" +#import "CTInAppResources.h" +#import "CTDismissButton.h" +#import "CTInAppUtils.h" +#import "CTAVPlayerViewController.h" + +#import "FLAnimatedImageView.h" +#import "FLAnimatedImage.h" +#import "CTSlider.h" + +@import AVFoundation; +#import + +struct FrameRotation { + CGRect frame; + CGFloat angle; + BOOL isRotated; +}; + +@interface CTInterstitialViewController () + +@property (nonatomic, strong) IBOutlet UIView *containerView; +@property (nonatomic, strong) IBOutlet UILabel *titleLabel; +@property (nonatomic, strong) IBOutlet UILabel *bodyLabel; +@property (nonatomic, strong) IBOutlet FLAnimatedImageView *imageView; +@property (nonatomic, strong) IBOutlet UIView *avPlayerContainerView; +@property (nonatomic, strong) IBOutlet UIView *buttonsContainer; +@property (nonatomic, strong) IBOutlet UIView *secondButtonContainer; +@property (nonatomic, strong) IBOutlet UIButton *firstButton; +@property (nonatomic, strong) IBOutlet UIButton *secondButton; +@property (nonatomic, strong) IBOutlet CTDismissButton *closeButton; + +@property (nonatomic, strong) CTAVPlayerViewController *playerController; +@property (nonatomic, assign) CGRect cachedAVPlayerFrame; +@property (nonatomic, assign) UIInterfaceOrientation originalOrientation; +@property (nonatomic, strong) UIWindow *avPlayerWindow; +@property (nonatomic, weak) UIWindow *mainWindow; +@property (nonatomic, assign) BOOL avPlayerIsFullScreen; + +@end + +@implementation CTInterstitialViewController + +@synthesize delegate; + +#pragma mark - UIViewController Lifecycle + +- (instancetype) initWithNotification:(CTInAppNotification *)notification { + self = [super initWithNibName:[CTInAppUtils XibNameForControllerName:NSStringFromClass([CTInterstitialViewController class])] bundle:[CTInAppUtils bundle]]; + if (self) { + self.notification = notification; + } + return self; +} + +-(void)viewDidLoad { + [super viewDidLoad]; + [self layoutNotification]; +} + +- (void)viewDidDisappear:(BOOL)animated { + [super viewDidDisappear:animated]; +} + +- (IBAction)closeButtonTapped:(id)sender { + [super tappedDismiss]; +} + +#pragma mark - Setup Notification + +- (void)layoutNotification { + + self.originalOrientation = [CTInAppResources getSharedApplication].statusBarOrientation; + self.view.backgroundColor = [UIColor clearColor]; + self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { + [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + if (self.notification.tablet) { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-40] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.containerView + attribute:NSLayoutAttributeHeight + multiplier:0.85 constant:0] setActive:YES]; + } else { + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeLeading + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeLeading + multiplier:1 constant:160] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeTrailing + relatedBy:NSLayoutRelationEqual + toItem:self.view attribute:NSLayoutAttributeTrailing + multiplier:1 constant:-160] setActive:YES]; + + } + } + + if (self.notification.darkenScreen) { + self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.75f]; + } + + self.closeButton.hidden = !self.notification.showCloseButton; + + // use FLAnimatedImageView to support gif + if (self.notification.image && !self.notification.hideMedia) { + self.imageView.contentMode = UIViewContentModeScaleAspectFit; + if ([self.notification.contentType isEqualToString:@"image/gif"] ) { + FLAnimatedImage *gif = [FLAnimatedImage animatedImageWithGIFData:self.notification.image]; + self.imageView.animatedImage = gif; + } else { + self.imageView.image = [UIImage imageWithData:self.notification.image]; + } + } + + // handle video or audio + if (self.notification.mediaUrl && !self.notification.hideMedia) { + self.playerController = [[CTAVPlayerViewController alloc] initWithNotification:self.notification]; + self.playerController.playerDelegate = self; + self.imageView.hidden = YES; + self.avPlayerContainerView.hidden = NO; + [self configureAvPlayerController]; + } + + if (self.notification.title) { + self.titleLabel.textAlignment = NSTextAlignmentCenter; + self.titleLabel.backgroundColor = [UIColor clearColor]; + self.titleLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.titleColor]; + self.titleLabel.text = self.notification.title; + } + + if (self.notification.message) { + self.bodyLabel.textAlignment = NSTextAlignmentCenter; + self.bodyLabel.backgroundColor = [UIColor clearColor]; + self.bodyLabel.textColor = [CTInAppUtils ct_colorWithHexString:self.notification.messageColor]; + self.bodyLabel.numberOfLines = 0; + self.bodyLabel.text = self.notification.message; + } + + self.firstButton.hidden = YES; + self.secondButton.hidden = YES; + + if (self.notification.buttons && self.notification.buttons.count > 0) { + self.firstButton = [self setupViewForButton:self.firstButton withData:self.notification.buttons[0] withIndex:0]; + if (self.notification.buttons.count == 2) { + self.secondButton = [self setupViewForButton:self.secondButton withData:self.notification.buttons[1] withIndex:1]; + } else { + [self.secondButton setHidden: YES]; + [[NSLayoutConstraint constraintWithItem:self.secondButtonContainer + attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual + toItem:nil attribute:NSLayoutAttributeNotAnAttribute + multiplier:1 constant:0] setActive:YES]; + } + } +} + +- (void)configureAvPlayerController { + [self addChildViewController:self.playerController]; + + [self.avPlayerContainerView addSubview:self.playerController.view]; + + [[NSLayoutConstraint constraintWithItem:self.playerController.view attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual + toItem:self.avPlayerContainerView attribute:NSLayoutAttributeWidth + multiplier:1 constant:0] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.playerController.view attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual + toItem:self.avPlayerContainerView attribute:NSLayoutAttributeHeight + multiplier:1 constant:0] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.playerController.view attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual + toItem:self.avPlayerContainerView attribute:NSLayoutAttributeLeading + multiplier:1 constant:0] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.playerController.view attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual + toItem:self.avPlayerContainerView attribute:NSLayoutAttributeTrailing + multiplier:1 constant:0] setActive:YES]; + [[NSLayoutConstraint constraintWithItem:self.playerController.view attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual + toItem:self.avPlayerContainerView attribute:NSLayoutAttributeCenterY + multiplier:1 constant:0] setActive:YES]; + + [self.playerController didMoveToParentViewController:self]; + +} + +#pragma mark - AV Delegates + +- (struct FrameRotation)rotateFrameIfNeeded:(CGRect)frame { + struct FrameRotation frameRotation; + frameRotation.frame = frame; + frameRotation.angle = 0; + frameRotation.isRotated = NO; + UIInterfaceOrientation currentOrientation = [CTInAppResources getSharedApplication].statusBarOrientation; + if (currentOrientation != _originalOrientation) { + frameRotation.isRotated = YES; + if (currentOrientation == UIInterfaceOrientationPortrait && _originalOrientation == UIInterfaceOrientationLandscapeRight) { + frameRotation.frame = CGRectMake(frame.origin.y, frame.origin.x, frame.size.height, frame.size.width); + frameRotation.angle = M_PI_2; + } + else if (currentOrientation == UIInterfaceOrientationPortrait && _originalOrientation == UIInterfaceOrientationLandscapeLeft) { + frameRotation.frame = CGRectMake(frame.origin.y, [UIScreen mainScreen].bounds.size.height - frame.origin.x - frame.size.height, frame.size.height, frame.size.width); + frameRotation.angle = -M_PI_2; + } + else if (currentOrientation == UIInterfaceOrientationLandscapeRight && _originalOrientation == UIInterfaceOrientationPortrait) { + frameRotation.frame = CGRectMake(frame.origin.y, frame.origin.x, frame.size.height, frame.size.width); + frameRotation.angle = -M_PI_2; + } + else if (currentOrientation == UIInterfaceOrientationLandscapeRight && _originalOrientation == UIInterfaceOrientationLandscapeLeft) { + frameRotation.frame = CGRectMake([UIScreen mainScreen].bounds.size.width - frame.origin.x - frame.size.width, frame.origin.y, frame.size.width, frame.size.height); + frameRotation.angle = M_PI; + } + else if (currentOrientation == UIInterfaceOrientationLandscapeLeft && _originalOrientation == UIInterfaceOrientationPortrait) { + frameRotation.frame = CGRectMake([UIScreen mainScreen].bounds.size.width - frame.origin.y - frame.size.height, frame.origin.x, frame.size.height, frame.size.width); + frameRotation.angle = M_PI_2; + } + else if (currentOrientation == UIInterfaceOrientationLandscapeLeft && _originalOrientation == UIInterfaceOrientationLandscapeRight) { + frameRotation.frame = CGRectMake([UIScreen mainScreen].bounds.size.width - frame.origin.y - frame.size.height, frame.origin.x, frame.size.height, frame.size.width); + frameRotation.angle = -M_PI; + } + } + return frameRotation; +} + +- (void)toggleFullscreen { + if (self.mainWindow == nil) { + self.mainWindow = [CTInAppResources getSharedApplication].keyWindow; + } + + if (self.avPlayerIsFullScreen) { + struct FrameRotation frameRotation = [self rotateFrameIfNeeded:self.cachedAVPlayerFrame]; + self.playerController.view.frame = frameRotation.frame; + [UIView animateKeyframesWithDuration:0.3 + delay:0 options:UIViewKeyframeAnimationOptionLayoutSubviews + animations:^{ + self->_avPlayerWindow.transform = CGAffineTransformRotate(self->_avPlayerWindow.transform, frameRotation.angle); + self->_avPlayerWindow.frame = frameRotation.frame; + } completion:^(BOOL finished) { + [self->_playerController removeFromParentViewController]; + [self->_playerController.view removeFromSuperview]; + [self configureAvPlayerController]; + [self->_avPlayerWindow removeFromSuperview]; + self->_avPlayerWindow.rootViewController = nil; + self->_avPlayerWindow = nil; + }]; + } + else { + self.cachedAVPlayerFrame = [[self.playerController.view superview] convertRect:self.playerController.view.frame toView:self.window]; + + [self.playerController removeFromParentViewController]; + [self.playerController.view removeFromSuperview]; + [self.playerController willMoveToParentViewController:nil]; + + struct FrameRotation frameRotation = [self rotateFrameIfNeeded:self.cachedAVPlayerFrame]; + + self.avPlayerWindow = [[UIWindow alloc] initWithFrame:frameRotation.frame]; + self.avPlayerWindow.transform = CGAffineTransformRotate(self.avPlayerWindow.transform, frameRotation.angle); + self.avPlayerWindow.backgroundColor = [UIColor blackColor]; + self.avPlayerWindow.windowLevel = UIWindowLevelNormal; + [self.avPlayerWindow makeKeyAndVisible]; + self.avPlayerWindow.rootViewController = self.playerController; + + self.playerController.view.frame = self.mainWindow.bounds; + + [UIView animateKeyframesWithDuration:0.3 + delay:0 options:UIViewKeyframeAnimationOptionLayoutSubviews + animations:^{ + self->_avPlayerWindow.transform = CGAffineTransformRotate(self->_avPlayerWindow.transform, -frameRotation.angle); + self->_avPlayerWindow.frame = self->_mainWindow.bounds; + } completion:^(BOOL finished) { + // no-op + }]; + } + self.avPlayerIsFullScreen = !self.avPlayerIsFullScreen; +} + +#pragma mark - Public + +-(void)show:(BOOL)animated { + [self showFromWindow:animated]; +} + +-(void)hide:(BOOL)animated { + [self hideFromWindow:animated]; +} + +@end diff --git a/CleverTapSDK/InApps/CTInterstitialViewController~ipad.xib b/CleverTapSDK/InApps/CTInterstitialViewController~ipad.xib new file mode 100644 index 00000000..eb3918d2 --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialViewController~ipad.xib @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTInterstitialViewController~iphoneport.xib b/CleverTapSDK/InApps/CTInterstitialViewController~iphoneport.xib new file mode 100644 index 00000000..0ff4182f --- /dev/null +++ b/CleverTapSDK/InApps/CTInterstitialViewController~iphoneport.xib @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CleverTapSDK/InApps/CTNotificationButton.h b/CleverTapSDK/InApps/CTNotificationButton.h new file mode 100644 index 00000000..70860d68 --- /dev/null +++ b/CleverTapSDK/InApps/CTNotificationButton.h @@ -0,0 +1,22 @@ + +#import + +@interface CTNotificationButton : NSObject + +@property (nonatomic, copy, readonly) NSString *text; +@property (nonatomic, copy, readonly) NSString *textColor; +@property (nonatomic, copy, readonly) NSString *borderRadius; +@property (nonatomic, copy, readonly) NSString *borderColor; + +@property (nonatomic, copy, readonly) NSString *backgroundColor; +@property (nonatomic, readonly) NSURL *actionURL; + +@property (nonatomic, copy, readonly) NSDictionary *jsonDescription; + +@property (nonatomic, readonly) NSString *error; + +- (instancetype)init __unavailable; + +- (instancetype)initWithJSON:(NSDictionary *)json; + +@end diff --git a/CleverTapSDK/InApps/CTNotificationButton.m b/CleverTapSDK/InApps/CTNotificationButton.m new file mode 100644 index 00000000..2524fdaa --- /dev/null +++ b/CleverTapSDK/InApps/CTNotificationButton.m @@ -0,0 +1,52 @@ + +#import "CTNotificationButton.h" + +@interface CTNotificationButton () { + +} + +@property (nonatomic, copy, readwrite) NSString *text; +@property (nonatomic, copy, readwrite) NSString *textColor; +@property (nonatomic, copy, readwrite) NSString *borderRadius; +@property (nonatomic, copy, readwrite) NSString *borderColor; +@property (nonatomic, copy, readwrite) NSString *backgroundColor; +@property (nonatomic, readwrite) NSURL *actionURL; + +@property (nonatomic, copy, readwrite) NSDictionary *jsonDescription; + +@property (nonatomic, readwrite) NSString *error; + +@end + +@implementation CTNotificationButton + +- (instancetype)initWithJSON:(NSDictionary *)jsonObject { + if (self = [super init]) { + @try { + self.jsonDescription = jsonObject; + self.text = jsonObject[@"text"]; + self.textColor = jsonObject[@"color"]; + self.borderRadius = jsonObject[@"radius"]; + self.borderColor = jsonObject[@"border"]; + self.backgroundColor = jsonObject[@"bg"]; + + NSDictionary *actions = jsonObject[@"actions"]; + if (actions) { + NSString *action = actions[@"ios"]; + if (action && action.length > 0) { + @try { + self.actionURL = [NSURL URLWithString:action]; + } @catch (NSException *e) { + self.error = [e debugDescription]; + } + } + } + + } @catch (NSException *e) { + self.error = [e debugDescription]; + } + } + return self; +} + +@end diff --git a/CleverTapSDK/InApps/CTSlider.h b/CleverTapSDK/InApps/CTSlider.h new file mode 100644 index 00000000..11792e14 --- /dev/null +++ b/CleverTapSDK/InApps/CTSlider.h @@ -0,0 +1,13 @@ +// +// CTSlider.h +// CleverTapSDK +// +// Created by Aditi Agrawal on 17/08/18. +// Copyright © 2018 Peter Wilkniss. All rights reserved. +// + +#import + +@interface CTSlider : UISlider + +@end diff --git a/CleverTapSDK/InApps/CTSlider.m b/CleverTapSDK/InApps/CTSlider.m new file mode 100644 index 00000000..f53320db --- /dev/null +++ b/CleverTapSDK/InApps/CTSlider.m @@ -0,0 +1,28 @@ +// +// CTSlider.m +// CleverTapSDK +// +// Created by Aditi Agrawal on 17/08/18. +// Copyright © 2018 Peter Wilkniss. All rights reserved. +// + +#import "CTSlider.h" + +static const float kSliderHeight = 6.0; + +@implementation CTSlider + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +- (CGRect)trackRectForBounds:(CGRect)bounds { + CGRect rect = CGRectMake(bounds.origin.x, bounds.size.height/2 - 3, bounds.size.width, kSliderHeight); + return rect; +} + +@end diff --git a/CleverTapSDK/InApps/FLAnimatedImage.h b/CleverTapSDK/InApps/FLAnimatedImage.h new file mode 100644 index 00000000..e7f0d617 --- /dev/null +++ b/CleverTapSDK/InApps/FLAnimatedImage.h @@ -0,0 +1,107 @@ +// +// FLAnimatedImage.h +// Flipboard +// +// Created by Raphael Schaad on 7/8/13. +// Copyright (c) 2013-2015 Flipboard. All rights reserved. +// +/* +The MIT License (MIT) + +Copyright (c) 2014-2016 Flipboard + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + + +#import + +// Allow user classes conveniently just importing one header. +#import "FLAnimatedImageView.h" + + +#ifndef NS_DESIGNATED_INITIALIZER + #if __has_attribute(objc_designated_initializer) + #define NS_DESIGNATED_INITIALIZER __attribute((objc_designated_initializer)) + #else + #define NS_DESIGNATED_INITIALIZER + #endif +#endif + +extern const NSTimeInterval kFLAnimatedImageDelayTimeIntervalMinimum; + +// +// An `FLAnimatedImage`'s job is to deliver frames in a highly performant way and works in conjunction with `FLAnimatedImageView`. +// It subclasses `NSObject` and not `UIImage` because it's only an "image" in the sense that a sea lion is a lion. +// It tries to intelligently choose the frame cache size depending on the image and memory situation with the goal to lower CPU usage for smaller ones, lower memory usage for larger ones and always deliver frames for high performant play-back. +// Note: `posterImage`, `size`, `loopCount`, `delayTimes` and `frameCount` don't change after successful initialization. +// +@interface FLAnimatedImage : NSObject + +@property (nonatomic, strong, readonly) UIImage *posterImage; // Guaranteed to be loaded; usually equivalent to `-imageLazilyCachedAtIndex:0` +@property (nonatomic, assign, readonly) CGSize size; // The `.posterImage`'s `.size` + +@property (nonatomic, assign, readonly) NSUInteger loopCount; // 0 means repeating the animation indefinitely +@property (nonatomic, strong, readonly) NSDictionary *delayTimesForIndexes; // Of type `NSTimeInterval` boxed in `NSNumber`s +@property (nonatomic, assign, readonly) NSUInteger frameCount; // Number of valid frames; equal to `[.delayTimes count]` + +@property (nonatomic, assign, readonly) NSUInteger frameCacheSizeCurrent; // Current size of intelligently chosen buffer window; can range in the interval [1..frameCount] +@property (nonatomic, assign) NSUInteger frameCacheSizeMax; // Allow to cap the cache size; 0 means no specific limit (default) + +// Intended to be called from main thread synchronously; will return immediately. +// If the result isn't cached, will return `nil`; the caller should then pause playback, not increment frame counter and keep polling. +// After an initial loading time, depending on `frameCacheSize`, frames should be available immediately from the cache. +- (UIImage *)imageLazilyCachedAtIndex:(NSUInteger)index; + +// Pass either a `UIImage` or an `FLAnimatedImage` and get back its size ++ (CGSize)sizeForImage:(id)image; + +// On success, the initializers return an `FLAnimatedImage` with all fields initialized, on failure they return `nil` and an error will be logged. +- (instancetype)initWithAnimatedGIFData:(NSData *)data; +// Pass 0 for optimalFrameCacheSize to get the default, predrawing is enabled by default. +- (instancetype)initWithAnimatedGIFData:(NSData *)data optimalFrameCacheSize:(NSUInteger)optimalFrameCacheSize predrawingEnabled:(BOOL)isPredrawingEnabled NS_DESIGNATED_INITIALIZER; ++ (instancetype)animatedImageWithGIFData:(NSData *)data; + +@property (nonatomic, strong, readonly) NSData *data; // The data the receiver was initialized with; read-only + +@end + +typedef NS_ENUM(NSUInteger, FLLogLevel) { + FLLogLevelNone = 0, + FLLogLevelError, + FLLogLevelWarn, + FLLogLevelInfo, + FLLogLevelDebug, + FLLogLevelVerbose +}; + +@interface FLAnimatedImage (Logging) + ++ (void)setLogBlock:(void (^)(NSString *logString, FLLogLevel logLevel))logBlock logLevel:(FLLogLevel)logLevel; ++ (void)logStringFromBlock:(NSString *(^)(void))stringBlock withLevel:(FLLogLevel)level; + +@end + +#define FLLog(logLevel, format, ...) [FLAnimatedImage logStringFromBlock:^NSString *{ return [NSString stringWithFormat:(format), ## __VA_ARGS__]; } withLevel:(logLevel)] + +@interface FLWeakProxy : NSProxy + ++ (instancetype)weakProxyForObject:(id)targetObject; + +@end diff --git a/CleverTapSDK/InApps/FLAnimatedImage.m b/CleverTapSDK/InApps/FLAnimatedImage.m new file mode 100755 index 00000000..2cd870af --- /dev/null +++ b/CleverTapSDK/InApps/FLAnimatedImage.m @@ -0,0 +1,816 @@ +// +// FLAnimatedImage.m +// Flipboard +// +// Created by Raphael Schaad on 7/8/13. +// Copyright (c) 2013-2015 Flipboard. All rights reserved. +// + + +#import "FLAnimatedImage.h" +#import +#import + + +// From vm_param.h, define for iOS 8.0 or higher to build on device. +#ifndef BYTE_SIZE + #define BYTE_SIZE 8 // byte size in bits +#endif + +#define MEGABYTE (1024 * 1024) + +// This is how the fastest browsers do it as per 2012: http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser-compatibility +const NSTimeInterval kFLAnimatedImageDelayTimeIntervalMinimum = 0.02; + +// An animated image's data size (dimensions * frameCount) category; its value is the max allowed memory (in MB). +// E.g.: A 100x200px GIF with 30 frames is ~2.3MB in our pixel format and would fall into the `FLAnimatedImageDataSizeCategoryAll` category. +typedef NS_ENUM(NSUInteger, FLAnimatedImageDataSizeCategory) { + FLAnimatedImageDataSizeCategoryAll = 10, // All frames permanently in memory (be nice to the CPU) + FLAnimatedImageDataSizeCategoryDefault = 75, // A frame cache of default size in memory (usually real-time performance and keeping low memory profile) + FLAnimatedImageDataSizeCategoryOnDemand = 250, // Only keep one frame at the time in memory (easier on memory, slowest performance) + FLAnimatedImageDataSizeCategoryUnsupported // Even for one frame too large, computer says no. +}; + +typedef NS_ENUM(NSUInteger, FLAnimatedImageFrameCacheSize) { + FLAnimatedImageFrameCacheSizeNoLimit = 0, // 0 means no specific limit + FLAnimatedImageFrameCacheSizeLowMemory = 1, // The minimum frame cache size; this will produce frames on-demand. + FLAnimatedImageFrameCacheSizeGrowAfterMemoryWarning = 2, // If we can produce the frames faster than we consume, one frame ahead will already result in a stutter-free playback. + FLAnimatedImageFrameCacheSizeDefault = 5 // Build up a comfy buffer window to cope with CPU hiccups etc. +}; + + +#if defined(DEBUG) && DEBUG +@protocol FLAnimatedImageDebugDelegate +@optional +- (void)debug_animatedImage:(FLAnimatedImage *)animatedImage didUpdateCachedFrames:(NSIndexSet *)indexesOfFramesInCache; +- (void)debug_animatedImage:(FLAnimatedImage *)animatedImage didRequestCachedFrame:(NSUInteger)index; +- (CGFloat)debug_animatedImagePredrawingSlowdownFactor:(FLAnimatedImage *)animatedImage; +@end +#endif + + +@interface FLAnimatedImage () + +@property (nonatomic, assign, readonly) NSUInteger frameCacheSizeOptimal; // The optimal number of frames to cache based on image size & number of frames; never changes +@property (nonatomic, assign, readonly, getter=isPredrawingEnabled) BOOL predrawingEnabled; // Enables predrawing of images to improve performance. +@property (nonatomic, assign) NSUInteger frameCacheSizeMaxInternal; // Allow to cap the cache size e.g. when memory warnings occur; 0 means no specific limit (default) +@property (nonatomic, assign) NSUInteger requestedFrameIndex; // Most recently requested frame index +@property (nonatomic, assign, readonly) NSUInteger posterImageFrameIndex; // Index of non-purgable poster image; never changes +@property (nonatomic, strong, readonly) NSMutableDictionary *cachedFramesForIndexes; +@property (nonatomic, strong, readonly) NSMutableIndexSet *cachedFrameIndexes; // Indexes of cached frames +@property (nonatomic, strong, readonly) NSMutableIndexSet *requestedFrameIndexes; // Indexes of frames that are currently produced in the background +@property (nonatomic, strong, readonly) NSIndexSet *allFramesIndexSet; // Default index set with the full range of indexes; never changes +@property (nonatomic, assign) NSUInteger memoryWarningCount; +@property (nonatomic, strong, readonly) dispatch_queue_t serialQueue; +@property (nonatomic, strong, readonly) __attribute__((NSObject)) CGImageSourceRef imageSource; + +// The weak proxy is used to break retain cycles with delayed actions from memory warnings. +// We are lying about the actual type here to gain static type checking and eliminate casts. +// The actual type of the object is `FLWeakProxy`. +@property (nonatomic, strong, readonly) FLAnimatedImage *weakProxy; + +#if defined(DEBUG) && DEBUG +@property (nonatomic, weak) id debug_delegate; +#endif + +@end + + +// For custom dispatching of memory warnings to avoid deallocation races since NSNotificationCenter doesn't retain objects it is notifying. +static NSHashTable *allAnimatedImagesWeak; + +@implementation FLAnimatedImage + +#pragma mark - Accessors +#pragma mark Public + +// This is the definite value the frame cache needs to size itself to. +- (NSUInteger)frameCacheSizeCurrent +{ + NSUInteger frameCacheSizeCurrent = self.frameCacheSizeOptimal; + + // If set, respect the caps. + if (self.frameCacheSizeMax > FLAnimatedImageFrameCacheSizeNoLimit) { + frameCacheSizeCurrent = MIN(frameCacheSizeCurrent, self.frameCacheSizeMax); + } + + if (self.frameCacheSizeMaxInternal > FLAnimatedImageFrameCacheSizeNoLimit) { + frameCacheSizeCurrent = MIN(frameCacheSizeCurrent, self.frameCacheSizeMaxInternal); + } + + return frameCacheSizeCurrent; +} + + +- (void)setFrameCacheSizeMax:(NSUInteger)frameCacheSizeMax +{ + if (_frameCacheSizeMax != frameCacheSizeMax) { + + // Remember whether the new cap will cause the current cache size to shrink; then we'll make sure to purge from the cache if needed. + BOOL willFrameCacheSizeShrink = (frameCacheSizeMax < self.frameCacheSizeCurrent); + + // Update the value + _frameCacheSizeMax = frameCacheSizeMax; + + if (willFrameCacheSizeShrink) { + [self purgeFrameCacheIfNeeded]; + } + } +} + + +#pragma mark Private + +- (void)setFrameCacheSizeMaxInternal:(NSUInteger)frameCacheSizeMaxInternal +{ + if (_frameCacheSizeMaxInternal != frameCacheSizeMaxInternal) { + + // Remember whether the new cap will cause the current cache size to shrink; then we'll make sure to purge from the cache if needed. + BOOL willFrameCacheSizeShrink = (frameCacheSizeMaxInternal < self.frameCacheSizeCurrent); + + // Update the value + _frameCacheSizeMaxInternal = frameCacheSizeMaxInternal; + + if (willFrameCacheSizeShrink) { + [self purgeFrameCacheIfNeeded]; + } + } +} + + +#pragma mark - Life Cycle + ++ (void)initialize +{ + if (self == [FLAnimatedImage class]) { + // UIKit memory warning notification handler shared by all of the instances + allAnimatedImagesWeak = [NSHashTable weakObjectsHashTable]; + + [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidReceiveMemoryWarningNotification object:nil queue:nil usingBlock:^(NSNotification *note) { + // UIKit notifications are posted on the main thread. didReceiveMemoryWarning: is expecting the main run loop, and we don't lock on allAnimatedImagesWeak + NSAssert([NSThread isMainThread], @"Received memory warning on non-main thread"); + // Get a strong reference to all of the images. If an instance is returned in this array, it is still live and has not entered dealloc. + // Note that FLAnimatedImages can be created on any thread, so the hash table must be locked. + NSArray *images = nil; + @synchronized(allAnimatedImagesWeak) { + images = [[allAnimatedImagesWeak allObjects] copy]; + } + // Now issue notifications to all of the images while holding a strong reference to them + [images makeObjectsPerformSelector:@selector(didReceiveMemoryWarning:) withObject:note]; + }]; + } +} + + +- (instancetype)init +{ + FLAnimatedImage *animatedImage = [self initWithAnimatedGIFData:nil]; + if (!animatedImage) { + FLLog(FLLogLevelError, @"Use `-initWithAnimatedGIFData:` and supply the animated GIF data as an argument to initialize an object of type `FLAnimatedImage`."); + } + return animatedImage; +} + + +- (instancetype)initWithAnimatedGIFData:(NSData *)data +{ + return [self initWithAnimatedGIFData:data optimalFrameCacheSize:0 predrawingEnabled:YES]; +} + +- (instancetype)initWithAnimatedGIFData:(NSData *)data optimalFrameCacheSize:(NSUInteger)optimalFrameCacheSize predrawingEnabled:(BOOL)isPredrawingEnabled +{ + // Early return if no data supplied! + BOOL hasData = ([data length] > 0); + if (!hasData) { + FLLog(FLLogLevelError, @"No animated GIF data supplied."); + return nil; + } + + self = [super init]; + if (self) { + // Do one-time initializations of `readonly` properties directly to ivar to prevent implicit actions and avoid need for private `readwrite` property overrides. + + // Keep a strong reference to `data` and expose it read-only publicly. + // However, we will use the `_imageSource` as handler to the image data throughout our life cycle. + _data = data; + _predrawingEnabled = isPredrawingEnabled; + + // Initialize internal data structures + _cachedFramesForIndexes = [[NSMutableDictionary alloc] init]; + _cachedFrameIndexes = [[NSMutableIndexSet alloc] init]; + _requestedFrameIndexes = [[NSMutableIndexSet alloc] init]; + + // Note: We could leverage `CGImageSourceCreateWithURL` too to add a second initializer `-initWithAnimatedGIFContentsOfURL:`. + _imageSource = CGImageSourceCreateWithData((__bridge CFDataRef)data, + (__bridge CFDictionaryRef)@{(NSString *)kCGImageSourceShouldCache: @NO}); + // Early return on failure! + if (!_imageSource) { + FLLog(FLLogLevelError, @"Failed to `CGImageSourceCreateWithData` for animated GIF data %@", data); + return nil; + } + + // Early return if not GIF! + CFStringRef imageSourceContainerType = CGImageSourceGetType(_imageSource); + BOOL isGIFData = UTTypeConformsTo(imageSourceContainerType, kUTTypeGIF); + if (!isGIFData) { + FLLog(FLLogLevelError, @"Supplied data is of type %@ and doesn't seem to be GIF data %@", imageSourceContainerType, data); + return nil; + } + + // Get `LoopCount` + // Note: 0 means repeating the animation indefinitely. + // Image properties example: + // { + // FileSize = 314446; + // "{GIF}" = { + // HasGlobalColorMap = 1; + // LoopCount = 0; + // }; + // } + NSDictionary *imageProperties = (__bridge_transfer NSDictionary *)CGImageSourceCopyProperties(_imageSource, NULL); + _loopCount = [[[imageProperties objectForKey:(id)kCGImagePropertyGIFDictionary] objectForKey:(id)kCGImagePropertyGIFLoopCount] unsignedIntegerValue]; + + // Iterate through frame images + size_t imageCount = CGImageSourceGetCount(_imageSource); + NSUInteger skippedFrameCount = 0; + NSMutableDictionary *delayTimesForIndexesMutable = [NSMutableDictionary dictionaryWithCapacity:imageCount]; + for (size_t i = 0; i < imageCount; i++) { + @autoreleasepool { + CGImageRef frameImageRef = CGImageSourceCreateImageAtIndex(_imageSource, i, NULL); + if (frameImageRef) { + UIImage *frameImage = [UIImage imageWithCGImage:frameImageRef]; + // Check for valid `frameImage` before parsing its properties as frames can be corrupted (and `frameImage` even `nil` when `frameImageRef` was valid). + if (frameImage) { + // Set poster image + if (!self.posterImage) { + _posterImage = frameImage; + // Set its size to proxy our size. + _size = _posterImage.size; + // Remember index of poster image so we never purge it; also add it to the cache. + _posterImageFrameIndex = i; + [self.cachedFramesForIndexes setObject:self.posterImage forKey:@(self.posterImageFrameIndex)]; + [self.cachedFrameIndexes addIndex:self.posterImageFrameIndex]; + } + + // Get `DelayTime` + // Note: It's not in (1/100) of a second like still falsely described in the documentation as per iOS 8 (rdar://19507384) but in seconds stored as `kCFNumberFloat32Type`. + // Frame properties example: + // { + // ColorModel = RGB; + // Depth = 8; + // PixelHeight = 960; + // PixelWidth = 640; + // "{GIF}" = { + // DelayTime = "0.4"; + // UnclampedDelayTime = "0.4"; + // }; + // } + + NSDictionary *frameProperties = (__bridge_transfer NSDictionary *)CGImageSourceCopyPropertiesAtIndex(_imageSource, i, NULL); + NSDictionary *framePropertiesGIF = [frameProperties objectForKey:(id)kCGImagePropertyGIFDictionary]; + + // Try to use the unclamped delay time; fall back to the normal delay time. + NSNumber *delayTime = [framePropertiesGIF objectForKey:(id)kCGImagePropertyGIFUnclampedDelayTime]; + if (!delayTime) { + delayTime = [framePropertiesGIF objectForKey:(id)kCGImagePropertyGIFDelayTime]; + } + // If we don't get a delay time from the properties, fall back to `kDelayTimeIntervalDefault` or carry over the preceding frame's value. + const NSTimeInterval kDelayTimeIntervalDefault = 0.1; + if (!delayTime) { + if (i == 0) { + FLLog(FLLogLevelInfo, @"Falling back to default delay time for first frame %@ because none found in GIF properties %@", frameImage, frameProperties); + delayTime = @(kDelayTimeIntervalDefault); + } else { + FLLog(FLLogLevelInfo, @"Falling back to preceding delay time for frame %zu %@ because none found in GIF properties %@", i, frameImage, frameProperties); + delayTime = delayTimesForIndexesMutable[@(i - 1)]; + } + } + // Support frame delays as low as `kFLAnimatedImageDelayTimeIntervalMinimum`, with anything below being rounded up to `kDelayTimeIntervalDefault` for legacy compatibility. + // To support the minimum even when rounding errors occur, use an epsilon when comparing. We downcast to float because that's what we get for delayTime from ImageIO. + if ([delayTime floatValue] < ((float)kFLAnimatedImageDelayTimeIntervalMinimum - FLT_EPSILON)) { + FLLog(FLLogLevelInfo, @"Rounding frame %zu's `delayTime` from %f up to default %f (minimum supported: %f).", i, [delayTime floatValue], kDelayTimeIntervalDefault, kFLAnimatedImageDelayTimeIntervalMinimum); + delayTime = @(kDelayTimeIntervalDefault); + } + delayTimesForIndexesMutable[@(i)] = delayTime; + } else { + skippedFrameCount++; + FLLog(FLLogLevelInfo, @"Dropping frame %zu because valid `CGImageRef` %@ did result in `nil`-`UIImage`.", i, frameImageRef); + } + CFRelease(frameImageRef); + } else { + skippedFrameCount++; + FLLog(FLLogLevelInfo, @"Dropping frame %zu because failed to `CGImageSourceCreateImageAtIndex` with image source %@", i, self.imageSource); + } + } + } + _delayTimesForIndexes = [delayTimesForIndexesMutable copy]; + _frameCount = imageCount; + + if (self.frameCount == 0) { + FLLog(FLLogLevelInfo, @"Failed to create any valid frames for GIF with properties %@", imageProperties); + return nil; + } else if (self.frameCount == 1) { + // Warn when we only have a single frame but return a valid GIF. + FLLog(FLLogLevelInfo, @"Created valid GIF but with only a single frame. Image properties: %@", imageProperties); + } else { + // We have multiple frames, rock on! + } + + // If no value is provided, select a default based on the GIF. + if (optimalFrameCacheSize == 0) { + // Calculate the optimal frame cache size: try choosing a larger buffer window depending on the predicted image size. + // It's only dependent on the image size & number of frames and never changes. + CGFloat animatedImageDataSize = CGImageGetBytesPerRow(self.posterImage.CGImage) * self.size.height * (self.frameCount - skippedFrameCount) / MEGABYTE; + if (animatedImageDataSize <= FLAnimatedImageDataSizeCategoryAll) { + _frameCacheSizeOptimal = self.frameCount; + } else if (animatedImageDataSize <= FLAnimatedImageDataSizeCategoryDefault) { + // This value doesn't depend on device memory much because if we're not keeping all frames in memory we will always be decoding 1 frame up ahead per 1 frame that gets played and at this point we might as well just keep a small buffer just large enough to keep from running out of frames. + _frameCacheSizeOptimal = FLAnimatedImageFrameCacheSizeDefault; + } else { + // The predicted size exceeds the limits to build up a cache and we go into low memory mode from the beginning. + _frameCacheSizeOptimal = FLAnimatedImageFrameCacheSizeLowMemory; + } + } else { + // Use the provided value. + _frameCacheSizeOptimal = optimalFrameCacheSize; + } + // In any case, cap the optimal cache size at the frame count. + _frameCacheSizeOptimal = MIN(_frameCacheSizeOptimal, self.frameCount); + + // Convenience/minor performance optimization; keep an index set handy with the full range to return in `-frameIndexesToCache`. + _allFramesIndexSet = [[NSIndexSet alloc] initWithIndexesInRange:NSMakeRange(0, self.frameCount)]; + + // See the property declarations for descriptions. + _weakProxy = (id)[FLWeakProxy weakProxyForObject:self]; + + // Register this instance in the weak table for memory notifications. The NSHashTable will clean up after itself when we're gone. + // Note that FLAnimatedImages can be created on any thread, so the hash table must be locked. + @synchronized(allAnimatedImagesWeak) { + [allAnimatedImagesWeak addObject:self]; + } + } + return self; +} + + ++ (instancetype)animatedImageWithGIFData:(NSData *)data +{ + FLAnimatedImage *animatedImage = [[FLAnimatedImage alloc] initWithAnimatedGIFData:data]; + return animatedImage; +} + + +- (void)dealloc +{ + if (_weakProxy) { + [NSObject cancelPreviousPerformRequestsWithTarget:_weakProxy]; + } + + if (_imageSource) { + CFRelease(_imageSource); + } +} + + +#pragma mark - Public Methods + +// See header for more details. +// Note: both consumer and producer are throttled: consumer by frame timings and producer by the available memory (max buffer window size). +- (UIImage *)imageLazilyCachedAtIndex:(NSUInteger)index +{ + // Early return if the requested index is beyond bounds. + // Note: We're comparing an index with a count and need to bail on greater than or equal to. + if (index >= self.frameCount) { + FLLog(FLLogLevelWarn, @"Skipping requested frame %lu beyond bounds (total frame count: %lu) for animated image: %@", (unsigned long)index, (unsigned long)self.frameCount, self); + return nil; + } + + // Remember requested frame index, this influences what we should cache next. + self.requestedFrameIndex = index; +#if defined(DEBUG) && DEBUG + if ([self.debug_delegate respondsToSelector:@selector(debug_animatedImage:didRequestCachedFrame:)]) { + [self.debug_delegate debug_animatedImage:self didRequestCachedFrame:index]; + } +#endif + + // Quick check to avoid doing any work if we already have all possible frames cached, a common case. + if ([self.cachedFrameIndexes count] < self.frameCount) { + // If we have frames that should be cached but aren't and aren't requested yet, request them. + // Exclude existing cached frames, frames already requested, and specially cached poster image. + NSMutableIndexSet *frameIndexesToAddToCacheMutable = [self frameIndexesToCache]; + [frameIndexesToAddToCacheMutable removeIndexes:self.cachedFrameIndexes]; + [frameIndexesToAddToCacheMutable removeIndexes:self.requestedFrameIndexes]; + [frameIndexesToAddToCacheMutable removeIndex:self.posterImageFrameIndex]; + NSIndexSet *frameIndexesToAddToCache = [frameIndexesToAddToCacheMutable copy]; + + // Asynchronously add frames to our cache. + if ([frameIndexesToAddToCache count] > 0) { + [self addFrameIndexesToCache:frameIndexesToAddToCache]; + } + } + + // Get the specified image. + UIImage *image = self.cachedFramesForIndexes[@(index)]; + + // Purge if needed based on the current playhead position. + [self purgeFrameCacheIfNeeded]; + + return image; +} + + +// Only called once from `-imageLazilyCachedAtIndex` but factored into its own method for logical grouping. +- (void)addFrameIndexesToCache:(NSIndexSet *)frameIndexesToAddToCache +{ + // Order matters. First, iterate over the indexes starting from the requested frame index. + // Then, if there are any indexes before the requested frame index, do those. + NSRange firstRange = NSMakeRange(self.requestedFrameIndex, self.frameCount - self.requestedFrameIndex); + NSRange secondRange = NSMakeRange(0, self.requestedFrameIndex); + if (firstRange.length + secondRange.length != self.frameCount) { + FLLog(FLLogLevelWarn, @"Two-part frame cache range doesn't equal full range."); + } + + // Add to the requested list before we actually kick them off, so they don't get into the queue twice. + [self.requestedFrameIndexes addIndexes:frameIndexesToAddToCache]; + + // Lazily create dedicated isolation queue. + if (!self.serialQueue) { + _serialQueue = dispatch_queue_create("com.flipboard.framecachingqueue", DISPATCH_QUEUE_SERIAL); + } + + // Start streaming requested frames in the background into the cache. + // Avoid capturing self in the block as there's no reason to keep doing work if the animated image went away. + FLAnimatedImage * __weak weakSelf = self; + dispatch_async(self.serialQueue, ^{ + // Produce and cache next needed frame. + void (^frameRangeBlock)(NSRange, BOOL *) = ^(NSRange range, BOOL *stop) { + // Iterate through contiguous indexes; can be faster than `enumerateIndexesInRange:options:usingBlock:`. + for (NSUInteger i = range.location; i < NSMaxRange(range); i++) { +#if defined(DEBUG) && DEBUG + CFTimeInterval predrawBeginTime = CACurrentMediaTime(); +#endif + UIImage *image = [weakSelf imageAtIndex:i]; +#if defined(DEBUG) && DEBUG + CFTimeInterval predrawDuration = CACurrentMediaTime() - predrawBeginTime; + CFTimeInterval slowdownDuration = 0.0; + if ([self.debug_delegate respondsToSelector:@selector(debug_animatedImagePredrawingSlowdownFactor:)]) { + CGFloat predrawingSlowdownFactor = [self.debug_delegate debug_animatedImagePredrawingSlowdownFactor:self]; + slowdownDuration = predrawDuration * predrawingSlowdownFactor - predrawDuration; + [NSThread sleepForTimeInterval:slowdownDuration]; + } + FLLog(FLLogLevelVerbose, @"Predrew frame %lu in %f ms for animated image: %@", (unsigned long)i, (predrawDuration + slowdownDuration) * 1000, self); +#endif + // The results get returned one by one as soon as they're ready (and not in batch). + // The benefits of having the first frames as quick as possible outweigh building up a buffer to cope with potential hiccups when the CPU suddenly gets busy. + if (image && weakSelf) { + dispatch_async(dispatch_get_main_queue(), ^{ + weakSelf.cachedFramesForIndexes[@(i)] = image; + [weakSelf.cachedFrameIndexes addIndex:i]; + [weakSelf.requestedFrameIndexes removeIndex:i]; +#if defined(DEBUG) && DEBUG + if ([weakSelf.debug_delegate respondsToSelector:@selector(debug_animatedImage:didUpdateCachedFrames:)]) { + [weakSelf.debug_delegate debug_animatedImage:weakSelf didUpdateCachedFrames:weakSelf.cachedFrameIndexes]; + } +#endif + }); + } + } + }; + + [frameIndexesToAddToCache enumerateRangesInRange:firstRange options:0 usingBlock:frameRangeBlock]; + [frameIndexesToAddToCache enumerateRangesInRange:secondRange options:0 usingBlock:frameRangeBlock]; + }); +} + + ++ (CGSize)sizeForImage:(id)image +{ + CGSize imageSize = CGSizeZero; + + // Early return for nil + if (!image) { + return imageSize; + } + + if ([image isKindOfClass:[UIImage class]]) { + UIImage *uiImage = (UIImage *)image; + imageSize = uiImage.size; + } else if ([image isKindOfClass:[FLAnimatedImage class]]) { + FLAnimatedImage *animatedImage = (FLAnimatedImage *)image; + imageSize = animatedImage.size; + } else { + // Bear trap to capture bad images; we have seen crashers cropping up on iOS 7. + FLLog(FLLogLevelError, @"`image` isn't of expected types `UIImage` or `FLAnimatedImage`: %@", image); + } + + return imageSize; +} + + +#pragma mark - Private Methods +#pragma mark Frame Loading + +- (UIImage *)imageAtIndex:(NSUInteger)index +{ + // It's very important to use the cached `_imageSource` since the random access to a frame with `CGImageSourceCreateImageAtIndex` turns from an O(1) into an O(n) operation when re-initializing the image source every time. + CGImageRef imageRef = CGImageSourceCreateImageAtIndex(_imageSource, index, NULL); + + // Early return for nil + if (!imageRef) { + return nil; + } + + UIImage *image = [UIImage imageWithCGImage:imageRef]; + CFRelease(imageRef); + + // Loading in the image object is only half the work, the displaying image view would still have to synchronosly wait and decode the image, so we go ahead and do that here on the background thread. + if (self.isPredrawingEnabled) { + image = [[self class] predrawnImageFromImage:image]; + } + + return image; +} + + +#pragma mark Frame Caching + +- (NSMutableIndexSet *)frameIndexesToCache +{ + NSMutableIndexSet *indexesToCache = nil; + // Quick check to avoid building the index set if the number of frames to cache equals the total frame count. + if (self.frameCacheSizeCurrent == self.frameCount) { + indexesToCache = [self.allFramesIndexSet mutableCopy]; + } else { + indexesToCache = [[NSMutableIndexSet alloc] init]; + + // Add indexes to the set in two separate blocks- the first starting from the requested frame index, up to the limit or the end. + // The second, if needed, the remaining number of frames beginning at index zero. + NSUInteger firstLength = MIN(self.frameCacheSizeCurrent, self.frameCount - self.requestedFrameIndex); + NSRange firstRange = NSMakeRange(self.requestedFrameIndex, firstLength); + [indexesToCache addIndexesInRange:firstRange]; + NSUInteger secondLength = self.frameCacheSizeCurrent - firstLength; + if (secondLength > 0) { + NSRange secondRange = NSMakeRange(0, secondLength); + [indexesToCache addIndexesInRange:secondRange]; + } + // Double check our math, before we add the poster image index which may increase it by one. + if ([indexesToCache count] != self.frameCacheSizeCurrent) { + FLLog(FLLogLevelWarn, @"Number of frames to cache doesn't equal expected cache size."); + } + + [indexesToCache addIndex:self.posterImageFrameIndex]; + } + + return indexesToCache; +} + + +- (void)purgeFrameCacheIfNeeded +{ + // Purge frames that are currently cached but don't need to be. + // But not if we're still under the number of frames to cache. + // This way, if all frames are allowed to be cached (the common case), we can skip all the `NSIndexSet` math below. + if ([self.cachedFrameIndexes count] > self.frameCacheSizeCurrent) { + NSMutableIndexSet *indexesToPurge = [self.cachedFrameIndexes mutableCopy]; + [indexesToPurge removeIndexes:[self frameIndexesToCache]]; + [indexesToPurge enumerateRangesUsingBlock:^(NSRange range, BOOL *stop) { + // Iterate through contiguous indexes; can be faster than `enumerateIndexesInRange:options:usingBlock:`. + for (NSUInteger i = range.location; i < NSMaxRange(range); i++) { + [self.cachedFrameIndexes removeIndex:i]; + [self.cachedFramesForIndexes removeObjectForKey:@(i)]; + // Note: Don't `CGImageSourceRemoveCacheAtIndex` on the image source for frames that we don't want cached any longer to maintain O(1) time access. +#if defined(DEBUG) && DEBUG + if ([self.debug_delegate respondsToSelector:@selector(debug_animatedImage:didUpdateCachedFrames:)]) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self.debug_delegate debug_animatedImage:self didUpdateCachedFrames:self.cachedFrameIndexes]; + }); + } +#endif + } + }]; + } +} + + +- (void)growFrameCacheSizeAfterMemoryWarning:(NSNumber *)frameCacheSize +{ + self.frameCacheSizeMaxInternal = [frameCacheSize unsignedIntegerValue]; + FLLog(FLLogLevelDebug, @"Grew frame cache size max to %lu after memory warning for animated image: %@", (unsigned long)self.frameCacheSizeMaxInternal, self); + + // Schedule resetting the frame cache size max completely after a while. + const NSTimeInterval kResetDelay = 3.0; + [self.weakProxy performSelector:@selector(resetFrameCacheSizeMaxInternal) withObject:nil afterDelay:kResetDelay]; +} + + +- (void)resetFrameCacheSizeMaxInternal +{ + self.frameCacheSizeMaxInternal = FLAnimatedImageFrameCacheSizeNoLimit; + FLLog(FLLogLevelDebug, @"Reset frame cache size max (current frame cache size: %lu) for animated image: %@", (unsigned long)self.frameCacheSizeCurrent, self); +} + + +#pragma mark System Memory Warnings Notification Handler + +- (void)didReceiveMemoryWarning:(NSNotification *)notification +{ + self.memoryWarningCount++; + + // If we were about to grow larger, but got rapped on our knuckles by the system again, cancel. + [NSObject cancelPreviousPerformRequestsWithTarget:self.weakProxy selector:@selector(growFrameCacheSizeAfterMemoryWarning:) object:@(FLAnimatedImageFrameCacheSizeGrowAfterMemoryWarning)]; + [NSObject cancelPreviousPerformRequestsWithTarget:self.weakProxy selector:@selector(resetFrameCacheSizeMaxInternal) object:nil]; + + // Go down to the minimum and by that implicitly immediately purge from the cache if needed to not get jettisoned by the system and start producing frames on-demand. + FLLog(FLLogLevelDebug, @"Attempt setting frame cache size max to %lu (previous was %lu) after memory warning #%lu for animated image: %@", (unsigned long)FLAnimatedImageFrameCacheSizeLowMemory, (unsigned long)self.frameCacheSizeMaxInternal, (unsigned long)self.memoryWarningCount, self); + self.frameCacheSizeMaxInternal = FLAnimatedImageFrameCacheSizeLowMemory; + + // Schedule growing larger again after a while, but cap our attempts to prevent a periodic sawtooth wave (ramps upward and then sharply drops) of memory usage. + // + // [mem]^ (2) (5) (6) 1) Loading frames for the first time + // (*)| , , , 2) Mem warning #1; purge cache + // | /| (4)/| /| 3) Grow cache size a bit after a while, if no mem warning occurs + // | / | _/ | _/ | 4) Try to grow cache size back to optimum after a while, if no mem warning occurs + // |(1)/ |_/ |/ |__(7) 5) Mem warning #2; purge cache + // |__/ (3) 6) After repetition of (3) and (4), mem warning #3; purge cache + // +----------------------> 7) After 3 mem warnings, stay at minimum cache size + // [t] + // *) The mem high water mark before we get warned might change for every cycle. + // + const NSUInteger kGrowAttemptsMax = 2; + const NSTimeInterval kGrowDelay = 2.0; + if ((self.memoryWarningCount - 1) <= kGrowAttemptsMax) { + [self.weakProxy performSelector:@selector(growFrameCacheSizeAfterMemoryWarning:) withObject:@(FLAnimatedImageFrameCacheSizeGrowAfterMemoryWarning) afterDelay:kGrowDelay]; + } + + // Note: It's not possible to get the level of a memory warning with a public API: http://stackoverflow.com/questions/2915247/iphone-os-memory-warnings-what-do-the-different-levels-mean/2915477#2915477 +} + + +#pragma mark Image Decoding + +// Decodes the image's data and draws it off-screen fully in memory; it's thread-safe and hence can be called on a background thread. +// On success, the returned object is a new `UIImage` instance with the same content as the one passed in. +// On failure, the returned object is the unchanged passed in one; the data will not be predrawn in memory though and an error will be logged. +// First inspired by & good Karma to: https://gist.github.com/steipete/1144242 ++ (UIImage *)predrawnImageFromImage:(UIImage *)imageToPredraw +{ + // Always use a device RGB color space for simplicity and predictability what will be going on. + CGColorSpaceRef colorSpaceDeviceRGBRef = CGColorSpaceCreateDeviceRGB(); + // Early return on failure! + if (!colorSpaceDeviceRGBRef) { + FLLog(FLLogLevelError, @"Failed to `CGColorSpaceCreateDeviceRGB` for image %@", imageToPredraw); + return imageToPredraw; + } + + // Even when the image doesn't have transparency, we have to add the extra channel because Quartz doesn't support other pixel formats than 32 bpp/8 bpc for RGB: + // kCGImageAlphaNoneSkipFirst, kCGImageAlphaNoneSkipLast, kCGImageAlphaPremultipliedFirst, kCGImageAlphaPremultipliedLast + // (source: docs "Quartz 2D Programming Guide > Graphics Contexts > Table 2-1 Pixel formats supported for bitmap graphics contexts") + size_t numberOfComponents = CGColorSpaceGetNumberOfComponents(colorSpaceDeviceRGBRef) + 1; // 4: RGB + A + + // "In iOS 4.0 and later, and OS X v10.6 and later, you can pass NULL if you want Quartz to allocate memory for the bitmap." (source: docs) + void *data = NULL; + size_t width = imageToPredraw.size.width; + size_t height = imageToPredraw.size.height; + size_t bitsPerComponent = CHAR_BIT; + + size_t bitsPerPixel = (bitsPerComponent * numberOfComponents); + size_t bytesPerPixel = (bitsPerPixel / BYTE_SIZE); + size_t bytesPerRow = (bytesPerPixel * width); + + CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; + + CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageToPredraw.CGImage); + // If the alpha info doesn't match to one of the supported formats (see above), pick a reasonable supported one. + // "For bitmaps created in iOS 3.2 and later, the drawing environment uses the premultiplied ARGB format to store the bitmap data." (source: docs) + if (alphaInfo == kCGImageAlphaNone || alphaInfo == kCGImageAlphaOnly) { + alphaInfo = kCGImageAlphaNoneSkipFirst; + } else if (alphaInfo == kCGImageAlphaFirst) { + alphaInfo = kCGImageAlphaPremultipliedFirst; + } else if (alphaInfo == kCGImageAlphaLast) { + alphaInfo = kCGImageAlphaPremultipliedLast; + } + // "The constants for specifying the alpha channel information are declared with the `CGImageAlphaInfo` type but can be passed to this parameter safely." (source: docs) + bitmapInfo |= alphaInfo; + + // Create our own graphics context to draw to; `UIGraphicsGetCurrentContext`/`UIGraphicsBeginImageContextWithOptions` doesn't create a new context but returns the current one which isn't thread-safe (e.g. main thread could use it at the same time). + // Note: It's not worth caching the bitmap context for multiple frames ("unique key" would be `width`, `height` and `hasAlpha`), it's ~50% slower. Time spent in libRIP's `CGSBlendBGRA8888toARGB8888` suddenly shoots up -- not sure why. + CGContextRef bitmapContextRef = CGBitmapContextCreate(data, width, height, bitsPerComponent, bytesPerRow, colorSpaceDeviceRGBRef, bitmapInfo); + CGColorSpaceRelease(colorSpaceDeviceRGBRef); + // Early return on failure! + if (!bitmapContextRef) { + FLLog(FLLogLevelError, @"Failed to `CGBitmapContextCreate` with color space %@ and parameters (width: %zu height: %zu bitsPerComponent: %zu bytesPerRow: %zu) for image %@", colorSpaceDeviceRGBRef, width, height, bitsPerComponent, bytesPerRow, imageToPredraw); + return imageToPredraw; + } + + // Draw image in bitmap context and create image by preserving receiver's properties. + CGContextDrawImage(bitmapContextRef, CGRectMake(0.0, 0.0, imageToPredraw.size.width, imageToPredraw.size.height), imageToPredraw.CGImage); + CGImageRef predrawnImageRef = CGBitmapContextCreateImage(bitmapContextRef); + UIImage *predrawnImage = [UIImage imageWithCGImage:predrawnImageRef scale:imageToPredraw.scale orientation:imageToPredraw.imageOrientation]; + CGImageRelease(predrawnImageRef); + CGContextRelease(bitmapContextRef); + + // Early return on failure! + if (!predrawnImage) { + FLLog(FLLogLevelError, @"Failed to `imageWithCGImage:scale:orientation:` with image ref %@ created with color space %@ and bitmap context %@ and properties and properties (scale: %f orientation: %ld) for image %@", predrawnImageRef, colorSpaceDeviceRGBRef, bitmapContextRef, imageToPredraw.scale, (long)imageToPredraw.imageOrientation, imageToPredraw); + return imageToPredraw; + } + + return predrawnImage; +} + + +#pragma mark - Description + +- (NSString *)description +{ + NSString *description = [super description]; + + description = [description stringByAppendingFormat:@" size=%@", NSStringFromCGSize(self.size)]; + description = [description stringByAppendingFormat:@" frameCount=%lu", (unsigned long)self.frameCount]; + + return description; +} + + +@end + +#pragma mark - Logging + +@implementation FLAnimatedImage (Logging) + +static void (^_logBlock)(NSString *logString, FLLogLevel logLevel) = nil; +static FLLogLevel _logLevel; + ++ (void)setLogBlock:(void (^)(NSString *logString, FLLogLevel logLevel))logBlock logLevel:(FLLogLevel)logLevel +{ + _logBlock = logBlock; + _logLevel = logLevel; +} + ++ (void)logStringFromBlock:(NSString *(^)(void))stringBlock withLevel:(FLLogLevel)level +{ + if (level <= _logLevel && _logBlock && stringBlock) { + _logBlock(stringBlock(), level); + } +} + +@end + + +#pragma mark - FLWeakProxy + +@interface FLWeakProxy () + +@property (nonatomic, weak) id target; + +@end + + +@implementation FLWeakProxy + +#pragma mark Life Cycle + +// This is the designated creation method of an `FLWeakProxy` and +// as a subclass of `NSProxy` it doesn't respond to or need `-init`. ++ (instancetype)weakProxyForObject:(id)targetObject +{ + FLWeakProxy *weakProxy = [FLWeakProxy alloc]; + weakProxy.target = targetObject; + return weakProxy; +} + + +#pragma mark Forwarding Messages + +- (id)forwardingTargetForSelector:(SEL)selector +{ + // Keep it lightweight: access the ivar directly + return _target; +} + + +#pragma mark - NSWeakProxy Method Overrides +#pragma mark Handling Unimplemented Methods + +- (void)forwardInvocation:(NSInvocation *)invocation +{ + // Fallback for when target is nil. Don't do anything, just return 0/NULL/nil. + // The method signature we've received to get here is just a dummy to keep `doesNotRecognizeSelector:` from firing. + // We can't really handle struct return types here because we don't know the length. + void *nullPointer = NULL; + [invocation setReturnValue:&nullPointer]; +} + + +- (NSMethodSignature *)methodSignatureForSelector:(SEL)selector +{ + // We only get here if `forwardingTargetForSelector:` returns nil. + // In that case, our weak target has been reclaimed. Return a dummy method signature to keep `doesNotRecognizeSelector:` from firing. + // We'll emulate the Obj-c messaging nil behavior by setting the return value to nil in `forwardInvocation:`, but we'll assume that the return value is `sizeof(void *)`. + // Other libraries handle this situation by making use of a global method signature cache, but that seems heavier than necessary and has issues as well. + // See https://www.mikeash.com/pyblog/friday-qa-2010-02-26-futures.html and https://github.com/steipete/PSTDelegateProxy/issues/1 for examples of using a method signature cache. + return [NSObject instanceMethodSignatureForSelector:@selector(init)]; +} + + +@end diff --git a/CleverTapSDK/InApps/FLAnimatedImageView.h b/CleverTapSDK/InApps/FLAnimatedImageView.h new file mode 100644 index 00000000..c0d527aa --- /dev/null +++ b/CleverTapSDK/InApps/FLAnimatedImageView.h @@ -0,0 +1,36 @@ +// +// FLAnimatedImageView.h +// Flipboard +// +// Created by Raphael Schaad on 7/8/13. +// Copyright (c) 2013-2015 Flipboard. All rights reserved. +// + + +#import + +@class FLAnimatedImage; +@protocol FLAnimatedImageViewDebugDelegate; + + +// +// An `FLAnimatedImageView` can take an `FLAnimatedImage` and plays it automatically when in view hierarchy and stops when removed. +// The animation can also be controlled with the `UIImageView` methods `-start/stop/isAnimating`. +// It is a fully compatible `UIImageView` subclass and can be used as a drop-in component to work with existing code paths expecting to display a `UIImage`. +// Under the hood it uses a `CADisplayLink` for playback, which can be inspected with `currentFrame` & `currentFrameIndex`. +// +@interface FLAnimatedImageView : UIImageView + +// Setting `[UIImageView.image]` to a non-`nil` value clears out existing `animatedImage`. +// And vice versa, setting `animatedImage` will initially populate the `[UIImageView.image]` to its `posterImage` and then start animating and hold `currentFrame`. +@property (nonatomic, strong) FLAnimatedImage *animatedImage; +@property (nonatomic, copy) void(^loopCompletionBlock)(NSUInteger loopCountRemaining); + +@property (nonatomic, strong, readonly) UIImage *currentFrame; +@property (nonatomic, assign, readonly) NSUInteger currentFrameIndex; + +// The animation runloop mode. Enables playback during scrolling by allowing timer events (i.e. animation) with NSRunLoopCommonModes. +// To keep scrolling smooth on single-core devices such as iPhone 3GS/4 and iPod Touch 4th gen, the default run loop mode is NSDefaultRunLoopMode. Otherwise, the default is NSDefaultRunLoopMode. +@property (nonatomic, copy) NSString *runLoopMode; + +@end diff --git a/CleverTapSDK/InApps/FLAnimatedImageView.m b/CleverTapSDK/InApps/FLAnimatedImageView.m new file mode 100755 index 00000000..26fea1d2 --- /dev/null +++ b/CleverTapSDK/InApps/FLAnimatedImageView.m @@ -0,0 +1,442 @@ +// +// FLAnimatedImageView.h +// Flipboard +// +// Created by Raphael Schaad on 7/8/13. +// Copyright (c) 2013-2015 Flipboard. All rights reserved. +// + + +#import "FLAnimatedImageView.h" +#import "FLAnimatedImage.h" +#import + + +#if defined(DEBUG) && DEBUG +@protocol FLAnimatedImageViewDebugDelegate +@optional +- (void)debug_animatedImageView:(FLAnimatedImageView *)animatedImageView waitingForFrame:(NSUInteger)index duration:(NSTimeInterval)duration; +@end +#endif + + +@interface FLAnimatedImageView () + +// Override of public `readonly` properties as private `readwrite` +@property (nonatomic, strong, readwrite) UIImage *currentFrame; +@property (nonatomic, assign, readwrite) NSUInteger currentFrameIndex; + +@property (nonatomic, assign) NSUInteger loopCountdown; +@property (nonatomic, assign) NSTimeInterval accumulator; +@property (nonatomic, strong) CADisplayLink *displayLink; + +@property (nonatomic, assign) BOOL shouldAnimate; // Before checking this value, call `-updateShouldAnimate` whenever the animated image or visibility (window, superview, hidden, alpha) has changed. +@property (nonatomic, assign) BOOL needsDisplayWhenImageBecomesAvailable; + +#if defined(DEBUG) && DEBUG +@property (nonatomic, weak) id debug_delegate; +#endif + +@end + + +@implementation FLAnimatedImageView +@synthesize runLoopMode = _runLoopMode; + +#pragma mark - Initializers + +// -initWithImage: isn't documented as a designated initializer of UIImageView, but it actually seems to be. +// Using -initWithImage: doesn't call any of the other designated initializers. +- (instancetype)initWithImage:(UIImage *)image +{ + self = [super initWithImage:image]; + if (self) { + [self commonInit]; + } + return self; +} + +// -initWithImage:highlightedImage: also isn't documented as a designated initializer of UIImageView, but it doesn't call any other designated initializers. +- (instancetype)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage +{ + self = [super initWithImage:image highlightedImage:highlightedImage]; + if (self) { + [self commonInit]; + } + return self; +} + +- (instancetype)initWithFrame:(CGRect)frame +{ + self = [super initWithFrame:frame]; + if (self) { + [self commonInit]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder +{ + self = [super initWithCoder:aDecoder]; + if (self) { + [self commonInit]; + } + return self; +} + +- (void)commonInit +{ + self.runLoopMode = [[self class] defaultRunLoopMode]; + + if (@available(iOS 11.0, *)) { + self.accessibilityIgnoresInvertColors = YES; + } +} + + +#pragma mark - Accessors +#pragma mark Public + +- (void)setAnimatedImage:(FLAnimatedImage *)animatedImage +{ + if (![_animatedImage isEqual:animatedImage]) { + if (animatedImage) { + // Clear out the image. + super.image = nil; + // Ensure disabled highlighting; it's not supported (see `-setHighlighted:`). + super.highlighted = NO; + // UIImageView seems to bypass some accessors when calculating its intrinsic content size, so this ensures its intrinsic content size comes from the animated image. + [self invalidateIntrinsicContentSize]; + } else { + // Stop animating before the animated image gets cleared out. + [self stopAnimating]; + } + + _animatedImage = animatedImage; + + self.currentFrame = animatedImage.posterImage; + self.currentFrameIndex = 0; + if (animatedImage.loopCount > 0) { + self.loopCountdown = animatedImage.loopCount; + } else { + self.loopCountdown = NSUIntegerMax; + } + self.accumulator = 0.0; + + // Start animating after the new animated image has been set. + [self updateShouldAnimate]; + if (self.shouldAnimate) { + [self startAnimating]; + } + + [self.layer setNeedsDisplay]; + } +} + + +#pragma mark - Life Cycle + +- (void)dealloc +{ + // Removes the display link from all run loop modes. + [_displayLink invalidate]; +} + + +#pragma mark - UIView Method Overrides +#pragma mark Observing View-Related Changes + +- (void)didMoveToSuperview +{ + [super didMoveToSuperview]; + + [self updateShouldAnimate]; + if (self.shouldAnimate) { + [self startAnimating]; + } else { + [self stopAnimating]; + } +} + + +- (void)didMoveToWindow +{ + [super didMoveToWindow]; + + [self updateShouldAnimate]; + if (self.shouldAnimate) { + [self startAnimating]; + } else { + [self stopAnimating]; + } +} + +- (void)setAlpha:(CGFloat)alpha +{ + [super setAlpha:alpha]; + + [self updateShouldAnimate]; + if (self.shouldAnimate) { + [self startAnimating]; + } else { + [self stopAnimating]; + } +} + +- (void)setHidden:(BOOL)hidden +{ + [super setHidden:hidden]; + + [self updateShouldAnimate]; + if (self.shouldAnimate) { + [self startAnimating]; + } else { + [self stopAnimating]; + } +} + + +#pragma mark Auto Layout + +- (CGSize)intrinsicContentSize +{ + // Default to let UIImageView handle the sizing of its image, and anything else it might consider. + CGSize intrinsicContentSize = [super intrinsicContentSize]; + + // If we have have an animated image, use its image size. + // UIImageView's intrinsic content size seems to be the size of its image. The obvious approach, simply calling `-invalidateIntrinsicContentSize` when setting an animated image, results in UIImageView steadfastly returning `{UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric}` for its intrinsicContentSize. + // (Perhaps UIImageView bypasses its `-image` getter in its implementation of `-intrinsicContentSize`, as `-image` is not called after calling `-invalidateIntrinsicContentSize`.) + if (self.animatedImage) { + intrinsicContentSize = self.image.size; + } + + return intrinsicContentSize; +} + +#pragma mark Smart Invert Colors + +#pragma mark - UIImageView Method Overrides +#pragma mark Image Data + +- (UIImage *)image +{ + UIImage *image = nil; + if (self.animatedImage) { + // Initially set to the poster image. + image = self.currentFrame; + } else { + image = super.image; + } + return image; +} + + +- (void)setImage:(UIImage *)image +{ + if (image) { + // Clear out the animated image and implicitly pause animation playback. + self.animatedImage = nil; + } + + super.image = image; +} + + +#pragma mark Animating Images + +- (NSTimeInterval)frameDelayGreatestCommonDivisor +{ + // Presision is set to half of the `kFLAnimatedImageDelayTimeIntervalMinimum` in order to minimize frame dropping. + const NSTimeInterval kGreatestCommonDivisorPrecision = 2.0 / kFLAnimatedImageDelayTimeIntervalMinimum; + + NSArray *delays = self.animatedImage.delayTimesForIndexes.allValues; + + // Scales the frame delays by `kGreatestCommonDivisorPrecision` + // then converts it to an UInteger for in order to calculate the GCD. + NSUInteger scaledGCD = lrint([delays.firstObject floatValue] * kGreatestCommonDivisorPrecision); + for (NSNumber *value in delays) { + scaledGCD = gcd(lrint([value floatValue] * kGreatestCommonDivisorPrecision), scaledGCD); + } + + // Reverse to scale to get the value back into seconds. + return scaledGCD / kGreatestCommonDivisorPrecision; +} + + +static NSUInteger gcd(NSUInteger a, NSUInteger b) +{ + // http://en.wikipedia.org/wiki/Greatest_common_divisor + if (a < b) { + return gcd(b, a); + } else if (a == b) { + return b; + } + + while (true) { + NSUInteger remainder = a % b; + if (remainder == 0) { + return b; + } + a = b; + b = remainder; + } +} + + +- (void)startAnimating +{ + if (self.animatedImage) { + // Lazily create the display link. + if (!self.displayLink) { + // It is important to note the use of a weak proxy here to avoid a retain cycle. `-displayLinkWithTarget:selector:` + // will retain its target until it is invalidated. We use a weak proxy so that the image view will get deallocated + // independent of the display link's lifetime. Upon image view deallocation, we invalidate the display + // link which will lead to the deallocation of both the display link and the weak proxy. + FLWeakProxy *weakProxy = [FLWeakProxy weakProxyForObject:self]; + self.displayLink = [CADisplayLink displayLinkWithTarget:weakProxy selector:@selector(displayDidRefresh:)]; + + [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:self.runLoopMode]; + } + + // Note: The display link's `.frameInterval` value of 1 (default) means getting callbacks at the refresh rate of the display (~60Hz). + // Setting it to 2 divides the frame rate by 2 and hence calls back at every other display refresh. + const NSTimeInterval kDisplayRefreshRate = 60.0; // 60Hz + self.displayLink.frameInterval = MAX([self frameDelayGreatestCommonDivisor] * kDisplayRefreshRate, 1); + + self.displayLink.paused = NO; + } else { + [super startAnimating]; + } +} + +- (void)setRunLoopMode:(NSString *)runLoopMode +{ + if (![@[NSDefaultRunLoopMode, NSRunLoopCommonModes] containsObject:runLoopMode]) { + NSAssert(NO, @"Invalid run loop mode: %@", runLoopMode); + _runLoopMode = [[self class] defaultRunLoopMode]; + } else { + _runLoopMode = runLoopMode; + } +} + +- (void)stopAnimating +{ + if (self.animatedImage) { + self.displayLink.paused = YES; + } else { + [super stopAnimating]; + } +} + + +- (BOOL)isAnimating +{ + BOOL isAnimating = NO; + if (self.animatedImage) { + isAnimating = self.displayLink && !self.displayLink.isPaused; + } else { + isAnimating = [super isAnimating]; + } + return isAnimating; +} + + +#pragma mark Highlighted Image Unsupport + +- (void)setHighlighted:(BOOL)highlighted +{ + // Highlighted image is unsupported for animated images, but implementing it breaks the image view when embedded in a UICollectionViewCell. + if (!self.animatedImage) { + [super setHighlighted:highlighted]; + } +} + + +#pragma mark - Private Methods +#pragma mark Animation + +// Don't repeatedly check our window & superview in `-displayDidRefresh:` for performance reasons. +// Just update our cached value whenever the animated image or visibility (window, superview, hidden, alpha) is changed. +- (void)updateShouldAnimate +{ + BOOL isVisible = self.window && self.superview && ![self isHidden] && self.alpha > 0.0; + self.shouldAnimate = self.animatedImage && isVisible; +} + + +- (void)displayDidRefresh:(CADisplayLink *)displayLink +{ + // If for some reason a wild call makes it through when we shouldn't be animating, bail. + // Early return! + if (!self.shouldAnimate) { + FLLog(FLLogLevelWarn, @"Trying to animate image when we shouldn't: %@", self); + return; + } + + NSNumber *delayTimeNumber = [self.animatedImage.delayTimesForIndexes objectForKey:@(self.currentFrameIndex)]; + // If we don't have a frame delay (e.g. corrupt frame), don't update the view but skip the playhead to the next frame (in else-block). + if (delayTimeNumber) { + NSTimeInterval delayTime = [delayTimeNumber floatValue]; + // If we have a nil image (e.g. waiting for frame), don't update the view nor playhead. + UIImage *image = [self.animatedImage imageLazilyCachedAtIndex:self.currentFrameIndex]; + if (image) { + FLLog(FLLogLevelVerbose, @"Showing frame %lu for animated image: %@", (unsigned long)self.currentFrameIndex, self.animatedImage); + self.currentFrame = image; + if (self.needsDisplayWhenImageBecomesAvailable) { + [self.layer setNeedsDisplay]; + self.needsDisplayWhenImageBecomesAvailable = NO; + } + + self.accumulator += displayLink.duration * displayLink.frameInterval; + + // While-loop first inspired by & good Karma to: https://github.com/ondalabs/OLImageView/blob/master/OLImageView.m + while (self.accumulator >= delayTime) { + self.accumulator -= delayTime; + self.currentFrameIndex++; + if (self.currentFrameIndex >= self.animatedImage.frameCount) { + // If we've looped the number of times that this animated image describes, stop looping. + self.loopCountdown--; + if (self.loopCompletionBlock) { + self.loopCompletionBlock(self.loopCountdown); + } + + if (self.loopCountdown == 0) { + [self stopAnimating]; + return; + } + self.currentFrameIndex = 0; + } + // Calling `-setNeedsDisplay` will just paint the current frame, not the new frame that we may have moved to. + // Instead, set `needsDisplayWhenImageBecomesAvailable` to `YES` -- this will paint the new image once loaded. + self.needsDisplayWhenImageBecomesAvailable = YES; + } + } else { + FLLog(FLLogLevelDebug, @"Waiting for frame %lu for animated image: %@", (unsigned long)self.currentFrameIndex, self.animatedImage); +#if defined(DEBUG) && DEBUG + if ([self.debug_delegate respondsToSelector:@selector(debug_animatedImageView:waitingForFrame:duration:)]) { + [self.debug_delegate debug_animatedImageView:self waitingForFrame:self.currentFrameIndex duration:(NSTimeInterval)displayLink.duration * displayLink.frameInterval]; + } +#endif + } + } else { + self.currentFrameIndex++; + } +} + ++ (NSString *)defaultRunLoopMode +{ + // Key off `activeProcessorCount` (as opposed to `processorCount`) since the system could shut down cores in certain situations. + return [NSProcessInfo processInfo].activeProcessorCount > 1 ? NSRunLoopCommonModes : NSDefaultRunLoopMode; +} + + +#pragma mark - CALayerDelegate (Informal) +#pragma mark Providing the Layer's Content + +- (void)displayLayer:(CALayer *)layer +{ + layer.contents = (__bridge id)self.image.CGImage; +} + + +@end diff --git a/CleverTapSDK/InApps/images/ic_expand@1x.png b/CleverTapSDK/InApps/images/ic_expand@1x.png new file mode 100755 index 0000000000000000000000000000000000000000..01c2ae96fa803aea77b994826efbfa12ab10ba3a GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3&7LlfAs(G?uU+J7P~d4zyxyJe zzb{WH<gTe~DWM4f61hw8 literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_expand@2x.png b/CleverTapSDK/InApps/images/ic_expand@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..1e284fcbf096a886d0472f9adce2aaa96372ecc8 GIT binary patch literal 341 zcmV-b0jmCqP)dk25f&5Iniu)GuCLfcNUgt zwsSVxXtr+=G|}t14~B4{V5lvvjddMtiFF%%Ay)Rru-(;Mi9H%iRM(@4-J3(uwqc3g zn%hv>PEPE4jRv}Tl!*OZtDb2AO2*!vRKAD)ArCDyt}&ES*{o+Dky0=vOy2;1AtP_ckISlGVV^d9TwZK)oyrF)My n1pAIQ2K$Z92=*Ht1c4jg$lTqjoDaiq00000NkvXXu0mjffAf|K literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_expand@3x.png b/CleverTapSDK/InApps/images/ic_expand@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..16908826015136191a5f324da08e4a0212639d29 GIT binary patch literal 455 zcmV;&0XY7NP)yjYnBIo_LU=5bAy>anIbKcZ>1>Cn*5{06@Wcp7~Vdy)P8a*xuX1(TeT8 zDAF9bBY>0=UmYeSA``koDl(xT zNJb`ffpla--x!FTTR!8xE0mGQt)F$A70XQImTNdnibo=H?OKL&Vv>yfbWMXPacM*@ zU0ZQRY?_hp?x8RtK8wiLdkG$Y4VIDr-*f)t3-O5jIz%=QIr5u-Vfj0bBYPiWS&dJ1 z_CDtpDzUTo`LP9s5xJfJrW zkq7kzBJzaRP(+^85{$?KIs+1U6p@V(*$9!15ZMTkWxe@7XJg>2!-zm=Vz&?qP3#)M x(8PWs9GciA3ZaR8M=3P1uM|TQ8vp=6%?DFRiIBVXTVMbH002ovPDHLkV1j4B!qor( literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_pause@1x.png b/CleverTapSDK/InApps/images/ic_pause@1x.png new file mode 100755 index 0000000000000000000000000000000000000000..071b244090c4cbae34c1090fb1d27558f6deccce GIT binary patch literal 113 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{37M?DSAs(G?&nXHq7;rE<9{T@( z&M&0}OqX|FPMpTEXz3N+oZT{>Rd??^eX_f^p%DT)?Orhmcynl+oHy|@&yFc4sI^!aZ) zn~x!pBjW6n|I6>1F)-{i43j@&`F!m{L%;3!eif(2TmDl%SlaZOSDqvu!%bjm$VEnnX?ET+Y`#)WazJBtlO-mn#te}-riOY+Q3xW%k ho!sdrzzcGc!$Y>UM>r}L>1vpRxSpj@4xCBe{T*r06|dY zJgKLh)~7wS^V-Ge@^M_?l&x+&47rvKR|sdxH!R{A-a00000NkvXX Hu0mjf=e~!` literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_play@2x.png b/CleverTapSDK/InApps/images/ic_play@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..c7094d5dd813242debdd45c23aa72516a9e68cb7 GIT binary patch literal 601 zcmV-f0;c_mP)rq?C;m8>Pu&lA8PhYNjCzNy$!ODW#;u%C8|w zR>nfZ`~hla?A{iq zZ>n1pWppG};d=HN;FEemU7Ii~y?=b97c-?E&AoTZH@wge;J*4q-P2(1Uz#jjI|#f} zZ>U?E4$n~-U^Q@->b}pbYnlqqRk*eRxB`4shnfh?UAWc{JWwC2yHf_WrEu*K@Ls*H zZcY)=L#XqyYyb^;I8N9wL_hpmLdwZl~ReNEle z>5!FF7@!Y0NA>-EppyYBtuVkBU^pV4b@FguZ+A&*78nCAN5qd#hpdFc0=I#S5i!&4 zu(lU|4va*^WUmIc^@gW`6A>}k%d*hEH#`T70}~N3pCX_wg$3>aqY?2fWl$Rmzofd; zS51WFyy36FNnn3dWg*WSo(Cp?@ramfI=tz^cd71ly5ZbknkxL7>P}xYl((eRH#`HJ z0`|3`ETntG^He|1jYY(4qKsxO^UuRQb$jmpdTx=zZ`8rudnNNn;TiR`8o75$N*z)! nsq1s^QWQl|6h%=KMS4F0(P3n@_3MS{00000NkvXXu0mjfx@#Z{ literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_play@3x.png b/CleverTapSDK/InApps/images/ic_play@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..31b759da7704fb2d3cf4ef6089bddd75d57c2f6b GIT binary patch literal 764 zcmVregHzVDOV2d zZZG~Wwn-~{_ptX`Ypgxj_&va!V|^n3jrPg+pX(J z9t|_VAh6cDo@6oCSKt`1+`6vh(A-;KzjbX%X%TdE57=g1V-gk!8eke20M=O7+SL{j zbTk1R!RL2-mJoFG8rW-Hch_kn=x7AkVqJgN=pbl-I&c|SW!*>Vbr^K?88{3qv+k#~ zG736+3GA`%sgyDfIvNHxS@%{dIRyXHT|T?`@oFxbDP)Pjy`lFm!I5kj!6l%%VYE?C@kR3+#kNoPU`@2v_*J?Jqt?lVTM3rTfG*Ch2y>M29WQhF!4E@@DW zIsDzam_iiz-|uJ`*l68%;R+1+1+d$?Uo!;+T*IF<%{6F$c6zp)LLLD&TlZEf83+6d ze?Gdoi~{~b7biU4PeTBj7i{KI^)>&JqHi0FL5s z&bDU}0Z-HTmWRI!-iZZ5zK?(1AR8?Leg_<|t}QA51^f*-4y1N1Ywu6MGr)EHn@afs u9^zjKbIv*EoO8}O=bUrSIp>^nZTk&4*1m8DmpFI;0000 zzFwP$`9zmk&!442aZYLp+mu-pm^zFvTxpiixpKzOETFb|eUvd%nY8x>9yci^&Zq;a zHd~m>17C$)j()qs^vAns(>(d>CUdyHe-Nx*Uta8M`HJn;JZs6Qf0Gyel(Mwiw0-41 kCytOCQ`cg5HK*un6y85}Sb4q9e0JoP#AOHXW literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_shrink@2x.png b/CleverTapSDK/InApps/images/ic_shrink@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..7908a6d62a5f614c35d19b65950028e175afee36 GIT binary patch literal 349 zcmV-j0iyniP)onynv(F0!d4kl>BF5_8T}bAP_}Sbdf|PiAZAa=+cZ`O6)zSw!)5$ zE?|r32VrBgX3&$pqf0wi_WHN9W}tg40301U1Qz&!HwO=c1%ANU;X`48KkyG=I4qC_ z%M2Y43lzb7CH8J}x55HyaANPRt{2wzv$X5tmL45#0Q*K8!G6&dV87@nilQir^2z?I zmd)7vP1T^;+s#?g?A=va(Cp3CY0>PxP12y*TbJUU*3oWtOKY*N!4|Ar@BwV`;}?6o zx+B=F-x8*wVOzf^l2Y!OM)ShBGhc9q!wEj;%G`$virG5V=6HFp(>aE>7f1BLRrq zpf?1O8}$Ssa);J1MDElQh{ywKLlJpUO)w%0GzKJcFCrTuvJoO1A+nLkk$J;{c04+a z2tpIPhA1?#ON60`{X`s^*mov`Ciay{p^1GqF*LCO000000911O_t=_v?-$C<*xtK^ zGb^_DULnnh?Y&c2>e$}b$_MTsfZdF)1TIooTR2 zTr(oyojq}l*k(q)y2gYR;Zk+oEBSbmPmyyx6PA$IbfZ!0&kllNR(I>k=j^K32iXIuaP0KxqNlZ1(o4FBtD00000NkvXX Hu0mjf-MPz~ literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/ic_thumb.png b/CleverTapSDK/InApps/images/ic_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..37fb4a688769ea1cf5bbeac87279a20e1fb1ccd4 GIT binary patch literal 751 zcmeAS@N?(olHy`uVBq!ia0vp^JU}eL!3HGH8OdY;DVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C-z_@Q5sCVBi)8VMc~o zb0ioT7$Y-7B1$5BeXNr6bM+Ea@{>~aDsl^esu>t;Dy)Fa+|-gpg^Jvqyke^gTP3gx zD1^l#~=$ z>Fbx5m+O@q>*W`v>l<2HTIw4Z=^Gj80#)c1SLT%@R_NvxD?a#8ycOWDy)d+*y*DhOjBG80syc2lYWR`i6Q2`f#&>T5Uk0R{lkqsX&`S z=Gz(CfK{T1LG7{82U(8f7>G~7qCl_OaoOm@gUyc1=a70NFpwEMT^vI!1kX;|&&TK} z(0<-CqgDKZmrV!zM-Hjp=NBp%xzZTlPcBt*wwpygQVeX91 zi4Je}U%7NT=Ej+ur3+)CRov3G_nq3`-Ol`9En|a7so+;uM(>o}%Zr&=wAB}6ub3gh zerQ+P<(@#n%4r;b*L_~4+n?|_?u~tf-rh@dGq-W5=^d8aC%L?}xAITTnhvi27P}+Z zJC{AukeEF4e3P<#*Ss6uGkOz5ZZ3QKY2xC8$Ddx_ZO+9NpTB-m^M!q9GCrLD#%5O? U-LF_xDF#Ybp00i_>zopr05kyySpWb4 literal 0 HcmV?d00001 diff --git a/CleverTapSDK/InApps/images/sound-wave-headphones.png b/CleverTapSDK/InApps/images/sound-wave-headphones.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6c5bf833d86e61194d8daa3e8963c3f9fc41ce GIT binary patch literal 108604 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�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 /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 88FF26A12D4FDE2480D7B220 /* [CP] Embed Pods Frameworks */ = { + 57D0A924B6C2A494DAC08374 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -561,7 +561,7 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { + 75907684EA1FB3A91E298071 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -572,14 +572,14 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ObjCStarterUITests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-ObjCStarter-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BC41F171308F717C9EC665FA /* [CP] Check Pods Manifest.lock */ = { + BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -590,29 +590,29 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ObjCTvOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-ObjCStarterUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C4E696347544397D8CBD6B24 /* [CP] Embed Pods Frameworks */ = { + BC41F171308F717C9EC665FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-tvOS/CleverTapSDK.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", + "$(DERIVED_FILE_DIR)/Pods-ObjCTvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; D95F8DB8D769D26A010EB076 /* [CP] Check Pods Manifest.lock */ = { @@ -861,10 +861,7 @@ DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCStarter/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCStarter; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -881,10 +878,7 @@ DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCStarter/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCStarter; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -899,11 +893,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCStarterTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCStarterTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -919,11 +909,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCStarterTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCStarterTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -938,11 +924,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCStarterUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCStarterUITests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -957,11 +939,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCStarterUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCStarterUITests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; @@ -978,10 +956,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCTvOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCTvOS; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; @@ -999,10 +974,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCTvOS/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCTvOS; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; @@ -1018,11 +990,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCTvOSTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCTvOSTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; @@ -1039,11 +1007,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCTvOSTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCTvOSTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; @@ -1059,11 +1023,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCTvOSUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCTvOSUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; @@ -1079,11 +1039,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = A5J34NR598; INFOPLIST_FILE = ObjCTvOSUITests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.clevertap.ObjCTvOSUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = appletvos; diff --git a/ObjCStarter/ObjCStarter/ViewController.m b/ObjCStarter/ObjCStarter/ViewController.m index c60b860b..d99c41b8 100644 --- a/ObjCStarter/ObjCStarter/ViewController.m +++ b/ObjCStarter/ObjCStarter/ViewController.m @@ -18,6 +18,7 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self loadData]; + [self inApps]; self.tblEvent.tableFooterView = [UIView new]; } @@ -26,6 +27,23 @@ - (void)didReceiveMemoryWarning { // Dispose of any resources that can be recreated. } +- (void)inApps { + + [[CleverTap sharedInstance] recordEvent:@"Header"]; + [[CleverTap sharedInstance] recordEvent:@"Footer"]; + [[CleverTap sharedInstance] recordEvent:@"Alert"]; + [[CleverTap sharedInstance] recordEvent:@"Cover"]; + [[CleverTap sharedInstance] recordEvent:@"Cover Image"]; + [[CleverTap sharedInstance] recordEvent:@"Interstitial Image"]; + [[CleverTap sharedInstance] recordEvent:@"Interstitial"]; + [[CleverTap sharedInstance] recordEvent:@"Half Interstitial Image"]; + [[CleverTap sharedInstance] recordEvent:@"Half Interstitial"]; + [[CleverTap sharedInstance] recordEvent:@"Interstitial Video"]; + [[CleverTap sharedInstance] recordEvent:@"Interstitial Audio"]; + [[CleverTap sharedInstance] recordEvent:@"Custom-HTML"]; + [[CleverTap sharedInstance] recordEvent:@"Interstitial Gif"]; +} + - (void)loadData { self.eventList = [[NSMutableArray alloc] initWithObjects:@"Record User Profile", diff --git a/ObjCStarter/Podfile b/ObjCStarter/Podfile index 99624842..ab8a47d7 100644 --- a/ObjCStarter/Podfile +++ b/ObjCStarter/Podfile @@ -6,7 +6,6 @@ target 'ObjCStarter' do use_frameworks! # Pods for ObjCStarter - pod 'CleverTap-iOS-SDK', :path =>'../' target 'ObjCStarterTests' do diff --git a/ObjCStarter/Podfile.lock b/ObjCStarter/Podfile.lock index ff67085b..0c063f4f 100644 --- a/ObjCStarter/Podfile.lock +++ b/ObjCStarter/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - CleverTap-iOS-SDK (3.2.0) + - CleverTap-iOS-SDK (3.3.0) DEPENDENCIES: - CleverTap-iOS-SDK (from `../`) @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CleverTap-iOS-SDK: c97919fe74eb445d67678c6b228711588ebf6f29 + CleverTap-iOS-SDK: d9147eb21a2728c25b3249d11c5b2b780f8a95c6 -PODFILE CHECKSUM: bb22d4cf4cb18e79258f10dd77a6cf7a5fafa099 +PODFILE CHECKSUM: b4f3542daf2ced0c2c6faa368b426728b78fa179 COCOAPODS: 1.5.3 diff --git a/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json b/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json index b6208ec6..4a38d0a7 100644 --- a/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json +++ b/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json @@ -1,6 +1,6 @@ { "name": "CleverTap-iOS-SDK", - "version": "3.2.0", + "version": "3.3.0", "summary": "The CleverTap iOS SDK for App Analytics and Engagement.", "homepage": "https://github.com/CleverTap/clevertap-ios-sdk", "license": { @@ -11,17 +11,20 @@ }, "source": { "git": "https://github.com/CleverTap/clevertap-ios-sdk.git", - "tag": "3.2.0" + "tag": "3.3.0" }, "requires_arc": true, "module_name": "CleverTapSDK", - "resources": "CleverTapSDK/*.crt", + "resources": [ + "CleverTapSDK/*.crt", + "CleverTapSDK/**/*.{png,xib}" + ], "platforms": { "ios": "8.0", "tvos": "9.0" }, "ios": { - "source_files": "CleverTapSDK/*.{h,m}", + "source_files": "CleverTapSDK/**/*.{h,m}", "public_header_files": [ "CleverTapSDK/CleverTap.h", "CleverTapSDK/CleverTap+SSLPinning.h", diff --git a/ObjCStarter/Pods/Manifest.lock b/ObjCStarter/Pods/Manifest.lock index ff67085b..0c063f4f 100644 --- a/ObjCStarter/Pods/Manifest.lock +++ b/ObjCStarter/Pods/Manifest.lock @@ -1,5 +1,5 @@ PODS: - - CleverTap-iOS-SDK (3.2.0) + - CleverTap-iOS-SDK (3.3.0) DEPENDENCIES: - CleverTap-iOS-SDK (from `../`) @@ -9,8 +9,8 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CleverTap-iOS-SDK: c97919fe74eb445d67678c6b228711588ebf6f29 + CleverTap-iOS-SDK: d9147eb21a2728c25b3249d11c5b2b780f8a95c6 -PODFILE CHECKSUM: bb22d4cf4cb18e79258f10dd77a6cf7a5fafa099 +PODFILE CHECKSUM: b4f3542daf2ced0c2c6faa368b426728b78fa179 COCOAPODS: 1.5.3 diff --git a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj index b4e5e3c4..949e679c 100644 --- a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj +++ b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj @@ -7,150 +7,236 @@ objects = { /* Begin PBXBuildFile section */ - 010B1E0E4BD95B6AE78E4F8986B091C9 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = B348031FEFB1EA79566F0D55DE15B182 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 039D14DC50391D8207DADDA668D9A349 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2617A3A815A6114348D59341F0247FD5 /* CTInAppDisplayViewController.m */; }; - 03B0DC0E9E5B257E0660555CF4D70960 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EAE1F8B2726519BC21CDDD48B65A9 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 04475821C7F3ADA742DD3CCF5EE1CC9C /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 38D4AFCC18E575326EC924033BE82276 /* CleverTapInstanceConfig.m */; }; - 05648D895C339F479535D8E7912F3018 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0ED5A580CAEA63A56F9146BBA72617 /* CTConstants.m */; }; + 002D6F77C1CC073E9B692B6EDAC4B6CA /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; + 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */; }; + 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */; }; + 055DA5FBCDEF998A72B77E57AC890D2D /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */; }; 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 07C75CA5FC1C76FFF8C72123661A12A2 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 59462084C7E04F4769F8574724A12D55 /* CleverTapUTMDetail.m */; }; - 083BB426FC4841FC1B226947E180BFDF /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C01A16579ABF46C33AE6ED1A2F7394B /* CTSwizzle.m */; }; - 088F0F5E395CFF7D4BBB469B37268B67 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D030191BC682E7E802973AC81F31E2E /* CTValidator.m */; }; - 106868C0DFDEE68B39D9FA365E70A91B /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 15070C4566FBE45EFBDB5451C038B7C8 /* CTDismissButton.m */; }; - 10776E4668476D85EE0060FCAD7CD07D /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = C789D3F7D1871F098BBA2039D49C2863 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 10811375401EFCF85D52583E8123B8A2 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 59462084C7E04F4769F8574724A12D55 /* CleverTapUTMDetail.m */; }; - 11730CA73EC917C5DCA49F9142B88485 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 136F8447F2DA3665E1104AD3A1545DC0 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = FEAAD18188F20412C606B38176BF2F07 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 18BA64D879457ACDD15252C795728B52 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 646D615B9BC65FECDB0A825610E53740 /* CleverTapTrackedViewController.m */; }; - 1A02D5986CEB1C94F6E0441D1C381283 /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 091B30FA1A8C64AE90397D1CA497738C /* CTInAppFCManager.m */; }; - 1B571069D1BC61C1F0BA09D8776A7793 /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C01A16579ABF46C33AE6ED1A2F7394B /* CTSwizzle.m */; }; - 1BB3B0810C28144C2A35795C7955A80C /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 395F098F17AAB478E5B337467CB3B067 /* CTValidationResult.m */; }; - 1D6953F948580CAE3E6F29E2D94AEFFA /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 38D4AFCC18E575326EC924033BE82276 /* CleverTapInstanceConfig.m */; }; - 1DFCBD616D55C825CB2211CC00540F48 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 501D22ACF66B2A82BE966C199198CAE6 /* CTPreferences.m */; }; - 2BD035C6BF0FD3D9B92162E1A43D6734 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = A4C8FA6B0477CB80281C2AE55279768F /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BF072A3C89F91C915FDF605F0F776CA /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 4F1F32D5B355D498183AE8B616433193 /* DigiCertSHA2SecureServerCA.crt */; }; - 2C57356E3B3DB1BB090B054761D2D4C4 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = BD4449C0B5C27D2AD66111F894764B75 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2DA6C4F740D35103261716D3A05A6B6F /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 97ACCF6EED3EE851EEFF4C291CB3AF24 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2E5B80DD430804FA9EC4BF5F37702990 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F39F164DB168FD4CD6A4908C4B715EB9 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 30CEAE6A2BA0FE5725A2096FD853E7E2 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = 07981E535135904FDBD4AB0287274566 /* CleverTap.m */; }; - 3113E3EC4976B22E43DB58671B8E6AED /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 646D615B9BC65FECDB0A825610E53740 /* CleverTapTrackedViewController.m */; }; - 366DA2DB7FCE94ED288F5E4873268890 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CE4722E30C333E5A8FADDE1D3FAAC9D /* CTLogger.m */; }; - 3790216AC027F4716A9FFE0C2730CA67 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = AF494C58C071ED207A181EB7D44D8BB6 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 383FBFE4E1D65DA8B837CFEEFF208742 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 77590200341E346BF3FC105D215BDDF7 /* CTProfileBuilder.m */; }; - 38FE9700A306CB6CEBA7247140520531 /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2716FFA5E99ADF21128485D375BFF395 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C9FF88B66130018F0E913A8F19D56D7 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 3CC67043DED88D351310185E6BCD1857 /* DigiCertGlobalRootCA.crt */; }; - 3D4E4F59C2C83F7E8A338FDCBE09E03B /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EE2C815B70A0C03AADDC8DC9E5344C75 /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E109618B0EB8883A2B21E56BABF8839 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 095E9ACB3D337FC5CB51FA124FA9ADB1 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3F0F18CA203B33DB111264ED383724E6 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D8AA26A1735494E601DC80F56B9412F /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 401AA19F26F9A66A2E02B689E0CFF757 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 963EBF5C91F6EA2D7528D028B1CE29B7 /* CleverTapEventDetail.m */; }; - 40525BB0C277D41762F6ED6C6D828B5A /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EDC42319924402E70B4EB184DE336A1 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4354F76EC42B1C1719384424142B2767 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 639325DB8803A3AEE14E2D7F805B96A1 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 45AF7BB1BDBA6BD644663D9ADFA9E39A /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = AD862D8CC6FDBE7AF873BBD44C103489 /* CTUriHelper.m */; }; - 46BD5EA9F4D80202D4FE29FE5C870DF9 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A8FD5E5181EA2EE244121730F9C7666 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 489F9079B8885ECA90F106256BFD8E9B /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F733563AAC6D9A040A2B545A5C716EB5 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 48AF0926B4AEB7E1DB05D7E0AF3AAD81 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E0C00A606A2590B73F04B937EAA81178 /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0681A42DAA048A64399D8DA38FB28CD3 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; + 06951585B474A4D799EA459FCC3928F8 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 06AEC29D21463BDA1255273E01B8731C /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */; }; + 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */; }; + 079E4A00FBA50CE6A103A2D235618430 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0844EC008FAB872B8B4BEC4BF7C11B87 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */; }; + 08A8EBD2E4DB093B5A1C678E828835E0 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; + 0A171AAFCA976EA20AE06219196AF882 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; + 0C624C6C80F4B247DE0A774E1ABEF6E9 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; + 0EFD2FC62CC9FC59F25017A20AB9772E /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F1957439D0C7E81FE733EA1CA24470D /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0F683B319FE0D31D8E43C695B733A9A4 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1167AD752AA3B713E5F2E569E4C18CF5 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 11AA8EE90D957F17C48BB0DD20565B85 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; + 129B1B98DAB42DF0F65AF0D0D70FF8F7 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; + 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */; }; + 16F18B9B365766DE42C7F8F140C7641E /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */; }; + 177417798266A2D7D1F0EA024AFBB92C /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */; }; + 18D76A3F3814F995DC68879DA3209606 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; + 190C6D848E69EF56AF378FEE9C89B21E /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; + 1977CC591DD13138E8D3A793500E5A82 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; + 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; + 1BA922CDDD906A4192A4FB183FA50ECF /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */; }; + 1CB4154378F5836A87478781337E9ADD /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; + 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */; }; + 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */; }; + 203CBC25F644471C3DF515E3BCE9F055 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */; }; + 229339D02FDF96A9F0966832295BB644 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; + 22BC87BD293CB8731CC192F83C4C9635 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */; }; + 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */; }; + 244C838C5215BAEAF94C7958254D2F56 /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2457B7F1DE8A45D34290A83E0470D177 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; + 24E24D5CC249092B8B7A33EC6B128BFC /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2569B1DB71994ED1439C31E386D16923 /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; + 287A7BFAD149A21748619807F70D78C0 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; + 2A5DA081DAEBEA9CC36C6B9BB837540C /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; + 2BC84CBA7E21A4B138B798661593EF1C /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2C9211251AD9DDB3CBCF117BF3D66FC3 /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CD739391541A6B5205AE4FA4FE350A1 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2E8265E14C23A786924FCC22694FA374 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; + 2EA6D83630A286F347D1BDE52EE4763C /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32E33D82C0C2975425197B55D5C3F681 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36AEDD7DFC1E8D99E769D169A46D2091 /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */; }; + 39A8EE58B7DDAD1357513944100BB739 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */; }; + 3B415150CFFAB168BDF195C1FD534DF2 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; + 3BB4C063D0E3CE6E24C5EF52DC9F8343 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3BB529C537130872877C744C0D4E4E05 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C19DE93CE1062EA5649F9E4AF1303C5 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */; }; + 3C2051932A7B64009860F12684ECD9D6 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; + 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */; }; + 43A9543ACD32554E6F8D5B5A612EE8F5 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 452AF49B7A28EDB30804170C1E382442 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */; }; + 47045A49234D564C0C267652A7F5269B /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; + 47E86794ACD81096687138817E918651 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A3D0BC1ADE4763AEF39D520E9C18D54 /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */; }; 4AAB1998FDD2C1A3A045AAE63DF6CC74 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 4BE674AE0E1C84B33FD2CAC1F24684C8 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = CD1AF2425B398594084683B46E53C832 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E74597E88A50E02CD0F255D2AFF85C7 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 1661589AB26E97676CB37F8C7CF394D4 /* CTUtils.m */; }; - 50CFE1F669BA7782322802057D2CD541 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 47631EE9479492A3346E591EA49F3F13 /* CTLocationManager.m */; }; - 55D7F67BAFDC21C446ECC0F52F1C197C /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = F733563AAC6D9A040A2B545A5C716EB5 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 55F91F04CB07C42A24A845D97E9EFB9E /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 15070C4566FBE45EFBDB5451C038B7C8 /* CTDismissButton.m */; }; - 56ABDCA8359002FA4EAC6A67FC4C583C /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 47631EE9479492A3346E591EA49F3F13 /* CTLocationManager.m */; }; - 5752A3B55A136E9581818D12D2A469AB /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B245513B6CFF684B16E20B5A8AD3834C /* CleverTap-iOS-SDK-iOS-dummy.m */; }; - 598388878066C29540DF97FD55B557A0 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C9348135E640B69B3CA9227C26CADDF4 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E4BB7955284AADDE2A1B5B633BB38C9 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = CCDC6232B4591787A62D0E8D6A8EC0E3 /* CTKnownProfileFields.m */; }; - 5F1C56ABD7F1F0A3A8681E90F5C947EE /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 078CBD2F2B7E20498F5A1EE7977A9813 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F7DBE42ED3A162863119CD19EC12F7A /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CCE23D23ACB76F6510C05C54F533854 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5FBF3A4086B746F117C51B33BBB3B1C7 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F05E9E3E67196CBCD176D2951D6ED70C /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; - 6034E4F7C276ECB8990EDA775E56912B /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BF3DA18F0CECB3E18ED486A49CAFDEB /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 60961E47C8D896106515607D3CCE939A /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DC97F613A2F9B31344CD6AFE8F5A93E /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63763D8589CF9FDDC3ADCCD304E7F8BF /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F6ECD2BE49C4D4CAE10650C788F33CD /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 668B0FB9CBC1CAB96C7469E2794D2F8F /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 729B0E94993BF08B95873A5A54DB2554 /* CTDeviceInfo.m */; }; - 672D5CEDA1404791A857BB86DAFC58F3 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = D87C4FEA24B9F4CB8E5D386C7CE6251E /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C4223F4AE83DC6745D175966DD7EDA0 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C8FF7A452E41AC165F56907E34E0BBC /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */; }; + 4C9EB56499904BA40EDDA5574F98D1D9 /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4E11B7019DBF3E4F201FE70851DE35B5 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; + 4EE13AF6062D7EA33A4A77420B6656BF /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */; }; + 4FE12B2BAFC97144E7C3C38D764D0965 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */; }; + 546A9573DEAA58B19D6252812774A895 /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56604A36D20E8285C1826FB2131EE213 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */; }; + 569EFE711972F4239594C5B978F67167 /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */; }; + 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */; }; + 57A68CEE6813ED0FF1DE79B5246B5E52 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; + 58570A4031AFCAD2525575442D5C7331 /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */; }; + 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */; }; + 5A3BC74CC8C98B500ACFF10584B5B3F0 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; + 5A666F889CF4300B714C4BD539E1CDE2 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5AAE992514274F09BF1FE7F019AF0F1E /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */; }; + 5B6BDE509F05FCF9E92001B460735B3C /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5BB0121D5D2F1F1508C9C283C5F4AA8F /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; + 5BB755A125DECD98F9821CF2CA46A6A7 /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */; }; + 5C59E25AA1ECE8BF2A47C09632E202F6 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5CAAAA2E6CFDA83B434F8A4A75137EEC /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */; }; + 5D34BED176F619CB53A829E7E961EDC1 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; + 602BD08255978E086123AF17B753AE6B /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */; }; + 61E89D87584B52582E0F16CB02DCE0DA /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 634EAD4DE9B3FDFA8317975067E64F75 /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */; }; + 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */; }; + 6538DD8CEEF2C53E9DAB5BB2AAFFCE9E /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */; }; + 663262D23664153BFE2A64953B3CD130 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6686716872EBC1F3C8DF27FC9DC6319F /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 67A429736A1F3932A14B6E992277EC88 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */; }; + 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */; }; 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 6EFC05A0EB224C433384A41D3877A695 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 095E9ACB3D337FC5CB51FA124FA9ADB1 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */; }; + 6F3ABE5DDD03CD9F694CCEDD3D68989D /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; + 6FAD4153FDE84DE87E5B6C8E62D3FA42 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; + 6FAF3F4B6B8F0C2EF0AA1685C3CC5692 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; + 70709EC01475258D0E89A57320198A38 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7074E3768AFE3F4B39D448D71C59B04C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - 70E21D58C2FD474861F51635C2C8F760 /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CCE23D23ACB76F6510C05C54F533854 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 721F77826B1AF9D3B6EF240FBD7CEA42 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = FEAAD18188F20412C606B38176BF2F07 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 73B29E7AFDD8D51D5E7722C4E5D57D37 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = BA2A4793D7FCFC13CE798ABB45E5D326 /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 742891B84E27B040A169D3CCAB2F70DB /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9BF3DA18F0CECB3E18ED486A49CAFDEB /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 74431C6D4245EBFB50CFDCF3F520E2FE /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2716FFA5E99ADF21128485D375BFF395 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7537FEE99CDB2B164A5DA6397577EAE3 /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 272EBAFE1BA6DCF628A53EFD5BB9DC11 /* CTInAppHTMLViewController.m */; }; - 76729D45FDF726BAA7A1AAF3ECD68CE5 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CE4722E30C333E5A8FADDE1D3FAAC9D /* CTLogger.m */; }; - 77A82ED0386C98E7DA288345D1365BD6 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 51794A3A22CE711794B5CDA5C08D1565 /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7868CD7E08A201DA0B731CFBD5CB2EAD /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = B0B31B4E8E2A3A32CF576BA255441DA5 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78B8928B9DEB21EFB68B906ECE08EFC3 /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = E7A3113809CF827418939E59F8810F7F /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7ACD4F6C240300D11C5A5B7DDF5D8964 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = B0B31B4E8E2A3A32CF576BA255441DA5 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7F56BDC2777F150AFD63ACF4060F586D /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EDC42319924402E70B4EB184DE336A1 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 814B222FB4E53DE37EA7F9D26B60A6BC /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 08EA26EAADB3F8FCE62B4707A4B67727 /* CTLocalDataStore.m */; }; - 82835564E69306D37EA65AE7C378DE5B /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C9348135E640B69B3CA9227C26CADDF4 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 841014D8336C2FF9F023C46F5F00FFED /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E919357EDC1A7A4EA54D9D065038D53E /* CTPlistInfo.m */; }; - 84B10EB45D62362F37C660451378537D /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2617A3A815A6114348D59341F0247FD5 /* CTInAppDisplayViewController.m */; }; - 864064965309DDE054274B55B7B886E4 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A8FD5E5181EA2EE244121730F9C7666 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 709BCA989DEF53D3F66259E50E60CC04 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; + 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */; }; + 7322C5BDD6A4AD039B40BA7D83946AD3 /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */; }; + 73AC5A020AD4CF286E09923E03B79351 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; + 757EB3FFF9F5E9238399F12F896D5172 /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7635C22035BD2B0DFCB154430D0A76CE /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 76A6CCF4014D5CD9734F9CF3E6C04CAE /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */; }; + 79DB9AFD4B0331CD8329F420D75F48B8 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; + 79FC56C034563DC3F923A8DAFE638C08 /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */; }; + 7AB0D47FB6FDF51F27F59C230DAC980E /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D17352914F00B9417ACB567F4D9110E /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F5CE69D8DA0E57CCF3715D29EE4D77D /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7F9D5F309BCF6C54B7C29991A24AB321 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; + 7FC480A226D6F8BECBC3A7DBAFF116CF /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */; }; + 8098F482CD23D384A5FBAA138C294BDB /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8104C9879B6226FDF211DA0AA9685EC2 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; + 81C4AC9BE8F1741303C22441D3116545 /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 823944C5AF60C480B11782810EB2E4D7 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */; }; + 8269A830581734909748EA7342488910 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; + 842C1C426896B936C99F3A79DDE545D0 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 849BC442882869C3C626A97F091435A9 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 856D5D314027F88768C2AAE01740947F /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 870A576ACD83CC73688F9AC02751C347 /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8976FE804BD35F0D60E272B5C250B5F2 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 63BDF9283E9E8FA5C9EAE05B850C6710 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89856851FA41400B220E796422A2DFFC /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 395F098F17AAB478E5B337467CB3B067 /* CTValidationResult.m */; }; - 931CA895B59AB29BC7789B47956130FB /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 77590200341E346BF3FC105D215BDDF7 /* CTProfileBuilder.m */; }; - 937836A335C329531FC3665DFBB005BD /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 97930524EE3D19339865725DE83F96CE /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 95FB11EC7A370EA872CF76A72D279E51 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F569C3501AF97E8E65D4966A315D7B1 /* CTEventBuilder.m */; }; - 96A3DDCF1939A46928E11DEA28A6A185 /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 850DBA2917DC5D9056276B4AA92DE843 /* CTInAppUtils.m */; }; - 9A71E59EDF4F1AB8A0CE1911EFDB68E9 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E52EF509E795DD83F6904925E7F9C24 /* CTCertificatePinning.m */; }; - 9AF984C39769055CF477E56B67CE6F3D /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = BE5235CD66480A1FF23623B50273F8EE /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9BF1D11BBB38DC9FF670ECDF326C6AB0 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 639325DB8803A3AEE14E2D7F805B96A1 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9CAD1A44AAED11062BEF1A3D07E375AB /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E52EF509E795DD83F6904925E7F9C24 /* CTCertificatePinning.m */; }; - 9CB167E08A2BAA0F105406124CFFA10F /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = BE5235CD66480A1FF23623B50273F8EE /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9D21B80A2BADB3E4598DB0CA7FFC65BA /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = AD862D8CC6FDBE7AF873BBD44C103489 /* CTUriHelper.m */; }; - 9DDA97748F5D7E1796FD898A48DB4202 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A5EACC1686FBE138806D4FF34D0FD8E0 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8A0FBEDCDB76528FBE29222920844010 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8C6D4960E85565834F42DB719DD585D3 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8D1D1A8CE3FE192C9703159DD5F08FE1 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */; }; + 8F08D75086D10AD560E39ACD964AD466 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */; }; + 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */; }; + 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */; }; + 96CE12051098467CD5280A6A10EC22A6 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; + 985B2200AA6BC116A66A5A89CFAAADC5 /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */; }; + 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */; }; + 9CAFD104F3C79EB9499885746AC6251D /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */; }; + 9D5714A5BA4631422A53B292EE95C0F5 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */; }; + 9D609274E0C170301E7BA312FB013338 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */; }; + 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */; }; 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */; }; + A14F604A921185A675BBC85B2139B273 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A1AC80DFF97A18EFC87C0E67ECA7B944 /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; A21387232BA8562F7EB7C84715C15B1D /* Pods-ObjCStarterTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */; }; - A562B2ABBF464B20EBB5336C69AFC025 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0ED5A580CAEA63A56F9146BBA72617 /* CTConstants.m */; }; - A63E05492B4C83D952ED4ADC0C13A690 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F569C3501AF97E8E65D4966A315D7B1 /* CTEventBuilder.m */; }; - A880AA02ECDE61BEC6BBB19E971A7250 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = A4C8FA6B0477CB80281C2AE55279768F /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A311DFD07C29F2CA7A6CFA36A7FC322C /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4E35E30D5220024D1DEB5C2D73E8475 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A70888771FFDAAA95FABC2E6EE16FCB1 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */; }; + AA11FE043546F024838D81971112B55D /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */; }; AA697D7F464E8CA206344CE492F32374 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - AB52A6B85B2CC199B14231956CA6B0EE /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 729B0E94993BF08B95873A5A54DB2554 /* CTDeviceInfo.m */; }; - AF5BCF98B8A9770BE7E47240CA4E3CB9 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = CCDC6232B4591787A62D0E8D6A8EC0E3 /* CTKnownProfileFields.m */; }; - AF8932C6601E8DBAF35EFB685E28243D /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F39F164DB168FD4CD6A4908C4B715EB9 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B186AF019B160F9679257F32AE3DF202 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 69D749DD39B3D16B2013F75853347406 /* CTPinnedNSURLSessionDelegate.m */; }; - B1A350DCA350D5B66C2AACF137E4A50D /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = CCCBB314EACC41F011F0265E7D043A34 /* CTInAppNotification.m */; }; - B23D6007BDA22E716383503CEBA4F9B4 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = 07981E535135904FDBD4AB0287274566 /* CleverTap.m */; }; - B6363BF6B2B36A87AE50CF0A9D8C0344 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 3CC67043DED88D351310185E6BCD1857 /* DigiCertGlobalRootCA.crt */; }; - BC44FE9E02EB079A29FECB7D15661D6E /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E0C00A606A2590B73F04B937EAA81178 /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C0013202297A81BD7C384B235C161EDA /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = BD4449C0B5C27D2AD66111F894764B75 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2697D881CE0D2B5E4999A735A03C59F /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 963EBF5C91F6EA2D7528D028B1CE29B7 /* CleverTapEventDetail.m */; }; - C2DD0D2D1A7A0090F3848CA0AF7532BC /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 63BDF9283E9E8FA5C9EAE05B850C6710 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5F299639FE7B58177C0FD02BA840958 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 078CBD2F2B7E20498F5A1EE7977A9813 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C62F8CFC1C60213122A4E4CAC96630A5 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A5EACC1686FBE138806D4FF34D0FD8E0 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AAC83DFAE07BD3F543F182FE99703EEC /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; + AEAA8B96562F9AF5B63351773E158E16 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */; }; + AF6F272BB9C3452D1E6DA88E7D74D973 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B0144EF9445C9683803A68219468D4F8 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B0E9DBAE49768154E733916805574EE3 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; + B255D961E85FBF23C509E5EA0F32448B /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B268E0BF9174B119D71E484E41AA519C /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2D2A518D268967D4ACD2D16EDFC23BC /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B3CED6288EF1DE2112C767CBA9476A4E /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */; }; + B68E09DB7B7E682DE9D04EB53C4E84AC /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; + B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */; }; + B9EC5ED559B5F0977E7F98BEDC573E2C /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; + BAED6F3D976AB4675E43A6F364A64DD1 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; + BB24BBDAD2523EF2FF49D64E5C54E16C /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; + BB69E1D6CEC9E10AE54250E7AB784350 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; + BBE377769897DAE252463E9FBF29BC8E /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BCAC28A2D8E8844641C29DA71EB60B52 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */; }; + BCAC98495106018E13D762372E82EEAB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD404CF9254F05BF7D237EE170A4127E /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; + BDAE918ABE7F2ACBB205636394F75D09 /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */; }; + BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */; }; + BEEB76E7AD6616232AC5F46FD6479AEE /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C306725BFF8BED527CAF9C5DF347582B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; + C4A92AB8E1A10C59FBE195F9BE016AC9 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C6F599EA4763AF8F3800DD36C8288A1F /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */; }; C70540930C6D8F38AF1ACEF8947D614F /* Pods-ObjCStarterUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */; }; - C80D01D1855BF1CBA2C856030EACC7BE /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = AF494C58C071ED207A181EB7D44D8BB6 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C948ECC744AAD5480FA39D945E340215 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E919357EDC1A7A4EA54D9D065038D53E /* CTPlistInfo.m */; }; - CB3684C159C0A0CCEC65A4B04F94B28B /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D3EAE1F8B2726519BC21CDDD48B65A9 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CDEF14B4D080AEA25D30AF7B5AA1FD9C /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 501D22ACF66B2A82BE966C199198CAE6 /* CTPreferences.m */; }; - D20383BFA93D8AB3D92D0B1B3FBA10E1 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EE2C815B70A0C03AADDC8DC9E5344C75 /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C7D85301BCFB74DF253F8BF0548803A0 /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */; }; + CC13841B90B320CB21909A654BAB0338 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; + CD35879002C808275533461BE4273435 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */; }; + CEBEC57E58B908CD8A31307E5856EBA3 /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */; }; + CEE2FFDE5A35884BCE99BF3744C9A159 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; + D045C67E7FDEA74865914A1D1A19C0C9 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */; }; + D24B3C6EAEC406E6626974E3260D64F4 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; D38D5438D495EE1F884D28EEB0792F61 /* Pods-ObjCStarter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */; }; - D65D7AF25F72583C0C1B18B0E2D3E02D /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = E7A3113809CF827418939E59F8810F7F /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DEA0BC2CA6B31739E6346000E4A5EE2F /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DBD8453DE4991F5994725DF4DDEAE275 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF3C90F565FF070DCDBD55DCF1B9B529 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = CD1AF2425B398594084683B46E53C832 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0EAFEB825D62C995901F2462C0DE195 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D8AA26A1735494E601DC80F56B9412F /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1AFF55DF28EAF5BB4365AF9F7521282 /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A930523BB28D25AB16BACE947B1979C /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E3134A8611B07698C88A43B4630C9A03 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 4F1F32D5B355D498183AE8B616433193 /* DigiCertSHA2SecureServerCA.crt */; }; - E3CB89B99BB1BDB2038B330002FBCEEC /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = BA2A4793D7FCFC13CE798ABB45E5D326 /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E62F84BA71337C6977D1F84ACBFA6BD5 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 1661589AB26E97676CB37F8C7CF394D4 /* CTUtils.m */; }; - E6EF5524ABEA0DAE7EFDC2F8234055D9 /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A930523BB28D25AB16BACE947B1979C /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E75D21C500F3A506E596AAA38679EAC2 /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 97ACCF6EED3EE851EEFF4C291CB3AF24 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E81B5E49285FCF95FAA10CE5E4F35595 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - E8BB545C670496AE3814F7FF5FE0E503 /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 97930524EE3D19339865725DE83F96CE /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D7AA48A5AF31BBBB7DBF86819D3CBFB1 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */; }; + D8A929D54AAEDC194215E975FA52D9BB /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; + D8E504E9E667DA1B87449B546F040BFF /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D94400D09DC20380BFD972BC3B959656 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; + DA00042A10F1EB9C33232C3315B417B5 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DBD9AAB2309ECA5B73678C5E80849824 /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */; }; + DC58BAB832042C6C5B9349C38521F7DF /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */; }; + DF5B31EC219D8D651FC23AB015C55F39 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF6F342EFBC5F4FB66101470669BFE07 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */; }; + E2EC90E1DE8A28149F170285B4C14CED /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */; }; + E323284CCDBF805460C2E6021539F362 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E3E66B8ADE74B5EAFE3F6F4CFE1F88D8 /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E55EFBE5EB3277E8EB46317736F4CDD2 /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */; }; + E60DAB175945FF4E2E573F947565634B /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E630ADE1C75F4DC324CA5076E64D2D0D /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E6C1132C28F8B581F6278B59A1D079DC /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E82F505BB11E034B6A6A13F242832584 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; + E86618C1E01C7275D9B5DC32B42EF0AF /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; E9180B95131D04BD35544A6FC76A9214 /* Pods-ObjCTvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */; }; - EA7543408C1A3FC0B092F268B993D063 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 69D749DD39B3D16B2013F75853347406 /* CTPinnedNSURLSessionDelegate.m */; }; - F197D6B5457109F344279DF82964372C /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D030191BC682E7E802973AC81F31E2E /* CTValidator.m */; }; - F26647D4579A405AC66D2A49594E1133 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 51794A3A22CE711794B5CDA5C08D1565 /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F2D76328EDE2B9A16F26E6922957CF7D /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 850DBA2917DC5D9056276B4AA92DE843 /* CTInAppUtils.m */; }; + E91D7DE0BA20B74A7526AA59A7E8AB85 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; + E99281200DC25A129FEF04C510466302 /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */; }; + EA346207C73F8B998D6714F4D9D68AC8 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */; }; + EBB4EC5B6D609E819532830E11D02F21 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EBBF514BDE35666F71886F457A2C63C6 /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC35C538C4BC451E3FF2034ED60E50F5 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECB2179C8BB4A3B5F8DF1248107221E8 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECCBEF6E11E0141A4302E1A388AC76E9 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECDF4F985FEDBEBC7DD8757B823BF916 /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */; }; + F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */; }; + F2BE9CDDAA9B66CCB168DF5D6E3C6021 /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */; }; + F3031BB66539DDF1FBA629243B15A078 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; F37D2341EA17628C9C530215C07F87C9 /* Pods-ObjCStarterTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F7ED2D3062D30A0E7734F58C8B095FD3 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = C789D3F7D1871F098BBA2039D49C2863 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F8337270356E255A3C6D68AC9F06A71F /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = B348031FEFB1EA79566F0D55DE15B182 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F98E6EDD596AC14860E48B92CD76C8A9 /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = CCCBB314EACC41F011F0265E7D043A34 /* CTInAppNotification.m */; }; - FA25369C4B77806C11B2B2833C694F3E /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 091B30FA1A8C64AE90397D1CA497738C /* CTInAppFCManager.m */; }; - FC246B6125BF9F700DF05152A86D8FB9 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 08EA26EAADB3F8FCE62B4707A4B67727 /* CTLocalDataStore.m */; }; - FFF0BCDD25873F159C31C5F94343DDC2 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = D87C4FEA24B9F4CB8E5D386C7CE6251E /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F45EFB32917057BB9A54E79D2D5EC41E /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; + F57046A2C15DF8CC5F7CC5B375C60357 /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */; }; + F915C5652C5C8B41FD7C5B8C20490ED9 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F96E6D0F11E843E88903F76CA8A88495 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FBAE2E07C31DC1927DEFA61492DBD3F1 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FDDA2E7B2A2959535E06050C276349FE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */; }; + FE71F21E2945C46AA5EBE4CDDE0258BD /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */; }; + FF26334930DE2FF64FF65BE7507461F8 /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -158,7 +244,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 84710807FC10B8B2673796CA61608A06; + remoteGlobalIDString = 55F108B5206399DCEDBC008F6E8A790D; remoteInfo = "CleverTap-iOS-SDK-tvOS"; }; 85CC18945347C350CDD3AF44AB560D4E /* PBXContainerItemProxy */ = { @@ -179,146 +265,212 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = D101C7BCB05F1A764AD0A07B90ADAE07; + remoteGlobalIDString = 82EB401F9EF03080E9CC9290A678FE92; remoteInfo = "CleverTap-iOS-SDK-iOS"; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 00431C7E823917BED274DA62D96CCA32 /* Pods-ObjCStarter-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarter-acknowledgements.plist"; sourceTree = ""; }; + 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~iphoneport.xib"; sourceTree = ""; }; 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleverTapSDK.framework; path = "CleverTap-iOS-SDK-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarterTests-dummy.m"; sourceTree = ""; }; - 078CBD2F2B7E20498F5A1EE7977A9813 /* CTKnownProfileFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTKnownProfileFields.h; path = CleverTapSDK/CTKnownProfileFields.h; sourceTree = ""; }; - 07981E535135904FDBD4AB0287274566 /* CleverTap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTap.m; path = CleverTapSDK/CleverTap.m; sourceTree = ""; }; - 08EA26EAADB3F8FCE62B4707A4B67727 /* CTLocalDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocalDataStore.m; path = CleverTapSDK/CTLocalDataStore.m; sourceTree = ""; }; - 091B30FA1A8C64AE90397D1CA497738C /* CTInAppFCManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppFCManager.m; path = CleverTapSDK/CTInAppFCManager.m; sourceTree = ""; }; - 095E9ACB3D337FC5CB51FA124FA9ADB1 /* CTPlistInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPlistInfo.h; path = CleverTapSDK/CTPlistInfo.h; sourceTree = ""; }; + 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInAppNotificationDelegate.h; path = CleverTapSDK/CleverTapInAppNotificationDelegate.h; sourceTree = ""; }; + 06C6B23629FEB010E6E1B2FDFC9A5333 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarterTests-umbrella.h"; sourceTree = ""; }; - 0C01A16579ABF46C33AE6ED1A2F7394B /* CTSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTSwizzle.m; path = CleverTapSDK/CTSwizzle.m; sourceTree = ""; }; - 0D3EAE1F8B2726519BC21CDDD48B65A9 /* CTValidationResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidationResult.h; path = CleverTapSDK/CTValidationResult.h; sourceTree = ""; }; - 0DC97F613A2F9B31344CD6AFE8F5A93E /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppHTMLViewController.h; path = CleverTapSDK/CTInAppHTMLViewController.h; sourceTree = ""; }; - 15070C4566FBE45EFBDB5451C038B7C8 /* CTDismissButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDismissButton.m; path = CleverTapSDK/CTDismissButton.m; sourceTree = ""; }; - 1661589AB26E97676CB37F8C7CF394D4 /* CTUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUtils.m; path = CleverTapSDK/CTUtils.m; sourceTree = ""; }; - 1AF104A73F5822FB29F9D0ECB5B7458A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../CleverTap-iOS-SDK-tvOS/Info.plist"; sourceTree = ""; }; + 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~ipad.xib"; sourceTree = ""; }; + 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTKnownProfileFields.h; path = CleverTapSDK/CTKnownProfileFields.h; sourceTree = ""; }; + 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppDisplayViewController.m; sourceTree = ""; }; + 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidationResult.m; path = CleverTapSDK/CTValidationResult.m; sourceTree = ""; }; + 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTSwizzle.h; path = CleverTapSDK/CTSwizzle.h; sourceTree = ""; }; + 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialImageViewController.h; sourceTree = ""; }; + 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocalDataStore.h; path = CleverTapSDK/CTLocalDataStore.h; sourceTree = ""; }; + 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapEventDetail.m; path = CleverTapSDK/CleverTapEventDetail.m; sourceTree = ""; }; + 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPlistInfo.h; path = CleverTapSDK/CTPlistInfo.h; sourceTree = ""; }; + 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPlistInfo.m; path = CleverTapSDK/CTPlistInfo.m; sourceTree = ""; }; + 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTFooterViewController.m; sourceTree = ""; }; + 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; 1DE9BAA73CE91BC04CFAA245C582B9FE /* Pods-ObjCStarter-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarter-resources.sh"; sourceTree = ""; }; + 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPinnedNSURLSessionDelegate.h; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.h; sourceTree = ""; }; + 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialViewController.m; sourceTree = ""; }; 20D23DDEDE4D2DFB75030BF8388E7097 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2617A3A815A6114348D59341F0247FD5 /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppDisplayViewController.m; path = CleverTapSDK/CTInAppDisplayViewController.m; sourceTree = ""; }; - 2716FFA5E99ADF21128485D375BFF395 /* CleverTapSyncDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapSyncDelegate.h; path = CleverTapSDK/CleverTapSyncDelegate.h; sourceTree = ""; }; - 272EBAFE1BA6DCF628A53EFD5BB9DC11 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppHTMLViewController.m; path = CleverTapSDK/CTInAppHTMLViewController.m; sourceTree = ""; }; + 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; + 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@3x.png"; sourceTree = ""; }; 273B4A50F46B535C444BD94D391152B9 /* Pods-ObjCTvOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCTvOS-frameworks.sh"; sourceTree = ""; }; - 2D030191BC682E7E802973AC81F31E2E /* CTValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidator.m; path = CleverTapSDK/CTValidator.m; sourceTree = ""; }; + 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLogger.m; path = CleverTapSDK/CTLogger.m; sourceTree = ""; }; + 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~ipad.xib"; sourceTree = ""; }; 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 2E67239CA03C869B404DFF7F92FA1030 /* CleverTap-iOS-SDK-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-prefix.pch"; sourceTree = ""; }; + 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDeviceInfo.m; path = CleverTapSDK/CTDeviceInfo.m; sourceTree = ""; }; + 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap+SSLPinning.h"; path = "CleverTapSDK/CleverTap+SSLPinning.h"; sourceTree = ""; }; + 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapSyncDelegate.h; path = CleverTapSDK/CleverTapSyncDelegate.h; sourceTree = ""; }; 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCTvOS-dummy.m"; sourceTree = ""; }; + 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImage.h; sourceTree = ""; }; + 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialImageViewController.m; sourceTree = ""; }; + 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@1x.png"; sourceTree = ""; }; + 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTEventBuilder.m; path = CleverTapSDK/CTEventBuilder.m; sourceTree = ""; }; 37319506AA308073114C9BBC07E4AC62 /* Pods-ObjCStarterUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterUITests-frameworks.sh"; sourceTree = ""; }; - 38D4AFCC18E575326EC924033BE82276 /* CleverTapInstanceConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapInstanceConfig.m; path = CleverTapSDK/CleverTapInstanceConfig.m; sourceTree = ""; }; - 395F098F17AAB478E5B337467CB3B067 /* CTValidationResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidationResult.m; path = CleverTapSDK/CTValidationResult.m; sourceTree = ""; }; + 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@3x.png"; sourceTree = ""; }; 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarter-umbrella.h"; sourceTree = ""; }; - 3BDBA3C0069913E7D76111DB4FCA8430 /* CleverTap-iOS-SDK-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CleverTap-iOS-SDK-iOS.modulemap"; sourceTree = ""; }; - 3CC67043DED88D351310185E6BCD1857 /* DigiCertGlobalRootCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertGlobalRootCA.crt; path = CleverTapSDK/DigiCertGlobalRootCA.crt; sourceTree = ""; }; - 3ECDE95653ED3EBF521D77E802776046 /* CleverTap-iOS-SDK-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CleverTap-iOS-SDK-tvOS.modulemap"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; sourceTree = ""; }; - 4233F49AA0AF6CC595606FBD1FC6DB06 /* CleverTap-iOS-SDK.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "CleverTap-iOS-SDK.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 3B6B5047C52496A1B683E2A27EE69FCD /* CleverTap-iOS-SDK-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CleverTap-iOS-SDK-iOS.modulemap"; sourceTree = ""; }; + 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTap.h; path = CleverTapSDK/CleverTap.h; sourceTree = ""; }; + 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppNotification.m; sourceTree = ""; }; + 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@1x.png"; sourceTree = ""; }; + 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = ic_thumb.png; sourceTree = ""; }; 436B10A9D4D322EF761627E582AD0E6B /* Pods-ObjCStarterUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarterUITests-acknowledgements.plist"; sourceTree = ""; }; + 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = CTAVPlayerControlsViewController.xib; sourceTree = ""; }; + 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CleverTap-iOS-SDK-tvOS.xcconfig"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.xcconfig"; sourceTree = ""; }; 470FF519B33DE8AECC2BEDEBAE54AF5B /* Pods-ObjCStarterTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterTests.release.xcconfig"; sourceTree = ""; }; - 47631EE9479492A3346E591EA49F3F13 /* CTLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocationManager.m; path = CleverTapSDK/CTLocationManager.m; sourceTree = ""; }; 477EB3BE3BAE603FF85D859A92B5C5B6 /* Pods-ObjCTvOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCTvOS-resources.sh"; sourceTree = ""; }; - 4C0ED5A580CAEA63A56F9146BBA72617 /* CTConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTConstants.m; path = CleverTapSDK/CTConstants.m; sourceTree = ""; }; + 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerViewController.m; sourceTree = ""; }; 4C637F8CE560FD47861DC6DC8A6AC9C1 /* Pods-ObjCStarter.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarter.modulemap"; sourceTree = ""; }; - 4CCE23D23ACB76F6510C05C54F533854 /* CleverTap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTap.h; path = CleverTapSDK/CleverTap.h; sourceTree = ""; }; - 4D8AA26A1735494E601DC80F56B9412F /* CTDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDeviceInfo.h; path = CleverTapSDK/CTDeviceInfo.h; sourceTree = ""; }; - 4F1F32D5B355D498183AE8B616433193 /* DigiCertSHA2SecureServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertSHA2SecureServerCA.crt; path = CleverTapSDK/DigiCertSHA2SecureServerCA.crt; sourceTree = ""; }; - 501D22ACF66B2A82BE966C199198CAE6 /* CTPreferences.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPreferences.m; path = CleverTapSDK/CTPreferences.m; sourceTree = ""; }; - 51794A3A22CE711794B5CDA5C08D1565 /* CTPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPreferences.h; path = CleverTapSDK/CTPreferences.h; sourceTree = ""; }; + 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialImageViewController.h; sourceTree = ""; }; + 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialViewController.h; sourceTree = ""; }; + 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfigPrivate.h; path = CleverTapSDK/CleverTapInstanceConfigPrivate.h; sourceTree = ""; }; + 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfig.h; path = CleverTapSDK/CleverTapInstanceConfig.h; sourceTree = ""; }; 5262C19475FE48FAF9C88EF1DAFC0C99 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 56C24BBB26619F58DFB7F0E1841F54F8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapInstanceConfig.m; path = CleverTapSDK/CleverTapInstanceConfig.m; sourceTree = ""; }; + 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@2x.png"; sourceTree = ""; }; + 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppResources.h; sourceTree = ""; }; + 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@1x.png"; sourceTree = ""; }; 5728456F8BE0DEEB64054DB1C14E9B98 /* Pods_ObjCTvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCTvOS.framework; path = "Pods-ObjCTvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 59462084C7E04F4769F8574724A12D55 /* CleverTapUTMDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapUTMDetail.m; path = CleverTapSDK/CleverTapUTMDetail.m; sourceTree = ""; }; + 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTNotificationButton.h; sourceTree = ""; }; + 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverViewController.m; sourceTree = ""; }; 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterUITests.release.xcconfig"; sourceTree = ""; }; + 598FAA7A4F1B02A71EE29BB236466738 /* CleverTap-iOS-SDK.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "CleverTap-iOS-SDK.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@1x.png"; sourceTree = ""; }; 5E40E87DAB768FDDBFC8EC12A80CD980 /* Pods-ObjCTvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCTvOS.modulemap"; sourceTree = ""; }; - 639325DB8803A3AEE14E2D7F805B96A1 /* CTDismissButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDismissButton.h; path = CleverTapSDK/CTDismissButton.h; sourceTree = ""; }; - 63BDF9283E9E8FA5C9EAE05B850C6710 /* CleverTapTrackedViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapTrackedViewController.h; path = CleverTapSDK/CleverTapTrackedViewController.h; sourceTree = ""; }; - 646D615B9BC65FECDB0A825610E53740 /* CleverTapTrackedViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapTrackedViewController.m; path = CleverTapSDK/CleverTapTrackedViewController.m; sourceTree = ""; }; + 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialViewController.h; sourceTree = ""; }; + 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTSlider.m; sourceTree = ""; }; + 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; + 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapTrackedViewController.h; path = CleverTapSDK/CleverTapTrackedViewController.h; sourceTree = ""; }; + 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; + 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialImageViewController.m; sourceTree = ""; }; 65062A0C9E63EE868212890221C99394 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 69D749DD39B3D16B2013F75853347406 /* CTPinnedNSURLSessionDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPinnedNSURLSessionDelegate.m; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.m; sourceTree = ""; }; + 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@3x.png"; sourceTree = ""; }; + 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CleverTap-iOS-SDK-tvOS-dummy.m"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-dummy.m"; sourceTree = ""; }; + 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTSlider.h; sourceTree = ""; }; + 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTProfileBuilder.h; path = CleverTapSDK/CTProfileBuilder.h; sourceTree = ""; }; + 6A9E17B9ED07F3A911220AB4D46D7AFD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../CleverTap-iOS-SDK-tvOS/Info.plist"; sourceTree = ""; }; 6AC6BA9296B6DEC8429B07238A8ABD5C /* Pods_ObjCStarter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarter.framework; path = "Pods-ObjCStarter.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6CE4722E30C333E5A8FADDE1D3FAAC9D /* CTLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLogger.m; path = CleverTapSDK/CTLogger.m; sourceTree = ""; }; - 6E52EF509E795DD83F6904925E7F9C24 /* CTCertificatePinning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTCertificatePinning.m; path = CleverTapSDK/CTCertificatePinning.m; sourceTree = ""; }; - 703D1BA587AF7A9E2C82DDAADC67FB38 /* CleverTap-iOS-SDK-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-prefix.pch"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; sourceTree = ""; }; - 729B0E94993BF08B95873A5A54DB2554 /* CTDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDeviceInfo.m; path = CleverTapSDK/CTDeviceInfo.m; sourceTree = ""; }; + 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleverTap-iOS-SDK-iOS-dummy.m"; sourceTree = ""; }; + 6EDDB3B033F0426AC53E132CB2DA1A47 /* CleverTap-iOS-SDK-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-prefix.pch"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; sourceTree = ""; }; + 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTConstants.m; path = CleverTapSDK/CTConstants.m; sourceTree = ""; }; + 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertSHA2SecureServerCA.crt; path = CleverTapSDK/DigiCertSHA2SecureServerCA.crt; sourceTree = ""; }; + 70114A48B02FC38645527338305A6880 /* CTValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidator.m; path = CleverTapSDK/CTValidator.m; sourceTree = ""; }; + 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapBuildInfo.h; path = CleverTapSDK/CleverTapBuildInfo.h; sourceTree = ""; }; + 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialViewController.m; sourceTree = ""; }; + 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidator.h; path = CleverTapSDK/CTValidator.h; sourceTree = ""; }; 74ED40FB5806A783DC3A1D6D36332A13 /* Pods-ObjCStarterTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarterTests-acknowledgements.markdown"; sourceTree = ""; }; - 77590200341E346BF3FC105D215BDDF7 /* CTProfileBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTProfileBuilder.m; path = CleverTapSDK/CTProfileBuilder.m; sourceTree = ""; }; - 7E503BE6D6E8440104353881FECC1BBC /* CleverTap-iOS-SDK-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CleverTap-iOS-SDK-tvOS.xcconfig"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.xcconfig"; sourceTree = ""; }; + 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CleverTap-iOS-SDK-iOS.xcconfig"; sourceTree = ""; }; + 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPreferences.m; path = CleverTapSDK/CTPreferences.m; sourceTree = ""; }; + 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUriHelper.m; path = CleverTapSDK/CTUriHelper.m; sourceTree = ""; }; + 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDeviceInfo.h; path = CleverTapSDK/CTDeviceInfo.h; sourceTree = ""; }; + 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewController.h; sourceTree = ""; }; + 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAlertViewController.m; sourceTree = ""; }; + 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImageView.m; sourceTree = ""; }; 7FC805B3EF57A8B6D6CDB67AFD0C9ACF /* Pods-ObjCStarterTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterTests.debug.xcconfig"; sourceTree = ""; }; + 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapEventDetail.h; path = CleverTapSDK/CleverTapEventDetail.h; sourceTree = ""; }; + 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPinnedNSURLSessionDelegate.m; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.m; sourceTree = ""; }; + 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewController.h; sourceTree = ""; }; + 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; 84CC5217460F12390416A1E084F38F08 /* Pods-ObjCTvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCTvOS.release.xcconfig"; sourceTree = ""; }; - 850DBA2917DC5D9056276B4AA92DE843 /* CTInAppUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppUtils.m; path = CleverTapSDK/CTInAppUtils.m; sourceTree = ""; }; + 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppFCManager.m; sourceTree = ""; }; + 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTNotificationButton.m; sourceTree = ""; }; + 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverImageViewController.m; sourceTree = ""; }; 88FD612A1F066AC7DFF25A41473B5FD3 /* Pods-ObjCTvOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCTvOS-acknowledgements.plist"; sourceTree = ""; }; + 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppUtils.m; sourceTree = ""; }; + 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapTrackedViewController.m; path = CleverTapSDK/CleverTapTrackedViewController.m; sourceTree = ""; }; + 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAlertViewController.h; sourceTree = ""; }; 8ED676D1C38125A06E12257A1D0E9D6D /* Pods-ObjCStarter-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarter-frameworks.sh"; sourceTree = ""; }; - 8EDC42319924402E70B4EB184DE336A1 /* CTValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidator.h; path = CleverTapSDK/CTValidator.h; sourceTree = ""; }; - 8F569C3501AF97E8E65D4966A315D7B1 /* CTEventBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTEventBuilder.m; path = CleverTapSDK/CTEventBuilder.m; sourceTree = ""; }; - 8F6ECD2BE49C4D4CAE10650C788F33CD /* CleverTap-iOS-SDK-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-umbrella.h"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-umbrella.h"; sourceTree = ""; }; + 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUtils.h; path = CleverTapSDK/CTUtils.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTCertificatePinning.h; path = CleverTapSDK/CTCertificatePinning.h; sourceTree = ""; }; 957B8D09156900E78EF3EB06F4017FF6 /* Pods-ObjCStarterUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterUITests.debug.xcconfig"; sourceTree = ""; }; - 963EBF5C91F6EA2D7528D028B1CE29B7 /* CleverTapEventDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapEventDetail.m; path = CleverTapSDK/CleverTapEventDetail.m; sourceTree = ""; }; 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleverTapSDK.framework; path = "CleverTap-iOS-SDK-tvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 96FA7F8F9A1080D8AA7A4254743B7A1F /* CleverTap-iOS-SDK-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CleverTap-iOS-SDK-iOS.xcconfig"; sourceTree = ""; }; + 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocationManager.m; path = CleverTapSDK/CTLocationManager.m; sourceTree = ""; }; 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCTvOS-umbrella.h"; sourceTree = ""; }; - 97930524EE3D19339865725DE83F96CE /* CTSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTSwizzle.h; path = CleverTapSDK/CTSwizzle.h; sourceTree = ""; }; - 97ACCF6EED3EE851EEFF4C291CB3AF24 /* CTInAppNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppNotification.h; path = CleverTapSDK/CTInAppNotification.h; sourceTree = ""; }; 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCTvOS.debug.xcconfig"; sourceTree = ""; }; - 9A8FD5E5181EA2EE244121730F9C7666 /* CleverTapEventDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapEventDetail.h; path = CleverTapSDK/CleverTapEventDetail.h; sourceTree = ""; }; - 9A930523BB28D25AB16BACE947B1979C /* CleverTapUTMDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapUTMDetail.h; path = CleverTapSDK/CleverTapUTMDetail.h; sourceTree = ""; }; - 9BF3DA18F0CECB3E18ED486A49CAFDEB /* CTInAppFCManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppFCManager.h; path = CleverTapSDK/CTInAppFCManager.h; sourceTree = ""; }; + 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTKnownProfileFields.m; path = CleverTapSDK/CTKnownProfileFields.m; sourceTree = ""; }; + 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLogger.h; path = CleverTapSDK/CTLogger.h; sourceTree = ""; }; + 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppFCManager.h; sourceTree = ""; }; + 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewControllerPrivate.h; sourceTree = ""; }; A08E40B08FB94338A35A298AB9437ABF /* Pods-ObjCStarterTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarterTests-acknowledgements.plist"; sourceTree = ""; }; + A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "sound-wave-headphones.png"; sourceTree = ""; }; A4AB3B9AA88EB1B325426DBDFF72245F /* Pods-ObjCStarter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarter.release.xcconfig"; sourceTree = ""; }; - A4C8FA6B0477CB80281C2AE55279768F /* CTInAppUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppUtils.h; path = CleverTapSDK/CTInAppUtils.h; sourceTree = ""; }; - A5EACC1686FBE138806D4FF34D0FD8E0 /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewController.h; path = CleverTapSDK/CTInAppDisplayViewController.h; sourceTree = ""; }; + A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTFooterViewController.h; sourceTree = ""; }; + A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~iphoneport.xib"; sourceTree = ""; }; A82DF58913D09EA39E314E1A24E023BE /* Pods_ObjCStarterUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarterUITests.framework; path = "Pods-ObjCStarterUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A8E785FF67399CF72809B3F3425D3D2E /* Pods-ObjCTvOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCTvOS-acknowledgements.markdown"; sourceTree = ""; }; - AD862D8CC6FDBE7AF873BBD44C103489 /* CTUriHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUriHelper.m; path = CleverTapSDK/CTUriHelper.m; sourceTree = ""; }; + A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerControlsViewController.m; sourceTree = ""; }; + AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppNotification.h; sourceTree = ""; }; + AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHeaderViewController.m; sourceTree = ""; }; + AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTEventBuilder.h; path = CleverTapSDK/CTEventBuilder.h; sourceTree = ""; }; AE6F7EB591E639FE72498BF798ACBC33 /* Pods-ObjCStarter-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarter-acknowledgements.markdown"; sourceTree = ""; }; AEEBD51F70E3334C5E426C9E4044817F /* Pods-ObjCStarterTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarterTests.modulemap"; sourceTree = ""; }; - AF494C58C071ED207A181EB7D44D8BB6 /* CleverTapInstanceConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfig.h; path = CleverTapSDK/CleverTapInstanceConfig.h; sourceTree = ""; }; - B0B31B4E8E2A3A32CF576BA255441DA5 /* CleverTapBuildInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapBuildInfo.h; path = CleverTapSDK/CleverTapBuildInfo.h; sourceTree = ""; }; - B245513B6CFF684B16E20B5A8AD3834C /* CleverTap-iOS-SDK-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleverTap-iOS-SDK-iOS-dummy.m"; sourceTree = ""; }; - B348031FEFB1EA79566F0D55DE15B182 /* CTUriHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUriHelper.h; path = CleverTapSDK/CTUriHelper.h; sourceTree = ""; }; + B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocationManager.h; path = CleverTapSDK/CTLocationManager.h; sourceTree = ""; }; B4876E7721DB180A91E5745910167A85 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B4D611C05564FC805FE95EB91A4D924B /* Pods-ObjCStarterUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarterUITests-acknowledgements.markdown"; sourceTree = ""; }; + B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTBaseHeaderFooterViewController.m; sourceTree = ""; }; + B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~ipad.xib"; sourceTree = ""; }; B7B0A7CCD29C486E423A4E853484CFA8 /* Pods-ObjCStarterTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterTests-frameworks.sh"; sourceTree = ""; }; - BA2A4793D7FCFC13CE798ABB45E5D326 /* CTUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUtils.h; path = CleverTapSDK/CTUtils.h; sourceTree = ""; }; - BD4449C0B5C27D2AD66111F894764B75 /* CTLocalDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocalDataStore.h; path = CleverTapSDK/CTLocalDataStore.h; sourceTree = ""; }; - BE5235CD66480A1FF23623B50273F8EE /* CleverTap+SSLPinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap+SSLPinning.h"; path = "CleverTapSDK/CleverTap+SSLPinning.h"; sourceTree = ""; }; - C789D3F7D1871F098BBA2039D49C2863 /* CTProfileBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTProfileBuilder.h; path = CleverTapSDK/CTProfileBuilder.h; sourceTree = ""; }; - C9348135E640B69B3CA9227C26CADDF4 /* CTPinnedNSURLSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPinnedNSURLSessionDelegate.h; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.h; sourceTree = ""; }; - CCCBB314EACC41F011F0265E7D043A34 /* CTInAppNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppNotification.m; path = CleverTapSDK/CTInAppNotification.m; sourceTree = ""; }; - CCDC6232B4591787A62D0E8D6A8EC0E3 /* CTKnownProfileFields.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTKnownProfileFields.m; path = CleverTapSDK/CTKnownProfileFields.m; sourceTree = ""; }; - CD1AF2425B398594084683B46E53C832 /* CTCertificatePinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTCertificatePinning.h; path = CleverTapSDK/CTCertificatePinning.h; sourceTree = ""; }; + C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImage.m; sourceTree = ""; }; + C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@2x.png"; sourceTree = ""; }; + C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-umbrella.h"; sourceTree = ""; }; + C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerControlsViewController.h; sourceTree = ""; }; + C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = ""; }; + C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUriHelper.h; path = CleverTapSDK/CTUriHelper.h; sourceTree = ""; }; + D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverViewController.h; sourceTree = ""; }; + D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTap.m; path = CleverTapSDK/CleverTap.m; sourceTree = ""; }; + D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapUTMDetail.m; path = CleverTapSDK/CleverTapUTMDetail.m; sourceTree = ""; }; + D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@3x.png"; sourceTree = ""; }; + D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTConstants.h; path = CleverTapSDK/CTConstants.h; sourceTree = ""; }; D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarter-dummy.m"; sourceTree = ""; }; - D87C4FEA24B9F4CB8E5D386C7CE6251E /* CTEventBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTEventBuilder.h; path = CleverTapSDK/CTEventBuilder.h; sourceTree = ""; }; + D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~iphoneport.xib"; sourceTree = ""; }; D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarterUITests-dummy.m"; sourceTree = ""; }; - DBD8453DE4991F5994725DF4DDEAE275 /* CleverTap-iOS-SDK-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-umbrella.h"; sourceTree = ""; }; - E0C00A606A2590B73F04B937EAA81178 /* CleverTapInAppNotificationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInAppNotificationDelegate.h; path = CleverTapSDK/CleverTapInAppNotificationDelegate.h; sourceTree = ""; }; + D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerViewController.h; sourceTree = ""; }; + D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertGlobalRootCA.crt; path = CleverTapSDK/DigiCertGlobalRootCA.crt; sourceTree = ""; }; + DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@2x.png"; sourceTree = ""; }; + DDF923125B4C1F46F5818839865535B0 /* CleverTap-iOS-SDK-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CleverTap-iOS-SDK-tvOS.modulemap"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; sourceTree = ""; }; + DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~ipad.xib"; sourceTree = ""; }; + E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppUtils.h; sourceTree = ""; }; + E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~iphoneport.xib"; sourceTree = ""; }; + E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTCertificatePinning.m; path = CleverTapSDK/CTCertificatePinning.m; sourceTree = ""; }; E5E604C1E447C1A011859B32CEAEA968 /* Pods_ObjCStarterTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarterTests.framework; path = "Pods-ObjCStarterTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - E7A3113809CF827418939E59F8810F7F /* CTConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTConstants.h; path = CleverTapSDK/CTConstants.h; sourceTree = ""; }; - E919357EDC1A7A4EA54D9D065038D53E /* CTPlistInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPlistInfo.m; path = CleverTapSDK/CTPlistInfo.m; sourceTree = ""; }; - EE2C815B70A0C03AADDC8DC9E5344C75 /* CleverTapInstanceConfigPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfigPrivate.h; path = CleverTapSDK/CleverTapInstanceConfigPrivate.h; sourceTree = ""; }; - F05E9E3E67196CBCD176D2951D6ED70C /* CleverTap-iOS-SDK-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CleverTap-iOS-SDK-tvOS-dummy.m"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-dummy.m"; sourceTree = ""; }; - F39F164DB168FD4CD6A4908C4B715EB9 /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewControllerPrivate.h; path = CleverTapSDK/CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; - F733563AAC6D9A040A2B545A5C716EB5 /* CTLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocationManager.h; path = CleverTapSDK/CTLocationManager.h; sourceTree = ""; }; + E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverImageViewController.h; sourceTree = ""; }; + EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppResources.m; sourceTree = ""; }; + F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapUTMDetail.h; path = CleverTapSDK/CleverTapUTMDetail.h; sourceTree = ""; }; + F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHeaderViewController.h; sourceTree = ""; }; + F48B6C3B2BE3F48E437D0ECE668BD4B9 /* CleverTap-iOS-SDK-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-prefix.pch"; sourceTree = ""; }; + F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; + F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~ipad.xib"; sourceTree = ""; }; F7A713B39951B16C13623949106C37BD /* Pods-ObjCStarterUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarterUITests.modulemap"; sourceTree = ""; }; + F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPreferences.h; path = CleverTapSDK/CTPreferences.h; sourceTree = ""; }; + F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTSwizzle.m; path = CleverTapSDK/CTSwizzle.m; sourceTree = ""; }; + F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidationResult.h; path = CleverTapSDK/CTValidationResult.h; sourceTree = ""; }; FAA418D7D4BFA30C6EEDB1FA24028A1A /* Pods-ObjCStarterTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterTests-resources.sh"; sourceTree = ""; }; FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarterUITests-umbrella.h"; sourceTree = ""; }; + FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUtils.m; path = CleverTapSDK/CTUtils.m; sourceTree = ""; }; + FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-umbrella.h"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-umbrella.h"; sourceTree = ""; }; + FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@2x.png"; sourceTree = ""; }; FCA06466C846332DA5637FCCC5045009 /* Pods-ObjCStarter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarter.debug.xcconfig"; sourceTree = ""; }; - FEAAD18188F20412C606B38176BF2F07 /* CTLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLogger.h; path = CleverTapSDK/CTLogger.h; sourceTree = ""; }; + FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTProfileBuilder.m; path = CleverTapSDK/CTProfileBuilder.m; sourceTree = ""; }; FEF6550C1E58242F54E9AF428E8D61E2 /* Pods-ObjCStarterUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterUITests-resources.sh"; sourceTree = ""; }; + FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocalDataStore.m; path = CleverTapSDK/CTLocalDataStore.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 51293121EF415CF74E27C448B048DFD9 /* Frameworks */ = { + 2E7F868D17C05D84C8D1A165CE4AF7E3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 11730CA73EC917C5DCA49F9142B88485 /* Foundation.framework in Frameworks */, + C306725BFF8BED527CAF9C5DF347582B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -346,19 +498,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - A437269C5189FD744F5BCAAD8B89817C /* Frameworks */ = { + C1E47EE00513C0D12CF49877522BDDB1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E81B5E49285FCF95FAA10CE5E4F35595 /* Foundation.framework in Frameworks */, + 7074E3768AFE3F4B39D448D71C59B04C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C1E47EE00513C0D12CF49877522BDDB1 /* Frameworks */ = { + C5C6C80D7842A68A68232804A2DC2E05 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7074E3768AFE3F4B39D448D71C59B04C /* Foundation.framework in Frameworks */, + 6FAD4153FDE84DE87E5B6C8E62D3FA42 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -394,41 +546,20 @@ path = "Target Support Files/Pods-ObjCTvOS"; sourceTree = ""; }; - 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */ = { + 1BD44678D11AF14CBBD045756FFE8A19 /* Development Pods */ = { isa = PBXGroup; children = ( - 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */, + BAD8F0AB48270DA9B92E328DEBD04714 /* CleverTap-iOS-SDK */, ); - name = tvOS; - sourceTree = ""; - }; - 2F15650E41E344525BC1ABFAA833A51C /* Resources */ = { - isa = PBXGroup; - children = ( - 3CC67043DED88D351310185E6BCD1857 /* DigiCertGlobalRootCA.crt */, - 4F1F32D5B355D498183AE8B616433193 /* DigiCertSHA2SecureServerCA.crt */, - ); - name = Resources; + name = "Development Pods"; sourceTree = ""; }; - 350193BBB88BA7D01567238C4930B163 /* Support Files */ = { + 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */ = { isa = PBXGroup; children = ( - 3BDBA3C0069913E7D76111DB4FCA8430 /* CleverTap-iOS-SDK-iOS.modulemap */, - 96FA7F8F9A1080D8AA7A4254743B7A1F /* CleverTap-iOS-SDK-iOS.xcconfig */, - B245513B6CFF684B16E20B5A8AD3834C /* CleverTap-iOS-SDK-iOS-dummy.m */, - 2E67239CA03C869B404DFF7F92FA1030 /* CleverTap-iOS-SDK-iOS-prefix.pch */, - DBD8453DE4991F5994725DF4DDEAE275 /* CleverTap-iOS-SDK-iOS-umbrella.h */, - 3ECDE95653ED3EBF521D77E802776046 /* CleverTap-iOS-SDK-tvOS.modulemap */, - 7E503BE6D6E8440104353881FECC1BBC /* CleverTap-iOS-SDK-tvOS.xcconfig */, - F05E9E3E67196CBCD176D2951D6ED70C /* CleverTap-iOS-SDK-tvOS-dummy.m */, - 703D1BA587AF7A9E2C82DDAADC67FB38 /* CleverTap-iOS-SDK-tvOS-prefix.pch */, - 8F6ECD2BE49C4D4CAE10650C788F33CD /* CleverTap-iOS-SDK-tvOS-umbrella.h */, - 56C24BBB26619F58DFB7F0E1841F54F8 /* Info.plist */, - 1AF104A73F5822FB29F9D0ECB5B7458A /* Info.plist */, + 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */, ); - name = "Support Files"; - path = "ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS"; + name = tvOS; sourceTree = ""; }; 427155A2DD9656E37EC6B13D9B6F120C /* Products */ = { @@ -462,6 +593,26 @@ path = "Target Support Files/Pods-ObjCStarter"; sourceTree = ""; }; + 46762F7389D3D561261652C26115BBA2 /* Support Files */ = { + isa = PBXGroup; + children = ( + 3B6B5047C52496A1B683E2A27EE69FCD /* CleverTap-iOS-SDK-iOS.modulemap */, + 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */, + 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */, + F48B6C3B2BE3F48E437D0ECE668BD4B9 /* CleverTap-iOS-SDK-iOS-prefix.pch */, + C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */, + DDF923125B4C1F46F5818839865535B0 /* CleverTap-iOS-SDK-tvOS.modulemap */, + 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */, + 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */, + 6EDDB3B033F0426AC53E132CB2DA1A47 /* CleverTap-iOS-SDK-tvOS-prefix.pch */, + FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */, + 06C6B23629FEB010E6E1B2FDFC9A5333 /* Info.plist */, + 6A9E17B9ED07F3A911220AB4D46D7AFD /* Info.plist */, + ); + name = "Support Files"; + path = "ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS"; + sourceTree = ""; + }; 58996781A54EE964D7111D73083A18A5 /* iOS */ = { isa = PBXGroup; children = ( @@ -470,11 +621,29 @@ name = iOS; sourceTree = ""; }; + 71988A4A85FC81345997FBC4248FE8D5 /* Pod */ = { + isa = PBXGroup; + children = ( + 598FAA7A4F1B02A71EE29BB236466738 /* CleverTap-iOS-SDK.podspec */, + ); + name = Pod; + sourceTree = ""; + }; + 71E2DB94E533CBA08076D78794250741 /* Resources */ = { + isa = PBXGroup; + children = ( + D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */, + 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */, + 9E110D60176BBBACC5957E12EFB2D8C7 /* InApps */, + ); + name = Resources; + sourceTree = ""; + }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - DD0D0ED2401A36E380CBE4CB13F22407 /* Development Pods */, + 1BD44678D11AF14CBBD045756FFE8A19 /* Development Pods */, A42F72DC1D780481325DD00969B19BB6 /* Frameworks */, 427155A2DD9656E37EC6B13D9B6F120C /* Products */, 0F1AAA91B6F7DA0268497F3F77589AA5 /* Targets Support Files */, @@ -499,229 +668,317 @@ path = "Target Support Files/Pods-ObjCStarterTests"; sourceTree = ""; }; - A42F72DC1D780481325DD00969B19BB6 /* Frameworks */ = { + 96B24F90C5FB291310707C98236D61FD /* InApps */ = { isa = PBXGroup; children = ( - 58996781A54EE964D7111D73083A18A5 /* iOS */, - 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */, + 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */, + 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */, + C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */, + A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */, + D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */, + 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */, + 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */, + B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */, + 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */, + EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */, + 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */, + D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */, + 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */, + 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */, + 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */, + A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */, + 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */, + 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */, + 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */, + 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */, + 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */, + F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */, + AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */, + 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */, + 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */, + 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */, + 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */, + 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */, + F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */, + 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */, + AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */, + 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */, + 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */, + EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */, + E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */, + 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */, + 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */, + 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */, + 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */, + 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */, + 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */, + 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */, + 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */, + 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */, + 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */, + C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */, + C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */, + 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */, ); - name = Frameworks; + name = InApps; + path = CleverTapSDK/InApps; sourceTree = ""; }; - CE3F1ED9F110CF0EFDA291EA611CB544 /* Pods-ObjCStarterUITests */ = { + 9E110D60176BBBACC5957E12EFB2D8C7 /* InApps */ = { isa = PBXGroup; children = ( - 5262C19475FE48FAF9C88EF1DAFC0C99 /* Info.plist */, - F7A713B39951B16C13623949106C37BD /* Pods-ObjCStarterUITests.modulemap */, - B4D611C05564FC805FE95EB91A4D924B /* Pods-ObjCStarterUITests-acknowledgements.markdown */, - 436B10A9D4D322EF761627E582AD0E6B /* Pods-ObjCStarterUITests-acknowledgements.plist */, - D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */, - 37319506AA308073114C9BBC07E4AC62 /* Pods-ObjCStarterUITests-frameworks.sh */, - FEF6550C1E58242F54E9AF428E8D61E2 /* Pods-ObjCStarterUITests-resources.sh */, - FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */, - 957B8D09156900E78EF3EB06F4017FF6 /* Pods-ObjCStarterUITests.debug.xcconfig */, - 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */, + 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */, + 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */, + E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */, + F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */, + 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */, + 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */, + D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */, + 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */, + 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */, + 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */, + 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */, + DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */, + A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */, + E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */, + 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */, + B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */, + D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */, + BEBFAF788C069D0270C36D0692A45F72 /* images */, ); - name = "Pods-ObjCStarterUITests"; - path = "Target Support Files/Pods-ObjCStarterUITests"; + name = InApps; + path = CleverTapSDK/InApps; + sourceTree = ""; + }; + A42F72DC1D780481325DD00969B19BB6 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 58996781A54EE964D7111D73083A18A5 /* iOS */, + 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */, + ); + name = Frameworks; sourceTree = ""; }; - DC6F8AE5AAB8C7BCF7656FF27F22D28F /* CleverTap-iOS-SDK */ = { + BAD8F0AB48270DA9B92E328DEBD04714 /* CleverTap-iOS-SDK */ = { isa = PBXGroup; children = ( - 4CCE23D23ACB76F6510C05C54F533854 /* CleverTap.h */, - 07981E535135904FDBD4AB0287274566 /* CleverTap.m */, - BE5235CD66480A1FF23623B50273F8EE /* CleverTap+SSLPinning.h */, - B0B31B4E8E2A3A32CF576BA255441DA5 /* CleverTapBuildInfo.h */, - 9A8FD5E5181EA2EE244121730F9C7666 /* CleverTapEventDetail.h */, - 963EBF5C91F6EA2D7528D028B1CE29B7 /* CleverTapEventDetail.m */, - E0C00A606A2590B73F04B937EAA81178 /* CleverTapInAppNotificationDelegate.h */, - AF494C58C071ED207A181EB7D44D8BB6 /* CleverTapInstanceConfig.h */, - 38D4AFCC18E575326EC924033BE82276 /* CleverTapInstanceConfig.m */, - EE2C815B70A0C03AADDC8DC9E5344C75 /* CleverTapInstanceConfigPrivate.h */, - 2716FFA5E99ADF21128485D375BFF395 /* CleverTapSyncDelegate.h */, - 63BDF9283E9E8FA5C9EAE05B850C6710 /* CleverTapTrackedViewController.h */, - 646D615B9BC65FECDB0A825610E53740 /* CleverTapTrackedViewController.m */, - 9A930523BB28D25AB16BACE947B1979C /* CleverTapUTMDetail.h */, - 59462084C7E04F4769F8574724A12D55 /* CleverTapUTMDetail.m */, - CD1AF2425B398594084683B46E53C832 /* CTCertificatePinning.h */, - 6E52EF509E795DD83F6904925E7F9C24 /* CTCertificatePinning.m */, - E7A3113809CF827418939E59F8810F7F /* CTConstants.h */, - 4C0ED5A580CAEA63A56F9146BBA72617 /* CTConstants.m */, - 4D8AA26A1735494E601DC80F56B9412F /* CTDeviceInfo.h */, - 729B0E94993BF08B95873A5A54DB2554 /* CTDeviceInfo.m */, - 639325DB8803A3AEE14E2D7F805B96A1 /* CTDismissButton.h */, - 15070C4566FBE45EFBDB5451C038B7C8 /* CTDismissButton.m */, - D87C4FEA24B9F4CB8E5D386C7CE6251E /* CTEventBuilder.h */, - 8F569C3501AF97E8E65D4966A315D7B1 /* CTEventBuilder.m */, - A5EACC1686FBE138806D4FF34D0FD8E0 /* CTInAppDisplayViewController.h */, - 2617A3A815A6114348D59341F0247FD5 /* CTInAppDisplayViewController.m */, - F39F164DB168FD4CD6A4908C4B715EB9 /* CTInAppDisplayViewControllerPrivate.h */, - 9BF3DA18F0CECB3E18ED486A49CAFDEB /* CTInAppFCManager.h */, - 091B30FA1A8C64AE90397D1CA497738C /* CTInAppFCManager.m */, - 0DC97F613A2F9B31344CD6AFE8F5A93E /* CTInAppHTMLViewController.h */, - 272EBAFE1BA6DCF628A53EFD5BB9DC11 /* CTInAppHTMLViewController.m */, - 97ACCF6EED3EE851EEFF4C291CB3AF24 /* CTInAppNotification.h */, - CCCBB314EACC41F011F0265E7D043A34 /* CTInAppNotification.m */, - A4C8FA6B0477CB80281C2AE55279768F /* CTInAppUtils.h */, - 850DBA2917DC5D9056276B4AA92DE843 /* CTInAppUtils.m */, - 078CBD2F2B7E20498F5A1EE7977A9813 /* CTKnownProfileFields.h */, - CCDC6232B4591787A62D0E8D6A8EC0E3 /* CTKnownProfileFields.m */, - BD4449C0B5C27D2AD66111F894764B75 /* CTLocalDataStore.h */, - 08EA26EAADB3F8FCE62B4707A4B67727 /* CTLocalDataStore.m */, - F733563AAC6D9A040A2B545A5C716EB5 /* CTLocationManager.h */, - 47631EE9479492A3346E591EA49F3F13 /* CTLocationManager.m */, - FEAAD18188F20412C606B38176BF2F07 /* CTLogger.h */, - 6CE4722E30C333E5A8FADDE1D3FAAC9D /* CTLogger.m */, - C9348135E640B69B3CA9227C26CADDF4 /* CTPinnedNSURLSessionDelegate.h */, - 69D749DD39B3D16B2013F75853347406 /* CTPinnedNSURLSessionDelegate.m */, - 095E9ACB3D337FC5CB51FA124FA9ADB1 /* CTPlistInfo.h */, - E919357EDC1A7A4EA54D9D065038D53E /* CTPlistInfo.m */, - 51794A3A22CE711794B5CDA5C08D1565 /* CTPreferences.h */, - 501D22ACF66B2A82BE966C199198CAE6 /* CTPreferences.m */, - C789D3F7D1871F098BBA2039D49C2863 /* CTProfileBuilder.h */, - 77590200341E346BF3FC105D215BDDF7 /* CTProfileBuilder.m */, - 97930524EE3D19339865725DE83F96CE /* CTSwizzle.h */, - 0C01A16579ABF46C33AE6ED1A2F7394B /* CTSwizzle.m */, - B348031FEFB1EA79566F0D55DE15B182 /* CTUriHelper.h */, - AD862D8CC6FDBE7AF873BBD44C103489 /* CTUriHelper.m */, - BA2A4793D7FCFC13CE798ABB45E5D326 /* CTUtils.h */, - 1661589AB26E97676CB37F8C7CF394D4 /* CTUtils.m */, - 0D3EAE1F8B2726519BC21CDDD48B65A9 /* CTValidationResult.h */, - 395F098F17AAB478E5B337467CB3B067 /* CTValidationResult.m */, - 8EDC42319924402E70B4EB184DE336A1 /* CTValidator.h */, - 2D030191BC682E7E802973AC81F31E2E /* CTValidator.m */, - E16F098E7D0F7D161385AA2C9539A522 /* Pod */, - 2F15650E41E344525BC1ABFAA833A51C /* Resources */, - 350193BBB88BA7D01567238C4930B163 /* Support Files */, + 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */, + D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */, + 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */, + 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */, + 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */, + 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */, + 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */, + 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */, + 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */, + 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */, + 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */, + 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */, + 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */, + F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */, + D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */, + 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */, + E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */, + D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */, + 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */, + 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */, + 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */, + AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */, + 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */, + 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */, + 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */, + 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */, + FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */, + B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */, + 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */, + 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */, + 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */, + 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */, + 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */, + 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */, + 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */, + F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */, + 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */, + 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */, + FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */, + 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */, + F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */, + C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */, + 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */, + 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */, + FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */, + F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */, + 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */, + 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */, + 70114A48B02FC38645527338305A6880 /* CTValidator.m */, + 96B24F90C5FB291310707C98236D61FD /* InApps */, + 71988A4A85FC81345997FBC4248FE8D5 /* Pod */, + 71E2DB94E533CBA08076D78794250741 /* Resources */, + 46762F7389D3D561261652C26115BBA2 /* Support Files */, ); name = "CleverTap-iOS-SDK"; path = ../..; sourceTree = ""; }; - DD0D0ED2401A36E380CBE4CB13F22407 /* Development Pods */ = { + BEBFAF788C069D0270C36D0692A45F72 /* images */ = { isa = PBXGroup; children = ( - DC6F8AE5AAB8C7BCF7656FF27F22D28F /* CleverTap-iOS-SDK */, + 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */, + C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */, + 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */, + 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */, + FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */, + 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */, + 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */, + DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */, + 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */, + 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */, + 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */, + D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */, + 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */, + A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */, ); - name = "Development Pods"; + name = images; + path = images; sourceTree = ""; }; - E16F098E7D0F7D161385AA2C9539A522 /* Pod */ = { + CE3F1ED9F110CF0EFDA291EA611CB544 /* Pods-ObjCStarterUITests */ = { isa = PBXGroup; children = ( - 4233F49AA0AF6CC595606FBD1FC6DB06 /* CleverTap-iOS-SDK.podspec */, + 5262C19475FE48FAF9C88EF1DAFC0C99 /* Info.plist */, + F7A713B39951B16C13623949106C37BD /* Pods-ObjCStarterUITests.modulemap */, + B4D611C05564FC805FE95EB91A4D924B /* Pods-ObjCStarterUITests-acknowledgements.markdown */, + 436B10A9D4D322EF761627E582AD0E6B /* Pods-ObjCStarterUITests-acknowledgements.plist */, + D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */, + 37319506AA308073114C9BBC07E4AC62 /* Pods-ObjCStarterUITests-frameworks.sh */, + FEF6550C1E58242F54E9AF428E8D61E2 /* Pods-ObjCStarterUITests-resources.sh */, + FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */, + 957B8D09156900E78EF3EB06F4017FF6 /* Pods-ObjCStarterUITests.debug.xcconfig */, + 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */, ); - name = Pod; + name = "Pods-ObjCStarterUITests"; + path = "Target Support Files/Pods-ObjCStarterUITests"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 0C1E5A0259EC3CC0EF19D39E43C97D54 /* Headers */ = { + 4472706D2FE1439F22F09C9318182182 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9AF984C39769055CF477E56B67CE6F3D /* CleverTap+SSLPinning.h in Headers */, - DEA0BC2CA6B31739E6346000E4A5EE2F /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */, - 70E21D58C2FD474861F51635C2C8F760 /* CleverTap.h in Headers */, - 7868CD7E08A201DA0B731CFBD5CB2EAD /* CleverTapBuildInfo.h in Headers */, - 46BD5EA9F4D80202D4FE29FE5C870DF9 /* CleverTapEventDetail.h in Headers */, - 48AF0926B4AEB7E1DB05D7E0AF3AAD81 /* CleverTapInAppNotificationDelegate.h in Headers */, - 3790216AC027F4716A9FFE0C2730CA67 /* CleverTapInstanceConfig.h in Headers */, - 3D4E4F59C2C83F7E8A338FDCBE09E03B /* CleverTapInstanceConfigPrivate.h in Headers */, - 38FE9700A306CB6CEBA7247140520531 /* CleverTapSyncDelegate.h in Headers */, - C2DD0D2D1A7A0090F3848CA0AF7532BC /* CleverTapTrackedViewController.h in Headers */, - E6EF5524ABEA0DAE7EFDC2F8234055D9 /* CleverTapUTMDetail.h in Headers */, - 4BE674AE0E1C84B33FD2CAC1F24684C8 /* CTCertificatePinning.h in Headers */, - D65D7AF25F72583C0C1B18B0E2D3E02D /* CTConstants.h in Headers */, - 3F0F18CA203B33DB111264ED383724E6 /* CTDeviceInfo.h in Headers */, - 4354F76EC42B1C1719384424142B2767 /* CTDismissButton.h in Headers */, - 672D5CEDA1404791A857BB86DAFC58F3 /* CTEventBuilder.h in Headers */, - 9DDA97748F5D7E1796FD898A48DB4202 /* CTInAppDisplayViewController.h in Headers */, - AF8932C6601E8DBAF35EFB685E28243D /* CTInAppDisplayViewControllerPrivate.h in Headers */, - 742891B84E27B040A169D3CCAB2F70DB /* CTInAppFCManager.h in Headers */, - 60961E47C8D896106515607D3CCE939A /* CTInAppHTMLViewController.h in Headers */, - 2DA6C4F740D35103261716D3A05A6B6F /* CTInAppNotification.h in Headers */, - 2BD035C6BF0FD3D9B92162E1A43D6734 /* CTInAppUtils.h in Headers */, - 5F1C56ABD7F1F0A3A8681E90F5C947EE /* CTKnownProfileFields.h in Headers */, - 2C57356E3B3DB1BB090B054761D2D4C4 /* CTLocalDataStore.h in Headers */, - 489F9079B8885ECA90F106256BFD8E9B /* CTLocationManager.h in Headers */, - 721F77826B1AF9D3B6EF240FBD7CEA42 /* CTLogger.h in Headers */, - 82835564E69306D37EA65AE7C378DE5B /* CTPinnedNSURLSessionDelegate.h in Headers */, - 3E109618B0EB8883A2B21E56BABF8839 /* CTPlistInfo.h in Headers */, - F26647D4579A405AC66D2A49594E1133 /* CTPreferences.h in Headers */, - F7ED2D3062D30A0E7734F58C8B095FD3 /* CTProfileBuilder.h in Headers */, - E8BB545C670496AE3814F7FF5FE0E503 /* CTSwizzle.h in Headers */, - F8337270356E255A3C6D68AC9F06A71F /* CTUriHelper.h in Headers */, - 73B29E7AFDD8D51D5E7722C4E5D57D37 /* CTUtils.h in Headers */, - CB3684C159C0A0CCEC65A4B04F94B28B /* CTValidationResult.h in Headers */, - 40525BB0C277D41762F6ED6C6D828B5A /* CTValidator.h in Headers */, + 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2DC33F3B31A7974B67F065DA912C984E /* Headers */ = { + 61EEA06C2850FA80316652ADF8CF90FB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9CB167E08A2BAA0F105406124CFFA10F /* CleverTap+SSLPinning.h in Headers */, - 63763D8589CF9FDDC3ADCCD304E7F8BF /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, - 5F7DBE42ED3A162863119CD19EC12F7A /* CleverTap.h in Headers */, - 7ACD4F6C240300D11C5A5B7DDF5D8964 /* CleverTapBuildInfo.h in Headers */, - 864064965309DDE054274B55B7B886E4 /* CleverTapEventDetail.h in Headers */, - BC44FE9E02EB079A29FECB7D15661D6E /* CleverTapInAppNotificationDelegate.h in Headers */, - C80D01D1855BF1CBA2C856030EACC7BE /* CleverTapInstanceConfig.h in Headers */, - D20383BFA93D8AB3D92D0B1B3FBA10E1 /* CleverTapInstanceConfigPrivate.h in Headers */, - 74431C6D4245EBFB50CFDCF3F520E2FE /* CleverTapSyncDelegate.h in Headers */, - 8976FE804BD35F0D60E272B5C250B5F2 /* CleverTapTrackedViewController.h in Headers */, - E1AFF55DF28EAF5BB4365AF9F7521282 /* CleverTapUTMDetail.h in Headers */, - DF3C90F565FF070DCDBD55DCF1B9B529 /* CTCertificatePinning.h in Headers */, - 78B8928B9DEB21EFB68B906ECE08EFC3 /* CTConstants.h in Headers */, - E0EAFEB825D62C995901F2462C0DE195 /* CTDeviceInfo.h in Headers */, - 9BF1D11BBB38DC9FF670ECDF326C6AB0 /* CTDismissButton.h in Headers */, - FFF0BCDD25873F159C31C5F94343DDC2 /* CTEventBuilder.h in Headers */, - C62F8CFC1C60213122A4E4CAC96630A5 /* CTInAppDisplayViewController.h in Headers */, - 2E5B80DD430804FA9EC4BF5F37702990 /* CTInAppDisplayViewControllerPrivate.h in Headers */, - 6034E4F7C276ECB8990EDA775E56912B /* CTInAppFCManager.h in Headers */, - E75D21C500F3A506E596AAA38679EAC2 /* CTInAppNotification.h in Headers */, - A880AA02ECDE61BEC6BBB19E971A7250 /* CTInAppUtils.h in Headers */, - C5F299639FE7B58177C0FD02BA840958 /* CTKnownProfileFields.h in Headers */, - C0013202297A81BD7C384B235C161EDA /* CTLocalDataStore.h in Headers */, - 55D7F67BAFDC21C446ECC0F52F1C197C /* CTLocationManager.h in Headers */, - 136F8447F2DA3665E1104AD3A1545DC0 /* CTLogger.h in Headers */, - 598388878066C29540DF97FD55B557A0 /* CTPinnedNSURLSessionDelegate.h in Headers */, - 6EFC05A0EB224C433384A41D3877A695 /* CTPlistInfo.h in Headers */, - 77A82ED0386C98E7DA288345D1365BD6 /* CTPreferences.h in Headers */, - 10776E4668476D85EE0060FCAD7CD07D /* CTProfileBuilder.h in Headers */, - 937836A335C329531FC3665DFBB005BD /* CTSwizzle.h in Headers */, - 010B1E0E4BD95B6AE78E4F8986B091C9 /* CTUriHelper.h in Headers */, - E3CB89B99BB1BDB2038B330002FBCEEC /* CTUtils.h in Headers */, - 03B0DC0E9E5B257E0660555CF4D70960 /* CTValidationResult.h in Headers */, - 7F56BDC2777F150AFD63ACF4060F586D /* CTValidator.h in Headers */, + 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4472706D2FE1439F22F09C9318182182 /* Headers */ = { + A92F5E90E67698351F9287ECB5142E27 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */, + DA00042A10F1EB9C33232C3315B417B5 /* CleverTap+SSLPinning.h in Headers */, + 2CD739391541A6B5205AE4FA4FE350A1 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */, + 0F1957439D0C7E81FE733EA1CA24470D /* CleverTap.h in Headers */, + BEEB76E7AD6616232AC5F46FD6479AEE /* CleverTapBuildInfo.h in Headers */, + 663262D23664153BFE2A64953B3CD130 /* CleverTapEventDetail.h in Headers */, + 0F683B319FE0D31D8E43C695B733A9A4 /* CleverTapInAppNotificationDelegate.h in Headers */, + 39A8EE58B7DDAD1357513944100BB739 /* CleverTapInstanceConfig.h in Headers */, + 856D5D314027F88768C2AAE01740947F /* CleverTapInstanceConfigPrivate.h in Headers */, + 870A576ACD83CC73688F9AC02751C347 /* CleverTapSyncDelegate.h in Headers */, + 8C6D4960E85565834F42DB719DD585D3 /* CleverTapTrackedViewController.h in Headers */, + BBE377769897DAE252463E9FBF29BC8E /* CleverTapUTMDetail.h in Headers */, + A1AC80DFF97A18EFC87C0E67ECA7B944 /* CTAlertViewController.h in Headers */, + FF26334930DE2FF64FF65BE7507461F8 /* CTAVPlayerControlsViewController.h in Headers */, + 546A9573DEAA58B19D6252812774A895 /* CTAVPlayerViewController.h in Headers */, + 7635C22035BD2B0DFCB154430D0A76CE /* CTBaseHeaderFooterViewController.h in Headers */, + 5C59E25AA1ECE8BF2A47C09632E202F6 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, + 0EFD2FC62CC9FC59F25017A20AB9772E /* CTCertificatePinning.h in Headers */, + ECDF4F985FEDBEBC7DD8757B823BF916 /* CTConstants.h in Headers */, + 81C4AC9BE8F1741303C22441D3116545 /* CTCoverImageViewController.h in Headers */, + B268E0BF9174B119D71E484E41AA519C /* CTCoverViewController.h in Headers */, + A14F604A921185A675BBC85B2139B273 /* CTDeviceInfo.h in Headers */, + 7D17352914F00B9417ACB567F4D9110E /* CTDismissButton.h in Headers */, + 8A0FBEDCDB76528FBE29222920844010 /* CTEventBuilder.h in Headers */, + E6C1132C28F8B581F6278B59A1D079DC /* CTFooterViewController.h in Headers */, + B2D2A518D268967D4ACD2D16EDFC23BC /* CTHalfInterstitialImageViewController.h in Headers */, + 4C9EB56499904BA40EDDA5574F98D1D9 /* CTHalfInterstitialViewController.h in Headers */, + 2C9211251AD9DDB3CBCF117BF3D66FC3 /* CTHeaderViewController.h in Headers */, + 177417798266A2D7D1F0EA024AFBB92C /* CTInAppDisplayViewController.h in Headers */, + 842C1C426896B936C99F3A79DDE545D0 /* CTInAppDisplayViewControllerPrivate.h in Headers */, + 43A9543ACD32554E6F8D5B5A612EE8F5 /* CTInAppFCManager.h in Headers */, + 757EB3FFF9F5E9238399F12F896D5172 /* CTInAppHTMLViewController.h in Headers */, + FE71F21E2945C46AA5EBE4CDDE0258BD /* CTInAppNotification.h in Headers */, + BCAC98495106018E13D762372E82EEAB /* CTInAppResources.h in Headers */, + DF5B31EC219D8D651FC23AB015C55F39 /* CTInAppUtils.h in Headers */, + 24E24D5CC249092B8B7A33EC6B128BFC /* CTInterstitialImageViewController.h in Headers */, + E3E66B8ADE74B5EAFE3F6F4CFE1F88D8 /* CTInterstitialViewController.h in Headers */, + 08A8EBD2E4DB093B5A1C678E828835E0 /* CTKnownProfileFields.h in Headers */, + 287A7BFAD149A21748619807F70D78C0 /* CTLocalDataStore.h in Headers */, + 8098F482CD23D384A5FBAA138C294BDB /* CTLocationManager.h in Headers */, + C4A92AB8E1A10C59FBE195F9BE016AC9 /* CTLogger.h in Headers */, + 849BC442882869C3C626A97F091435A9 /* CTNotificationButton.h in Headers */, + 32E33D82C0C2975425197B55D5C3F681 /* CTPinnedNSURLSessionDelegate.h in Headers */, + 70709EC01475258D0E89A57320198A38 /* CTPlistInfo.h in Headers */, + F96E6D0F11E843E88903F76CA8A88495 /* CTPreferences.h in Headers */, + FBAE2E07C31DC1927DEFA61492DBD3F1 /* CTProfileBuilder.h in Headers */, + EBBF514BDE35666F71886F457A2C63C6 /* CTSlider.h in Headers */, + 244C838C5215BAEAF94C7958254D2F56 /* CTSwizzle.h in Headers */, + B0144EF9445C9683803A68219468D4F8 /* CTUriHelper.h in Headers */, + F915C5652C5C8B41FD7C5B8C20490ED9 /* CTUtils.h in Headers */, + 2EA6D83630A286F347D1BDE52EE4763C /* CTValidationResult.h in Headers */, + 5A666F889CF4300B714C4BD539E1CDE2 /* CTValidator.h in Headers */, + 47E86794ACD81096687138817E918651 /* FLAnimatedImage.h in Headers */, + B255D961E85FBF23C509E5EA0F32448B /* FLAnimatedImageView.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 61EEA06C2850FA80316652ADF8CF90FB /* Headers */ = { + C25F57952A30FBEBCDC586FCD01D3076 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */, + F37D2341EA17628C9C530215C07F87C9 /* Pods-ObjCStarterTests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C25F57952A30FBEBCDC586FCD01D3076 /* Headers */ = { + D5B3196F5AC9347B38489257E0490FD9 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F37D2341EA17628C9C530215C07F87C9 /* Pods-ObjCStarterTests-umbrella.h in Headers */, + 5B6BDE509F05FCF9E92001B460735B3C /* CleverTap+SSLPinning.h in Headers */, + 61E89D87584B52582E0F16CB02DCE0DA /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, + 7AB0D47FB6FDF51F27F59C230DAC980E /* CleverTap.h in Headers */, + 1167AD752AA3B713E5F2E569E4C18CF5 /* CleverTapBuildInfo.h in Headers */, + AF6F272BB9C3452D1E6DA88E7D74D973 /* CleverTapEventDetail.h in Headers */, + E323284CCDBF805460C2E6021539F362 /* CleverTapInAppNotificationDelegate.h in Headers */, + D24B3C6EAEC406E6626974E3260D64F4 /* CleverTapInstanceConfig.h in Headers */, + D8E504E9E667DA1B87449B546F040BFF /* CleverTapInstanceConfigPrivate.h in Headers */, + 7F5CE69D8DA0E57CCF3715D29EE4D77D /* CleverTapSyncDelegate.h in Headers */, + 452AF49B7A28EDB30804170C1E382442 /* CleverTapTrackedViewController.h in Headers */, + 2BC84CBA7E21A4B138B798661593EF1C /* CleverTapUTMDetail.h in Headers */, + EC35C538C4BC451E3FF2034ED60E50F5 /* CTCertificatePinning.h in Headers */, + E630ADE1C75F4DC324CA5076E64D2D0D /* CTConstants.h in Headers */, + DF6F342EFBC5F4FB66101470669BFE07 /* CTDeviceInfo.h in Headers */, + ECB2179C8BB4A3B5F8DF1248107221E8 /* CTEventBuilder.h in Headers */, + A4E35E30D5220024D1DEB5C2D73E8475 /* CTKnownProfileFields.h in Headers */, + 3BB529C537130872877C744C0D4E4E05 /* CTLocalDataStore.h in Headers */, + D045C67E7FDEA74865914A1D1A19C0C9 /* CTLocationManager.h in Headers */, + A311DFD07C29F2CA7A6CFA36A7FC322C /* CTLogger.h in Headers */, + EBB4EC5B6D609E819532830E11D02F21 /* CTPinnedNSURLSessionDelegate.h in Headers */, + ECCBEF6E11E0141A4302E1A388AC76E9 /* CTPlistInfo.h in Headers */, + E60DAB175945FF4E2E573F947565634B /* CTPreferences.h in Headers */, + 06951585B474A4D799EA459FCC3928F8 /* CTProfileBuilder.h in Headers */, + E86618C1E01C7275D9B5DC32B42EF0AF /* CTSwizzle.h in Headers */, + 4C4223F4AE83DC6745D175966DD7EDA0 /* CTUriHelper.h in Headers */, + 6686716872EBC1F3C8DF27FC9DC6319F /* CTUtils.h in Headers */, + 3BB4C063D0E3CE6E24C5EF52DC9F8343 /* CTValidationResult.h in Headers */, + 079E4A00FBA50CE6A103A2D235618430 /* CTValidator.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -772,14 +1029,14 @@ productReference = 5728456F8BE0DEEB64054DB1C14E9B98 /* Pods_ObjCTvOS.framework */; productType = "com.apple.product-type.framework"; }; - 84710807FC10B8B2673796CA61608A06 /* CleverTap-iOS-SDK-tvOS */ = { + 55F108B5206399DCEDBC008F6E8A790D /* CleverTap-iOS-SDK-tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 76613A7A3C3BE3B35ECA55292AC29F3E /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; + buildConfigurationList = DF49165BBA59DCB1B8B59C4D2C0F7FF9 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; buildPhases = ( - 8C7CD79CBE7D5BF7EF43DAA91A27F5E3 /* Sources */, - A437269C5189FD744F5BCAAD8B89817C /* Frameworks */, - 2DC33F3B31A7974B67F065DA912C984E /* Headers */, - 4C15BA167D75DF011F3D4E6C7C677666 /* Resources */, + 8E5F18EC089C8E603989C0FF45AEB2BE /* Sources */, + C5C6C80D7842A68A68232804A2DC2E05 /* Frameworks */, + D5B3196F5AC9347B38489257E0490FD9 /* Headers */, + 41DC2B8D928F209D02257784A6BDE37C /* Resources */, ); buildRules = ( ); @@ -790,40 +1047,40 @@ productReference = 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */; productType = "com.apple.product-type.framework"; }; - C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */ = { + 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = BD292037101A248D8AA3572F408CCA75 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterUITests" */; + buildConfigurationList = F7968B2F653E5140F25B9FD5FBEAA97D /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */; buildPhases = ( - E0342056A85254FF13F9825228A4D7A5 /* Sources */, - 91255518CD17795FA38A551F8701B924 /* Frameworks */, - 4472706D2FE1439F22F09C9318182182 /* Headers */, + F05B46CA4737786156EE4CD333064FA2 /* Sources */, + 2E7F868D17C05D84C8D1A165CE4AF7E3 /* Frameworks */, + A92F5E90E67698351F9287ECB5142E27 /* Headers */, + E058B489A0AB0DA25CFAC66D1455B975 /* Resources */, ); buildRules = ( ); dependencies = ( - B738104469A8567A88F1E362D8C13A73 /* PBXTargetDependency */, ); - name = "Pods-ObjCStarterUITests"; - productName = "Pods-ObjCStarterUITests"; - productReference = A82DF58913D09EA39E314E1A24E023BE /* Pods_ObjCStarterUITests.framework */; + name = "CleverTap-iOS-SDK-iOS"; + productName = "CleverTap-iOS-SDK-iOS"; + productReference = 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */; productType = "com.apple.product-type.framework"; }; - D101C7BCB05F1A764AD0A07B90ADAE07 /* CleverTap-iOS-SDK-iOS */ = { + C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 2366BD3B02476A1D7EADEE5F11F130F4 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */; + buildConfigurationList = BD292037101A248D8AA3572F408CCA75 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterUITests" */; buildPhases = ( - 5C7E67EC81B0E2B1366F9CEF9E66A930 /* Sources */, - 51293121EF415CF74E27C448B048DFD9 /* Frameworks */, - 0C1E5A0259EC3CC0EF19D39E43C97D54 /* Headers */, - 37A1B4D1ED1238150909C608DE09F2C1 /* Resources */, + E0342056A85254FF13F9825228A4D7A5 /* Sources */, + 91255518CD17795FA38A551F8701B924 /* Frameworks */, + 4472706D2FE1439F22F09C9318182182 /* Headers */, ); buildRules = ( ); dependencies = ( + B738104469A8567A88F1E362D8C13A73 /* PBXTargetDependency */, ); - name = "CleverTap-iOS-SDK-iOS"; - productName = "CleverTap-iOS-SDK-iOS"; - productReference = 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */; + name = "Pods-ObjCStarterUITests"; + productName = "Pods-ObjCStarterUITests"; + productReference = A82DF58913D09EA39E314E1A24E023BE /* Pods_ObjCStarterUITests.framework */; productType = "com.apple.product-type.framework"; }; D560E156203438D400C14AEA571513BC /* Pods-ObjCStarterTests */ = { @@ -865,8 +1122,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - D101C7BCB05F1A764AD0A07B90ADAE07 /* CleverTap-iOS-SDK-iOS */, - 84710807FC10B8B2673796CA61608A06 /* CleverTap-iOS-SDK-tvOS */, + 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */, + 55F108B5206399DCEDBC008F6E8A790D /* CleverTap-iOS-SDK-tvOS */, 15A2154784E1253CC3BE0FD49723562E /* Pods-ObjCStarter */, D560E156203438D400C14AEA571513BC /* Pods-ObjCStarterTests */, C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */, @@ -876,21 +1133,83 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 37A1B4D1ED1238150909C608DE09F2C1 /* Resources */ = { + 41DC2B8D928F209D02257784A6BDE37C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - B6363BF6B2B36A87AE50CF0A9D8C0344 /* DigiCertGlobalRootCA.crt in Resources */, - 2BF072A3C89F91C915FDF605F0F776CA /* DigiCertSHA2SecureServerCA.crt in Resources */, + 569EFE711972F4239594C5B978F67167 /* CTAVPlayerControlsViewController.xib in Resources */, + EA346207C73F8B998D6714F4D9D68AC8 /* CTCoverImageViewController~ipad.xib in Resources */, + 56604A36D20E8285C1826FB2131EE213 /* CTCoverImageViewController~iphoneport.xib in Resources */, + 76A6CCF4014D5CD9734F9CF3E6C04CAE /* CTCoverViewController~ipad.xib in Resources */, + C7D85301BCFB74DF253F8BF0548803A0 /* CTCoverViewController~iphoneport.xib in Resources */, + FDDA2E7B2A2959535E06050C276349FE /* CTFooterViewController~ipad.xib in Resources */, + AEAA8B96562F9AF5B63351773E158E16 /* CTFooterViewController~iphoneport.xib in Resources */, + 823944C5AF60C480B11782810EB2E4D7 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */, + D8A929D54AAEDC194215E975FA52D9BB /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */, + 8D1D1A8CE3FE192C9703159DD5F08FE1 /* CTHalfInterstitialViewController~ipad.xib in Resources */, + 3C19DE93CE1062EA5649F9E4AF1303C5 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */, + E2EC90E1DE8A28149F170285B4C14CED /* CTHeaderViewController~ipad.xib in Resources */, + BCAC28A2D8E8844641C29DA71EB60B52 /* CTHeaderViewController~iphoneport.xib in Resources */, + F2BE9CDDAA9B66CCB168DF5D6E3C6021 /* CTInterstitialImageViewController~ipad.xib in Resources */, + 67A429736A1F3932A14B6E992277EC88 /* CTInterstitialImageViewController~iphoneport.xib in Resources */, + 5CAAAA2E6CFDA83B434F8A4A75137EEC /* CTInterstitialViewController~ipad.xib in Resources */, + 7322C5BDD6A4AD039B40BA7D83946AD3 /* CTInterstitialViewController~iphoneport.xib in Resources */, + 190C6D848E69EF56AF378FEE9C89B21E /* DigiCertGlobalRootCA.crt in Resources */, + 002D6F77C1CC073E9B692B6EDAC4B6CA /* DigiCertSHA2SecureServerCA.crt in Resources */, + D7AA48A5AF31BBBB7DBF86819D3CBFB1 /* ic_expand@1x.png in Resources */, + 22BC87BD293CB8731CC192F83C4C9635 /* ic_expand@2x.png in Resources */, + 06AEC29D21463BDA1255273E01B8731C /* ic_expand@3x.png in Resources */, + C6F599EA4763AF8F3800DD36C8288A1F /* ic_pause@1x.png in Resources */, + B3CED6288EF1DE2112C767CBA9476A4E /* ic_pause@2x.png in Resources */, + 8F08D75086D10AD560E39ACD964AD466 /* ic_pause@3x.png in Resources */, + AA11FE043546F024838D81971112B55D /* ic_play@1x.png in Resources */, + CEBEC57E58B908CD8A31307E5856EBA3 /* ic_play@2x.png in Resources */, + 9D5714A5BA4631422A53B292EE95C0F5 /* ic_play@3x.png in Resources */, + 5BB755A125DECD98F9821CF2CA46A6A7 /* ic_shrink@1x.png in Resources */, + 4FE12B2BAFC97144E7C3C38D764D0965 /* ic_shrink@2x.png in Resources */, + 055DA5FBCDEF998A72B77E57AC890D2D /* ic_shrink@3x.png in Resources */, + E99281200DC25A129FEF04C510466302 /* ic_thumb.png in Resources */, + F57046A2C15DF8CC5F7CC5B375C60357 /* sound-wave-headphones.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4C15BA167D75DF011F3D4E6C7C677666 /* Resources */ = { + E058B489A0AB0DA25CFAC66D1455B975 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3C9FF88B66130018F0E913A8F19D56D7 /* DigiCertGlobalRootCA.crt in Resources */, - E3134A8611B07698C88A43B4630C9A03 /* DigiCertSHA2SecureServerCA.crt in Resources */, + 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */, + FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */, + E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */, + FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */, + 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */, + 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */, + 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */, + 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */, + 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */, + 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */, + 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */, + 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */, + EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */, + 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */, + A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */, + 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */, + 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */, + 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */, + 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */, + 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */, + 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */, + 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */, + 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */, + 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */, + 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */, + 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */, + 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */, + F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */, + 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */, + BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */, + 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */, + B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */, + D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -905,42 +1224,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 5C7E67EC81B0E2B1366F9CEF9E66A930 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 5752A3B55A136E9581818D12D2A469AB /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */, - B23D6007BDA22E716383503CEBA4F9B4 /* CleverTap.m in Sources */, - C2697D881CE0D2B5E4999A735A03C59F /* CleverTapEventDetail.m in Sources */, - 04475821C7F3ADA742DD3CCF5EE1CC9C /* CleverTapInstanceConfig.m in Sources */, - 3113E3EC4976B22E43DB58671B8E6AED /* CleverTapTrackedViewController.m in Sources */, - 07C75CA5FC1C76FFF8C72123661A12A2 /* CleverTapUTMDetail.m in Sources */, - 9A71E59EDF4F1AB8A0CE1911EFDB68E9 /* CTCertificatePinning.m in Sources */, - A562B2ABBF464B20EBB5336C69AFC025 /* CTConstants.m in Sources */, - AB52A6B85B2CC199B14231956CA6B0EE /* CTDeviceInfo.m in Sources */, - 106868C0DFDEE68B39D9FA365E70A91B /* CTDismissButton.m in Sources */, - A63E05492B4C83D952ED4ADC0C13A690 /* CTEventBuilder.m in Sources */, - 039D14DC50391D8207DADDA668D9A349 /* CTInAppDisplayViewController.m in Sources */, - FA25369C4B77806C11B2B2833C694F3E /* CTInAppFCManager.m in Sources */, - 7537FEE99CDB2B164A5DA6397577EAE3 /* CTInAppHTMLViewController.m in Sources */, - F98E6EDD596AC14860E48B92CD76C8A9 /* CTInAppNotification.m in Sources */, - 96A3DDCF1939A46928E11DEA28A6A185 /* CTInAppUtils.m in Sources */, - AF5BCF98B8A9770BE7E47240CA4E3CB9 /* CTKnownProfileFields.m in Sources */, - 814B222FB4E53DE37EA7F9D26B60A6BC /* CTLocalDataStore.m in Sources */, - 56ABDCA8359002FA4EAC6A67FC4C583C /* CTLocationManager.m in Sources */, - 76729D45FDF726BAA7A1AAF3ECD68CE5 /* CTLogger.m in Sources */, - EA7543408C1A3FC0B092F268B993D063 /* CTPinnedNSURLSessionDelegate.m in Sources */, - 841014D8336C2FF9F023C46F5F00FFED /* CTPlistInfo.m in Sources */, - CDEF14B4D080AEA25D30AF7B5AA1FD9C /* CTPreferences.m in Sources */, - 383FBFE4E1D65DA8B837CFEEFF208742 /* CTProfileBuilder.m in Sources */, - 083BB426FC4841FC1B226947E180BFDF /* CTSwizzle.m in Sources */, - 9D21B80A2BADB3E4598DB0CA7FFC65BA /* CTUriHelper.m in Sources */, - E62F84BA71337C6977D1F84ACBFA6BD5 /* CTUtils.m in Sources */, - 89856851FA41400B220E796422A2DFFC /* CTValidationResult.m in Sources */, - F197D6B5457109F344279DF82964372C /* CTValidator.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 7ACB027E8CF78A716EB05778BA4B345D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -949,38 +1232,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8C7CD79CBE7D5BF7EF43DAA91A27F5E3 /* Sources */ = { + 8E5F18EC089C8E603989C0FF45AEB2BE /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FBF3A4086B746F117C51B33BBB3B1C7 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, - 30CEAE6A2BA0FE5725A2096FD853E7E2 /* CleverTap.m in Sources */, - 401AA19F26F9A66A2E02B689E0CFF757 /* CleverTapEventDetail.m in Sources */, - 1D6953F948580CAE3E6F29E2D94AEFFA /* CleverTapInstanceConfig.m in Sources */, - 18BA64D879457ACDD15252C795728B52 /* CleverTapTrackedViewController.m in Sources */, - 10811375401EFCF85D52583E8123B8A2 /* CleverTapUTMDetail.m in Sources */, - 9CAD1A44AAED11062BEF1A3D07E375AB /* CTCertificatePinning.m in Sources */, - 05648D895C339F479535D8E7912F3018 /* CTConstants.m in Sources */, - 668B0FB9CBC1CAB96C7469E2794D2F8F /* CTDeviceInfo.m in Sources */, - 55F91F04CB07C42A24A845D97E9EFB9E /* CTDismissButton.m in Sources */, - 95FB11EC7A370EA872CF76A72D279E51 /* CTEventBuilder.m in Sources */, - 84B10EB45D62362F37C660451378537D /* CTInAppDisplayViewController.m in Sources */, - 1A02D5986CEB1C94F6E0441D1C381283 /* CTInAppFCManager.m in Sources */, - B1A350DCA350D5B66C2AACF137E4A50D /* CTInAppNotification.m in Sources */, - F2D76328EDE2B9A16F26E6922957CF7D /* CTInAppUtils.m in Sources */, - 5E4BB7955284AADDE2A1B5B633BB38C9 /* CTKnownProfileFields.m in Sources */, - FC246B6125BF9F700DF05152A86D8FB9 /* CTLocalDataStore.m in Sources */, - 50CFE1F669BA7782322802057D2CD541 /* CTLocationManager.m in Sources */, - 366DA2DB7FCE94ED288F5E4873268890 /* CTLogger.m in Sources */, - B186AF019B160F9679257F32AE3DF202 /* CTPinnedNSURLSessionDelegate.m in Sources */, - C948ECC744AAD5480FA39D945E340215 /* CTPlistInfo.m in Sources */, - 1DFCBD616D55C825CB2211CC00540F48 /* CTPreferences.m in Sources */, - 931CA895B59AB29BC7789B47956130FB /* CTProfileBuilder.m in Sources */, - 1B571069D1BC61C1F0BA09D8776A7793 /* CTSwizzle.m in Sources */, - 45AF7BB1BDBA6BD644663D9ADFA9E39A /* CTUriHelper.m in Sources */, - 4E74597E88A50E02CD0F255D2AFF85C7 /* CTUtils.m in Sources */, - 1BB3B0810C28144C2A35795C7955A80C /* CTValidationResult.m in Sources */, - 088F0F5E395CFF7D4BBB469B37268B67 /* CTValidator.m in Sources */, + 2E8265E14C23A786924FCC22694FA374 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, + 5BB0121D5D2F1F1508C9C283C5F4AA8F /* CleverTap.m in Sources */, + F3031BB66539DDF1FBA629243B15A078 /* CleverTapEventDetail.m in Sources */, + B9EC5ED559B5F0977E7F98BEDC573E2C /* CleverTapInstanceConfig.m in Sources */, + 96CE12051098467CD5280A6A10EC22A6 /* CleverTapTrackedViewController.m in Sources */, + 0A171AAFCA976EA20AE06219196AF882 /* CleverTapUTMDetail.m in Sources */, + BD404CF9254F05BF7D237EE170A4127E /* CTCertificatePinning.m in Sources */, + E91D7DE0BA20B74A7526AA59A7E8AB85 /* CTConstants.m in Sources */, + 6FAF3F4B6B8F0C2EF0AA1685C3CC5692 /* CTDeviceInfo.m in Sources */, + D94400D09DC20380BFD972BC3B959656 /* CTEventBuilder.m in Sources */, + 129B1B98DAB42DF0F65AF0D0D70FF8F7 /* CTKnownProfileFields.m in Sources */, + 1CB4154378F5836A87478781337E9ADD /* CTLocalDataStore.m in Sources */, + BB69E1D6CEC9E10AE54250E7AB784350 /* CTLocationManager.m in Sources */, + 73AC5A020AD4CF286E09923E03B79351 /* CTLogger.m in Sources */, + 79DB9AFD4B0331CD8329F420D75F48B8 /* CTPinnedNSURLSessionDelegate.m in Sources */, + 8104C9879B6226FDF211DA0AA9685EC2 /* CTPlistInfo.m in Sources */, + 0C624C6C80F4B247DE0A774E1ABEF6E9 /* CTPreferences.m in Sources */, + 2A5DA081DAEBEA9CC36C6B9BB837540C /* CTProfileBuilder.m in Sources */, + BB24BBDAD2523EF2FF49D64E5C54E16C /* CTSwizzle.m in Sources */, + AAC83DFAE07BD3F543F182FE99703EEC /* CTUriHelper.m in Sources */, + 709BCA989DEF53D3F66259E50E60CC04 /* CTUtils.m in Sources */, + 1977CC591DD13138E8D3A793500E5A82 /* CTValidationResult.m in Sources */, + 5D34BED176F619CB53A829E7E961EDC1 /* CTValidator.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1000,6 +1278,59 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + F05B46CA4737786156EE4CD333064FA2 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + CD35879002C808275533461BE4273435 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */, + 18D76A3F3814F995DC68879DA3209606 /* CleverTap.m in Sources */, + F45EFB32917057BB9A54E79D2D5EC41E /* CleverTapEventDetail.m in Sources */, + CC13841B90B320CB21909A654BAB0338 /* CleverTapInstanceConfig.m in Sources */, + 4E11B7019DBF3E4F201FE70851DE35B5 /* CleverTapTrackedViewController.m in Sources */, + CEE2FFDE5A35884BCE99BF3744C9A159 /* CleverTapUTMDetail.m in Sources */, + 36AEDD7DFC1E8D99E769D169A46D2091 /* CTAlertViewController.m in Sources */, + 985B2200AA6BC116A66A5A89CFAAADC5 /* CTAVPlayerControlsViewController.m in Sources */, + DBD9AAB2309ECA5B73678C5E80849824 /* CTAVPlayerViewController.m in Sources */, + 4C8FF7A452E41AC165F56907E34E0BBC /* CTBaseHeaderFooterViewController.m in Sources */, + B0E9DBAE49768154E733916805574EE3 /* CTCertificatePinning.m in Sources */, + 7F9D5F309BCF6C54B7C29991A24AB321 /* CTConstants.m in Sources */, + E55EFBE5EB3277E8EB46317736F4CDD2 /* CTCoverImageViewController.m in Sources */, + 4A3D0BC1ADE4763AEF39D520E9C18D54 /* CTCoverViewController.m in Sources */, + 2457B7F1DE8A45D34290A83E0470D177 /* CTDeviceInfo.m in Sources */, + A70888771FFDAAA95FABC2E6EE16FCB1 /* CTDismissButton.m in Sources */, + 5A3BC74CC8C98B500ACFF10584B5B3F0 /* CTEventBuilder.m in Sources */, + 7FC480A226D6F8BECBC3A7DBAFF116CF /* CTFooterViewController.m in Sources */, + 4EE13AF6062D7EA33A4A77420B6656BF /* CTHalfInterstitialImageViewController.m in Sources */, + 58570A4031AFCAD2525575442D5C7331 /* CTHalfInterstitialViewController.m in Sources */, + 16F18B9B365766DE42C7F8F140C7641E /* CTHeaderViewController.m in Sources */, + 602BD08255978E086123AF17B753AE6B /* CTInAppDisplayViewController.m in Sources */, + DC58BAB832042C6C5B9349C38521F7DF /* CTInAppFCManager.m in Sources */, + 6538DD8CEEF2C53E9DAB5BB2AAFFCE9E /* CTInAppHTMLViewController.m in Sources */, + 9CAFD104F3C79EB9499885746AC6251D /* CTInAppNotification.m in Sources */, + 203CBC25F644471C3DF515E3BCE9F055 /* CTInAppResources.m in Sources */, + 1BA922CDDD906A4192A4FB183FA50ECF /* CTInAppUtils.m in Sources */, + 79FC56C034563DC3F923A8DAFE638C08 /* CTInterstitialImageViewController.m in Sources */, + BDAE918ABE7F2ACBB205636394F75D09 /* CTInterstitialViewController.m in Sources */, + BAED6F3D976AB4675E43A6F364A64DD1 /* CTKnownProfileFields.m in Sources */, + 57A68CEE6813ED0FF1DE79B5246B5E52 /* CTLocalDataStore.m in Sources */, + 6F3ABE5DDD03CD9F694CCEDD3D68989D /* CTLocationManager.m in Sources */, + 0681A42DAA048A64399D8DA38FB28CD3 /* CTLogger.m in Sources */, + 0844EC008FAB872B8B4BEC4BF7C11B87 /* CTNotificationButton.m in Sources */, + E82F505BB11E034B6A6A13F242832584 /* CTPinnedNSURLSessionDelegate.m in Sources */, + 229339D02FDF96A9F0966832295BB644 /* CTPlistInfo.m in Sources */, + 8269A830581734909748EA7342488910 /* CTPreferences.m in Sources */, + 11AA8EE90D957F17C48BB0DD20565B85 /* CTProfileBuilder.m in Sources */, + 634EAD4DE9B3FDFA8317975067E64F75 /* CTSlider.m in Sources */, + B68E09DB7B7E682DE9D04EB53C4E84AC /* CTSwizzle.m in Sources */, + 2569B1DB71994ED1439C31E386D16923 /* CTUriHelper.m in Sources */, + 47045A49234D564C0C267652A7F5269B /* CTUtils.m in Sources */, + 3B415150CFFAB168BDF195C1FD534DF2 /* CTValidationResult.m in Sources */, + 3C2051932A7B64009860F12684ECD9D6 /* CTValidator.m in Sources */, + 5AAE992514274F09BF1FE7F019AF0F1E /* FLAnimatedImage.m in Sources */, + 9D609274E0C170301E7BA312FB013338 /* FLAnimatedImageView.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -1012,13 +1343,13 @@ 544025B63D2952CCC4F95480DC296E60 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CleverTap-iOS-SDK-tvOS"; - target = 84710807FC10B8B2673796CA61608A06 /* CleverTap-iOS-SDK-tvOS */; + target = 55F108B5206399DCEDBC008F6E8A790D /* CleverTap-iOS-SDK-tvOS */; targetProxy = 6355539A8E6B214EB333693782F206D4 /* PBXContainerItemProxy */; }; A8FE32EA9EF5C7EAC7C3DCAEAE63BB8C /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CleverTap-iOS-SDK-iOS"; - target = D101C7BCB05F1A764AD0A07B90ADAE07 /* CleverTap-iOS-SDK-iOS */; + target = 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */; targetProxy = E67FD72B0E4A751792BA023346C9031C /* PBXContainerItemProxy */; }; B738104469A8567A88F1E362D8C13A73 /* PBXTargetDependency */ = { @@ -1030,9 +1361,9 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 27DB542EEAAC06400FB893AE8DC408BC /* Debug */ = { + 053BA68A3D90E6AE722D86DEB9781817 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7E503BE6D6E8440104353881FECC1BBC /* CleverTap-iOS-SDK-tvOS.xcconfig */; + baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1124,12 +1455,10 @@ }; name = Debug; }; - 4CFD3FCBAC84EE2BBBC61E87DB1645C9 /* Debug */ = { + 4C9F4FE39509B0D6C44610228880F47B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7FC805B3EF57A8B6D6CDB67AFD0C9ACF /* Pods-ObjCStarterTests.debug.xcconfig */; + baseConfigurationReference = 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1139,28 +1468,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-ObjCStarterTests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-ObjCStarterTests/Pods-ObjCStarterTests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 58DE9CFAF95B98BC859B0B1752CD83E0 /* Release */ = { + 4CFD3FCBAC84EE2BBBC61E87DB1645C9 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 470FF519B33DE8AECC2BEDEBAE54AF5B /* Pods-ObjCStarterTests.release.xcconfig */; + baseConfigurationReference = 7FC805B3EF57A8B6D6CDB67AFD0C9ACF /* Pods-ObjCStarterTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CLANG_ENABLE_OBJC_WEAK = NO; @@ -1187,47 +1515,17 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 59B7A054355E30EF945D57366A0B89DB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7E503BE6D6E8440104353881FECC1BBC /* CleverTap-iOS-SDK-tvOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 744410647288BDEBBEDD076C3B0598A1 /* Debug */ = { + 58DE9CFAF95B98BC859B0B1752CD83E0 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 96FA7F8F9A1080D8AA7A4254743B7A1F /* CleverTap-iOS-SDK-iOS.xcconfig */; + baseConfigurationReference = 470FF519B33DE8AECC2BEDEBAE54AF5B /* Pods-ObjCStarterTests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1237,22 +1535,25 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-ObjCStarterTests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ObjCStarterTests/Pods-ObjCStarterTests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; 7FF9BABAF6B9E34590C802AF5EB588F8 /* Release */ = { isa = XCBuildConfiguration; @@ -1416,11 +1717,10 @@ }; name = Debug; }; - B2C475166AF9E90A46F0EA6DF2E4A177 /* Debug */ = { + B0026B388EC28CDC294811BC6E31A12F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */; + baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1430,29 +1730,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-ObjCTvOS/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; SDKROOT = appletvos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - B47C33221F1DFB86B98CBFD2DFC35D5F /* Release */ = { + B2C475166AF9E90A46F0EA6DF2E4A177 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 96FA7F8F9A1080D8AA7A4254743B7A1F /* CleverTap-iOS-SDK-iOS.xcconfig */; + baseConfigurationReference = 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1462,23 +1762,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-ObjCTvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; - SDKROOT = iphoneos; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; E1E09323831AB5BBB8A10408DE68A842 /* Release */ = { isa = XCBuildConfiguration; @@ -1549,6 +1850,36 @@ }; name = Debug; }; + F60560D5F12C2572DAA289E2D8763065 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-iOS/CleverTap-iOS-SDK-iOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -1561,15 +1892,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2366BD3B02476A1D7EADEE5F11F130F4 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 744410647288BDEBBEDD076C3B0598A1 /* Debug */, - B47C33221F1DFB86B98CBFD2DFC35D5F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1588,20 +1910,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 76613A7A3C3BE3B35ECA55292AC29F3E /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { + BD292037101A248D8AA3572F408CCA75 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 27DB542EEAAC06400FB893AE8DC408BC /* Debug */, - 59B7A054355E30EF945D57366A0B89DB /* Release */, + E64BE88F1CA90EF96AF9CDAF42F09761 /* Debug */, + E1E09323831AB5BBB8A10408DE68A842 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BD292037101A248D8AA3572F408CCA75 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterUITests" */ = { + DF49165BBA59DCB1B8B59C4D2C0F7FF9 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - E64BE88F1CA90EF96AF9CDAF42F09761 /* Debug */, - E1E09323831AB5BBB8A10408DE68A842 /* Release */, + 053BA68A3D90E6AE722D86DEB9781817 /* Debug */, + B0026B388EC28CDC294811BC6E31A12F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1615,6 +1937,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + F7968B2F653E5140F25B9FD5FBEAA97D /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F60560D5F12C2572DAA289E2D8763065 /* Debug */, + 4C9F4FE39509B0D6C44610228880F47B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; diff --git a/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist b/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist index 9ae03a0c..3ac477e6 100644 --- a/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist +++ b/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.2.0 + 3.3.0 CFBundleSignature ???? CFBundleVersion diff --git a/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist b/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist index 9ae03a0c..3ac477e6 100644 --- a/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist +++ b/ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.2.0 + 3.3.0 CFBundleSignature ???? CFBundleVersion From cc49b690d1e674fc3911ff68302c0c9f051c922f Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Tue, 23 Oct 2018 19:05:18 +0530 Subject: [PATCH 2/5] more on prepare 3.3.0 --- CleverTap-iOS-SDK.podspec | 8 +- CleverTapSDK/CTEventBuilder.m | 6 +- .../InApps/CTBaseHeaderFooterViewController.m | 2 +- .../InApps/CTCoverImageViewController.m | 2 +- CleverTapSDK/InApps/CTCoverViewController.m | 2 +- .../CTHalfInterstitialImageViewController.m | 6 +- .../InApps/CTHalfInterstitialViewController.m | 6 +- CleverTapSDK/InApps/CTInAppResources.m | 8 +- .../CTInterstitialImageViewController.m | 17 +- .../InApps/CTInterstitialViewController.m | 19 +- .../ObjCStarter.xcodeproj/project.pbxproj | 30 +- ObjCStarter/Podfile.lock | 2 +- .../CleverTap-iOS-SDK.podspec.json | 33 +- ObjCStarter/Pods/Manifest.lock | 2 +- .../Pods/Pods.xcodeproj/project.pbxproj | 506 +++++++++--------- 15 files changed, 329 insertions(+), 320 deletions(-) diff --git a/CleverTap-iOS-SDK.podspec b/CleverTap-iOS-SDK.podspec index 118faaa8..15fa6459 100644 --- a/CleverTap-iOS-SDK.podspec +++ b/CleverTap-iOS-SDK.podspec @@ -8,12 +8,14 @@ s.author = { "CleverTap" => "http://www.clevertap.com" } s.source = { :git => "https://github.com/CleverTap/clevertap-ios-sdk.git", :tag => s.version.to_s } s.requires_arc = true s.module_name = 'CleverTapSDK' -s.resources = 'CleverTapSDK/*.crt', 'CleverTapSDK/**/*.{png,xib}' +s.resources = 'CleverTapSDK/*.crt' +s.ios.resources = 'CleverTapSDK/**/*.{png,xib}' s.ios.deployment_target = '8.0' s.ios.source_files = 'CleverTapSDK/**/*.{h,m}' s.ios.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapInAppNotificationDelegate.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h' s.tvos.deployment_target = '9.0' -s.tvos.source_files = 'CleverTapSDK/*.{h,m}' -s.tvos.exclude_files = 'CleverTapSDK/CTInAppHTMLViewController.{h,m}' +s.tvos.source_files = 'CleverTapSDK/**/*.{h,m}' +s.tvos.exclude_files = 'CleverTapSDK/**/CTInAppHTMLViewController.{h,m}','CleverTapSDK/**/CTCoverViewController.{h,m}','CleverTapSDK/**/CTInterstitialViewController.{h,m}','CleverTapSDK/**/CTHeaderViewController.{h,m}','CleverTapSDK/**/CTFooterViewController.{h,m}','CleverTapSDK/**/CTAlertViewController.{h,m}','CleverTapSDK/**/CTHalfInterstitialViewController.{h,m}','CleverTapSDK/**/CTInterstitialImageViewController.{h,m}','CleverTapSDK/**/CTCoverImageViewController.{h,m}','CleverTapSDK/**/CTHalfInterstitialImageViewController.{h,m}','CleverTapSDK/**/CTAVPlayerViewController.{h,m}','CleverTapSDK/**/CTSlider.{h,m}','CleverTapSDK/**/CTAVPlayerControlsViewController.{h,m}','CleverTapSDK/**/CTBaseHeaderFooterViewController.{h,m}' + s.tvos.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h' end diff --git a/CleverTapSDK/CTEventBuilder.m b/CleverTapSDK/CTEventBuilder.m index 879c69b3..2712b0de 100644 --- a/CleverTapSDK/CTEventBuilder.m +++ b/CleverTapSDK/CTEventBuilder.m @@ -141,11 +141,11 @@ + (void)buildChargedEventWithDetails:(NSDictionary *)chargeDetails andItems:(NSA return; } - if (((int) [items count]) > 15) { + if (((int) [items count]) > 50) { CTValidationResult *error = [[CTValidationResult alloc] init]; [error setErrorCode:522]; - [error setErrorDesc:@"Charged event contained more than 15 items."]; - CleverTapLogStaticDebug(@"Charged event contained more than 15 items."); + [error setErrorDesc:@"Charged event contained more than 50 items."]; + CleverTapLogStaticDebug(@"Charged event contained more than 50 items."); [errors addObject:error]; } NSMutableDictionary *evtData = [[NSMutableDictionary alloc] init]; diff --git a/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m b/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m index 205cdaaf..445d9610 100644 --- a/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m +++ b/CleverTapSDK/InApps/CTBaseHeaderFooterViewController.m @@ -77,7 +77,7 @@ - (void)layoutNotification { } // set image - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.clipsToBounds = YES; self.imageView.hidden = NO; self.imageView.contentMode = UIViewContentModeScaleAspectFill; diff --git a/CleverTapSDK/InApps/CTCoverImageViewController.m b/CleverTapSDK/InApps/CTCoverImageViewController.m index 0f823c76..337a3386 100644 --- a/CleverTapSDK/InApps/CTCoverImageViewController.m +++ b/CleverTapSDK/InApps/CTCoverImageViewController.m @@ -53,7 +53,7 @@ - (void)layoutNotification { } // set image - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.clipsToBounds = YES; self.imageView.contentMode = UIViewContentModeScaleAspectFill; self.imageView.image = [UIImage imageWithData:self.notification.image]; diff --git a/CleverTapSDK/InApps/CTCoverViewController.m b/CleverTapSDK/InApps/CTCoverViewController.m index 358b5f23..10297258 100644 --- a/CleverTapSDK/InApps/CTCoverViewController.m +++ b/CleverTapSDK/InApps/CTCoverViewController.m @@ -60,7 +60,7 @@ - (void)layoutNotification { self.closeButton.hidden = !self.notification.showCloseButton; // set image - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.clipsToBounds = YES; self.imageView.contentMode = UIViewContentModeScaleAspectFill; self.imageView.image = [UIImage imageWithData:self.notification.image]; diff --git a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m index ef424736..ec0152e6 100644 --- a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m +++ b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m @@ -58,8 +58,8 @@ - (void)layoutNotification { attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view - attribute:NSLayoutAttributeWidth - multiplier:0.58 constant:0] setActive:YES]; + attribute:NSLayoutAttributeHeight + multiplier:0.5 constant:0] setActive:YES]; }else{ [[NSLayoutConstraint constraintWithItem:self.containerView @@ -76,7 +76,7 @@ - (void)layoutNotification { } // set image - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.clipsToBounds = YES; self.imageView.contentMode = UIViewContentModeScaleAspectFill; self.imageView.image = [UIImage imageWithData:self.notification.image]; diff --git a/CleverTapSDK/InApps/CTHalfInterstitialViewController.m b/CleverTapSDK/InApps/CTHalfInterstitialViewController.m index 4f134d15..61468deb 100644 --- a/CleverTapSDK/InApps/CTHalfInterstitialViewController.m +++ b/CleverTapSDK/InApps/CTHalfInterstitialViewController.m @@ -60,8 +60,8 @@ - (void)layoutNotification { attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view - attribute:NSLayoutAttributeWidth - multiplier:0.58 constant:0] setActive:YES]; + attribute:NSLayoutAttributeHeight + multiplier:0.5 constant:0] setActive:YES]; }else { [[NSLayoutConstraint constraintWithItem:self.containerView @@ -81,7 +81,7 @@ - (void)layoutNotification { self.view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.75f]; } - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.clipsToBounds = YES; self.imageView.contentMode = UIViewContentModeScaleAspectFill; self.imageView.image = [UIImage imageWithData:self.notification.image]; diff --git a/CleverTapSDK/InApps/CTInAppResources.m b/CleverTapSDK/InApps/CTInAppResources.m index fe795fad..258f21bf 100644 --- a/CleverTapSDK/InApps/CTInAppResources.m +++ b/CleverTapSDK/InApps/CTInAppResources.m @@ -9,13 +9,7 @@ + (NSBundle *)bundle { + (NSString *)XibNameForControllerName:(NSString *)controllerName { NSMutableString *xib = [NSMutableString stringWithString:controllerName]; if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { - UIApplication *sharedApplication = [self getSharedApplication]; - BOOL landscape = UIInterfaceOrientationIsLandscape(sharedApplication.statusBarOrientation); - if (landscape) { - [xib appendString:@"~iphoneland"]; - } else { - [xib appendString:@"~iphoneport"]; - } + [xib appendString:@"~iphoneport"]; } else { [xib appendString:@"~ipad"]; } diff --git a/CleverTapSDK/InApps/CTInterstitialImageViewController.m b/CleverTapSDK/InApps/CTInterstitialImageViewController.m index a1f4fad7..9af7c7bf 100644 --- a/CleverTapSDK/InApps/CTInterstitialImageViewController.m +++ b/CleverTapSDK/InApps/CTInterstitialImageViewController.m @@ -40,6 +40,17 @@ - (void)layoutNotification { // UIView container which holds all other subviews self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + if ([UIScreen mainScreen].bounds.size.height == 480) { + [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.containerView + attribute:NSLayoutAttributeHeight + multiplier:0.6 constant:0] setActive:YES]; + + } + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; if (self.notification.tablet) { @@ -54,9 +65,9 @@ - (void)layoutNotification { toItem:self.view attribute:NSLayoutAttributeTrailing multiplier:1 constant:-40] setActive:YES]; [[NSLayoutConstraint constraintWithItem:self.containerView - attribute:NSLayoutAttributeWidth + attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual - toItem:self.containerView + toItem:self.view attribute:NSLayoutAttributeHeight multiplier:0.85 constant:0] setActive:YES]; @@ -76,7 +87,7 @@ - (void)layoutNotification { } // set image - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.clipsToBounds = YES; self.imageView.contentMode = UIViewContentModeScaleAspectFill; self.imageView.image = [UIImage imageWithData:self.notification.image]; diff --git a/CleverTapSDK/InApps/CTInterstitialViewController.m b/CleverTapSDK/InApps/CTInterstitialViewController.m index 325e72ae..3891810c 100644 --- a/CleverTapSDK/InApps/CTInterstitialViewController.m +++ b/CleverTapSDK/InApps/CTInterstitialViewController.m @@ -75,6 +75,17 @@ - (void)layoutNotification { self.view.backgroundColor = [UIColor clearColor]; self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + if ([UIScreen mainScreen].bounds.size.height == 480) { + [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; + [[NSLayoutConstraint constraintWithItem:self.containerView + attribute:NSLayoutAttributeWidth + relatedBy:NSLayoutRelationEqual + toItem:self.containerView + attribute:NSLayoutAttributeHeight + multiplier:0.6 constant:0] setActive:YES]; + + } + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; if (self.notification.tablet) { @@ -89,9 +100,9 @@ - (void)layoutNotification { toItem:self.view attribute:NSLayoutAttributeTrailing multiplier:1 constant:-40] setActive:YES]; [[NSLayoutConstraint constraintWithItem:self.containerView - attribute:NSLayoutAttributeWidth + attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual - toItem:self.containerView + toItem:self.view attribute:NSLayoutAttributeHeight multiplier:0.85 constant:0] setActive:YES]; } else { @@ -116,7 +127,7 @@ - (void)layoutNotification { self.closeButton.hidden = !self.notification.showCloseButton; // use FLAnimatedImageView to support gif - if (self.notification.image && !self.notification.hideMedia) { + if (self.notification.image) { self.imageView.contentMode = UIViewContentModeScaleAspectFit; if ([self.notification.contentType isEqualToString:@"image/gif"] ) { FLAnimatedImage *gif = [FLAnimatedImage animatedImageWithGIFData:self.notification.image]; @@ -127,7 +138,7 @@ - (void)layoutNotification { } // handle video or audio - if (self.notification.mediaUrl && !self.notification.hideMedia) { + if (self.notification.mediaUrl) { self.playerController = [[CTAVPlayerViewController alloc] initWithNotification:self.notification]; self.playerController.playerDelegate = self; self.imageView.hidden = YES; diff --git a/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj b/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj index 22137518..876ecca8 100644 --- a/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj +++ b/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj @@ -309,7 +309,7 @@ 07E16E82212FF6E700429BDF /* Frameworks */, 07E16E83212FF6E700429BDF /* Resources */, 07E16ED021300A5500429BDF /* Embed App Extensions */, - 57D0A924B6C2A494DAC08374 /* [CP] Embed Pods Frameworks */, + A692D8CEA683E472CBA7F68B /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -366,7 +366,7 @@ 07E16ED121300EE200429BDF /* Sources */, 07E16ED221300EE200429BDF /* Frameworks */, 07E16ED321300EE200429BDF /* Resources */, - 369732087A560CE4DEF70912 /* [CP] Embed Pods Frameworks */, + 57AEC74E9ADF160AE8C77098 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -525,7 +525,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 369732087A560CE4DEF70912 /* [CP] Embed Pods Frameworks */ = { + 57AEC74E9ADF160AE8C77098 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -543,40 +543,40 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 57D0A924B6C2A494DAC08374 /* [CP] Embed Pods Frameworks */ = { + 75907684EA1FB3A91E298071 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", + "$(DERIVED_FILE_DIR)/Pods-ObjCStarter-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 75907684EA1FB3A91E298071 /* [CP] Check Pods Manifest.lock */ = { + A692D8CEA683E472CBA7F68B /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ObjCStarter-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { diff --git a/ObjCStarter/Podfile.lock b/ObjCStarter/Podfile.lock index 0c063f4f..bd019999 100644 --- a/ObjCStarter/Podfile.lock +++ b/ObjCStarter/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CleverTap-iOS-SDK: d9147eb21a2728c25b3249d11c5b2b780f8a95c6 + CleverTap-iOS-SDK: d679f3ce167c82ecf0f4b54cd1a053f00ad7c493 PODFILE CHECKSUM: b4f3542daf2ced0c2c6faa368b426728b78fa179 diff --git a/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json b/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json index 4a38d0a7..29f730b0 100644 --- a/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json +++ b/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json @@ -15,15 +15,9 @@ }, "requires_arc": true, "module_name": "CleverTapSDK", - "resources": [ - "CleverTapSDK/*.crt", - "CleverTapSDK/**/*.{png,xib}" - ], - "platforms": { - "ios": "8.0", - "tvos": "9.0" - }, + "resources": "CleverTapSDK/*.crt", "ios": { + "resources": "CleverTapSDK/**/*.{png,xib}", "source_files": "CleverTapSDK/**/*.{h,m}", "public_header_files": [ "CleverTapSDK/CleverTap.h", @@ -37,9 +31,28 @@ "CleverTapSDK/CleverTapUTMDetail.h" ] }, + "platforms": { + "ios": "8.0", + "tvos": "9.0" + }, "tvos": { - "source_files": "CleverTapSDK/*.{h,m}", - "exclude_files": "CleverTapSDK/CTInAppHTMLViewController.{h,m}", + "source_files": "CleverTapSDK/**/*.{h,m}", + "exclude_files": [ + "CleverTapSDK/**/CTInAppHTMLViewController.{h,m}", + "CleverTapSDK/**/CTCoverViewController.{h,m}", + "CleverTapSDK/**/CTInterstitialViewController.{h,m}", + "CleverTapSDK/**/CTHeaderViewController.{h,m}", + "CleverTapSDK/**/CTFooterViewController.{h,m}", + "CleverTapSDK/**/CTAlertViewController.{h,m}", + "CleverTapSDK/**/CTHalfInterstitialViewController.{h,m}", + "CleverTapSDK/**/CTInterstitialImageViewController.{h,m}", + "CleverTapSDK/**/CTCoverImageViewController.{h,m}", + "CleverTapSDK/**/CTHalfInterstitialImageViewController.{h,m}", + "CleverTapSDK/**/CTAVPlayerViewController.{h,m}", + "CleverTapSDK/**/CTSlider.{h,m}", + "CleverTapSDK/**/CTAVPlayerControlsViewController.{h,m}", + "CleverTapSDK/**/CTBaseHeaderFooterViewController.{h,m}" + ], "public_header_files": [ "CleverTapSDK/CleverTap.h", "CleverTapSDK/CleverTap+SSLPinning.h", diff --git a/ObjCStarter/Pods/Manifest.lock b/ObjCStarter/Pods/Manifest.lock index 0c063f4f..bd019999 100644 --- a/ObjCStarter/Pods/Manifest.lock +++ b/ObjCStarter/Pods/Manifest.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CleverTap-iOS-SDK: d9147eb21a2728c25b3249d11c5b2b780f8a95c6 + CleverTap-iOS-SDK: d679f3ce167c82ecf0f4b54cd1a053f00ad7c493 PODFILE CHECKSUM: b4f3542daf2ced0c2c6faa368b426728b78fa179 diff --git a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj index 949e679c..21d3ceaa 100644 --- a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj +++ b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj @@ -7,234 +7,223 @@ objects = { /* Begin PBXBuildFile section */ - 002D6F77C1CC073E9B692B6EDAC4B6CA /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; + 00713EE655A6B3CE02B166E0F0719659 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; + 00A4CA5DCB88A67D6B59C50BC6A0A07C /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */; }; 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */; }; - 055DA5FBCDEF998A72B77E57AC890D2D /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */; }; 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 05D28BC6BCDE2E6F29831B5909F89C13 /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0681A42DAA048A64399D8DA38FB28CD3 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; - 06951585B474A4D799EA459FCC3928F8 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 06AEC29D21463BDA1255273E01B8731C /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */; }; 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */; }; - 079E4A00FBA50CE6A103A2D235618430 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 076084F7626D397738C2A26251DFBCD8 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07ABE0A903CD0664BAC7606ED72DAFAE /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 07C1D1BB72E7E6E80AF9A3D12C4A1089 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; 0844EC008FAB872B8B4BEC4BF7C11B87 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */; }; 08A8EBD2E4DB093B5A1C678E828835E0 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08D4FEF243BD5D1CD1BC7FA57EAF71F2 /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; - 0A171AAFCA976EA20AE06219196AF882 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; - 0C624C6C80F4B247DE0A774E1ABEF6E9 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; + 0B2E44ACFE8C56CCFA5D1168F940D29D /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E7E47E0D15E975BD3A03B8A58BB5390 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; 0EFD2FC62CC9FC59F25017A20AB9772E /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; 0F1957439D0C7E81FE733EA1CA24470D /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0F683B319FE0D31D8E43C695B733A9A4 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1167AD752AA3B713E5F2E569E4C18CF5 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; 11AA8EE90D957F17C48BB0DD20565B85 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; - 129B1B98DAB42DF0F65AF0D0D70FF8F7 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */; }; 16F18B9B365766DE42C7F8F140C7641E /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */; }; 177417798266A2D7D1F0EA024AFBB92C /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1889EA45968D6163375BD08407525DEC /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */; }; 18D76A3F3814F995DC68879DA3209606 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; - 190C6D848E69EF56AF378FEE9C89B21E /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; - 1977CC591DD13138E8D3A793500E5A82 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; + 1B73D88BC10F85CED2C02F5A28B92F93 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; 1BA922CDDD906A4192A4FB183FA50ECF /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */; }; - 1CB4154378F5836A87478781337E9ADD /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */; }; + 1D28C7B1EE3B24FC51B6C017035104A4 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */; }; + 1D6169F389E3717EECAA7A499D78C4E4 /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */; }; 203CBC25F644471C3DF515E3BCE9F055 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */; }; 229339D02FDF96A9F0966832295BB644 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; - 22BC87BD293CB8731CC192F83C4C9635 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */; }; + 23121489DE044E8079F747AD3EAA818E /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */; }; 244C838C5215BAEAF94C7958254D2F56 /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2457B7F1DE8A45D34290A83E0470D177 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; 24E24D5CC249092B8B7A33EC6B128BFC /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2569B1DB71994ED1439C31E386D16923 /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; + 27D477A7F7B0CC4B29CB4A7820C2EB75 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; + 27D7BA7CA09B87C2C1C9879DA1646F2F /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; 287A7BFAD149A21748619807F70D78C0 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; - 2A5DA081DAEBEA9CC36C6B9BB837540C /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; - 2BC84CBA7E21A4B138B798661593EF1C /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2C9211251AD9DDB3CBCF117BF3D66FC3 /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 2CD739391541A6B5205AE4FA4FE350A1 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2E8265E14C23A786924FCC22694FA374 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; 2EA6D83630A286F347D1BDE52EE4763C /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2F7C3E3DC879FA11EAFA7F7500F6E951 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; + 31BECA92A2D69048FB747C45BD833005 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; 32E33D82C0C2975425197B55D5C3F681 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 333F26EF21B4379735B1E69037166B5E /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; 36AEDD7DFC1E8D99E769D169A46D2091 /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */; }; 39A8EE58B7DDAD1357513944100BB739 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */; }; 3B415150CFFAB168BDF195C1FD534DF2 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; - 3BB4C063D0E3CE6E24C5EF52DC9F8343 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BB529C537130872877C744C0D4E4E05 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C19DE93CE1062EA5649F9E4AF1303C5 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */; }; + 3BA350F697ED0F2ED2C0E6E1FC67128A /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; 3C2051932A7B64009860F12684ECD9D6 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */; }; + 40C7AF991AB52D5322812098C4EBFFCC /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; 43A9543ACD32554E6F8D5B5A612EE8F5 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 452AF49B7A28EDB30804170C1E382442 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 44590AEC3FD5CF2D7BB094E5E40FAED9 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 446D6F25CE629C2D52F18FFF8F6C1A2B /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */; }; 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */; }; 47045A49234D564C0C267652A7F5269B /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; 47E86794ACD81096687138817E918651 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 49D0DBE1443264B9BBF27CB9DF25A520 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */; }; 4A3D0BC1ADE4763AEF39D520E9C18D54 /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */; }; 4AAB1998FDD2C1A3A045AAE63DF6CC74 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 4C4223F4AE83DC6745D175966DD7EDA0 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4C8FF7A452E41AC165F56907E34E0BBC /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */; }; 4C9EB56499904BA40EDDA5574F98D1D9 /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 4E11B7019DBF3E4F201FE70851DE35B5 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; + 4E59471E287329B3BA80D5B960163C16 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4E7D86AB2D5FB86F1F43F1F4598BA3DE /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */; }; 4EE13AF6062D7EA33A4A77420B6656BF /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */; }; - 4FE12B2BAFC97144E7C3C38D764D0965 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */; }; + 5174F42089BC2CACCB11191E86F51778 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; + 51C164DE9D34C08A4F0FE3065AF8DD9B /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; 546A9573DEAA58B19D6252812774A895 /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 56604A36D20E8285C1826FB2131EE213 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */; }; - 569EFE711972F4239594C5B978F67167 /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */; }; + 5483CA64DD225F76309BE34E56BACDCF /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */; }; 57A68CEE6813ED0FF1DE79B5246B5E52 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; 58570A4031AFCAD2525575442D5C7331 /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */; }; + 593ED641544EE9D7EBBA94C0AA2812FD /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */; }; 5A3BC74CC8C98B500ACFF10584B5B3F0 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; 5A666F889CF4300B714C4BD539E1CDE2 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; 5AAE992514274F09BF1FE7F019AF0F1E /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */; }; - 5B6BDE509F05FCF9E92001B460735B3C /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5BB0121D5D2F1F1508C9C283C5F4AA8F /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; - 5BB755A125DECD98F9821CF2CA46A6A7 /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */; }; 5C59E25AA1ECE8BF2A47C09632E202F6 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5CAAAA2E6CFDA83B434F8A4A75137EEC /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */; }; - 5D34BED176F619CB53A829E7E961EDC1 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; + 5E0CD82B079D21B38CD1E42BC5F980DA /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; 602BD08255978E086123AF17B753AE6B /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */; }; - 61E89D87584B52582E0F16CB02DCE0DA /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6254EA02D96192B830CA81D0504FC4C8 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; 634EAD4DE9B3FDFA8317975067E64F75 /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */; }; 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */; }; 6538DD8CEEF2C53E9DAB5BB2AAFFCE9E /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */; }; 663262D23664153BFE2A64953B3CD130 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6686716872EBC1F3C8DF27FC9DC6319F /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 67A429736A1F3932A14B6E992277EC88 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */; }; + 67CB07F73FDF5773223C8F0BC3D51A4D /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */; }; 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; + 6D5DF2071997F03AA7EC8011CDA1A4F5 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */; }; 6F3ABE5DDD03CD9F694CCEDD3D68989D /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; - 6FAD4153FDE84DE87E5B6C8E62D3FA42 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - 6FAF3F4B6B8F0C2EF0AA1685C3CC5692 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; 70709EC01475258D0E89A57320198A38 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7074E3768AFE3F4B39D448D71C59B04C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - 709BCA989DEF53D3F66259E50E60CC04 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */; }; - 7322C5BDD6A4AD039B40BA7D83946AD3 /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */; }; - 73AC5A020AD4CF286E09923E03B79351 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; + 72E99FAB1D537E2B314D3DEC821EFD56 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; 757EB3FFF9F5E9238399F12F896D5172 /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7635C22035BD2B0DFCB154430D0A76CE /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76A6CCF4014D5CD9734F9CF3E6C04CAE /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */; }; - 79DB9AFD4B0331CD8329F420D75F48B8 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; + 7836414B1513D7BC71225AD3348CB828 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; 79FC56C034563DC3F923A8DAFE638C08 /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */; }; - 7AB0D47FB6FDF51F27F59C230DAC980E /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7A45023D650FE082BF31D31AEF1C140F /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7ACABE3E53CF13396FFA8FB2D2BB6218 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; 7D17352914F00B9417ACB567F4D9110E /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F5CE69D8DA0E57CCF3715D29EE4D77D /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; 7F9D5F309BCF6C54B7C29991A24AB321 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; 7FC480A226D6F8BECBC3A7DBAFF116CF /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */; }; 8098F482CD23D384A5FBAA138C294BDB /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8104C9879B6226FDF211DA0AA9685EC2 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; 81C4AC9BE8F1741303C22441D3116545 /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 823944C5AF60C480B11782810EB2E4D7 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */; }; 8269A830581734909748EA7342488910 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; 842C1C426896B936C99F3A79DDE545D0 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; 849BC442882869C3C626A97F091435A9 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 849F112FF2C2C30D49DEBBCDBA9D6651 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; 856D5D314027F88768C2AAE01740947F /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 86B1856744C21524937E3A3D44CE27C7 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 86B6E306FA8D2CC0019F5088C0A1B19C /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; 870A576ACD83CC73688F9AC02751C347 /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88095FE2EC623C778D842C3522EFC640 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88388F4B17116A2F3E01B2D76C7E5F7C /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8A0FBEDCDB76528FBE29222920844010 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; 8C6D4960E85565834F42DB719DD585D3 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D1D1A8CE3FE192C9703159DD5F08FE1 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */; }; - 8F08D75086D10AD560E39ACD964AD466 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */; }; + 8EAAAC35AFCF075E451F3A263DC2C836 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */; }; 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */; }; - 96CE12051098467CD5280A6A10EC22A6 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; + 971546AB280CBABE3E6A0D5548231E39 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 985B2200AA6BC116A66A5A89CFAAADC5 /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */; }; 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */; }; 9CAFD104F3C79EB9499885746AC6251D /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */; }; - 9D5714A5BA4631422A53B292EE95C0F5 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */; }; 9D609274E0C170301E7BA312FB013338 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */; }; 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */; }; + 9E61CCA021E2B99C1C19F35CBE004500 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9FE325ABD7A5AC1904339A7D6DDF25F4 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */; }; A14F604A921185A675BBC85B2139B273 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; A1AC80DFF97A18EFC87C0E67ECA7B944 /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A1D9385EB2AAB98707AE96FE9A2280EF /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; A21387232BA8562F7EB7C84715C15B1D /* Pods-ObjCStarterTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */; }; - A311DFD07C29F2CA7A6CFA36A7FC322C /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A4E35E30D5220024D1DEB5C2D73E8475 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A447E2CA8639A56E24899F06B284044C /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; A70888771FFDAAA95FABC2E6EE16FCB1 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */; }; - AA11FE043546F024838D81971112B55D /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */; }; + A9544352BEACE9C582760C92E84F9FB8 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; + A9964B4BD0C01A56FF0E4BB7A9304267 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; AA697D7F464E8CA206344CE492F32374 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - AAC83DFAE07BD3F543F182FE99703EEC /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; - AEAA8B96562F9AF5B63351773E158E16 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */; }; - AF6F272BB9C3452D1E6DA88E7D74D973 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AB14F4EF2756882152A01094F74A36B9 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AB64007F619FF3E2E1C4B45C30420D4B /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ABC1AC7BA53245344348A4C3256D1433 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */; }; + ADD9C3AD50075E5A5B390FD7EF2FB82C /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; B0144EF9445C9683803A68219468D4F8 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; B0E9DBAE49768154E733916805574EE3 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; + B13A8C8F3D807F8B4E1D1876DDDEB666 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; + B241D6EE4A1D6E401CFC16EC81C34507 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */; }; B255D961E85FBF23C509E5EA0F32448B /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; B268E0BF9174B119D71E484E41AA519C /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; B2D2A518D268967D4ACD2D16EDFC23BC /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B3CED6288EF1DE2112C767CBA9476A4E /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */; }; + B2F90681509B2D55CFB531201486CFDB /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; B68E09DB7B7E682DE9D04EB53C4E84AC /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */; }; - B9EC5ED559B5F0977E7F98BEDC573E2C /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; BAED6F3D976AB4675E43A6F364A64DD1 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; - BB24BBDAD2523EF2FF49D64E5C54E16C /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; - BB69E1D6CEC9E10AE54250E7AB784350 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; BBE377769897DAE252463E9FBF29BC8E /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BCAC28A2D8E8844641C29DA71EB60B52 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */; }; BCAC98495106018E13D762372E82EEAB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BD404CF9254F05BF7D237EE170A4127E /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; BDAE918ABE7F2ACBB205636394F75D09 /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */; }; BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */; }; BEEB76E7AD6616232AC5F46FD6479AEE /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C0E53942B08455AAE075C1F9A13D5391 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; + C1D2C127C5139D12872167A778346D4B /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; C306725BFF8BED527CAF9C5DF347582B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; + C3B32F98E14894C6ACE1EC568CB49D64 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */; }; C4A92AB8E1A10C59FBE195F9BE016AC9 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C6F599EA4763AF8F3800DD36C8288A1F /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */; }; C70540930C6D8F38AF1ACEF8947D614F /* Pods-ObjCStarterUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */; }; - C7D85301BCFB74DF253F8BF0548803A0 /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */; }; + C81BFA169888A24CFB869E9ACD01E058 /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */; }; + C828A9B757692A005E083DEF8513DCBE /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; + C935CECB7A9723E05FC4F397C3692ABE /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; CC13841B90B320CB21909A654BAB0338 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; CD35879002C808275533461BE4273435 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */; }; - CEBEC57E58B908CD8A31307E5856EBA3 /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */; }; CEE2FFDE5A35884BCE99BF3744C9A159 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; - D045C67E7FDEA74865914A1D1A19C0C9 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */; }; - D24B3C6EAEC406E6626974E3260D64F4 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D22BF391E8E10D7B197443FD5F6AA802 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D2598CB124CFC39A011EBABC7AEEAFC7 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; D38D5438D495EE1F884D28EEB0792F61 /* Pods-ObjCStarter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */; }; - D7AA48A5AF31BBBB7DBF86819D3CBFB1 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */; }; - D8A929D54AAEDC194215E975FA52D9BB /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; - D8E504E9E667DA1B87449B546F040BFF /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D94400D09DC20380BFD972BC3B959656 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; DA00042A10F1EB9C33232C3315B417B5 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; DBD9AAB2309ECA5B73678C5E80849824 /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */; }; DC58BAB832042C6C5B9349C38521F7DF /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */; }; + DC73A3F29DEA501E4E31D2138E74187E /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; DF5B31EC219D8D651FC23AB015C55F39 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF6F342EFBC5F4FB66101470669BFE07 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DFCC301CF80C41E691B129505EB2120D /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */; }; - E2EC90E1DE8A28149F170285B4C14CED /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */; }; - E323284CCDBF805460C2E6021539F362 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; E3E66B8ADE74B5EAFE3F6F4CFE1F88D8 /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E497A999375984A849CDAD248653A22D /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; E55EFBE5EB3277E8EB46317736F4CDD2 /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */; }; - E60DAB175945FF4E2E573F947565634B /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E630ADE1C75F4DC324CA5076E64D2D0D /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E63234AA2FA40248D49F404BD46D471F /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; E6C1132C28F8B581F6278B59A1D079DC /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E738580612F37A1B79607108905F642A /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; E82F505BB11E034B6A6A13F242832584 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; - E86618C1E01C7275D9B5DC32B42EF0AF /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; E9180B95131D04BD35544A6FC76A9214 /* Pods-ObjCTvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */; }; - E91D7DE0BA20B74A7526AA59A7E8AB85 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; - E99281200DC25A129FEF04C510466302 /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */; }; - EA346207C73F8B998D6714F4D9D68AC8 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */; }; - EBB4EC5B6D609E819532830E11D02F21 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; EBBF514BDE35666F71886F457A2C63C6 /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EC35C538C4BC451E3FF2034ED60E50F5 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECB2179C8BB4A3B5F8DF1248107221E8 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECCBEF6E11E0141A4302E1A388AC76E9 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; ECDF4F985FEDBEBC7DD8757B823BF916 /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */; }; F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */; }; - F2BE9CDDAA9B66CCB168DF5D6E3C6021 /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */; }; - F3031BB66539DDF1FBA629243B15A078 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; + F1E852D7802A518097B58C269E640454 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; F37D2341EA17628C9C530215C07F87C9 /* Pods-ObjCStarterTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; F45EFB32917057BB9A54E79D2D5EC41E /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; - F57046A2C15DF8CC5F7CC5B375C60357 /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */; }; F915C5652C5C8B41FD7C5B8C20490ED9 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; F96E6D0F11E843E88903F76CA8A88495 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FB6339F629FC3AE28DEEB90174E3C254 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; FBAE2E07C31DC1927DEFA61492DBD3F1 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FDDA2E7B2A2959535E06050C276349FE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */; }; FE71F21E2945C46AA5EBE4CDDE0258BD /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */; }; + FEF1358BDF7F71F078B7DF4D7F8CDA9F /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */; }; FF26334930DE2FF64FF65BE7507461F8 /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */; }; /* End PBXBuildFile section */ @@ -244,7 +233,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 55F108B5206399DCEDBC008F6E8A790D; + remoteGlobalIDString = C896FCBED35B5FBB78EEF89D67E58380; remoteInfo = "CleverTap-iOS-SDK-tvOS"; }; 85CC18945347C350CDD3AF44AB560D4E /* PBXContainerItemProxy */ = { @@ -474,6 +463,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 6F7B91495EA411109414101CA06B536F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C0E53942B08455AAE075C1F9A13D5391 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 7587BCB4E2F1F4E54CEC0E6AE8D2CC0B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -506,14 +503,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C5C6C80D7842A68A68232804A2DC2E05 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 6FAD4153FDE84DE87E5B6C8E62D3FA42 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -947,46 +936,57 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D5B3196F5AC9347B38489257E0490FD9 /* Headers */ = { + E31C679DD14CDB04205E8ED0753099E0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5B6BDE509F05FCF9E92001B460735B3C /* CleverTap+SSLPinning.h in Headers */, - 61E89D87584B52582E0F16CB02DCE0DA /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, - 7AB0D47FB6FDF51F27F59C230DAC980E /* CleverTap.h in Headers */, - 1167AD752AA3B713E5F2E569E4C18CF5 /* CleverTapBuildInfo.h in Headers */, - AF6F272BB9C3452D1E6DA88E7D74D973 /* CleverTapEventDetail.h in Headers */, - E323284CCDBF805460C2E6021539F362 /* CleverTapInAppNotificationDelegate.h in Headers */, - D24B3C6EAEC406E6626974E3260D64F4 /* CleverTapInstanceConfig.h in Headers */, - D8E504E9E667DA1B87449B546F040BFF /* CleverTapInstanceConfigPrivate.h in Headers */, - 7F5CE69D8DA0E57CCF3715D29EE4D77D /* CleverTapSyncDelegate.h in Headers */, - 452AF49B7A28EDB30804170C1E382442 /* CleverTapTrackedViewController.h in Headers */, - 2BC84CBA7E21A4B138B798661593EF1C /* CleverTapUTMDetail.h in Headers */, - EC35C538C4BC451E3FF2034ED60E50F5 /* CTCertificatePinning.h in Headers */, - E630ADE1C75F4DC324CA5076E64D2D0D /* CTConstants.h in Headers */, - DF6F342EFBC5F4FB66101470669BFE07 /* CTDeviceInfo.h in Headers */, - ECB2179C8BB4A3B5F8DF1248107221E8 /* CTEventBuilder.h in Headers */, - A4E35E30D5220024D1DEB5C2D73E8475 /* CTKnownProfileFields.h in Headers */, - 3BB529C537130872877C744C0D4E4E05 /* CTLocalDataStore.h in Headers */, - D045C67E7FDEA74865914A1D1A19C0C9 /* CTLocationManager.h in Headers */, - A311DFD07C29F2CA7A6CFA36A7FC322C /* CTLogger.h in Headers */, - EBB4EC5B6D609E819532830E11D02F21 /* CTPinnedNSURLSessionDelegate.h in Headers */, - ECCBEF6E11E0141A4302E1A388AC76E9 /* CTPlistInfo.h in Headers */, - E60DAB175945FF4E2E573F947565634B /* CTPreferences.h in Headers */, - 06951585B474A4D799EA459FCC3928F8 /* CTProfileBuilder.h in Headers */, - E86618C1E01C7275D9B5DC32B42EF0AF /* CTSwizzle.h in Headers */, - 4C4223F4AE83DC6745D175966DD7EDA0 /* CTUriHelper.h in Headers */, - 6686716872EBC1F3C8DF27FC9DC6319F /* CTUtils.h in Headers */, - 3BB4C063D0E3CE6E24C5EF52DC9F8343 /* CTValidationResult.h in Headers */, - 079E4A00FBA50CE6A103A2D235618430 /* CTValidator.h in Headers */, + 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E31C679DD14CDB04205E8ED0753099E0 /* Headers */ = { + EE3506FF624E3DE25702CADDFACD8A9C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */, + 5E0CD82B079D21B38CD1E42BC5F980DA /* CleverTap+SSLPinning.h in Headers */, + 7A45023D650FE082BF31D31AEF1C140F /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, + 05D28BC6BCDE2E6F29831B5909F89C13 /* CleverTap.h in Headers */, + C1D2C127C5139D12872167A778346D4B /* CleverTapBuildInfo.h in Headers */, + DC73A3F29DEA501E4E31D2138E74187E /* CleverTapEventDetail.h in Headers */, + D22BF391E8E10D7B197443FD5F6AA802 /* CleverTapInAppNotificationDelegate.h in Headers */, + E63234AA2FA40248D49F404BD46D471F /* CleverTapInstanceConfig.h in Headers */, + 86B1856744C21524937E3A3D44CE27C7 /* CleverTapInstanceConfigPrivate.h in Headers */, + B2F90681509B2D55CFB531201486CFDB /* CleverTapSyncDelegate.h in Headers */, + 6D5DF2071997F03AA7EC8011CDA1A4F5 /* CleverTapTrackedViewController.h in Headers */, + DFCC301CF80C41E691B129505EB2120D /* CleverTapUTMDetail.h in Headers */, + 88095FE2EC623C778D842C3522EFC640 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, + 67CB07F73FDF5773223C8F0BC3D51A4D /* CTCertificatePinning.h in Headers */, + A447E2CA8639A56E24899F06B284044C /* CTConstants.h in Headers */, + 0B2E44ACFE8C56CCFA5D1168F940D29D /* CTDeviceInfo.h in Headers */, + 72E99FAB1D537E2B314D3DEC821EFD56 /* CTDismissButton.h in Headers */, + 07ABE0A903CD0664BAC7606ED72DAFAE /* CTEventBuilder.h in Headers */, + 9FE325ABD7A5AC1904339A7D6DDF25F4 /* CTInAppDisplayViewController.h in Headers */, + E497A999375984A849CDAD248653A22D /* CTInAppDisplayViewControllerPrivate.h in Headers */, + 333F26EF21B4379735B1E69037166B5E /* CTInAppFCManager.h in Headers */, + 1889EA45968D6163375BD08407525DEC /* CTInAppNotification.h in Headers */, + 1D6169F389E3717EECAA7A499D78C4E4 /* CTInAppResources.h in Headers */, + 27D7BA7CA09B87C2C1C9879DA1646F2F /* CTInAppUtils.h in Headers */, + 4E59471E287329B3BA80D5B960163C16 /* CTKnownProfileFields.h in Headers */, + AB64007F619FF3E2E1C4B45C30420D4B /* CTLocalDataStore.h in Headers */, + A9964B4BD0C01A56FF0E4BB7A9304267 /* CTLocationManager.h in Headers */, + 849F112FF2C2C30D49DEBBCDBA9D6651 /* CTLogger.h in Headers */, + 076084F7626D397738C2A26251DFBCD8 /* CTNotificationButton.h in Headers */, + 88388F4B17116A2F3E01B2D76C7E5F7C /* CTPinnedNSURLSessionDelegate.h in Headers */, + 971546AB280CBABE3E6A0D5548231E39 /* CTPlistInfo.h in Headers */, + 40C7AF991AB52D5322812098C4EBFFCC /* CTPreferences.h in Headers */, + 44590AEC3FD5CF2D7BB094E5E40FAED9 /* CTProfileBuilder.h in Headers */, + C935CECB7A9723E05FC4F397C3692ABE /* CTSwizzle.h in Headers */, + 86B6E306FA8D2CC0019F5088C0A1B19C /* CTUriHelper.h in Headers */, + 593ED641544EE9D7EBBA94C0AA2812FD /* CTUtils.h in Headers */, + A1D9385EB2AAB98707AE96FE9A2280EF /* CTValidationResult.h in Headers */, + AB14F4EF2756882152A01094F74A36B9 /* CTValidator.h in Headers */, + 7836414B1513D7BC71225AD3348CB828 /* FLAnimatedImage.h in Headers */, + 08D4FEF243BD5D1CD1BC7FA57EAF71F2 /* FLAnimatedImageView.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1029,24 +1029,6 @@ productReference = 5728456F8BE0DEEB64054DB1C14E9B98 /* Pods_ObjCTvOS.framework */; productType = "com.apple.product-type.framework"; }; - 55F108B5206399DCEDBC008F6E8A790D /* CleverTap-iOS-SDK-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = DF49165BBA59DCB1B8B59C4D2C0F7FF9 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; - buildPhases = ( - 8E5F18EC089C8E603989C0FF45AEB2BE /* Sources */, - C5C6C80D7842A68A68232804A2DC2E05 /* Frameworks */, - D5B3196F5AC9347B38489257E0490FD9 /* Headers */, - 41DC2B8D928F209D02257784A6BDE37C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "CleverTap-iOS-SDK-tvOS"; - productName = "CleverTap-iOS-SDK-tvOS"; - productReference = 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */; - productType = "com.apple.product-type.framework"; - }; 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */ = { isa = PBXNativeTarget; buildConfigurationList = F7968B2F653E5140F25B9FD5FBEAA97D /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */; @@ -1065,6 +1047,24 @@ productReference = 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */; productType = "com.apple.product-type.framework"; }; + C896FCBED35B5FBB78EEF89D67E58380 /* CleverTap-iOS-SDK-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 174842E44D4928FEAB5F40DDF0B61630 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; + buildPhases = ( + 91A3838ADEF5A689EAA9AF6FF845BDE6 /* Sources */, + 6F7B91495EA411109414101CA06B536F /* Frameworks */, + EE3506FF624E3DE25702CADDFACD8A9C /* Headers */, + A6A496C3AE1CA90CC4A4F9D06FFE55FA /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "CleverTap-iOS-SDK-tvOS"; + productName = "CleverTap-iOS-SDK-tvOS"; + productReference = 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */; + productType = "com.apple.product-type.framework"; + }; C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */ = { isa = PBXNativeTarget; buildConfigurationList = BD292037101A248D8AA3572F408CCA75 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterUITests" */; @@ -1123,7 +1123,7 @@ projectRoot = ""; targets = ( 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */, - 55F108B5206399DCEDBC008F6E8A790D /* CleverTap-iOS-SDK-tvOS */, + C896FCBED35B5FBB78EEF89D67E58380 /* CleverTap-iOS-SDK-tvOS */, 15A2154784E1253CC3BE0FD49723562E /* Pods-ObjCStarter */, D560E156203438D400C14AEA571513BC /* Pods-ObjCStarterTests */, C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */, @@ -1133,43 +1133,12 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 41DC2B8D928F209D02257784A6BDE37C /* Resources */ = { + A6A496C3AE1CA90CC4A4F9D06FFE55FA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 569EFE711972F4239594C5B978F67167 /* CTAVPlayerControlsViewController.xib in Resources */, - EA346207C73F8B998D6714F4D9D68AC8 /* CTCoverImageViewController~ipad.xib in Resources */, - 56604A36D20E8285C1826FB2131EE213 /* CTCoverImageViewController~iphoneport.xib in Resources */, - 76A6CCF4014D5CD9734F9CF3E6C04CAE /* CTCoverViewController~ipad.xib in Resources */, - C7D85301BCFB74DF253F8BF0548803A0 /* CTCoverViewController~iphoneport.xib in Resources */, - FDDA2E7B2A2959535E06050C276349FE /* CTFooterViewController~ipad.xib in Resources */, - AEAA8B96562F9AF5B63351773E158E16 /* CTFooterViewController~iphoneport.xib in Resources */, - 823944C5AF60C480B11782810EB2E4D7 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */, - D8A929D54AAEDC194215E975FA52D9BB /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */, - 8D1D1A8CE3FE192C9703159DD5F08FE1 /* CTHalfInterstitialViewController~ipad.xib in Resources */, - 3C19DE93CE1062EA5649F9E4AF1303C5 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */, - E2EC90E1DE8A28149F170285B4C14CED /* CTHeaderViewController~ipad.xib in Resources */, - BCAC28A2D8E8844641C29DA71EB60B52 /* CTHeaderViewController~iphoneport.xib in Resources */, - F2BE9CDDAA9B66CCB168DF5D6E3C6021 /* CTInterstitialImageViewController~ipad.xib in Resources */, - 67A429736A1F3932A14B6E992277EC88 /* CTInterstitialImageViewController~iphoneport.xib in Resources */, - 5CAAAA2E6CFDA83B434F8A4A75137EEC /* CTInterstitialViewController~ipad.xib in Resources */, - 7322C5BDD6A4AD039B40BA7D83946AD3 /* CTInterstitialViewController~iphoneport.xib in Resources */, - 190C6D848E69EF56AF378FEE9C89B21E /* DigiCertGlobalRootCA.crt in Resources */, - 002D6F77C1CC073E9B692B6EDAC4B6CA /* DigiCertSHA2SecureServerCA.crt in Resources */, - D7AA48A5AF31BBBB7DBF86819D3CBFB1 /* ic_expand@1x.png in Resources */, - 22BC87BD293CB8731CC192F83C4C9635 /* ic_expand@2x.png in Resources */, - 06AEC29D21463BDA1255273E01B8731C /* ic_expand@3x.png in Resources */, - C6F599EA4763AF8F3800DD36C8288A1F /* ic_pause@1x.png in Resources */, - B3CED6288EF1DE2112C767CBA9476A4E /* ic_pause@2x.png in Resources */, - 8F08D75086D10AD560E39ACD964AD466 /* ic_pause@3x.png in Resources */, - AA11FE043546F024838D81971112B55D /* ic_play@1x.png in Resources */, - CEBEC57E58B908CD8A31307E5856EBA3 /* ic_play@2x.png in Resources */, - 9D5714A5BA4631422A53B292EE95C0F5 /* ic_play@3x.png in Resources */, - 5BB755A125DECD98F9821CF2CA46A6A7 /* ic_shrink@1x.png in Resources */, - 4FE12B2BAFC97144E7C3C38D764D0965 /* ic_shrink@2x.png in Resources */, - 055DA5FBCDEF998A72B77E57AC890D2D /* ic_shrink@3x.png in Resources */, - E99281200DC25A129FEF04C510466302 /* ic_thumb.png in Resources */, - F57046A2C15DF8CC5F7CC5B375C60357 /* sound-wave-headphones.png in Resources */, + 6254EA02D96192B830CA81D0504FC4C8 /* DigiCertGlobalRootCA.crt in Resources */, + 8EAAAC35AFCF075E451F3A263DC2C836 /* DigiCertSHA2SecureServerCA.crt in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1232,33 +1201,42 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8E5F18EC089C8E603989C0FF45AEB2BE /* Sources */ = { + 91A3838ADEF5A689EAA9AF6FF845BDE6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2E8265E14C23A786924FCC22694FA374 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, - 5BB0121D5D2F1F1508C9C283C5F4AA8F /* CleverTap.m in Sources */, - F3031BB66539DDF1FBA629243B15A078 /* CleverTapEventDetail.m in Sources */, - B9EC5ED559B5F0977E7F98BEDC573E2C /* CleverTapInstanceConfig.m in Sources */, - 96CE12051098467CD5280A6A10EC22A6 /* CleverTapTrackedViewController.m in Sources */, - 0A171AAFCA976EA20AE06219196AF882 /* CleverTapUTMDetail.m in Sources */, - BD404CF9254F05BF7D237EE170A4127E /* CTCertificatePinning.m in Sources */, - E91D7DE0BA20B74A7526AA59A7E8AB85 /* CTConstants.m in Sources */, - 6FAF3F4B6B8F0C2EF0AA1685C3CC5692 /* CTDeviceInfo.m in Sources */, - D94400D09DC20380BFD972BC3B959656 /* CTEventBuilder.m in Sources */, - 129B1B98DAB42DF0F65AF0D0D70FF8F7 /* CTKnownProfileFields.m in Sources */, - 1CB4154378F5836A87478781337E9ADD /* CTLocalDataStore.m in Sources */, - BB69E1D6CEC9E10AE54250E7AB784350 /* CTLocationManager.m in Sources */, - 73AC5A020AD4CF286E09923E03B79351 /* CTLogger.m in Sources */, - 79DB9AFD4B0331CD8329F420D75F48B8 /* CTPinnedNSURLSessionDelegate.m in Sources */, - 8104C9879B6226FDF211DA0AA9685EC2 /* CTPlistInfo.m in Sources */, - 0C624C6C80F4B247DE0A774E1ABEF6E9 /* CTPreferences.m in Sources */, - 2A5DA081DAEBEA9CC36C6B9BB837540C /* CTProfileBuilder.m in Sources */, - BB24BBDAD2523EF2FF49D64E5C54E16C /* CTSwizzle.m in Sources */, - AAC83DFAE07BD3F543F182FE99703EEC /* CTUriHelper.m in Sources */, - 709BCA989DEF53D3F66259E50E60CC04 /* CTUtils.m in Sources */, - 1977CC591DD13138E8D3A793500E5A82 /* CTValidationResult.m in Sources */, - 5D34BED176F619CB53A829E7E961EDC1 /* CTValidator.m in Sources */, + 27D477A7F7B0CC4B29CB4A7820C2EB75 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, + 1B73D88BC10F85CED2C02F5A28B92F93 /* CleverTap.m in Sources */, + 0E7E47E0D15E975BD3A03B8A58BB5390 /* CleverTapEventDetail.m in Sources */, + 23121489DE044E8079F747AD3EAA818E /* CleverTapInstanceConfig.m in Sources */, + 5174F42089BC2CACCB11191E86F51778 /* CleverTapTrackedViewController.m in Sources */, + A9544352BEACE9C582760C92E84F9FB8 /* CleverTapUTMDetail.m in Sources */, + 7ACABE3E53CF13396FFA8FB2D2BB6218 /* CTCertificatePinning.m in Sources */, + 2F7C3E3DC879FA11EAFA7F7500F6E951 /* CTConstants.m in Sources */, + 9E61CCA021E2B99C1C19F35CBE004500 /* CTDeviceInfo.m in Sources */, + 49D0DBE1443264B9BBF27CB9DF25A520 /* CTDismissButton.m in Sources */, + D2598CB124CFC39A011EBABC7AEEAFC7 /* CTEventBuilder.m in Sources */, + 1D28C7B1EE3B24FC51B6C017035104A4 /* CTInAppDisplayViewController.m in Sources */, + C81BFA169888A24CFB869E9ACD01E058 /* CTInAppFCManager.m in Sources */, + FEF1358BDF7F71F078B7DF4D7F8CDA9F /* CTInAppNotification.m in Sources */, + ABC1AC7BA53245344348A4C3256D1433 /* CTInAppResources.m in Sources */, + 446D6F25CE629C2D52F18FFF8F6C1A2B /* CTInAppUtils.m in Sources */, + 07C1D1BB72E7E6E80AF9A3D12C4A1089 /* CTKnownProfileFields.m in Sources */, + 51C164DE9D34C08A4F0FE3065AF8DD9B /* CTLocalDataStore.m in Sources */, + FB6339F629FC3AE28DEEB90174E3C254 /* CTLocationManager.m in Sources */, + 00A4CA5DCB88A67D6B59C50BC6A0A07C /* CTLogger.m in Sources */, + 4E7D86AB2D5FB86F1F43F1F4598BA3DE /* CTNotificationButton.m in Sources */, + ADD9C3AD50075E5A5B390FD7EF2FB82C /* CTPinnedNSURLSessionDelegate.m in Sources */, + E738580612F37A1B79607108905F642A /* CTPlistInfo.m in Sources */, + 31BECA92A2D69048FB747C45BD833005 /* CTPreferences.m in Sources */, + 3BA350F697ED0F2ED2C0E6E1FC67128A /* CTProfileBuilder.m in Sources */, + C828A9B757692A005E083DEF8513DCBE /* CTSwizzle.m in Sources */, + 5483CA64DD225F76309BE34E56BACDCF /* CTUriHelper.m in Sources */, + B13A8C8F3D807F8B4E1D1876DDDEB666 /* CTUtils.m in Sources */, + 00713EE655A6B3CE02B166E0F0719659 /* CTValidationResult.m in Sources */, + F1E852D7802A518097B58C269E640454 /* CTValidator.m in Sources */, + C3B32F98E14894C6ACE1EC568CB49D64 /* FLAnimatedImage.m in Sources */, + B241D6EE4A1D6E401CFC16EC81C34507 /* FLAnimatedImageView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1343,7 +1321,7 @@ 544025B63D2952CCC4F95480DC296E60 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CleverTap-iOS-SDK-tvOS"; - target = 55F108B5206399DCEDBC008F6E8A790D /* CleverTap-iOS-SDK-tvOS */; + target = C896FCBED35B5FBB78EEF89D67E58380 /* CleverTap-iOS-SDK-tvOS */; targetProxy = 6355539A8E6B214EB333693782F206D4 /* PBXContainerItemProxy */; }; A8FE32EA9EF5C7EAC7C3DCAEAE63BB8C /* PBXTargetDependency */ = { @@ -1361,36 +1339,6 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 053BA68A3D90E6AE722D86DEB9781817 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 3205C2DE211CDD92034B5AE563E2336E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1717,10 +1665,11 @@ }; name = Debug; }; - B0026B388EC28CDC294811BC6E31A12F /* Release */ = { + B2C475166AF9E90A46F0EA6DF2E4A177 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; + baseConfigurationReference = 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1730,29 +1679,29 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-ObjCTvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - B2C475166AF9E90A46F0EA6DF2E4A177 /* Debug */ = { + B87FCDEAF23DBD8E58633982EA8B9163 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */; + baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1762,24 +1711,23 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-ObjCTvOS/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; SDKROOT = appletvos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; E1E09323831AB5BBB8A10408DE68A842 /* Release */ = { isa = XCBuildConfiguration; @@ -1850,6 +1798,36 @@ }; name = Debug; }; + F0F94605403893F23432F7A04948DC35 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; F60560D5F12C2572DAA289E2D8763065 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */; @@ -1892,6 +1870,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 174842E44D4928FEAB5F40DDF0B61630 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F0F94605403893F23432F7A04948DC35 /* Debug */, + B87FCDEAF23DBD8E58633982EA8B9163 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1919,15 +1906,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DF49165BBA59DCB1B8B59C4D2C0F7FF9 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 053BA68A3D90E6AE722D86DEB9781817 /* Debug */, - B0026B388EC28CDC294811BC6E31A12F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; EF14EE64C278EDE5A0503CA4D73F1882 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterTests" */ = { isa = XCConfigurationList; buildConfigurations = ( From 5c2da6726f206118c5a34d119119baa409209e7b Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Fri, 26 Oct 2018 16:31:06 +0530 Subject: [PATCH 3/5] update to 3.3.0 --- CHANGELOG.md | 6 + CleverTap-iOS-SDK.podspec | 4 +- CleverTapSDK.xcodeproj/project.pbxproj | 438 ++++- .../CTInAppDisplayViewController.h | 0 .../CTInAppDisplayViewController.m | 0 .../CTInAppDisplayViewControllerPrivate.h | 0 CleverTapSDK/{InApps => }/CTInAppFCManager.h | 0 CleverTapSDK/{InApps => }/CTInAppFCManager.m | 0 .../{InApps => }/CTInAppNotification.h | 1 - .../{InApps => }/CTInAppNotification.m | 16 +- CleverTapSDK/{InApps => }/CTInAppResources.h | 0 CleverTapSDK/{InApps => }/CTInAppResources.m | 0 CleverTapSDK/{InApps => }/CTInAppUtils.h | 0 CleverTapSDK/{InApps => }/CTInAppUtils.m | 2 +- .../{InApps => }/CTNotificationButton.h | 0 .../{InApps => }/CTNotificationButton.m | 0 CleverTapSDK/{InApps => }/FLAnimatedImage.h | 0 CleverTapSDK/{InApps => }/FLAnimatedImage.m | 0 .../InApps/CTAVPlayerViewController.m | 2 +- .../InApps/CTCoverImageViewController.m | 2 + .../CTHalfInterstitialImageViewController.m | 2 + .../CTHalfInterstitialViewController~ipad.xib | 1 + .../CTInterstitialImageViewController.m | 2 + CleverTapSDK/InApps/CTSlider.h | 8 - CleverTapSDK/InApps/CTSlider.m | 16 - .../InApps/images/sound-wave-headphones.png | Bin 108604 -> 46385 bytes .../ObjCStarter.xcodeproj/project.pbxproj | 30 +- ObjCStarter/ObjCStarter/ViewController.m | 18 - ObjCStarter/ObjCTvOS/AppDelegate.m | 2 +- ObjCStarter/Podfile.lock | 2 +- .../CleverTap-iOS-SDK.podspec.json | 18 +- ObjCStarter/Pods/Manifest.lock | 2 +- .../Pods/Pods.xcodeproj/project.pbxproj | 1554 ++++++++--------- 33 files changed, 1174 insertions(+), 952 deletions(-) rename CleverTapSDK/{InApps => }/CTInAppDisplayViewController.h (100%) rename CleverTapSDK/{InApps => }/CTInAppDisplayViewController.m (100%) rename CleverTapSDK/{InApps => }/CTInAppDisplayViewControllerPrivate.h (100%) rename CleverTapSDK/{InApps => }/CTInAppFCManager.h (100%) rename CleverTapSDK/{InApps => }/CTInAppFCManager.m (100%) rename CleverTapSDK/{InApps => }/CTInAppNotification.h (97%) rename CleverTapSDK/{InApps => }/CTInAppNotification.m (95%) rename CleverTapSDK/{InApps => }/CTInAppResources.h (100%) rename CleverTapSDK/{InApps => }/CTInAppResources.m (100%) rename CleverTapSDK/{InApps => }/CTInAppUtils.h (100%) rename CleverTapSDK/{InApps => }/CTInAppUtils.m (98%) rename CleverTapSDK/{InApps => }/CTNotificationButton.h (100%) rename CleverTapSDK/{InApps => }/CTNotificationButton.m (100%) rename CleverTapSDK/{InApps => }/FLAnimatedImage.h (100%) rename CleverTapSDK/{InApps => }/FLAnimatedImage.m (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 982e4f6b..394e0a4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGE LOG +## Version 3.3.0 (October 26, 2018) +* Adds support for Native InApp Notifications + +## Version 3.2.2 (September 26, 2018) +* Update Build Info + ## Version 3.2.1 (September 26, 2018) * Fix method swizzling issue diff --git a/CleverTap-iOS-SDK.podspec b/CleverTap-iOS-SDK.podspec index 15fa6459..c35c24b0 100644 --- a/CleverTap-iOS-SDK.podspec +++ b/CleverTap-iOS-SDK.podspec @@ -14,8 +14,6 @@ s.ios.deployment_target = '8.0' s.ios.source_files = 'CleverTapSDK/**/*.{h,m}' s.ios.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapInAppNotificationDelegate.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h' s.tvos.deployment_target = '9.0' -s.tvos.source_files = 'CleverTapSDK/**/*.{h,m}' -s.tvos.exclude_files = 'CleverTapSDK/**/CTInAppHTMLViewController.{h,m}','CleverTapSDK/**/CTCoverViewController.{h,m}','CleverTapSDK/**/CTInterstitialViewController.{h,m}','CleverTapSDK/**/CTHeaderViewController.{h,m}','CleverTapSDK/**/CTFooterViewController.{h,m}','CleverTapSDK/**/CTAlertViewController.{h,m}','CleverTapSDK/**/CTHalfInterstitialViewController.{h,m}','CleverTapSDK/**/CTInterstitialImageViewController.{h,m}','CleverTapSDK/**/CTCoverImageViewController.{h,m}','CleverTapSDK/**/CTHalfInterstitialImageViewController.{h,m}','CleverTapSDK/**/CTAVPlayerViewController.{h,m}','CleverTapSDK/**/CTSlider.{h,m}','CleverTapSDK/**/CTAVPlayerControlsViewController.{h,m}','CleverTapSDK/**/CTBaseHeaderFooterViewController.{h,m}' - +s.tvos.source_files = 'CleverTapSDK/*.{h,m}' s.tvos.public_header_files = 'CleverTapSDK/CleverTap.h', 'CleverTapSDK/CleverTap+SSLPinning.h', 'CleverTapSDK/CleverTapInstanceConfig.h', 'CleverTapSDK/CleverTapBuildInfo.h', 'CleverTapSDK/CleverTapEventDetail.h', 'CleverTapSDK/CleverTapSyncDelegate.h', 'CleverTapSDK/CleverTapTrackedViewController.h', 'CleverTapSDK/CleverTapUTMDetail.h' end diff --git a/CleverTapSDK.xcodeproj/project.pbxproj b/CleverTapSDK.xcodeproj/project.pbxproj index 3244edfb..89c4cb93 100644 --- a/CleverTapSDK.xcodeproj/project.pbxproj +++ b/CleverTapSDK.xcodeproj/project.pbxproj @@ -7,20 +7,106 @@ objects = { /* Begin PBXBuildFile section */ + 071EB4C7217F6427008F0FAB /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB477217F6427008F0FAB /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4C8217F6427008F0FAB /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB478217F6427008F0FAB /* CTDismissButton.m */; }; + 071EB4C9217F6427008F0FAB /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB479217F6427008F0FAB /* CTHeaderViewController.m */; }; + 071EB4CA217F6427008F0FAB /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB47A217F6427008F0FAB /* CTHalfInterstitialViewController~ipad.xib */; }; + 071EB4CB217F6427008F0FAB /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB47B217F6427008F0FAB /* CTHalfInterstitialViewController~iphoneport.xib */; }; + 071EB4CC217F6427008F0FAB /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB47C217F6427008F0FAB /* CTHalfInterstitialViewController.m */; }; + 071EB4CD217F6427008F0FAB /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB47D217F6427008F0FAB /* CTInAppUtils.m */; }; + 071EB4CE217F6427008F0FAB /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB47E217F6427008F0FAB /* CTInAppDisplayViewController.m */; }; + 071EB4CF217F6427008F0FAB /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB47F217F6427008F0FAB /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4D0217F6427008F0FAB /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB480217F6427008F0FAB /* CTInterstitialViewController~ipad.xib */; }; + 071EB4D1217F6427008F0FAB /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB481217F6427008F0FAB /* CTNotificationButton.m */; }; + 071EB4D2217F6427008F0FAB /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB482217F6427008F0FAB /* CTInterstitialImageViewController.m */; }; + 071EB4D3217F6427008F0FAB /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB483217F6427008F0FAB /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4D4217F6427008F0FAB /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB484217F6427008F0FAB /* CTBaseHeaderFooterViewController.m */; }; + 071EB4D5217F6427008F0FAB /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB485217F6427008F0FAB /* CTCoverImageViewController~iphoneport.xib */; }; + 071EB4D6217F6427008F0FAB /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB486217F6427008F0FAB /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4D7217F6427008F0FAB /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB487217F6427008F0FAB /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4D8217F6427008F0FAB /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB488217F6427008F0FAB /* CTHalfInterstitialImageViewController.m */; }; + 071EB4D9217F6427008F0FAB /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB489217F6427008F0FAB /* FLAnimatedImage.m */; }; + 071EB4DA217F6427008F0FAB /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB48B217F6427008F0FAB /* ic_shrink@2x.png */; }; + 071EB4DB217F6427008F0FAB /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB48C217F6427008F0FAB /* ic_play@1x.png */; }; + 071EB4DC217F6427008F0FAB /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB48D217F6427008F0FAB /* ic_shrink@3x.png */; }; + 071EB4DD217F6427008F0FAB /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB48E217F6427008F0FAB /* ic_thumb.png */; }; + 071EB4DF217F6427008F0FAB /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB490217F6427008F0FAB /* ic_expand@3x.png */; }; + 071EB4E0217F6427008F0FAB /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB491217F6427008F0FAB /* ic_expand@2x.png */; }; + 071EB4E1217F6427008F0FAB /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB492217F6427008F0FAB /* ic_pause@1x.png */; }; + 071EB4E2217F6427008F0FAB /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB493217F6427008F0FAB /* ic_pause@2x.png */; }; + 071EB4E3217F6427008F0FAB /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB494217F6427008F0FAB /* ic_expand@1x.png */; }; + 071EB4E4217F6427008F0FAB /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB495217F6427008F0FAB /* ic_pause@3x.png */; }; + 071EB4E5217F6427008F0FAB /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB496217F6427008F0FAB /* ic_play@3x.png */; }; + 071EB4E6217F6427008F0FAB /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB497217F6427008F0FAB /* ic_play@2x.png */; }; + 071EB4E7217F6427008F0FAB /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 071EB498217F6427008F0FAB /* ic_shrink@1x.png */; }; + 071EB4E8217F6427008F0FAB /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB499217F6427008F0FAB /* CTFooterViewController~ipad.xib */; }; + 071EB4E9217F6427008F0FAB /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB49A217F6427008F0FAB /* CTSlider.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4EA217F6427008F0FAB /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB49B217F6427008F0FAB /* FLAnimatedImageView.m */; }; + 071EB4EB217F6427008F0FAB /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB49C217F6427008F0FAB /* CTCoverImageViewController.m */; }; + 071EB4EC217F6427008F0FAB /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB49D217F6427008F0FAB /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4ED217F6427008F0FAB /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB49E217F6427008F0FAB /* CTInterstitialImageViewController~iphoneport.xib */; }; + 071EB4EE217F6427008F0FAB /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB49F217F6427008F0FAB /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4EF217F6427008F0FAB /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4A0217F6427008F0FAB /* CTInterstitialViewController.m */; }; + 071EB4F0217F6427008F0FAB /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4A1217F6427008F0FAB /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4F1217F6427008F0FAB /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4A2217F6427008F0FAB /* CTAVPlayerControlsViewController.xib */; }; + 071EB4F2217F6427008F0FAB /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4A3217F6427008F0FAB /* CTCoverViewController~iphoneport.xib */; }; + 071EB4F3217F6427008F0FAB /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4A4217F6427008F0FAB /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4F4217F6427008F0FAB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4A5217F6427008F0FAB /* CTCoverViewController~ipad.xib */; }; + 071EB4F5217F6427008F0FAB /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4A6217F6427008F0FAB /* CTInAppHTMLViewController.m */; }; + 071EB4F6217F6427008F0FAB /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4A7217F6427008F0FAB /* CTInAppResources.m */; }; + 071EB4F7217F6427008F0FAB /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4A8217F6427008F0FAB /* CTHeaderViewController~iphoneport.xib */; }; + 071EB4F8217F6427008F0FAB /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4A9217F6427008F0FAB /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4F9217F6427008F0FAB /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AA217F6427008F0FAB /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4FA217F6427008F0FAB /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4AB217F6427008F0FAB /* CTAVPlayerViewController.m */; }; + 071EB4FB217F6427008F0FAB /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AC217F6427008F0FAB /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4FC217F6427008F0FAB /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AD217F6427008F0FAB /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4FD217F6427008F0FAB /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AE217F6427008F0FAB /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4FE217F6427008F0FAB /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AF217F6427008F0FAB /* CTDismissButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB4FF217F6427008F0FAB /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4B0217F6427008F0FAB /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB500217F6427008F0FAB /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4B1217F6427008F0FAB /* CTHeaderViewController~ipad.xib */; }; + 071EB501217F6427008F0FAB /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4B2217F6427008F0FAB /* CTFooterViewController.m */; }; + 071EB502217F6427008F0FAB /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4B3217F6427008F0FAB /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB503217F6427008F0FAB /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4B4217F6427008F0FAB /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB504217F6427008F0FAB /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4B5217F6427008F0FAB /* CTInterstitialViewController~iphoneport.xib */; }; + 071EB505217F6427008F0FAB /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4B6217F6427008F0FAB /* CTCoverViewController.m */; }; + 071EB506217F6427008F0FAB /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4B7217F6427008F0FAB /* CTInAppFCManager.m */; }; + 071EB507217F6427008F0FAB /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4B8217F6427008F0FAB /* CTFooterViewController~iphoneport.xib */; }; + 071EB508217F6427008F0FAB /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4B9217F6427008F0FAB /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB509217F6427008F0FAB /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4BA217F6427008F0FAB /* CTAlertViewController.m */; }; + 071EB50A217F6427008F0FAB /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4BB217F6427008F0FAB /* CTHalfInterstitialImageViewController~ipad.xib */; }; + 071EB50B217F6427008F0FAB /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4BC217F6427008F0FAB /* CTAVPlayerControlsViewController.m */; }; + 071EB50C217F6427008F0FAB /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4BD217F6427008F0FAB /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB50D217F6427008F0FAB /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4BE217F6427008F0FAB /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB50E217F6427008F0FAB /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4BF217F6427008F0FAB /* CTInterstitialImageViewController~ipad.xib */; }; + 071EB50F217F6427008F0FAB /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4C0217F6427008F0FAB /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; + 071EB510217F6427008F0FAB /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4C1217F6427008F0FAB /* CTSlider.m */; }; + 071EB511217F6427008F0FAB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4C2217F6427008F0FAB /* CTInAppResources.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB512217F6427008F0FAB /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4C3217F6427008F0FAB /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB513217F6427008F0FAB /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4C4217F6427008F0FAB /* CTInAppNotification.m */; }; + 071EB514217F6427008F0FAB /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 071EB4C5217F6427008F0FAB /* CTCoverImageViewController~ipad.xib */; }; + 071EB515217F6427008F0FAB /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4C6217F6427008F0FAB /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB518217F6510008F0FAB /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB486217F6427008F0FAB /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB519217F6513008F0FAB /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4B7217F6427008F0FAB /* CTInAppFCManager.m */; }; + 071EB51A217F6565008F0FAB /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4A4217F6427008F0FAB /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB51B217F6568008F0FAB /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4C4217F6427008F0FAB /* CTInAppNotification.m */; }; + 071EB51C217F6721008F0FAB /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4B3217F6427008F0FAB /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB51F217F6730008F0FAB /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB489217F6427008F0FAB /* FLAnimatedImage.m */; }; + 071EB521217F6764008F0FAB /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AA217F6427008F0FAB /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB525217F6C8F008F0FAB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4C2217F6427008F0FAB /* CTInAppResources.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 071EB527217F6CD1008F0FAB /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB481217F6427008F0FAB /* CTNotificationButton.m */; }; + 079701E52180A055008BF668 /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = 079701E42180A055008BF668 /* sound-wave-headphones.png */; }; + 07BF465B217F7C41002E166D /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AC217F6427008F0FAB /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 07BF465C217F7C4B002E166D /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB47E217F6427008F0FAB /* CTInAppDisplayViewController.m */; }; + 07BF465D217F7C88002E166D /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4A1217F6427008F0FAB /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 07BF4661217F80C1002E166D /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB4A7217F6427008F0FAB /* CTInAppResources.m */; }; + 07BF4662217F8359002E166D /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AE217F6427008F0FAB /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 07BF4663217F838D002E166D /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB47D217F6427008F0FAB /* CTInAppUtils.m */; }; D0047B0A2098D45B0019C6FD /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B082098D45B0019C6FD /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Private, ); }; }; D0047B0B2098D45B0019C6FD /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B092098D45B0019C6FD /* CTLocalDataStore.m */; }; D0047B0E2098E2F00019C6FD /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B0C2098E2F00019C6FD /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Private, ); }; }; D0047B0F2098E2F00019C6FD /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B0D2098E2F00019C6FD /* CTProfileBuilder.m */; }; D0047B122098EDA90019C6FD /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B102098EDA90019C6FD /* CTLocationManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; D0047B132098EDA90019C6FD /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B112098EDA90019C6FD /* CTLocationManager.m */; }; - D0047B1E209904DD0019C6FD /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B1C209904DD0019C6FD /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D0047B1F209904DD0019C6FD /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B1D209904DD0019C6FD /* CTInAppFCManager.m */; }; - D0047B22209935200019C6FD /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B20209935200019C6FD /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D0047B23209935200019C6FD /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B21209935200019C6FD /* CTInAppUtils.m */; }; - D0047B26209935EA0019C6FD /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B24209935EA0019C6FD /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D0047B27209935EA0019C6FD /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B25209935EA0019C6FD /* CTInAppDisplayViewController.m */; }; - D0047B2A209936510019C6FD /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B28209936510019C6FD /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D0047B2B209936510019C6FD /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B29209936510019C6FD /* CTInAppNotification.m */; }; D014B8DF20E2F9DE001E0780 /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C7BBC8207D8837001345EF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; D014B8E020E2F9E6001E0780 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D0C7BBC9207D8837001345EF /* CleverTap.m */; }; D014B8E120E2F9E9001E0780 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = D0CACF8A20B890EA00A02327 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -66,17 +152,6 @@ D014B90920E2FB71001E0780 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B092098D45B0019C6FD /* CTLocalDataStore.m */; }; D014B90A20E2FB74001E0780 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B0C2098E2F00019C6FD /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Private, ); }; }; D014B90B20E2FB7A001E0780 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B0D2098E2F00019C6FD /* CTProfileBuilder.m */; }; - D014B90E20E2FB89001E0780 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B1C209904DD0019C6FD /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B90F20E2FB8F001E0780 /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B1D209904DD0019C6FD /* CTInAppFCManager.m */; }; - D014B91020E2FB93001E0780 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B20209935200019C6FD /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B91120E2FB99001E0780 /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B21209935200019C6FD /* CTInAppUtils.m */; }; - D014B91220E2FB9C001E0780 /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B28209936510019C6FD /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B91320E2FBA3001E0780 /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B29209936510019C6FD /* CTInAppNotification.m */; }; - D014B91420E2FBA8001E0780 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B24209935EA0019C6FD /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B91620E2FBB8001E0780 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B2C209936E00019C6FD /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B91720E2FBB9001E0780 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B2C209936E00019C6FD /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B91A20E2FBC8001E0780 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = D0A9802E209B892100499991 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D014B91B20E2FBCD001E0780 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A9802F209B892100499991 /* CTDismissButton.m */; }; D014B91C20E2FBD1001E0780 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = D0CACF8C20B8A44B00A02327 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Private, ); }; }; D014B91D20E2FBD6001E0780 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = D0CACF8D20B8A44C00A02327 /* CTCertificatePinning.m */; }; D014B91E20E2FBDA001E0780 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D0CACF9420B8A4F800A02327 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -91,7 +166,6 @@ D01A0895207EC2D400423D6F /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = D01A0893207EC2D400423D6F /* CleverTapInstanceConfig.m */; }; D01A0898207ED98300423D6F /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = D01A0896207ED98300423D6F /* CTPlistInfo.m */; }; D01A0899207ED98300423D6F /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = D01A0897207ED98300423D6F /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D01F688B210295A7004DEC85 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B25209935EA0019C6FD /* CTInAppDisplayViewController.m */; }; D020C928209006AD0073F61E /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = D020C926209006AD0073F61E /* CTUriHelper.h */; settings = {ATTRIBUTES = (Private, ); }; }; D020C929209006AD0073F61E /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = D020C927209006AD0073F61E /* CTUriHelper.m */; }; D0213D4B207D905800FE5740 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D0213D43207D905700FE5740 /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -116,11 +190,6 @@ D0A84AD9209135D400191B1F /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A84AD7209135D400191B1F /* CTPreferences.m */; }; D0A84ADC209136D500191B1F /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = D0A84ADA209136D500191B1F /* CTLogger.h */; settings = {ATTRIBUTES = (Private, ); }; }; D0A84ADD209136D500191B1F /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A84ADB209136D500191B1F /* CTLogger.m */; }; - D0A9802C209B83B100499991 /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D0A9802A209B83B100499991 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D0A9802D209B83B100499991 /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A9802B209B83B100499991 /* CTInAppHTMLViewController.m */; }; - D0A98030209B892100499991 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = D0A9802E209B892100499991 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D0A98031209B892100499991 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D0A9802F209B892100499991 /* CTDismissButton.m */; }; - D0A9E9CC20EEA8500004BC6F /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D0A9802A209B83B100499991 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; D0A9E9CD20EEA8630004BC6F /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D0047B102098EDA90019C6FD /* CTLocationManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; D0A9E9CE20EEA8770004BC6F /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D0047B112098EDA90019C6FD /* CTLocationManager.m */; }; D0C7BBCA207D8837001345EF /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = D0C7BBC8207D8837001345EF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -136,21 +205,91 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 071EB477217F6427008F0FAB /* CTFooterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTFooterViewController.h; sourceTree = ""; }; + 071EB478217F6427008F0FAB /* CTDismissButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; + 071EB479217F6427008F0FAB /* CTHeaderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTHeaderViewController.m; sourceTree = ""; }; + 071EB47A217F6427008F0FAB /* CTHalfInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 071EB47B217F6427008F0FAB /* CTHalfInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB47C217F6427008F0FAB /* CTHalfInterstitialViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialViewController.m; sourceTree = ""; }; + 071EB47D217F6427008F0FAB /* CTInAppUtils.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInAppUtils.m; sourceTree = ""; }; + 071EB47E217F6427008F0FAB /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInAppDisplayViewController.m; sourceTree = ""; }; + 071EB47F217F6427008F0FAB /* CTBaseHeaderFooterViewControllerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewControllerPrivate.h; sourceTree = ""; }; + 071EB480217F6427008F0FAB /* CTInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 071EB481217F6427008F0FAB /* CTNotificationButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTNotificationButton.m; sourceTree = ""; }; + 071EB482217F6427008F0FAB /* CTInterstitialImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialImageViewController.m; sourceTree = ""; }; + 071EB483217F6427008F0FAB /* CTAVPlayerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerViewController.h; sourceTree = ""; }; + 071EB484217F6427008F0FAB /* CTBaseHeaderFooterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTBaseHeaderFooterViewController.m; sourceTree = ""; }; + 071EB485217F6427008F0FAB /* CTCoverImageViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTCoverImageViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB486217F6427008F0FAB /* CTInAppFCManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppFCManager.h; sourceTree = ""; }; + 071EB487217F6427008F0FAB /* CTCoverViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTCoverViewController.h; sourceTree = ""; }; + 071EB488217F6427008F0FAB /* CTHalfInterstitialImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialImageViewController.m; sourceTree = ""; }; + 071EB489217F6427008F0FAB /* FLAnimatedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImage.m; sourceTree = ""; }; + 071EB48B217F6427008F0FAB /* ic_shrink@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_shrink@2x.png"; sourceTree = ""; }; + 071EB48C217F6427008F0FAB /* ic_play@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_play@1x.png"; sourceTree = ""; }; + 071EB48D217F6427008F0FAB /* ic_shrink@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_shrink@3x.png"; sourceTree = ""; }; + 071EB48E217F6427008F0FAB /* ic_thumb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ic_thumb.png; sourceTree = ""; }; + 071EB490217F6427008F0FAB /* ic_expand@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_expand@3x.png"; sourceTree = ""; }; + 071EB491217F6427008F0FAB /* ic_expand@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_expand@2x.png"; sourceTree = ""; }; + 071EB492217F6427008F0FAB /* ic_pause@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_pause@1x.png"; sourceTree = ""; }; + 071EB493217F6427008F0FAB /* ic_pause@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_pause@2x.png"; sourceTree = ""; }; + 071EB494217F6427008F0FAB /* ic_expand@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_expand@1x.png"; sourceTree = ""; }; + 071EB495217F6427008F0FAB /* ic_pause@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_pause@3x.png"; sourceTree = ""; }; + 071EB496217F6427008F0FAB /* ic_play@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_play@3x.png"; sourceTree = ""; }; + 071EB497217F6427008F0FAB /* ic_play@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_play@2x.png"; sourceTree = ""; }; + 071EB498217F6427008F0FAB /* ic_shrink@1x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ic_shrink@1x.png"; sourceTree = ""; }; + 071EB499217F6427008F0FAB /* CTFooterViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTFooterViewController~ipad.xib"; sourceTree = ""; }; + 071EB49A217F6427008F0FAB /* CTSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTSlider.h; sourceTree = ""; }; + 071EB49B217F6427008F0FAB /* FLAnimatedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImageView.m; sourceTree = ""; }; + 071EB49C217F6427008F0FAB /* CTCoverImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTCoverImageViewController.m; sourceTree = ""; }; + 071EB49D217F6427008F0FAB /* CTAVPlayerControlsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerControlsViewController.h; sourceTree = ""; }; + 071EB49E217F6427008F0FAB /* CTInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB49F217F6427008F0FAB /* CTAlertViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTAlertViewController.h; sourceTree = ""; }; + 071EB4A0217F6427008F0FAB /* CTInterstitialViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialViewController.m; sourceTree = ""; }; + 071EB4A1217F6427008F0FAB /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; + 071EB4A2217F6427008F0FAB /* CTAVPlayerControlsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CTAVPlayerControlsViewController.xib; sourceTree = ""; }; + 071EB4A3217F6427008F0FAB /* CTCoverViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTCoverViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB4A4217F6427008F0FAB /* CTInAppNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppNotification.h; sourceTree = ""; }; + 071EB4A5217F6427008F0FAB /* CTCoverViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTCoverViewController~ipad.xib"; sourceTree = ""; }; + 071EB4A6217F6427008F0FAB /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; + 071EB4A7217F6427008F0FAB /* CTInAppResources.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInAppResources.m; sourceTree = ""; }; + 071EB4A8217F6427008F0FAB /* CTHeaderViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTHeaderViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB4A9217F6427008F0FAB /* CTInterstitialImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInterstitialImageViewController.h; sourceTree = ""; }; + 071EB4AA217F6427008F0FAB /* CTNotificationButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTNotificationButton.h; sourceTree = ""; }; + 071EB4AB217F6427008F0FAB /* CTAVPlayerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerViewController.m; sourceTree = ""; }; + 071EB4AC217F6427008F0FAB /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewController.h; sourceTree = ""; }; + 071EB4AD217F6427008F0FAB /* CTHalfInterstitialViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialViewController.h; sourceTree = ""; }; + 071EB4AE217F6427008F0FAB /* CTInAppUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppUtils.h; sourceTree = ""; }; + 071EB4AF217F6427008F0FAB /* CTDismissButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; + 071EB4B0217F6427008F0FAB /* CTHeaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTHeaderViewController.h; sourceTree = ""; }; + 071EB4B1217F6427008F0FAB /* CTHeaderViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTHeaderViewController~ipad.xib"; sourceTree = ""; }; + 071EB4B2217F6427008F0FAB /* CTFooterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTFooterViewController.m; sourceTree = ""; }; + 071EB4B3217F6427008F0FAB /* FLAnimatedImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImage.h; sourceTree = ""; }; + 071EB4B4217F6427008F0FAB /* CTHalfInterstitialImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialImageViewController.h; sourceTree = ""; }; + 071EB4B5217F6427008F0FAB /* CTInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB4B6217F6427008F0FAB /* CTCoverViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTCoverViewController.m; sourceTree = ""; }; + 071EB4B7217F6427008F0FAB /* CTInAppFCManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInAppFCManager.m; sourceTree = ""; }; + 071EB4B8217F6427008F0FAB /* CTFooterViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTFooterViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB4B9217F6427008F0FAB /* CTBaseHeaderFooterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewController.h; sourceTree = ""; }; + 071EB4BA217F6427008F0FAB /* CTAlertViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTAlertViewController.m; sourceTree = ""; }; + 071EB4BB217F6427008F0FAB /* CTHalfInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + 071EB4BC217F6427008F0FAB /* CTAVPlayerControlsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerControlsViewController.m; sourceTree = ""; }; + 071EB4BD217F6427008F0FAB /* CTCoverImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTCoverImageViewController.h; sourceTree = ""; }; + 071EB4BE217F6427008F0FAB /* FLAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = ""; }; + 071EB4BF217F6427008F0FAB /* CTInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + 071EB4C0217F6427008F0FAB /* CTHalfInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + 071EB4C1217F6427008F0FAB /* CTSlider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTSlider.m; sourceTree = ""; }; + 071EB4C2217F6427008F0FAB /* CTInAppResources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppResources.h; sourceTree = ""; }; + 071EB4C3217F6427008F0FAB /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; + 071EB4C4217F6427008F0FAB /* CTInAppNotification.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTInAppNotification.m; sourceTree = ""; }; + 071EB4C5217F6427008F0FAB /* CTCoverImageViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "CTCoverImageViewController~ipad.xib"; sourceTree = ""; }; + 071EB4C6217F6427008F0FAB /* CTInterstitialViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTInterstitialViewController.h; sourceTree = ""; }; + 079701E42180A055008BF668 /* sound-wave-headphones.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "sound-wave-headphones.png"; sourceTree = ""; }; D0047B082098D45B0019C6FD /* CTLocalDataStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTLocalDataStore.h; sourceTree = ""; }; D0047B092098D45B0019C6FD /* CTLocalDataStore.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTLocalDataStore.m; sourceTree = ""; }; D0047B0C2098E2F00019C6FD /* CTProfileBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTProfileBuilder.h; sourceTree = ""; }; D0047B0D2098E2F00019C6FD /* CTProfileBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTProfileBuilder.m; sourceTree = ""; }; D0047B102098EDA90019C6FD /* CTLocationManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTLocationManager.h; sourceTree = ""; }; D0047B112098EDA90019C6FD /* CTLocationManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTLocationManager.m; sourceTree = ""; }; - D0047B1C209904DD0019C6FD /* CTInAppFCManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTInAppFCManager.h; sourceTree = ""; }; - D0047B1D209904DD0019C6FD /* CTInAppFCManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTInAppFCManager.m; sourceTree = ""; }; - D0047B20209935200019C6FD /* CTInAppUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTInAppUtils.h; sourceTree = ""; }; - D0047B21209935200019C6FD /* CTInAppUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTInAppUtils.m; sourceTree = ""; }; - D0047B24209935EA0019C6FD /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewController.h; sourceTree = ""; }; - D0047B25209935EA0019C6FD /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTInAppDisplayViewController.m; sourceTree = ""; }; - D0047B28209936510019C6FD /* CTInAppNotification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTInAppNotification.h; sourceTree = ""; }; - D0047B29209936510019C6FD /* CTInAppNotification.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTInAppNotification.m; sourceTree = ""; }; - D0047B2C209936E00019C6FD /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; D014B8D720E2F963001E0780 /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CleverTapSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D01651AC2097B38400660178 /* CTEventBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTEventBuilder.h; sourceTree = ""; }; D01651AD2097B38400660178 /* CTEventBuilder.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTEventBuilder.m; sourceTree = ""; }; @@ -186,10 +325,6 @@ D0A84AD7209135D400191B1F /* CTPreferences.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTPreferences.m; sourceTree = ""; }; D0A84ADA209136D500191B1F /* CTLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTLogger.h; sourceTree = ""; }; D0A84ADB209136D500191B1F /* CTLogger.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTLogger.m; sourceTree = ""; }; - D0A9802A209B83B100499991 /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; - D0A9802B209B83B100499991 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; - D0A9802E209B892100499991 /* CTDismissButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; - D0A9802F209B892100499991 /* CTDismissButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; D0C7BBBD207D82C0001345EF /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CleverTapSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D0C7BBC8207D8837001345EF /* CleverTap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CleverTap.h; sourceTree = ""; }; D0C7BBC9207D8837001345EF /* CleverTap.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CleverTap.m; sourceTree = ""; }; @@ -222,6 +357,85 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 071EB476217F6427008F0FAB /* InApps */ = { + isa = PBXGroup; + children = ( + 071EB48A217F6427008F0FAB /* images */, + 071EB4B1217F6427008F0FAB /* CTHeaderViewController~ipad.xib */, + 071EB4B5217F6427008F0FAB /* CTInterstitialViewController~iphoneport.xib */, + 071EB4B8217F6427008F0FAB /* CTFooterViewController~iphoneport.xib */, + 071EB4BB217F6427008F0FAB /* CTHalfInterstitialImageViewController~ipad.xib */, + 071EB4BF217F6427008F0FAB /* CTInterstitialImageViewController~ipad.xib */, + 071EB4C0217F6427008F0FAB /* CTHalfInterstitialImageViewController~iphoneport.xib */, + 071EB4C5217F6427008F0FAB /* CTCoverImageViewController~ipad.xib */, + 071EB47A217F6427008F0FAB /* CTHalfInterstitialViewController~ipad.xib */, + 071EB47B217F6427008F0FAB /* CTHalfInterstitialViewController~iphoneport.xib */, + 071EB480217F6427008F0FAB /* CTInterstitialViewController~ipad.xib */, + 071EB485217F6427008F0FAB /* CTCoverImageViewController~iphoneport.xib */, + 071EB499217F6427008F0FAB /* CTFooterViewController~ipad.xib */, + 071EB49E217F6427008F0FAB /* CTInterstitialImageViewController~iphoneport.xib */, + 071EB4A2217F6427008F0FAB /* CTAVPlayerControlsViewController.xib */, + 071EB4A3217F6427008F0FAB /* CTCoverViewController~iphoneport.xib */, + 071EB4A5217F6427008F0FAB /* CTCoverViewController~ipad.xib */, + 071EB4A8217F6427008F0FAB /* CTHeaderViewController~iphoneport.xib */, + 071EB4AF217F6427008F0FAB /* CTDismissButton.h */, + 071EB478217F6427008F0FAB /* CTDismissButton.m */, + 071EB4B0217F6427008F0FAB /* CTHeaderViewController.h */, + 071EB479217F6427008F0FAB /* CTHeaderViewController.m */, + 071EB4AD217F6427008F0FAB /* CTHalfInterstitialViewController.h */, + 071EB47C217F6427008F0FAB /* CTHalfInterstitialViewController.m */, + 071EB4B9217F6427008F0FAB /* CTBaseHeaderFooterViewController.h */, + 071EB47F217F6427008F0FAB /* CTBaseHeaderFooterViewControllerPrivate.h */, + 071EB484217F6427008F0FAB /* CTBaseHeaderFooterViewController.m */, + 071EB4A9217F6427008F0FAB /* CTInterstitialImageViewController.h */, + 071EB482217F6427008F0FAB /* CTInterstitialImageViewController.m */, + 071EB483217F6427008F0FAB /* CTAVPlayerViewController.h */, + 071EB4AB217F6427008F0FAB /* CTAVPlayerViewController.m */, + 071EB487217F6427008F0FAB /* CTCoverViewController.h */, + 071EB4B6217F6427008F0FAB /* CTCoverViewController.m */, + 071EB4BD217F6427008F0FAB /* CTCoverImageViewController.h */, + 071EB49C217F6427008F0FAB /* CTCoverImageViewController.m */, + 071EB4B4217F6427008F0FAB /* CTHalfInterstitialImageViewController.h */, + 071EB488217F6427008F0FAB /* CTHalfInterstitialImageViewController.m */, + 071EB49A217F6427008F0FAB /* CTSlider.h */, + 071EB4C1217F6427008F0FAB /* CTSlider.m */, + 071EB49F217F6427008F0FAB /* CTAlertViewController.h */, + 071EB4BA217F6427008F0FAB /* CTAlertViewController.m */, + 071EB4C6217F6427008F0FAB /* CTInterstitialViewController.h */, + 071EB4A0217F6427008F0FAB /* CTInterstitialViewController.m */, + 071EB4C3217F6427008F0FAB /* CTInAppHTMLViewController.h */, + 071EB4A6217F6427008F0FAB /* CTInAppHTMLViewController.m */, + 071EB477217F6427008F0FAB /* CTFooterViewController.h */, + 071EB4B2217F6427008F0FAB /* CTFooterViewController.m */, + 071EB49D217F6427008F0FAB /* CTAVPlayerControlsViewController.h */, + 071EB4BC217F6427008F0FAB /* CTAVPlayerControlsViewController.m */, + 071EB4BE217F6427008F0FAB /* FLAnimatedImageView.h */, + 071EB49B217F6427008F0FAB /* FLAnimatedImageView.m */, + ); + path = InApps; + sourceTree = ""; + }; + 071EB48A217F6427008F0FAB /* images */ = { + isa = PBXGroup; + children = ( + 071EB48B217F6427008F0FAB /* ic_shrink@2x.png */, + 071EB48C217F6427008F0FAB /* ic_play@1x.png */, + 071EB48D217F6427008F0FAB /* ic_shrink@3x.png */, + 071EB48E217F6427008F0FAB /* ic_thumb.png */, + 071EB490217F6427008F0FAB /* ic_expand@3x.png */, + 071EB491217F6427008F0FAB /* ic_expand@2x.png */, + 079701E42180A055008BF668 /* sound-wave-headphones.png */, + 071EB492217F6427008F0FAB /* ic_pause@1x.png */, + 071EB493217F6427008F0FAB /* ic_pause@2x.png */, + 071EB494217F6427008F0FAB /* ic_expand@1x.png */, + 071EB495217F6427008F0FAB /* ic_pause@3x.png */, + 071EB496217F6427008F0FAB /* ic_play@3x.png */, + 071EB497217F6427008F0FAB /* ic_play@2x.png */, + 071EB498217F6427008F0FAB /* ic_shrink@1x.png */, + ); + path = images; + sourceTree = ""; + }; D0C7BBB3207D82C0001345EF = { isa = PBXGroup; children = ( @@ -242,6 +456,7 @@ D0C7BBBF207D82C0001345EF /* CleverTapSDK */ = { isa = PBXGroup; children = ( + 071EB476217F6427008F0FAB /* InApps */, D0C7BBC8207D8837001345EF /* CleverTap.h */, D0C7BBC9207D8837001345EF /* CleverTap.m */, D0CACF8A20B890EA00A02327 /* CleverTap+SSLPinning.h */, @@ -287,23 +502,25 @@ D0047B0D2098E2F00019C6FD /* CTProfileBuilder.m */, D0047B102098EDA90019C6FD /* CTLocationManager.h */, D0047B112098EDA90019C6FD /* CTLocationManager.m */, - D0047B1C209904DD0019C6FD /* CTInAppFCManager.h */, - D0047B1D209904DD0019C6FD /* CTInAppFCManager.m */, - D0047B20209935200019C6FD /* CTInAppUtils.h */, - D0047B21209935200019C6FD /* CTInAppUtils.m */, - D0047B28209936510019C6FD /* CTInAppNotification.h */, - D0047B29209936510019C6FD /* CTInAppNotification.m */, - D0047B24209935EA0019C6FD /* CTInAppDisplayViewController.h */, - D0047B25209935EA0019C6FD /* CTInAppDisplayViewController.m */, - D0047B2C209936E00019C6FD /* CTInAppDisplayViewControllerPrivate.h */, - D0A9802A209B83B100499991 /* CTInAppHTMLViewController.h */, - D0A9802B209B83B100499991 /* CTInAppHTMLViewController.m */, - D0A9802E209B892100499991 /* CTDismissButton.h */, - D0A9802F209B892100499991 /* CTDismissButton.m */, D0CACF8C20B8A44B00A02327 /* CTCertificatePinning.h */, D0CACF8D20B8A44C00A02327 /* CTCertificatePinning.m */, D0CACF9420B8A4F800A02327 /* CTPinnedNSURLSessionDelegate.h */, D0CACF9520B8A4F800A02327 /* CTPinnedNSURLSessionDelegate.m */, + 071EB4AE217F6427008F0FAB /* CTInAppUtils.h */, + 071EB47D217F6427008F0FAB /* CTInAppUtils.m */, + 071EB486217F6427008F0FAB /* CTInAppFCManager.h */, + 071EB4B7217F6427008F0FAB /* CTInAppFCManager.m */, + 071EB4A4217F6427008F0FAB /* CTInAppNotification.h */, + 071EB4C4217F6427008F0FAB /* CTInAppNotification.m */, + 071EB4AC217F6427008F0FAB /* CTInAppDisplayViewController.h */, + 071EB47E217F6427008F0FAB /* CTInAppDisplayViewController.m */, + 071EB4A1217F6427008F0FAB /* CTInAppDisplayViewControllerPrivate.h */, + 071EB4A7217F6427008F0FAB /* CTInAppResources.m */, + 071EB4C2217F6427008F0FAB /* CTInAppResources.h */, + 071EB4AA217F6427008F0FAB /* CTNotificationButton.h */, + 071EB481217F6427008F0FAB /* CTNotificationButton.m */, + 071EB4B3217F6427008F0FAB /* FLAnimatedImage.h */, + 071EB489217F6427008F0FAB /* FLAnimatedImage.m */, D0CACF9E20B8C14B00A02327 /* DigiCertGlobalRootCA.crt */, D0CACFA020B8C19300A02327 /* DigiCertSHA2SecureServerCA.crt */, ); @@ -323,23 +540,24 @@ D014B8E320E2F9FA001E0780 /* CleverTapInstanceConfigPrivate.h in Headers */, D014B91E20E2FBDA001E0780 /* CTPinnedNSURLSessionDelegate.h in Headers */, D014B8E920E2FA88001E0780 /* CleverTapEventDetail.h in Headers */, + 071EB521217F6764008F0FAB /* CTNotificationButton.h in Headers */, D014B8FC20E2FB12001E0780 /* CTPreferences.h in Headers */, + 071EB518217F6510008F0FAB /* CTInAppFCManager.h in Headers */, D014B8EE20E2FAA8001E0780 /* CleverTapUTMDetail.h in Headers */, - D014B91720E2FBB9001E0780 /* CTInAppDisplayViewControllerPrivate.h in Headers */, - D014B91420E2FBA8001E0780 /* CTInAppDisplayViewController.h in Headers */, D014B90820E2FB6B001E0780 /* CTLocalDataStore.h in Headers */, - D014B91220E2FB9C001E0780 /* CTInAppNotification.h in Headers */, D014B90220E2FB4F001E0780 /* CTEventBuilder.h in Headers */, + 07BF465B217F7C41002E166D /* CTInAppDisplayViewController.h in Headers */, + 071EB51A217F6565008F0FAB /* CTInAppNotification.h in Headers */, D014B8F020E2FAB1001E0780 /* CTPlistInfo.h in Headers */, D014B8EC20E2FA9D001E0780 /* CleverTapTrackedViewController.h in Headers */, D014B8EB20E2FA94001E0780 /* CleverTapSyncDelegate.h in Headers */, - D014B91020E2FB93001E0780 /* CTInAppUtils.h in Headers */, + 07BF465D217F7C88002E166D /* CTInAppDisplayViewControllerPrivate.h in Headers */, D014B8F820E2FADD001E0780 /* CTUtils.h in Headers */, + 071EB51C217F6721008F0FAB /* FLAnimatedImage.h in Headers */, D014B8DF20E2F9DE001E0780 /* CleverTap.h in Headers */, D014B8FA20E2FB09001E0780 /* CTUriHelper.h in Headers */, - D0A9E9CC20EEA8500004BC6F /* CTInAppHTMLViewController.h in Headers */, D014B8F620E2FAD5001E0780 /* CTConstants.h in Headers */, - D014B91A20E2FBC8001E0780 /* CTDismissButton.h in Headers */, + 071EB525217F6C8F008F0FAB /* CTInAppResources.h in Headers */, D014B8FE20E2FB3B001E0780 /* CTLogger.h in Headers */, D014B8E120E2F9E9001E0780 /* CleverTap+SSLPinning.h in Headers */, D014B91C20E2FBD1001E0780 /* CTCertificatePinning.h in Headers */, @@ -349,7 +567,7 @@ D014B8E620E2FA64001E0780 /* CleverTapInstanceConfig.h in Headers */, D014B8F220E2FABC001E0780 /* CTDeviceInfo.h in Headers */, D014B90A20E2FB74001E0780 /* CTProfileBuilder.h in Headers */, - D014B90E20E2FB89001E0780 /* CTInAppFCManager.h in Headers */, + 07BF4662217F8359002E166D /* CTInAppUtils.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -358,39 +576,57 @@ buildActionMask = 2147483647; files = ( D0CACF8B20B8923700A02327 /* CleverTap+SSLPinning.h in Headers */, + 071EB4F3217F6427008F0FAB /* CTInAppNotification.h in Headers */, D0C7BBCA207D8837001345EF /* CleverTap.h in Headers */, D014B8E220E2F9F9001E0780 /* CleverTapInstanceConfigPrivate.h in Headers */, + 071EB4CF217F6427008F0FAB /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, D0213D4F207D905800FE5740 /* CleverTapUTMDetail.h in Headers */, + 071EB4D3217F6427008F0FAB /* CTAVPlayerViewController.h in Headers */, D0213D4C207D905800FE5740 /* CleverTapSyncDelegate.h in Headers */, D01651B22097B42C00660178 /* CTValidator.h in Headers */, D0A84ADC209136D500191B1F /* CTLogger.h in Headers */, + 071EB4EE217F6427008F0FAB /* CTAlertViewController.h in Headers */, D0CACF9620B8A4F800A02327 /* CTPinnedNSURLSessionDelegate.h in Headers */, + 071EB4FE217F6427008F0FAB /* CTDismissButton.h in Headers */, + 071EB511217F6427008F0FAB /* CTInAppResources.h in Headers */, D01651AE2097B38400660178 /* CTEventBuilder.h in Headers */, D01651B62097B81400660178 /* CTKnownProfileFields.h in Headers */, - D0047B26209935EA0019C6FD /* CTInAppDisplayViewController.h in Headers */, + 071EB4D7217F6427008F0FAB /* CTCoverViewController.h in Headers */, D0047B0E2098E2F00019C6FD /* CTProfileBuilder.h in Headers */, - D0A9802C209B83B100499991 /* CTInAppHTMLViewController.h in Headers */, D033FB83208FE51200B4390F /* CTUtils.h in Headers */, D0CACF9020B8A44C00A02327 /* CTCertificatePinning.h in Headers */, - D0A98030209B892100499991 /* CTDismissButton.h in Headers */, + 071EB503217F6427008F0FAB /* CTHalfInterstitialImageViewController.h in Headers */, + 071EB515217F6427008F0FAB /* CTInterstitialViewController.h in Headers */, + 071EB4F8217F6427008F0FAB /* CTInterstitialImageViewController.h in Headers */, D0047B122098EDA90019C6FD /* CTLocationManager.h in Headers */, - D0047B2A209936510019C6FD /* CTInAppNotification.h in Headers */, - D014B91620E2FBB8001E0780 /* CTInAppDisplayViewControllerPrivate.h in Headers */, + 071EB4FC217F6427008F0FAB /* CTHalfInterstitialViewController.h in Headers */, + 071EB4C7217F6427008F0FAB /* CTFooterViewController.h in Headers */, + 071EB4FD217F6427008F0FAB /* CTInAppUtils.h in Headers */, D0213D54207D93C300FE5740 /* CTConstants.h in Headers */, D0047B0A2098D45B0019C6FD /* CTLocalDataStore.h in Headers */, - D0047B1E209904DD0019C6FD /* CTInAppFCManager.h in Headers */, + 071EB4F0217F6427008F0FAB /* CTInAppDisplayViewControllerPrivate.h in Headers */, + 071EB4E9217F6427008F0FAB /* CTSlider.h in Headers */, D01A0899207ED98300423D6F /* CTPlistInfo.h in Headers */, D032F3A82093EC9700F98D74 /* CTValidationResult.h in Headers */, - D0047B22209935200019C6FD /* CTInAppUtils.h in Headers */, D020C928209006AD0073F61E /* CTUriHelper.h in Headers */, D0596EFA208A6A9000A80753 /* CTSwizzle.h in Headers */, + 071EB502217F6427008F0FAB /* FLAnimatedImage.h in Headers */, + 071EB508217F6427008F0FAB /* CTBaseHeaderFooterViewController.h in Headers */, D0A84AD8209135D400191B1F /* CTPreferences.h in Headers */, + 071EB4FB217F6427008F0FAB /* CTInAppDisplayViewController.h in Headers */, D0A6626D20801E7F00B403F3 /* CTDeviceInfo.h in Headers */, D0A6626A207EE6F500B403F3 /* CleverTapBuildInfo.h in Headers */, + 071EB50D217F6427008F0FAB /* FLAnimatedImageView.h in Headers */, D0213D50207D905800FE5740 /* CleverTapEventDetail.h in Headers */, + 071EB4F9217F6427008F0FAB /* CTNotificationButton.h in Headers */, D0213D4D207D905800FE5740 /* CleverTapTrackedViewController.h in Headers */, + 071EB4EC217F6427008F0FAB /* CTAVPlayerControlsViewController.h in Headers */, + 071EB512217F6427008F0FAB /* CTInAppHTMLViewController.h in Headers */, D01A0894207EC2D400423D6F /* CleverTapInstanceConfig.h in Headers */, + 071EB50C217F6427008F0FAB /* CTCoverImageViewController.h in Headers */, D0213D4B207D905800FE5740 /* CleverTapInAppNotificationDelegate.h in Headers */, + 071EB4FF217F6427008F0FAB /* CTHeaderViewController.h in Headers */, + 071EB4D6217F6427008F0FAB /* CTInAppFCManager.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -482,8 +718,39 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 071EB4E0217F6427008F0FAB /* ic_expand@2x.png in Resources */, + 071EB4CA217F6427008F0FAB /* CTHalfInterstitialViewController~ipad.xib in Resources */, D0CACFA120B8C19300A02327 /* DigiCertSHA2SecureServerCA.crt in Resources */, + 071EB4D5217F6427008F0FAB /* CTCoverImageViewController~iphoneport.xib in Resources */, + 071EB4ED217F6427008F0FAB /* CTInterstitialImageViewController~iphoneport.xib in Resources */, + 071EB4DB217F6427008F0FAB /* ic_play@1x.png in Resources */, + 071EB507217F6427008F0FAB /* CTFooterViewController~iphoneport.xib in Resources */, + 071EB4E5217F6427008F0FAB /* ic_play@3x.png in Resources */, + 071EB4E7217F6427008F0FAB /* ic_shrink@1x.png in Resources */, + 071EB4F2217F6427008F0FAB /* CTCoverViewController~iphoneport.xib in Resources */, + 071EB500217F6427008F0FAB /* CTHeaderViewController~ipad.xib in Resources */, + 071EB4F7217F6427008F0FAB /* CTHeaderViewController~iphoneport.xib in Resources */, + 071EB4DF217F6427008F0FAB /* ic_expand@3x.png in Resources */, + 071EB4E6217F6427008F0FAB /* ic_play@2x.png in Resources */, + 071EB4F4217F6427008F0FAB /* CTCoverViewController~ipad.xib in Resources */, + 071EB50E217F6427008F0FAB /* CTInterstitialImageViewController~ipad.xib in Resources */, + 071EB4E3217F6427008F0FAB /* ic_expand@1x.png in Resources */, + 071EB504217F6427008F0FAB /* CTInterstitialViewController~iphoneport.xib in Resources */, + 071EB4E2217F6427008F0FAB /* ic_pause@2x.png in Resources */, + 071EB4E8217F6427008F0FAB /* CTFooterViewController~ipad.xib in Resources */, + 071EB4DD217F6427008F0FAB /* ic_thumb.png in Resources */, + 079701E52180A055008BF668 /* sound-wave-headphones.png in Resources */, + 071EB4E4217F6427008F0FAB /* ic_pause@3x.png in Resources */, + 071EB4DC217F6427008F0FAB /* ic_shrink@3x.png in Resources */, + 071EB4F1217F6427008F0FAB /* CTAVPlayerControlsViewController.xib in Resources */, + 071EB4DA217F6427008F0FAB /* ic_shrink@2x.png in Resources */, + 071EB4E1217F6427008F0FAB /* ic_pause@1x.png in Resources */, + 071EB50F217F6427008F0FAB /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */, D0CACF9F20B8C14B00A02327 /* DigiCertGlobalRootCA.crt in Resources */, + 071EB4D0217F6427008F0FAB /* CTInterstitialViewController~ipad.xib in Resources */, + 071EB4CB217F6427008F0FAB /* CTHalfInterstitialViewController~iphoneport.xib in Resources */, + 071EB50A217F6427008F0FAB /* CTHalfInterstitialImageViewController~ipad.xib in Resources */, + 071EB514217F6427008F0FAB /* CTCoverImageViewController~ipad.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -494,17 +761,17 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 071EB519217F6513008F0FAB /* CTInAppFCManager.m in Sources */, D014B8ED20E2FAA2001E0780 /* CleverTapTrackedViewController.m in Sources */, - D014B91B20E2FBCD001E0780 /* CTDismissButton.m in Sources */, - D01F688B210295A7004DEC85 /* CTInAppDisplayViewController.m in Sources */, D014B8F120E2FAB9001E0780 /* CTPlistInfo.m in Sources */, - D014B91320E2FBA3001E0780 /* CTInAppNotification.m in Sources */, D014B8F320E2FAC2001E0780 /* CTDeviceInfo.m in Sources */, - D014B90F20E2FB8F001E0780 /* CTInAppFCManager.m in Sources */, D014B8F920E2FAE4001E0780 /* CTUtils.m in Sources */, - D014B91120E2FB99001E0780 /* CTInAppUtils.m in Sources */, + 07BF4661217F80C1002E166D /* CTInAppResources.m in Sources */, + 07BF465C217F7C4B002E166D /* CTInAppDisplayViewController.m in Sources */, + 071EB51B217F6568008F0FAB /* CTInAppNotification.m in Sources */, D0A9E9CE20EEA8770004BC6F /* CTLocationManager.m in Sources */, D014B90B20E2FB7A001E0780 /* CTProfileBuilder.m in Sources */, + 071EB51F217F6730008F0FAB /* FLAnimatedImage.m in Sources */, D014B90120E2FB4C001E0780 /* CTValidationResult.m in Sources */, D014B91F20E2FBDF001E0780 /* CTPinnedNSURLSessionDelegate.m in Sources */, D014B90520E2FB5F001E0780 /* CTValidator.m in Sources */, @@ -521,6 +788,8 @@ D014B8FB20E2FB0E001E0780 /* CTUriHelper.m in Sources */, D014B8FF20E2FB40001E0780 /* CTLogger.m in Sources */, D014B8FD20E2FB18001E0780 /* CTPreferences.m in Sources */, + 071EB527217F6CD1008F0FAB /* CTNotificationButton.m in Sources */, + 07BF4663217F838D002E166D /* CTInAppUtils.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -528,33 +797,50 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D0A98031209B892100499991 /* CTDismissButton.m in Sources */, + 071EB509217F6427008F0FAB /* CTAlertViewController.m in Sources */, + 071EB510217F6427008F0FAB /* CTSlider.m in Sources */, D0213D52207D905800FE5740 /* CleverTapEventDetail.m in Sources */, - D0A9802D209B83B100499991 /* CTInAppHTMLViewController.m in Sources */, + 071EB4F5217F6427008F0FAB /* CTInAppHTMLViewController.m in Sources */, D01651AF2097B38400660178 /* CTEventBuilder.m in Sources */, D020C929209006AD0073F61E /* CTUriHelper.m in Sources */, D01A0898207ED98300423D6F /* CTPlistInfo.m in Sources */, - D0047B2B209936510019C6FD /* CTInAppNotification.m in Sources */, - D0047B27209935EA0019C6FD /* CTInAppDisplayViewController.m in Sources */, + 071EB4D2217F6427008F0FAB /* CTInterstitialImageViewController.m in Sources */, + 071EB4C9217F6427008F0FAB /* CTHeaderViewController.m in Sources */, + 071EB505217F6427008F0FAB /* CTCoverViewController.m in Sources */, + 071EB4CD217F6427008F0FAB /* CTInAppUtils.m in Sources */, + 071EB4EA217F6427008F0FAB /* FLAnimatedImageView.m in Sources */, D0CACF9120B8A44C00A02327 /* CTCertificatePinning.m in Sources */, D033FB84208FE51200B4390F /* CTUtils.m in Sources */, - D0047B1F209904DD0019C6FD /* CTInAppFCManager.m in Sources */, + 071EB50B217F6427008F0FAB /* CTAVPlayerControlsViewController.m in Sources */, D01651B32097B42C00660178 /* CTValidator.m in Sources */, + 071EB513217F6427008F0FAB /* CTInAppNotification.m in Sources */, D0CACF9720B8A4F800A02327 /* CTPinnedNSURLSessionDelegate.m in Sources */, D0047B0F2098E2F00019C6FD /* CTProfileBuilder.m in Sources */, D0A6626E20801E7F00B403F3 /* CTDeviceInfo.m in Sources */, + 071EB4D1217F6427008F0FAB /* CTNotificationButton.m in Sources */, D0213D4E207D905800FE5740 /* CleverTapTrackedViewController.m in Sources */, D0047B0B2098D45B0019C6FD /* CTLocalDataStore.m in Sources */, - D0047B23209935200019C6FD /* CTInAppUtils.m in Sources */, + 071EB4CC217F6427008F0FAB /* CTHalfInterstitialViewController.m in Sources */, + 071EB4CE217F6427008F0FAB /* CTInAppDisplayViewController.m in Sources */, D0213D51207D905800FE5740 /* CleverTapUTMDetail.m in Sources */, D0596EFB208A6A9000A80753 /* CTSwizzle.m in Sources */, D032F3A92093EC9700F98D74 /* CTValidationResult.m in Sources */, + 071EB501217F6427008F0FAB /* CTFooterViewController.m in Sources */, D0A84ADD209136D500191B1F /* CTLogger.m in Sources */, D0A84AD9209135D400191B1F /* CTPreferences.m in Sources */, D0047B132098EDA90019C6FD /* CTLocationManager.m in Sources */, + 071EB4EB217F6427008F0FAB /* CTCoverImageViewController.m in Sources */, + 071EB4D4217F6427008F0FAB /* CTBaseHeaderFooterViewController.m in Sources */, + 071EB4F6217F6427008F0FAB /* CTInAppResources.m in Sources */, + 071EB4FA217F6427008F0FAB /* CTAVPlayerViewController.m in Sources */, + 071EB506217F6427008F0FAB /* CTInAppFCManager.m in Sources */, D01651B72097B81400660178 /* CTKnownProfileFields.m in Sources */, D0C7BBCB207D8837001345EF /* CleverTap.m in Sources */, D01A0895207EC2D400423D6F /* CleverTapInstanceConfig.m in Sources */, + 071EB4D9217F6427008F0FAB /* FLAnimatedImage.m in Sources */, + 071EB4C8217F6427008F0FAB /* CTDismissButton.m in Sources */, + 071EB4D8217F6427008F0FAB /* CTHalfInterstitialImageViewController.m in Sources */, + 071EB4EF217F6427008F0FAB /* CTInterstitialViewController.m in Sources */, D0CACF9920B8A78600A02327 /* CTConstants.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/CleverTapSDK/InApps/CTInAppDisplayViewController.h b/CleverTapSDK/CTInAppDisplayViewController.h similarity index 100% rename from CleverTapSDK/InApps/CTInAppDisplayViewController.h rename to CleverTapSDK/CTInAppDisplayViewController.h diff --git a/CleverTapSDK/InApps/CTInAppDisplayViewController.m b/CleverTapSDK/CTInAppDisplayViewController.m similarity index 100% rename from CleverTapSDK/InApps/CTInAppDisplayViewController.m rename to CleverTapSDK/CTInAppDisplayViewController.m diff --git a/CleverTapSDK/InApps/CTInAppDisplayViewControllerPrivate.h b/CleverTapSDK/CTInAppDisplayViewControllerPrivate.h similarity index 100% rename from CleverTapSDK/InApps/CTInAppDisplayViewControllerPrivate.h rename to CleverTapSDK/CTInAppDisplayViewControllerPrivate.h diff --git a/CleverTapSDK/InApps/CTInAppFCManager.h b/CleverTapSDK/CTInAppFCManager.h similarity index 100% rename from CleverTapSDK/InApps/CTInAppFCManager.h rename to CleverTapSDK/CTInAppFCManager.h diff --git a/CleverTapSDK/InApps/CTInAppFCManager.m b/CleverTapSDK/CTInAppFCManager.m similarity index 100% rename from CleverTapSDK/InApps/CTInAppFCManager.m rename to CleverTapSDK/CTInAppFCManager.m diff --git a/CleverTapSDK/InApps/CTInAppNotification.h b/CleverTapSDK/CTInAppNotification.h similarity index 97% rename from CleverTapSDK/InApps/CTInAppNotification.h rename to CleverTapSDK/CTInAppNotification.h index d2ae9ee4..0feae3ed 100644 --- a/CleverTapSDK/InApps/CTInAppNotification.h +++ b/CleverTapSDK/CTInAppNotification.h @@ -38,7 +38,6 @@ @property (nonatomic, copy, readonly) NSString *messageColor; @property (nonatomic, copy, readonly) NSString *backgroundColor; -@property (nonatomic, readonly, assign) BOOL hideMedia; @property (nonatomic, readonly, assign) BOOL showCloseButton; @property (nonatomic, readonly, assign) BOOL tablet; diff --git a/CleverTapSDK/InApps/CTInAppNotification.m b/CleverTapSDK/CTInAppNotification.m similarity index 95% rename from CleverTapSDK/InApps/CTInAppNotification.m rename to CleverTapSDK/CTInAppNotification.m index 31288711..d65683f4 100644 --- a/CleverTapSDK/InApps/CTInAppNotification.m +++ b/CleverTapSDK/CTInAppNotification.m @@ -68,7 +68,7 @@ - (instancetype)initWithJSON:(NSDictionary *)jsonObject { self.Id = [NSString stringWithFormat:@"%@", jsonObject[@"ti"]]; } NSString *type = (NSString*) jsonObject[@"type"]; - if (!type) { + if (!type || [type isEqualToString:@"custom-html"]) { [self legacyConfigureFromJSON:jsonObject]; } else { [self configureFromJSON:jsonObject]; @@ -93,7 +93,6 @@ - (void)configureFromJSON: (NSDictionary *)jsonObject { self.titleColor = (NSString*) jsonObject[@"title"][@"color"]; self.message = (NSString*) jsonObject[@"message"][@"text"]; self.messageColor = (NSString*) jsonObject[@"message"][@"color"]; - self.hideMedia = [jsonObject[@"hideMedia"] boolValue]; self.showCloseButton = [jsonObject[@"close"] boolValue]; self.tablet = [jsonObject[@"tablet"] boolValue]; @@ -104,13 +103,11 @@ - (void)configureFromJSON: (NSDictionary *)jsonObject { if (_mediaUrl) { if ([self.contentType hasPrefix:@"image"]) { self.imageURL = [NSURL URLWithString:_mediaUrl]; - if ([self.contentType isEqualToString:@"image/gif"] ) { _mediaIsGif = YES; }else { _mediaIsImage = YES; } - } else { self.mediaUrl = _mediaUrl; if ([self.contentType hasPrefix:@"video"]) { @@ -151,12 +148,8 @@ - (void)configureFromJSON: (NSDictionary *)jsonObject { case CTInAppTypeHeader: case CTInAppTypeFooter: if (_mediaIsGif || _mediaIsAudio || _mediaIsVideo){ - self.error = [NSString stringWithFormat:@"wrong media type for template"]; - } - break; - case CTInAppTypeInterstitial: - if (!_mediaIsGif && !_mediaIsAudio && !_mediaIsVideo && !_mediaIsImage){ - self.error = [NSString stringWithFormat:@"no media type found for template"]; + self.imageURL = nil; + CleverTapLogStaticDebug(@"unable to download media, wrong media type for template"); } break; case CTInAppTypeCoverImage: @@ -169,7 +162,8 @@ - (void)configureFromJSON: (NSDictionary *)jsonObject { case CTInAppTypeCover: case CTInAppTypeHalfInterstitial: if (_mediaIsGif || _mediaIsAudio || _mediaIsVideo){ - self.error = [NSString stringWithFormat:@"wrong media type for template"]; + self.imageURL = nil; + CleverTapLogStaticDebug(@"unable to download media, wrong media type for template"); } break; default: diff --git a/CleverTapSDK/InApps/CTInAppResources.h b/CleverTapSDK/CTInAppResources.h similarity index 100% rename from CleverTapSDK/InApps/CTInAppResources.h rename to CleverTapSDK/CTInAppResources.h diff --git a/CleverTapSDK/InApps/CTInAppResources.m b/CleverTapSDK/CTInAppResources.m similarity index 100% rename from CleverTapSDK/InApps/CTInAppResources.m rename to CleverTapSDK/CTInAppResources.m diff --git a/CleverTapSDK/InApps/CTInAppUtils.h b/CleverTapSDK/CTInAppUtils.h similarity index 100% rename from CleverTapSDK/InApps/CTInAppUtils.h rename to CleverTapSDK/CTInAppUtils.h diff --git a/CleverTapSDK/InApps/CTInAppUtils.m b/CleverTapSDK/CTInAppUtils.m similarity index 98% rename from CleverTapSDK/InApps/CTInAppUtils.m rename to CleverTapSDK/CTInAppUtils.m index dfdc1edb..e9f06510 100644 --- a/CleverTapSDK/InApps/CTInAppUtils.m +++ b/CleverTapSDK/CTInAppUtils.m @@ -49,7 +49,7 @@ + (NSString *)XibNameForControllerName:(NSString *)controllerName { } + (UIImage *)imageForName:(NSString *)name type:(NSString *)type { -#if !CLEVERTAP_NO_INAPP_SUPPORT +#if CLEVERTAP_NO_INAPP_SUPPORT return nil; #else return [CTInAppResources imageForName:name type:type]; diff --git a/CleverTapSDK/InApps/CTNotificationButton.h b/CleverTapSDK/CTNotificationButton.h similarity index 100% rename from CleverTapSDK/InApps/CTNotificationButton.h rename to CleverTapSDK/CTNotificationButton.h diff --git a/CleverTapSDK/InApps/CTNotificationButton.m b/CleverTapSDK/CTNotificationButton.m similarity index 100% rename from CleverTapSDK/InApps/CTNotificationButton.m rename to CleverTapSDK/CTNotificationButton.m diff --git a/CleverTapSDK/InApps/FLAnimatedImage.h b/CleverTapSDK/FLAnimatedImage.h similarity index 100% rename from CleverTapSDK/InApps/FLAnimatedImage.h rename to CleverTapSDK/FLAnimatedImage.h diff --git a/CleverTapSDK/InApps/FLAnimatedImage.m b/CleverTapSDK/FLAnimatedImage.m similarity index 100% rename from CleverTapSDK/InApps/FLAnimatedImage.m rename to CleverTapSDK/FLAnimatedImage.m diff --git a/CleverTapSDK/InApps/CTAVPlayerViewController.m b/CleverTapSDK/InApps/CTAVPlayerViewController.m index e09b9114..bccd2cb9 100644 --- a/CleverTapSDK/InApps/CTAVPlayerViewController.m +++ b/CleverTapSDK/InApps/CTAVPlayerViewController.m @@ -66,7 +66,7 @@ - (void)viewDidLoad { NSBundle *bundle = [NSBundle bundleForClass:[self class]]; UIImage *image = [UIImage imageNamed:@"sound-wave-headphones.png" inBundle:bundle compatibleWithTraitCollection:nil]; self.imageView = [[UIImageView alloc] initWithFrame: self.controlsViewVC.view.frame]; - self.imageView.backgroundColor = [UIColor whiteColor]; + self.imageView.backgroundColor = [UIColor blackColor]; self.imageView.contentMode = UIViewContentModeScaleAspectFit; self.imageView.image = image; [self.contentOverlayView addSubview:self.imageView]; diff --git a/CleverTapSDK/InApps/CTCoverImageViewController.m b/CleverTapSDK/InApps/CTCoverImageViewController.m index 337a3386..03520c8b 100644 --- a/CleverTapSDK/InApps/CTCoverImageViewController.m +++ b/CleverTapSDK/InApps/CTCoverImageViewController.m @@ -40,6 +40,8 @@ - (void)layoutNotification { // UIView container which holds all other subviews self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + self.closeButton.hidden = !self.notification.showCloseButton; + if (@available(iOS 11.0, *)) { CGFloat statusBarFrame = [[CTInAppResources getSharedApplication] statusBarFrame].size.height; [[NSLayoutConstraint constraintWithItem: self.closeButton diff --git a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m index ec0152e6..40852f57 100644 --- a/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m +++ b/CleverTapSDK/InApps/CTHalfInterstitialImageViewController.m @@ -41,6 +41,8 @@ - (void)layoutNotification { // UIView container which holds all other subviews self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + self.closeButton.hidden = !self.notification.showCloseButton; + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; if (self.notification.tablet) { diff --git a/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib b/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib index 5e0db5e7..14eac630 100644 --- a/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib +++ b/CleverTapSDK/InApps/CTHalfInterstitialViewController~ipad.xib @@ -13,6 +13,7 @@ + diff --git a/CleverTapSDK/InApps/CTInterstitialImageViewController.m b/CleverTapSDK/InApps/CTInterstitialImageViewController.m index 9af7c7bf..3041a99f 100644 --- a/CleverTapSDK/InApps/CTInterstitialImageViewController.m +++ b/CleverTapSDK/InApps/CTInterstitialImageViewController.m @@ -40,6 +40,8 @@ - (void)layoutNotification { // UIView container which holds all other subviews self.containerView.backgroundColor = [CTInAppUtils ct_colorWithHexString:self.notification.backgroundColor]; + self.closeButton.hidden = !self.notification.showCloseButton; + if ([UIScreen mainScreen].bounds.size.height == 480) { [self.containerView setTranslatesAutoresizingMaskIntoConstraints:NO]; [[NSLayoutConstraint constraintWithItem:self.containerView diff --git a/CleverTapSDK/InApps/CTSlider.h b/CleverTapSDK/InApps/CTSlider.h index 11792e14..801e8e87 100644 --- a/CleverTapSDK/InApps/CTSlider.h +++ b/CleverTapSDK/InApps/CTSlider.h @@ -1,11 +1,3 @@ -// -// CTSlider.h -// CleverTapSDK -// -// Created by Aditi Agrawal on 17/08/18. -// Copyright © 2018 Peter Wilkniss. All rights reserved. -// - #import @interface CTSlider : UISlider diff --git a/CleverTapSDK/InApps/CTSlider.m b/CleverTapSDK/InApps/CTSlider.m index f53320db..7ea8ccbc 100644 --- a/CleverTapSDK/InApps/CTSlider.m +++ b/CleverTapSDK/InApps/CTSlider.m @@ -1,25 +1,9 @@ -// -// CTSlider.m -// CleverTapSDK -// -// Created by Aditi Agrawal on 17/08/18. -// Copyright © 2018 Peter Wilkniss. All rights reserved. -// - #import "CTSlider.h" static const float kSliderHeight = 6.0; @implementation CTSlider -/* -// Only override drawRect: if you perform custom drawing. -// An empty implementation adversely affects performance during animation. -- (void)drawRect:(CGRect)rect { - // Drawing code -} -*/ - - (CGRect)trackRectForBounds:(CGRect)bounds { CGRect rect = CGRectMake(bounds.origin.x, bounds.size.height/2 - 3, bounds.size.width, kSliderHeight); return rect; diff --git a/CleverTapSDK/InApps/images/sound-wave-headphones.png b/CleverTapSDK/InApps/images/sound-wave-headphones.png index 6c6c5bf833d86e61194d8daa3e8963c3f9fc41ce..d432fefdde6bfec697d6cb2c53f0fb192b5ed31a 100644 GIT binary patch literal 46385 zcmeEuWkA&36D}-EBdI98lF}haNGza)q$tuMQqtW^8X&cFNGYInr=&`w(w!noclSNJ zzP_*jZ}19*0%a`xp z$s%|~cq15LJEXg!QCJw)Sane~KHPZh__T1iFtpH3lhpC^@FjIj=}^2fLg<+Ea0&CX z`SbLJz$g>E+S;BksXv9&dlZz-)11G#f0J1FQd=(49*6TE0^dFBOB2!={-!rW<#~scjJ{C6eEn>1>Cp(vLp&6Tu>-cbx;YV_Q)Z2tOznCyR z=`o%1>1}#lURJi>aZ&!S$6SFZJ3Lh1#QJT(K1!rw=&{D9z@TBu?VXP?SH<3J9bK$c zNgKK;{UT1=74aZ9%{(pK+|gu}boi#5yH;d>uEeVaS6-L$H)TLy=?f8v>brAqN_IF6 z_gq5ydQekB{^AunhAy!+U^nsMm&MoSuc6k95#T_` z_mOPRGfi@M;(`4K5JN?K2wo(b1XXEKzwSDf=jO*F$#r!0c0|{<+zo ztC=uaMZ#eCK`2KewZ}{v?A0ns<6Pm>>4~aLD&WGSRW&X@{Vt?q6t_1cF!rXn?9Y_} zg5bFdSdj+k7oOvUQBaR*96vA}!oOs2(s8ee1CNWHaIuiH+-#_m*ubLenS9b|_aB&M z$KxYa!VFdUeJwXEhWgmJ_f6UIvo~Jq;`HGHYLUft2$84xam@zzYcEqXf`? zHK+h*71HgFNa)Iop?=?aujvLJ*Bgr73GH{?c`&ozy_v}o+*WU8d zMZ!{3S^QA3QIqmTlXMV{8Mki5=t!0A1j2T_!g1Sq|Gqq3+(3=v53e$nATifv!6ME4 zM~%`ZAVMqY=P&yXxtD~^7TF6 zkLT92OHf2ICJ~KIm0R>kNOkh=ShqLSzvd&*>pXL{dM^s`2%N5#vD zzYtDYznO@?A8^(~3zd6l@1ZB?=&Va?S#}n3G0Dt-sfaCF@x^FWx8do)yTa}SUf!d_ zACXh?42Xwn!>mg2Tu%)iJ{;uhNIKxK_w@9_*G@84dT9vD!Zm z#+0d@l-XWN7P21p+x&>zYTvN;Xe#%?`zpf<%Rc@&>6tVcY$U}=%T_zX#Zr<*TCLsY z?8jENbRVaw%t*-(agz||uxBCNSe8mz1wCEI{vJND5Qf)`=*5%Xz{HUb5Ti9kJsF4#$>N?)14%b6+>jPV4lCg=aUZ7b zl%B*sP}Ol9*0HdS>WtjBoBAMRH(W5rFM!!Q_}Mgw^w_ntC#IE-47a0=@xw47)rFc${++z?JD;1vgWbsBn0goBr zLk1%{kf4Te)?2%_R3qJ9CU_M>V+M zO++W=(wTEV)2$0^y6D3KZ-~0y<>>qb4*$srEG&BEzme{hzF8G`V$pJ zfDr+`_#G{B0j9@wWrj@FiwsDeM~|xPmin_f4H0`o8cDsDU^@$*{B*y6x^G0RC7!Ul zx?1LYc8p-8pkH};i6(xa)_H+=yKb1Qca+`iFtdQ9>yG?mXqPP6?-Y*ChchtA`If}dqCoY=X!4fdwJH&hyaC0kF&Ok91Hm7;8AtbQN2Le+Ar zSM04TOKhBv-@Cn=dFexTaftXMy5Erc+ukscHAEGcxmJwKxMPHDl(s&&u1I?9_Q}8B zT^(~yqHTT^qvP8)rvTn7Y?!W4R%0vl^P?k{rsJfco+3$`IP5=fgG_7C_gdvf=gJ-T&b}uaSV0vl{=+PV4|J>NZ{BCNPNX~|TCu2wr4>?T zqr>YTTLownbSSFp=`h5&78g9$apTr0Gd;c}Jjs^{eAauuIU6CPL_|cQgUhkcAHckxL zHv89(toUJx!XVwNKg-MYhWWUTsYZId@;xf-V#)trp2>9>n`pRMgVr!#O3Ib1l$4Fa zZmXm2o(h)cs*68mqoP8d@nz+^YOK5)zJDbC{PA0Lsh#67d)m;p2$|n8{7+B`V$Wy2 zi!T`I`fz_3&U^Rn-JOlvg|yso8sTXk`5+1#B8U<0_RdbVb?VRunnjY4^Dj?nGHj&_ zEvwvO3I2W~Mot);K#*xFlQlBIcHo`L>+vSPi@Q!Rh@XrSy{O#Fd@S9Ul|0=qZS{~+ z4$;E46gY~a+W+H~0mg(Kol3Ym?cLO)W-G&m3}=V!Qob)2toR-8kJaA9XqhG=^KF(bsY-xufv>6Ji zgBtV^7G}VIJ`8&no^00=&AqjKUPX23$(W^vB`O&IEC?^&KPAPq(<{5c+U(LKNG9>3 z)ze-p6_b;bCQ(mJu!2U1FbhwPsd{^4W+gLDZf4oG$Ca65=esfq|KrQQagqj8^t!0Z zuud6{?O3&GXY`Uqn&&Sc(QBo*-(-KG-T6F(d8WK*AuCyO61e{+?$lDxN!Ny2o#55q zi%PnRj3Gs=t^6p9@21Ymw%nfYd=MeAKdSk*r3D9PFyQkb=2_UH#a+qzyVA!PN`@6G zeO1p#y38AM*>L}QnLB!LRdKnF4|2oJTxMowE9a*RQfhYnS)I4~7P2U@mf=Dx{=VkB z<(cVkntd`3EbdGslJ(iCu>Vhpn%;q{-qP)+&Z*8^9V@peZRCHenkvQ;_(_o)yb1L% z<{8nFg`(7hlZC609V1(3U5l(fru%aCKWfYHlP7p_0=|A)k*3^SYVpQ7#(?^;$6pj~A*b==o_ z)ks_qDw5mkFE;B)*V~iq`wO!5eI`Amb6d^gLKm(f^Y6x@AeOL0@s6#IeS&Lb0hJMm z8vcvzZeBklV^Q=CoWTv!d~t40ldksoS1FF)8X`u>Dq;TR9Pnm6Oi@P>#bFY&uZLyM z3*YX}9JUFY-wQ$C0Qp@kBmM4~vU&aE(R57POx5iwA!f0^A>f$?T$R$Q^Z3G)J5DGw zRD984Nkw={P=b>)U!PC36s&?23GShIX0vP|m>J%3-cniEe=Gmd4H^T1@V`A{AL10) zYdBnO_H|K1L!-=Rb+mM2I8QTQ`Ccb_Km5Udge_ZWN|jUD3huKN*=l*8#771Hkuan+o zF>2ZlP>)qa-}zIgpz~leVF!LQhK^Q8a;e!+o@V(6_l-vV67;T;Mge;~J+rYWcs!QA zNpQ4K(Jb6zO8WO3SnvU zcD(JWUi*rv^|VNS6;`WBRT5sdf&`(uPlj5u0fq!E}o-PD5fiH&J`}T za-1~M<10s@~};3eS->EPTIH5&$Q^7569N3XU>b}i~1?3 zeIp57{ly$C>3VO;P7q({=Dmuo2(Opk{`{wGM4LdG0{PL)K<7fA-{)ZK<it=xYfar1z^6y z<7KU;g2n~+(G>+gs_Dq>P4rgN_RlEqmy zys$q4^}u^U%U`l4wxkY^JQNY%fzj@*F;^qG}l&#Pr7!aud{QH08XwBULU1^Uwc>z?_mJr9G+& zA`zZG>udG|goHCcbZAn-?nziU5n}bM_*V&y|MHl~)1)?-7`AB|ckcfym|#^9fla#` zD_Qqm{+vE@8kusRkWxX|z`%{i+wJw%=-O@fb$yTVr|*A$do5g?Y4kLj7<|N`1RhB*5wDgm*^u@4 z^9uu#^M-b*o~XmmKz$naNFo0IyXr-|NN|F`vfXa%P>(QCtV*)rQzuo`Z-!C7x_)nK z7}%503YBQL-kt^Gr>`e&8a7;Nk*CPI< zr5|c^8N{@@xD~ejx4IJA9Q+u^_qShM5heY5TeDbTSS!|M+*4BD_RpI@MV8(N!m}{? zDXTDF2C+IW1O!KTe^u8BWho=JZBVgFKEDN;p8vC@a~!asB`%$fqHBiU7oQuYPQR1H zwBAOt3C@T9koo8NU!&hSrXPHLa+hG7b%*Ho|GvOOB{)v6tLd3VD{}k?LsxgVa5$}~ zQacQR}NnE79>Z@zsP+~b53ZMLoAz$DpT`DHv@6Ayl!1UFsybK>1 ztsn7la3s%wx|Q|$^XIk^DYvUoh7M#?S644_17)w?&i1zICcFDZyo+21&7=LpSo+St zvM4DJX3}IwjB8#&BUickSFhW`!qwWbGJE0NM?e3KlkN(Yo$Rg2^p49%Y--yd|0h&& z2|M7mAq6)NB40~f*l+dto$pk$AXsmq?a8PK_9KR}Vsz(`iyvg%Tv)V*d*N?`nsCFg z<|)g3EBxwL*Zh9&y~@WWrWG-2W^&b#^%O}P#9VG(aD`8Z*sj#us&Kxwo|uy9H%Gg8 zM+rvHY{w=h%oD^t9H&h_^waAy`i06iP>Wd{EcRtKoKAdMsR)h)snS#<<8CPB>xHkc zt2NHoe#lBvDp6Z>-xM7_L{ciEjX^7yG5pxKrx@+3KBUObaN_7Mx68aFYxxn!ySYHB zSZbYrL4q643?$DVkn!QCuix9IlO*-sI!(p0{Xo(g1x4-BKWQ1092u~=Rd(!%?>hD) zQc6YaqfBRvF4A2RxP#T=Hy@J{O>wE4}e>qF~`v>TwjZ6AYh zdni=?@#`Ec4S@QCRedY_2XLAh;qeBlY+1CMG|S2bxhr=7AG@Os$7ztr@_1lsyKKg< zbnjk#_vbs#@jM3O-@09bQH=_J0LP=-h;(2M6$eEl6{lAwnD zjwOILDF-Zu#$Z0Z+RQfhVq*x+odx`Pk$yW3_kwD`lHrNi$+v7jsIdAI{+ywZ;AzJR zky2+BjsF)g?)X>ds9!>@kO6AylnIaS)B5NoR$FTPG4N@jUiEq#YCqyo`%wWIm$TB# zwSCwAy!Y0{S1g2oyCNC=e<+L@iEU~;AvbJR=Ji22k?(QY<>x1>fMudKgnbax_O^s= z$^q_(WJY-V)TO`CYEu=CQ}NZzpv2E-Wz4VJZ|C)la+HRHMi3@IZjcG3K^A+cyXe%T zyL1*%$!oc85GiZ=R~ixreqhsBz_89R;SVy*sRDKXlSAn)?y;a6pp5;=7E*w2ml<*^e}mIN2!b%ar$njs42PL6Hc+uu*G&q`PU5RylWq)x>x)f6Yz$ z*KwZI9E}ykLyi|HKU*%$OM#G<&A_CVD17 zsEI9Qu|z-k*U*w+sos^B_RGRYB$?0Bg7MHHr$dSk*et-82BgWq&y)=-@@o9_RytK_ z@Y>@@7PdER@2Z}yMt|0j03|-OrieOIo12*l9o$H5AV1I#k!sC6e1=L;CfC(DDYLVX z;KTm%5P_p!O&KZPe61Lo2~~-`!9ry_4;Ku4R43=5tT6y(x(e?2TYh>%w~9Mi$6t#3 zWvJzLp0A=+Y#5NY&~6_dtCM{b|~NMVDtOu1%;28~gU2l6D?!ti+FjFx;= z_?#8P=eXfgdRujmKc3r+i%I2jKK@zScB#5?ukax2+J9H-gUyd`%ozN9K06}m@|5|v zu#EyvQY}oX4&RB-A8p1)OP|bK(ffD*uIFHln=7TO|9afCxmL4Z9s3`}LQ#U|G@cd1 zVw|$3)1SOE@vF|i<8xM#4ylD?^*UHjMaFEmw1iMl>@4)CUA}UK<=(w}abvRX^2nljuY#63)(06~?48t%`R|)e0Jw zr}s2{mFOf8fIrZPB6te;TL|o3ML)}OT9h5%R8EvZyL&JpfvcI7xzj3pFOAv`< zqBc*^HKa4E>d> z%kOvinc>mx9!Kki3fqxejk?HO`z(Y;vB>VnSh7ENhBqs~agZve2Jy$EJ00G!0B4q_ z8%~@$IoR;fI3r(xRcSqV${wiiFssabY3; z<#oK@jVHACnqg9jn0Fq(lE)gD+v$<=i#T*N@khCa!>AZCCMHG%RMZqr7iSw3$G2i& zJauks_gvN|k4nsfy@4GXXsb;kBU1P8>)c-tWvBVi%D^$GH+C)Ix{@emk0msP6di*; zxx}C(VdDpDZ;4TpOd2g~&F8(a)vKnuY0kV`MKxa8HQ{QzbGLr-Q3K<6DvkmD_5ZN_ zEeGs#+fF@o*!fgk%jpAt|zK8Ly{#&%y(e2|8vsDS2_yP)TB<(z;r8yLFZUh+bco;b+Ht6io6F%BMdVE))Pr zc=okGS$~D{HY%J+%A5^1!cU-)#N*sTYZs&FE+yJkVKNYb(benuSJgi7(nE z$}q|!XOp{j=N&Pq7h(KXgE=kbJ(90`tHWB%fLNv`!w}uIP`kXZd;-m-$fh48T>I>G zC&&8T4RoSG|Hvii@GmJU*b%>G!%FWtAH^QcfO86*lhF{D`j$;%&1zXU`H!}6rPb+% ziO^rnm-$g(W>73=Fw*!j6Dtp)GxhL9x(eMb`(1Sf`xD{#{b+?d_r1M4@GSVFB#`NX zhXd;C>svrsJk;_GpMun5TPW3y7gs{`JT=3MJYl_ODK_;84)cP z%=vpU3)Kfp1Medyy=R)mdRhQPTwntwI<>xk$iQnUdmYGBuG=a27dO8eB z@!UlysnQ;_BC@y9 zu>(n@OX6@gXdU>t`;)dXe$mVKQ%?Bt!>0BbBEwaG?z+FfJLLFFFmQ4a&y&vCk3j}&<9#%gh1#W`Bmi2e zPH)bce@*^L#~NkLm4RpnjTrN4%f7d2;Xw}@f1LF%G_c0#baPzXY(i0>w``;hY2se( z!Q|k+h0PS?MQLUVRB$`dqxqN#0JF{$=`38Oq?>TKD&tfz8B;U~0iB>FvisY&eOTO= z7y4B;Ni(NR)imFz-8#7YTG1Mr^q-rI8vRbanCZhe8GXwEzpZmdkRqi;AU)SPY zDt4dy#VIx={CQLg>QT3uO@Yn1uub733Ud-xR1cm24*XzX+V^Bl`uHXx1n-cu7tnzD z*J|@?6ziY?95SEPHd*T&LxMk~7~UFs^@LE_3UqcGvtRG>KPal-?vie!@_cyQk}J?z z`dNhM`yW8Zgr1TjKc)~bDkp$8xt}&@*b8*}=^iwcOZg54ERO^b(}^*+MbN!Y6m@>L zv>>YRasGQo2*cT;e8{)d+b82yn?w=IBeG4B<>T#^Mn9y_1k*RKQlQ3_V0>U_$P#6x zvy^p!f>penYG#lI@3?**>*;Xjr=~K?=Os*+R-bV9!4)Q z?z%QEyRwU8qye>SUG$KPOa}88`);e5tPKu$7nV1h&RhSzO<7 zK_12UU#wR`=V@}UmnHMi+_E`@laoxE{hSYZLjFRm7wBxyQW9C_1-u7(%+v$p;^J7| zsir2^9Q}Gt0rDEL+3km&9_giGg6w#C7~VCN=MK5y}1fzl6GGrAwVOPhKzLfyc6D$0wlH^ zs5oMa8G?s^1#^(~j@0-{=DsO*4?`q@-! z0f6C9nQNXXuia)43RC<&kA-ri02g4P9M&>l*8DMzhYtm%Zr}D!pXZECNR6?Ncs=5p zVL#It;=R!zTU#r}saBXkmmUl-7Zv2NrvY zzI>tixc5=cQHqxifJnk(FO?+X_;#Y+(|Nv2A>b1Lt>}G~?HBZ^KGoFi)-#^(3#vQ1 zP%7p#-R8Wx*zAHEb7+OuvhBuoK`f zz)K%<$;Ek2gXHYJ^HrFWRS2{nb${-kk_9LeD9pH|?B0Lyf`mb`gO5S@p3!lQ&-7L5 zHs;GHKdu9Q+!zxBgW!3?~mZY(83P zvQM6Y?v>B`=uR+Xb#S~=%$Ar0rbhZgSH@>A-)KrhUtiytDn=U*Y5->wn&-ZB zC5C#tYaqiy^yg{k!g%LRp=d3u`oph=_I6`jXdn#cT3fWQ`J+9Om+woD`r3n^ z91)8Dz}O*2GxTNgBr}+)11Lt?9p!Nx9y6w)tu6Av@WkVl4jgiw)ELv#_zjJSgYou0 zMT15rNLQHOY`>OOS@h5!0D!qIn!DAn#4G9vfASSldKH36fo#l++}FXz#*Rk}7iZZc z3;>j2J<=~j6z?v>dcSJ|s!P?zbQuyr(W@8^hRuK(uko8a zvj((xc01ATh1j3kQe*%+>x!M6LWZ6{ue^_;FXTJL`n z=;mF2d}5vCVF8}P?)1`zi_-=()e;DABua} z1G;@Ery>JHHx}3omk?6>!upEZk4e`NgV6baAPem_W=e=JVF%5XN#u1|;0^jNeRqo# zV_1DHKJM)9Qc)jsUGl6k*}iod;c$Zx;z)^X&$6yW^K#JT%g_{;HhY z?B7yE{3=p*r%UKEGZwVcei%E|faw(a2$dJdWNV)*cyEd#ji5(w1`W`e`yncG z=Y76wP6mg!8HC^YeoG0zw%)yX@~uX<04pG%8W|uJq3Q;eXhY7V`8YU>N^B)^B1F`!E`1&Zl7eNI4 z5IX;w8Ij>nTvZS+;q=t)cD`|obhB;-z(Lhz%k3oUg>=70YcS#HN=_A7?YUzv>^Ro~ z*wt(M#?CCcwn#iGymJ5jr|CZ1A(FOQGlJ%&K5EC)FXuTT3MoGZql!HbZV<^MpIX3{ zDPcAUWtVEgMRSvDZN|!^A8i3y<~ckF=TeHQxjrbqI{jRunXJ0Oln-EvUMHRNoiS5@ z*u8yprz;392hCEm=0r?f_H^!tWfEDY=OZ>QZvGQh4?t9j|6~z?;A!J`2rC@B9By1| zoA4Ua)Y>b3B~J_OC+p?BIWPSN#Ln)kOAT}^R^6zw3)HE=5tWk!TI1rDoDpD)069Ck zts6V)VT zUtp!A3U}e@Z{GCuUlX!=xIIRFJlmVYy)sf$=9(9SdtI(DI2Jdc8DC*$SmC&a zT?>RVEc46LnS8{i_CGj_rlVjwdWN<#+O@iXH8jQ4HhKcX?bVH9!ItI`v0gCU+Hyrp zKMINal=W3;sLHZ)Zy+f2ShqGmld$0s(@_bm9TvCTLFO-qIO) zM^BIYRRfp%D1S(Cj>v!TKEg=xB>vm-P=1V-)#6Pduw%dG?{rjGC<3D1$OS{_V=b*r zH=*)9;;2~YIDG%(_|=OXIq!0ce_4^gz9CXU5a}8U7C3p(WSC}OqGxktPKDL8>@WU+ z$#HK;i;Yz!ITls4Do$O}MaFSzvHF5s!=ie7t>W3_>y0Fqbj^(kj-uJkX%UJ&?GrE| zPc%Wi7D~f+3ze<{xxm7tCB^11VL~6yQtK4b$Nr-CT6}XC2uh+9y3l&k#mU<8IzY8j zCr{R?g{PAUL~O7AR8m=h_l`1?Fat~pt+WAdzg zQST<;xY2OHdc418ZPm8GC$dJWKRyzOSeZ?30@TkBF6M`}1u@Mr+g*I@|5qJ2d5jBlOh%==5J`(J->ZOaq=;q;SHv5iw>1|KgAr6gFhN3`ZIG8FnU$GPgIH z`}6GEoIf=^*9zyz*rp-d@cRG_?|{zIRqEhKsdJH|Ux0@^0eSyTr!W({C#3XVS!RusqQi^Px4BmY(A;CHZ1dv|LJSd~DB)m-%Y6!$|Pz3>3gXi#cUS$;Pn z{p(9o%;8p~Uy8_j%@5_SuNF5x*y3q9+&LJfKdl{VR6n`%xoTl6m{|4(B_N;L8IOW@ zREN=~64(^G_iE2I|81x6n)AWx*n=JpddE5LUeGx}jdV6M`W$|Lxh^kt9JSJ)9UAlU zxmZ$|%eh^1CV_uO7mO~U&O5LTMJD_3;&IOfB%Wm@n8)zUa zjLo@_MeTFp_8yR~Z)=m>E8)22D8M?~4t-hwy;E7-n*96)Qn1;i|`iXwe{iK^HfCo03uO9z^8xWP^)5=stKP%ElmiVPs)7f zv><53 z^U}yp#c(h@P&ZzwlH5j$kJK#2u816LECZuGQ$+p!1YU6k?ldiosCfrarAe6U`mBaw zKqw*GUn8e+PgO#-seeS=ULQ5T5-Nh1Wsi8jqssRU zi|#EGbS?Ft#32GR-uD+cy5$o>G&&9o_0NW@szxY^csd7o&xNoln~*W5K)`&2>P(08 zm{|f#@hE75NsAE56v^_!5N5V(H_f8I=JgCVo__89td0Tnxk^wKzLE4Xr4QHyHK?q- zBD>tRxU5rLsYB_jncC=5P8sSFXamY$us3MVZ#Oy0%p*;zpanlsPMW=uAVO*Xi1rQQ z!{obdoexJQegI)J-hntBd>C;CNYcI874nYxaJKEXkPDQiRM~aS5mm+~6PQ|9)S(I` zHX)wcdGZl34VC=DL<%ZSfs`x{-%Z_MKJA4ip)8FD->p*NpxFDzQmZoEB+pc4wX0jJijXTsHv=DX^a4D1 zr5Mg*;F0E-t#B$33mJde1%280OSn4&gDE?*NwH||#?9cnc;NXk7Qllw=1iVIN%<~| zD47UV2Umk}QIe~?hLi38tUCx>%zb@zcQ}UsNn6eOR2{=9o39*90Mh@Go(ZwE3JwVA z?PhaB{b>PUtWEj=WlzOp&DIoVmbcP=ezZ8krKhaow5Z+Z(ox6EAkBs#(F!V7* zP<*J`LtsR z9gzOJ*{&685ka@9$j{J;m5ZHH@to!KSDTj^biM`>)h+O<|;OTnwb2 zR}3vk?V#A019JeNr8QAZ@&IITNa$C~%J)3m!IVS>Wc)qYm@6;#_mmy9pOS+c|0utTzdE-2B-qqUXF z9t#vG`B2Of5YObGNIWrK;#AtU-^GEStvae3BY8DPueu26m)cGyKLQDP9K!s2DsFHIFIJnI0K%0j@9>sdD+=@_Rmi? z+;ev$Pr+P)2~$S(YoDK-MvkDt z!d*91Ahkijd?9GJ=(~-X6@fuzkk|nx4w3aX?gJ6BdeORaV}!qXbvdj177A>|AfS^( zC$WDQg@-S)%N#W)x+tbaf8-JbH(e){2>|#|XLLGu)vhy|1yw*qo_r+nB~9uKSCcv$ zoB|z#&V}dCHhYmj6A7*zRGL5WPoyV)1;$&3F3%D~Sjm)9LGZG;jRk7PzzD<~;K+wH z70$9CM|IS|6L<_j?Y&5&4%&e6Tc_IQ#$aH?4ppe6U!1-N(SMMl|8_$z?AmwTD#2Rh zSAqN%nG6lgCF|Rk=@S{!SfP?y?HEl3g4caR0O(%>h56%Pl%$-a569U*+D>@Dd0}nU z6sKf9(n(JlR5(a(ZVgb8>;{14nzJl-`vxlsF_hE*gd2&36f}3y2d5@o2;>z_*fS98 zpum3Iw~&_i1k;nay-HgKb(CjQ1;}Zr00D#8K6me>+g{&X%#5t63YG;dbW?2>{Ni?u zR7bpPV}GAAXY@%jtHO2V5gS_o$g|+2PdCu_kB}USpaJ2(Un}tOaa3XirVAI}H^yt| zl=K-mjiU&aFCdZe5Z3DV9o27W%)cZ)-cpG+8w&;^Q5@c4;kDyr#ni#xk-9G7>NuM# z-;AzYxl()8(Bq@T&X=3(V78)~lbidJg>;7yM4q%)QtQOfQ>DDMK~s#c9>bb*00gb ztk>SC0H+)efHSeN2>~FSpTCkktVl`{04K1VnaJ1T4Q(7TzRFpe;lV;65j&5@`83KmV*o@FH~&B~UNt z7Xyqn^jczJBhf$IxO6B5HGyRyHo)YP<^BF)F;--Ltz;RV9I9{y+L|gQ$AjNGTwWy{n zg35@jSwETudP>pTsKqL>`(1!C!E`AR?D_>U1N(K-+aSN1xOcGgK^h4Yl^txrpwc-w z@9TA(=1qPFBOnVt^}%(@b0HNtl*q;DjschgVPeW8!AS*YRl$P+RaG5N?uZQ!gdvOk zedxEdNzz`Yr`z}8t|ZQ;x$Lx@gP?5wjyjZ`LevDB2o>1#8iR7=^A#0XiWs%ZDL07; z6-+>L8lEcVItd7FjL*9l(=Vby4f<*NT-iK?nq7_Df3XLVH+$0DjcDt4h0woB0~H&@B(l6y?Lc@KVKoQY3NN3l3+9IfTa z!UKR;uX(IzA@p41OB&k zDJjqF7phiV1|N1EUT=8=+<4)?`%!27YP!QGd`d)V=V%7?m^nBI6Z{6`GJf&J%T$Eg3Cl-ly10!Z{QW3~*$ z*4e>~Jy}V51es}c<={Wz9t6e>M6`p_QDS07H8kIXOx^IldkX5dq*?*=5?;(RzD|Jh z*Mh40?kj0~QBQD)K8At@Gz}vjj@=-FNR#(Aj#>uFw&RG&C0@zej=Bn7_XT*}K9Pu6 zNC1o=Q9n=@9O2TRw(I2&#%5N-gX+xI{D{a0j1BY`kmbov)4Sg@0Ae+0$TCo)T3FMB z3PzL4C-ak&`k|6K?Rd%#9)6<=m;s{zn#k&8RRhR2Rhmr$WqEFnjL>Qmz4PG|!M~1V z4~U?<&1x^z$0-Dg-nd*FkLV&G0vIjiRc9=&82lu6SL?qHx<<5y@RNB-#Ig2nrtDR5w$ZRRlzQHq-kSO1u_rI0JEBu|4fg^RShPYWpnaDx0x6 zR^>!w%3z|nXBj8>a*l^bz!Hyvf9SA^aFy8#$dz>90W^i_0@iwG#Y2M{3b_uODOj$) zUC1TCG&5RNi9+kQ91bgm)gLD8>bM13CrY2Zd@bT=;-v9oZ^XzwJ3Bjyod#PPwh9?% zn{jNXqinUzeuC}UyXX{Z45%fF4FN25#y-rRI^XRMvUZ}OwSlNK3_fLZ+2 z@yhOo)9vm~3#7Xt$t;+N z0&I4QaS&+AAC%{`iQaORp)w2K8)pY2?^I|IdRZ1L1tKzs7xR zo;rINs&&MSin|9u-1ne&zZdR50%6s100Iq-cm1~;TfobtFdL@kD@P2KRITbk3#2F~ zr=zJw5g!w(46U$l1gERHOp<)4OrpquU&CF%rUZX0&0@xb%D{OHz9xjZly`gqqh}Le z7>Q8^c7}j2-~d^T^GNv;!gz7GQ14~}l?KQu6@anbN}gSO_XMYQ%1m!Oi4j#}JHP>o z=0Si$Pq-WJuY)741UlX0tuSI>fM$yTa7J)GUw<#I=-6rm2p2~wSkZtx6+?-4zaD3# zObQP4mIg*pvA(BzIfasA2!O>nZX9A_Lc^e5x-Dbi3m8m1dovWdLQhGt0OC+0?M+Z6 zL_)pBlgS!KJHRb8H=2!rHWmx%7hbr>AR#OzHS;!d_!_8f%2<(4p@HmxtMf$?*2=)X zKqR;Xc-ijham}G_R)6IX97Bmo8ANsuPj$s{HmHOx0y2mPTBR?E>8zrz#_$K-l|!+w zK9tf#-5#X@BW1=6wRb_Ou|~WK&l!Q61Ld~fa|hMfAnXE=vE9mW2rO>`1fGgM=*!N; z>y(R^0VDpaWXNNJCFG1muc_vItCAl#2PbrGBPuSTzN_N`O37=e&z}npFF-EHSy@2Q zpW^?R0TCEMH!q#}Gk}ws3b>&<;6!9ypXJ_>;T6EyI&~01lUF*cKiOWIBZUAGK&oA8 zau>`n0Ycgz+)@Nq#1eposAyae<^AfklqlU!tTYhzc^ws?8er=1*2uwi^@M{svP1`LyHI`iI=#Rw3=S71oZMpTMh4!$iOF2$mtb*n72uq(2Lii4q)U7pp|-0EajufI&%EMSkUR_XFG6oS5?(eAo(ge$bYkhmPS*c zf(Z><9{nyF3P(rZuCFJmGuM0%+~Eh1b4$BO9037HhWLSD%PEjwy65GD8b*l%Y6!3G z4^e6bw46Dp`+|ZB)(pkf1TMpct&GEN-*{x+X!Z_8tH2U5AXShTh|10crmAcvY9OX+ zf-owf7u^nrH-pM;|3!3m1m##V{}VayP!aT7pt>~npnO`6z-=R)HjT{z2INH11J@dM zE=U@IOTwbg(mQqVO$&1L`okhqBCDvQL#QWB<69aPBC4bb#N2xMp{Pm@Sp`7*DFr!z z7EpLirj^-EiG_Y7$Ne)tFHXs~TCUPYN`EzB6Fde29wXy`>|lgkCli@wOlR;t{BHO6 zYhe?e*u?NZtIlQtM}(hAgQf7%vTO&#MW6&+Wuj(Xv0{{t=0zT|`{(RbUYArTmm$0&~{k`EDQBqa`j z1lh1s^5~Baqk|eO25i!k0FaX{(^L5r-ZjH;K&)e6wnK5_z<>5rB1h_$^wg5GXmUVL z`iY~Xl55O5 zrq8dT?FuU5OPHS<>oTZ2OYy;7)U(0IHMckAL2`fR-`P+O8gVoCzwV9_q23I<0R(0| z>i#;61p=3$1b`LdKOtQ5*~0@2NhygWH0~R8*ui=GX}G25sF|}-f{u3h>hei zlLep}V{ZUdlY}*+codeR@7#ZdZ?#UPjeIHoUQGzAt zq5<_9q?_{1B^x}OZ0%Vf1K$TcovBMcq3k+1k=|L&119F|fBoOy8X2_><{&EhgJpra ze&1Vh7CvKOhtv;{CXxZ6`~?JHuqSrLAzl_IY@=`_pJ%&2`~mRN#)=9-w!gge9F+Ej zh#Kivp15t7ao*qocymP6pGER%PE5vZ4qSoJYwCC^ZL!@^{uJuRIto-HU|RqZV_dtcoV z$1o}D+s6oUR&f434%x(^0?pzZ0cq~_A%<&zF1(x)9eeQkA9qNMm!#l^*+ubwOx>G9 z@URlFzb)Uj)bC)_5%bg}-fcL_UAu=BbjruDb47FG|2}ilZh(ZCMwe~)vT|f%Mxfon z03a7x=?femZ#K!oA<~`4U3QcB7N7BFLwvdgRfF8j?LQ#4#a}!D* zZ``=2V@M6X6^)&I1S#Git7L%#Jrjw>O9}VPNTPUeIT1ggf?JaXpXwDW1Yr$HOpXSS zjIbUPU=cbLv&i^k`@AEXd?dzaoz}>V&!yi%Xi)F3z>`sgU2>D5(?WmbHFif|zky%t z7Q_E#D8gTOs~IG1$1%JTE8~O`mI_#yA2jN>{Qw2BVfgM{q}J#KY)($jiB;V!q?&a4 zMqQX8`y2b%tz_T!80jETkwO9$YO~ux-kRtvQ{~H%AM@~t$^ZW2I&z-nPc=#(4?f&F zha-&u7TRfb&iQ+D!>)wWz{UT?T!oZqPA`5E4#oBYi$Rj>9XX`cI1Q%*=a8Pk7Y9S9 zX?~zELBRSdz9U-)qE-dw7w0ZpF(4W88pchm)Jz}lF~SS{_XldoasjXZO1Fg`s&l6w zFp)8YFiXRurem1l+PMtS(TGPb=~r3rO(L8s6ix7QY;-i!f6OEwqv3FDLI@{cI_fQ0 zcSJ6W&jUm5GJwM3@NNQXh{guf;g36j3kfa!0u04gGL3k8;6M8zNF+NNZiir04~8Na zBR@4M=I4OJ(+8m=JdgH)n;rgb2`U@NVe3e}w?XdVsB@8 z#(LO358Ix-==2K$6C@X)Ky(C$T$Kd=Jq_|pCez&*vLdoR9uQZOqrE9ddg)7}6?v9Z z4fUem;*29LfsvvI)E}g^W(i1s1enb%$@B~r4o=e{s^nI<72HUiT~>&Ky#_PW$-riY69@V`Q4k+N8~NlTRUtZ>{=~DBHEsxae(khTxe5FcIO@{e3?%3QC|U zszAKD?)NGMr$we|UYD#U|J8T2k6E3nsu0ZWl+XxyNj&UZL|Iwpki&8IWUE{je7b9wO>*hzV8>-^aiC23 znJe;R#oT7k7zHZ)pD`G6!@Jb85fKGOd3VrBb6GB&dnq(~kc}p7|+-Z`Eb~{xGFD^Vrsrfgg$N&x=6$?AmxY) zm-J>TkQ;mj;MwezKZkSH74Hi4NQA&0SAhNKBf6qs_Pu+j004=5e{0?0FPi|XH4bQy z`!17i-)r(YCQ)x*G9NI20XRJxa?ER1VC8y|I*&+OWF%cUu1`H#P^a%v+;p)w6Bat} zMF64d+kd>c8l!6iNCf^YJW?v35HQdSEXKhh55fVmW1_JN!>?;$z|rXcWei!cRx-XN015PtVWcAnRdT zG`!EtE2`PbG%jD21Zxm%FPEg`N#Ix+8l+9!f8M{2o0ko410iB9X4U9baQtMEgY)5r zn(KT!8&U!@1W~V5P@ZyXqkUo(x@`ve*}4p>aJu;2M8ApEj1pTAn1UM!NcM+p;2}Ms z)#=4hjmB~2?SO4G(MbUjgVmwN;|c_(m{oRjAA*t~@2A>E1Bi9F+QHBWVLAm)|BD-x zY=9SbWrh8lIY+QYKo~)UQ+rxWlDZ&1FR?p)mPPQrCr^i01~?vv!s$RqrBpkhcSEOZ za-W#SCkL@B0I*mb@Y|qQy@nJIsu6A&K+jhB&o}7Ba<6iO8a-9w$dT@#DMH&%KCns{h_IA@UJO$-)50@qtn6Jp&;L zS{}R5gZH<1iBQvW=$yKhjzHE=o`80GSUDS{DL!X#+b>dU)bLX3YMJ^Y^>Z#TSMQzb z+Bwm0knrrqd|cN}PT30wr4678AXhvyR^I{i{N#*^rmb{zbQYl=H}m4fi^#m=I@>9U zp$vHvq@y@*;Yv)A_$-P9LmDohAf>LIDjbU>#0USbR=0pw3u51}qqG+SkRQF{16kM< z((d8eC5RhgnY! zf3@9rc6OfTtF{{96Li~{pWojev#lM-)69M)`vyb1(bL1h1K>OC4?uXW>y3RY`{!VtAQo7tA2j(fIdK;sLk-RNYG(sXfsVm)6{GMs>F5F@-^v;FgH8`2zD1>Q-gYeV}P^n18}F8te# z&MDZdcd%CgV!6Wygp1uSh6sOrs@LM~6AY3_ptXic`*giIMA_ztH3NWyRU~$#Y%k(2 z-opbch*Tq;q1c^T3p4^SR4a9oLK)sD{J$;*|3woQ>^K@6GX^_CHgt4K(qWcIu^q1m zLw`F=*`(ve_+)^;GV>X;ZJhAF7E3Je2lVcQ% zk^>^bWN~S>_~2J~?}xti08)&QeFqx#AH&a(9=`>4$w8NDx#cx=ahHw;qvh`t>>=M_n~Y2byrdv9Jay2zH$4J zqF?_&UlrZ`s$qYuZEwl*Y)S;tD6IqLQSP$-xd4cM+}R%KkWiO;CDrj77ID-GG{s8E zFyNTTOvC;^MsB=^!qbm0E_Qs^6a$Wo4Pf{hG8Jy(v?!qt?ARVB-KY_yYM}$HMGJt1 zLOvMaAzfVhJ*n!9GK}ZmLDatH@V$jWq z`x}hMT_$)DhRR2-!`4jpI!+u;oETm{RBy(V9Ha=5q67*M5|I~v=Nn9oeaBt8#-H?b zLw*PxkxRGuPIY8tWRrF{Jw_Thq=1AFwls6acsP9S=#yTdcj})aq&h#%rui{4O6nB? zZZu)AC~q+~UuA;~Vva>r`H29i$G8AYP}E}y2ZiS5=OLV_j-jju zsIKWV-_U~t;*WwJfkIx1wvzxarTSe~`pO$;e9V!`%;&k=xrFQL$P3myOCRr6i~y9&JopJAjbpCF}lgJ@mR@Xf7xM02#{G)-);J2h6X zua}(2Aw&|Jt~g$sHGSHVsJ(PW0>a&!sQvXr?qlwPWW`p}M+@F>AiU{EA5SA*{2=>{ z2*g3J1=qeC7*)=>KN;^AOe(KzxEoAdZ z!T{ptJI9~1Hq|r!i`I$nHGq&L8EH=vBz^8l33&Nkdc*#JC9Runq=?V~Dio8VWFYP( z4S>Bd=b4J{Dhmy^hpqIHc8D(Kq*o#;wo0c(vAZ}wm~KH*aDQiYVgi>nG5k`3{!u&h zBaY!WGXtpV5k5rx)_UK#nQ6 zLAQ9jjD{s;(A^U{05GG+o62k0bOwPrGWr-^ z+yX}?__+sgYe=8#J5W_DF2x!mT@EBlwU+5U7dlG_DdYpBLK1R8;+AZaDuh+!@zc}n zIv;$A2UPd#LV~&8wTA+=>W$N&cA>s_Ucip*y{=>jaAfwY0D<6DTFy$aabVYoyUv}p z$3TIO^Ar%PRRii?d&OSOohlGTNx@24;I!F54rGA-{AA0E|L}567k>fvt3e)Z=kq=& z@J)b}M*vz$(o3(XIGTxfx2qbh_Z3MzXqG`*b;$5yHmJ*B-x5@o6(3m& zAa#MO5YVO*lX^me%yvHR=@P>Q-}$`V=%4Aez73zHlfS2ES|mPMt$8UQI!$X?&-nuk zJm05j=wy#W1HqOo3Mri&>5mXC)PuJN*(EUNBd{9FBtA+Z!NoA-}63#^iw0aR^xMHidQ%5!%oLA^O zMYJ!X)r)_$i03u-2X<`TJ)v1>VYQ*lcvQWlcjQ1I9XJ`x;e#D=I&5W-97xNcCUp&B zx=#x}mq#0wG~RF8>-HdY6NaWI`fa&LRG9Wi)=9&I4ctb>NQU zC9&qu_~hV_>X6Pamvv7XK@G2&v`1GBa8&|3aH5%PEvG4|n#GiJ=Q|yq&5<|m-nuGZ zRuJJmaQ3N!fh&jxYLVtl6Vmo&2Sq4H$pD@lBr}(q7K&g;voXypVv7>K-jrRM_q%r2W zTKe^=RU9QI2*>q?K@J(mG}VSv+hG~4$21X$9VzyK@Q zcr9z#or2SD?}#A26NDeLL{Z%kzS6oUv{v_9k-=uT*hersPHvDRP=ciG0VE*jKd!g* zH0T^yrBf$_(Elwyl_13@30D&uC_d#!ACgke=X!!kxlX1Kh&ftmy)^msw~`A4wY7)@H&E=$KaobDbK9j9 z721ZY(TMh}QK5*TKapts%vT5Aiv``GG(D_4*^I~vDgjhbWnsLA9;@%3n;_~^NOj#@ z^&ubXZ37N9*p5N~Qn5U$2j|OTk8|f5THg0rAc0msq%KUda~V1W{RFal@CO2-wnLzRPKg7>99U2G2s_E1DezuA7<$V)lR%QIf#m&l z3xnKejCal}I%PB$MlAO>76K0aPeMx}OS0y34lLz2h2rPp`StMLMcoo+XnJZl&7XUT z@O&pDq8@zNoPF z*YZc|JA0$~+Sgp(RvUksn zp+PXH&8UA4J^PKb&NK#|o>FzO{@zMO(mME2|_*8fX^i+*{b@-be{Or!^tpXn~(j&V&*dt7z9?a~v)TqQ!<0Ikyr z-@6hU8&l{~0R&1Cw&_M6y1J!+d-`rj|H)@@KzOVcR82bUTbE7+>!+P`UF&8V0?D5m z_QLA-9spK#2C|{2*~j0T^Yg9q7Oz0$z8XMK!@mzBQ48q%SIyo;muUeu+my(kf}W^H zLZ{TCSJvyTaX>g}0#JKVI2f+&<~Rhz+R}6;=q$0Xlb{HbAf>UYW$J=dCXj47K5@Kf zOu_Na9EeQF>)+sm3e`@VIE`&{ux%bX1t?_~^9ak$ z6X2uDFA1bxV(wJFh<+9e&rXEWtOUHp2L?Ren+%4-vI!xSH{Z($K#G73PUb0!1sCH1 ziy@yDf^b&u8o#No=P}pCY>FQwuWk<68)n^}nYIGG znmr)J@PR9&DD4m&Kx9>(^a6bb++Kd+!92|(0XP`_nB`oaE0zWd9&NX`Rv1Y^o@z$j|oMWZ)8A9s%_HyOedDXCPj;sGqbiS)e zDIM#TJPphHI{82H8o~xD_sOdOq^zZ*gP&kk%3a#tfJyjZ_$F~=*U63o7sZ2^+QfL# zYdfOdkE`ijzI6#FKmL|@jkS#88Pg?5OGu~5E?PiGH;zn;oro+ha1+jt{fT@83o&hz zP-$6Nffoo*#pIHV?FTwOm;>R7JlCyd;Fi+_c7*P4EN8E6h4QkH!K+=7p_K*neF221 z*EaAiM`r7HCi51kJZYrSd_BruUUckgLV^kkfSi4xU?ze<^j!Pb9_u}xjdEeP@CDwx zbKEJmIz1#5>P46Z?6U5!TA?sv2IbYfS$xj@E_|{z+&K5+PJr9i#nxcR^@8pe=N@}q zL?XzZeboUQ6;U17av2@#;G0`2udgJZ@>QfD4flFCEl!RJy@6!6OZvsZ&e~L~v{(yK zLQ|3F7W)zaSOYmD-75!!@H|>&Ky5UiHOcjTU%=y1S4}$pfv#)bTS`J4tLMOjuQr}| z8jB8SUi-Av9QsjKdXk)HSdfa6-PIt36l`h&04P5wS#Li_&Eil{mYY0$m^7LpAN65F z^QbjQ>U%*V0j=2ZK2%^=%+ofxn~d9DRy_QY`16Nn;5edf@r`5R<LbSSPW1?3t`H3`~6L3mOgSHv+wKIf>;C3kv_A;g6rh_`_hX)WlLhh-XWy{RQ z!BLLjE>ra)Nd+-(dX(hmU5%f%OYa%RM#n|^cIadx+A>Y}Xf;&=D%)ipEe)+4JcsOnQ^FrPt)W`J;EKRsaV#o3iM9L~1Rji#7N%B(f%IxN#yiNZ?wxcJ z<)?P{%q)iDG@+NjZEhHDAErZG!il3I7$lZXhA3K}kc5ZHoPwG4&^nozs!RgSwVsX3CWDKEiola!= zSLsq4z;QW{{34Y7jE;cAoI03e`wvZ{8wbYjZytNa7@o@qktMm-%~#DF4>305Sww15 zqo}iDH#QuWpz%@y_fk<->8S)E&oK5HUMT+4aLY(w#(6^X&g!@Y~}c zt|xvtn6Di(nKaw70TcsWsIWUSSj=u#dvDi|VpHADis1E0EkAudRd~HKWLLFs!s~ri z%wQE3t{H$Plk5F_+%5}yq}Bvh_a&{k1t5dJ^o>zyJ!3D1Dmr64(nREUUe;o?XSQHM z)K>D5Sju8BKb{c-CJU9*x=y3X&a&KDJKw%kKV)(F)O=$6HJ>PmV9>R4OmNY{a1Uks zjOP_y0E}Cw@x|wT{m-lf4)Kob72{CH9(?E2bt`^j(?Sfy94a>HOIgUiY7)lFMO~il zncIe7uN0|)D=4FA7>#Xu0&R?1H4d4atUA$QsT;W2g`e0(!+y7IvUM8z8H%E?0twSZV(toyTI`8O=5b>W!*fnum#o=%e4^$F7XYw4(oASXE?U zb&5^S!@|b7=V+a+(L6aHw(xnVgAyROC7a*BebYfoZXu_>v*)`+yMc2k(_Pk4#Pl)R zWAaA=T}=Bt8AmZx{co@{f9$6cwH)jVXzv`L;`i#XC6S@)|1Q82ZKQ6DCe=X?vCAo} z1x0rbO&INVWVqQZ@euS?x+9qEI?B<`){C10Ig#Z>CIf-+UYZ_Wv_i(#0p$GG@AyNM z68!dX{_`c7?V<>3QRglRh~Lw1%VyYk>KM>sSV=;M$XQz(sFv>-Mxjg((gROA=?U7( zh88ooYn%pN;WT{ZMMchsA%%atyWZ?V)CA=S^4S=4pvP`mmLDNH{@a2rK;XBZfLL4ExzxdTIt1j)#WZn1>N z$5W1ARpisGP^m%J2wy?vg%TpBR|#q4!=Gjh+zz)wD@;0wmj*NqDjXaf^iq37=q@~2 z;FK#gf8xcu;m^5ZnSfX>UhhAa>n}vX*IV!PsNT&-7_nu8@7~ru+q@=!E>@+@yckH7 zI-!hv51=XGY+-SAfymfRS~nYnMP1+cH#elpD;6@uwh<{zoqc zuT75OQw#MZNqD%ITdCQy7Wq`9yG1G2)ekp5_DJ2XP}9tb66|kitckt|6|%oiL5)T^ z9e0U?=1Y6K5Cb2s%ZBmQ?gE_(5w~5+4=0|WysS!KpC1h1s<70}hLP(rW?Tr1m5Y;~ z&udTV**vQUz6IpgBx#;+pw3q*ma&s@Si6-B?Wa*_KN;N=O0bafr48FIxpP85_11S^ z78ePhAU^?zuZ7O1`mVdju%iK(tKVJ_oZYyB4+1_mZ?7zau7(&#EP5UDEY;J^U z9%%W#T9^1kBt8AnXUufInX6e?ia^kcV->;cOuz2>BQ+p|^dpcHuJ~U0)Fgdm-Ioy* z;cy6?iU(Y>ZiWROKYHjHf9A3gyA1|R0DLy?>!bJLgF^E)Y}-((wkgu9Db31%w_OWK zD^u4+zLFU2H0vUd{N@+K_YeQEZUA*|_kI+SdP6-mah!%Y6_vPN{U!{t%W}M8P@&#! zDb^M#IFn<4PR*1?{UVfG_g-7^tnQ zHB|*a3Zx)7EjWTT83E}_8+*TsWJrwrm2cnX)0hnEcV@Y*Utx=%$M?MI4!OPYUx*g~ z<=E+r(=ca3gBS1TU14Wm@|NS(3TtZWx5fv1@lhPzm_h}Zx?huSIWH= zd9)?>d&3?~eg=M90hBA_=5lFoz-*`jW`!6ngwlHaYUyOE=5aRjg@JO!5&?WXk70gc zL3`uHeTBlxVxT)XGnkl|Xl-a(DcCf=#o>!Lg1qQ+q?-QPi!p4+eq4s)YXDfc3+5 zSMZS`hd!&2n>ULoKK{B@2DSg~nGXS>(diPb?;ZDFwh02Y@crlz>>gvj=ENJL8OBQya1!+jJC1`Y%0wUw>TFi+kQ;KGK zyRUQsNc8A9SiX>YLO)7(j$&0IbnDlRau(>)oE{lM9<;q$6;WJMr{g2mF75?u+9&Gj z>I!~=jT-(&DLZosT0lh!aG{vYTFR7|x;g1!n1%yqr#C%dZXw53W9Bx2@huHYX(Sw5 zC|Z9RoBdNn>FKYv+VTqn4dsKK7e~lPtE!?L5GE#u9yt(LhdM^+(LpL;JhoOrBIM9b zZPvmGxE@?G0%9Nt?qBsl+_J;>;*z#+(HlZ&3R2~R5F$m8J0L+~#ybs}3g0orL;2GQ z63fTTviIe9pH>0(#1f*#K^S3X`6#}Wjxe_gOk{)HL7!Yzp6QWrszgIf(H{Rlz6XW2 zcfPx&{rJk=gVBwqrtar~je7n@bQe7HY52Nq=ea$!0*tKRDQ9J8k3lAMp)7jQUcRv_(m0OooC@lS$Q#3#RV0T+c%_)pY|LOksrSbFno>%orv#I~Qkcp?QB`{Feo+wju}94I8=||-`x+ifozX~ab?Qdt6wxTz?yF9j zvyHEP>g;sxI7^{$E3(;(25W!6U5mVM+OFzl$IaaBQhj zeILCVI8!vO>OgU48|F|_?(n61IPDC(jOrrtgN^r>(vCl41_{5WANt3%$)Wt!N|NmZ zS|1?t+~`3uQQjhWfM=)JYOh%IAKzKi7q0~Y#k{_@!^Z$>EYMVQozdzYR+yOTvu5-m}KA)uFAk&~0lYRXku@jvQg>V7o=^c~B!QPYhJ z9Tg^%*o}j@S2)ul&U7zK6#Di?^4rAqL5Z)^^!8yHZ~k3MD>O>IiWt=g=Hd6;LGjmy zL`@mbf|qA&*_U3*-%u~OBzGTr2UJg>?ch%k+G*}s+LCu6yFc$4?UQBR189xN{9cZ2 z*C^C`g!oBk85yj$m=A3+xyJq7zswET+GKK5=cEqS2WL(eEia7uvni7 z)szV>co7ls5Y;J=iJ=&JV3l^vZ_(eL1V%oh^zEgNYu#dVdk#>=uSBL|3`5=gUKDM6 z@>X+6QRDGD50Lb5Z_rchx13#9p33mZZ1!Ee&-Tv#4d8z{Sgu`X=`3;6=Bbba9V;#{*dTl8I`2 zW#0>FSB{98u=crW`gMRsq;hrq@eS)-;OE%*l%bFnNiIp&Y3YRM5X!t zA=uLCB^1q9!K}LN*Ckb~$#(}Yh;N2-e^Q*>G&BGRC&z`bTIkHIe$Y@?H^l&NF`uDWpP?LwF^_|Va(%T^Kn*g*fM@+SFM9#w= z;M+2G?I-&6_uqY*x7T{-`=<2qLac$n9f<+PUTjx^M|~|j3z=0#hnv}w6^|c37MC1} zh>bOCgue1N(y11-ogClUF6p9M_&5I-Bb_fC-NYD3tk`Bhe;*lnKW|5=+P*zcrZ!6S z8W8KV-)!_e$_M16mV;?XuSut+UI9Rvw2{(+Mv=ZXr(Si>{^9R#&Li>j==$VBfaS$< z3oOZPuz#yKfB)x}Sd;|d7^xv0CeF_9U_);p499(G6xs7Lix}YQ!?zHrBs%q9n9NDY zT#1-EOy+OPR#OcVix65c$BMR5Yo^KAfmEk95_%4Ru)8eIW`?efLh1JM$ei4ve%M{* zc@8(u!dFnfB7%Oa?k~2Y>5BQclnORwrSosINN)Uo3=Ps3bhh@wziOb6Ljn`BpO9f3 zURehKmt90%MVm>oYY;RX#=^)lfCc`?&f48V!IT^Yp3-*tjtBDBV}mrWQ2;Q2$RO0D zKSym><2QcQm-}uDuPPH2sn~;GGenYH>SXQQz^$Uz4igyUc0wJrydDj@;#H-$@%i6d zq8jUsSKfL{c=)Y-8Q7ToS4Z}dnjcf3{LQa(>$if(Fk?f+0Jn$G5+ace&=OfG+HC>u zx^;9@^~_0i6~?@5SIkce2k(oi!qzpYS)CAM+Mnk|rEsB9YG&RZCYs!Rdt3qCHh$Ud zwjh0e--S=1_pcZmfbao4bwRl&(r^hSl>X`(mg_A#ipdZG!WIxG!nepIoFHY>cVeoQPRQ**fh~>>g@~5mCAaPL6 z${QZMJG2>kiG)?TJd9d+13ytp62iuA=t*4Ls!!s}%}v~;Sur78^4|988>hZDJU`B^ z{7(#h27LynosL7{{S9?r-n~x)RwLZ3Pw(N)JD951UHtWflbm8muMGr3jJw~64&}I5 zN4$!T9ws+<%4@2YS*Xr!Sr}W*^fGwcr=o&V?NI;V8%OScXU)x=Yd>S*Kzg=lRDkW3 zrmRi0$KzRYJ~?IO$||c~$;Ei>O*dk2#{3QU7PTHe%tETKlM>Ed^Ouz^xw$!gK@~<7 z>t3g~agqRcFFe0TpGEZGq=WR~XZ4xwxqL)m=Wkp`98RxkhTDpT3{^c)O#3!p^rE?b z=XD*499NC7YY&9hF7K(9=6gR2PFbxD8!fBx8NKmA-G z-WJgv6Yf{~4IHEYe|wNOUdAMzZP&#?odqbS42q0Mvii{bLi}7?T+G8!XQvrCL^!%Z z{=tu*7CHj;4hx-jH6aCUoHwb5%B?}I8&0O!BNN4jLKs7{Z#RgDnEW|GISh1X%WkxO zIm4U=z_jkDA0*rJwOMtI&_rYjVxNU(Mx!`LEcrRm0?ttU@i)b}m>FrIM|~N7rG>e) zzePv+7n`bJW!z@U>51~M$tC_18UZitVz|#x2o9FPR-rpobUf%E&G_+{q+Done9+4- zg%oj{L=E6JZ6EIaenW@H{ssH;Q=au!>Y{SZexG*uQYRyRhMA)4Qk_2ko_IPkG|DHT zI9`YMPF_R2XmI7{Oh)mG=B1)WeM!A&%R0~=0iP_BQU}?;c^Fhp^((Ekqpv;`I9NM5 zUPIM5==E`_VRwOTUFrgk*8@sg1%od@3;C1Lomx_TP7&S~zIER^na7#ZpF51&5#{#n zRH*>G_Cf0B4FwAj_ixm@K>J_?#?-V-f_eH(>GZQ|UjwSkH6M49sC~U5&f&{|kG@M+?&=#kr=V`E_E-qG2dW%T+9-e5*)2L@@*zugMZ8uV<->ynG3F z{pOtm1ShxRRK!2~+_MG(?*kCV*?5(j+?i0`$Ay(jV18LsQZt-p1a&xOW+G#wQfFeqnxV0pd`=0=CVH?h< zlBxJNSFj?cE|9)`wV_roXY2Rb9Yk9hdthUw{L-*6*E7-eujzp!1OqxIFS&2Tu~(kZ zz`PhIn2=f{-HmJ9J`Jv+3aY5azM+OoKzSTSY{QmQ#V@V^aLxxHvRs}FmE$K6dl1dP ze{)X~h6U6j_!5^FF2W^VqwI^Q6*#ijSH|$FZcBYk{CE4C%DwSMLmJc;KsP6u^U-`p z$%|$fr(o=ArRU`cm4nKprX`a$1m}6%?MDGCpw}y)Hf-B?a(qykNZOy=Bb1*ifS`{# zS-A?U?ZkR$Rk06svCCDijVpc*-#=~7?#j@02(mG!!l8h4x@o0$gZC4u|2S7kHpFl7 z8{VH=vu5#bioxWaseC9deB@-`P`zXMB~f^AW8qT)AU^Is?G#^7%g%;aHfDU(=#4`s z+aS31e5AMwe3`2G6)v^5pRN85pTf5gJh4uxNf1@7@n!Jo#%ML~m+WrbXpWelpBKO? zvu{u=T)d2aT4ORmCcp(hV2A+7-#u_tS)WbKyjMi5G7BS+m$FLrQlBEvP zq!>t-z0hs40`Z21zJ3zOR}{YJK0JJ?Fv;S;&~EZ-00KPVIDP8dTrvZZwSfvtO?Gkd ziEDc}g7gS?p#bzKKZ!u@Qk_sti;lxo>@C*f<}c{(Er-FioD# ziTZOlb4HFaRCah)W2U^g(VZl29k0rxsN}eXYc=t1ASQ}*@xiNi?IrSK(lj}>aDZ8? z71TUd6#S;VvfWQU0e=v9?&q1Fi2Gz9b2f6g=)BZ)=o$~I_t%Vfy?_q=)w#9UgHCW@ zj1iFx)GisnL@Y-Uz;_RNPU0{bY7nH+j5_Y!B3OBD4#=iJ=;?BNHk_0o*s8!vXS(|D zHN1p5U!;1LDOz@SC`UxIaq(?lOy`%~Pj39a(Ab|)FS=b&M(DA>(3h!T?Z$=URHQR8 z=b9m&M$m77UB1RQzWHcMB&GFBtO3LS4F`@8%mXXlQ6yM|L83#QA4WQvDiX~#uKgIu zBafnHVb{IFRU^`x#AEcVz}7K!(tcbGCgerH-6})APpqExr{OQ}k=< zVR2|5?)#G|3s~~}7%oY#x0|^cHI7Ran;1TPXUNKJ3C*d%|6MDu9F;T;P7#6F@$TF; ze8G&->}`iKZZm^__Xk46Kp1Rl$7(yfdt0AMm#+8mthVnB9i7*lwmUrXNvif8j|G+y z#L;R`>e;P4|NW2lvb9n)IE@eDwThh}{&7ZLaZO&^< zmlM4QjZ&)aMMp=+nOtzx1L=ru7~8S@RarFD{hn<7Y<2oXDuEv?U=iQAorS?`PSex- z_Sc1SgV~yRd?TuC*HpHIyZ!)M7%O7&i#zhw3tb z`zaql-Ob6KW!z=)7l30%;U1+O_p5mcHJBT~<_w{&B$S8ojTc*79;NFq*!Yh}R)Gn& z_bptD%^Cq$UK7cxtonhc2Rqzzy%{?zxXI<02S9kXVe*-&p!I09JBdvF%x;=TDuJ{< zcDb!XihbSnBoCp3Kcrj47w53hoo&eV$M(1d7Hi^4?TiV(qAv(VjzO97njYTdOJ&*( z&4}*^lnP3sX@!2;nnH!7Wr zP1ZkIIXRj-spuA2;#ia--SU|WboLV=^q}c!X!r47&%N~S4gxF2+0~%ysA6NCf#Zt8 zN9Wu96lvhamU<80K=vTd_l>BFL@C(PL~};D&6U2szI*_{=m<_YM)AX-9(HEtkAh4{ zduYBg;YD~tf@KH0fk%`xG0@SP3B$3;zFSYc<5ze1+Hd%>A+lQe6}uDxMF`S8KjTx4 zP!BXcodJidjML84wnDsio@H(lYIx|BhMsLEi9we%As^*%(|?XMnYExLRRMS)@mut^ zs1gvPvVU;L7)TCDw=V|)kpXH!xZ9W;JZ4`#dR&1oW<2{S()j=T(FBtVn<;+_R%Q{X;RgejO2yv`WVI$s3)f$1|YTCM$G1ANpSnP?s7*$#0@VOlr4L z8Bzp2tH=dmJkF=sv*{S1gV?$_RFuqYd%hTntvg;_i>cPca67VS5f*k{j;nb5UD*q(5bSim*nOy(qqwAnsnA?d35qpufAkBRIC_@bDESO z?HliZ2)1YXt+%3sVkFJ+_`Grrj0k!-Z=ac+t*Pi(4xq-{N=g*~1h$)1_ZsX7Ig3qj z*YDZ0XD_%vG(xx zrRq?$Kcg2>GyUH@B=;BdHaB(Nrc;uT757wJw;@F z_oVZ=!}*V^;IniC@_CTA|a2wbAO|`R*<6Um1x!SdqwocksQNt_=lXs| zq((}&j%eJi-%`W^nqswg$S;Y=WLfHy#-MIsI*Pd!JW7Z7L{O0Evi+%1X39bZlW{i0 z426?-up2$bJFoakSH18$HES=@`bk1?b1G!#gMd&SfWabH7ogbs26#+mFh#b4WsZpp zIs0%cdKy}MI`CJ1m#>{RZisIJ=)v#GLp~tzT&44B9;Ls$6F&$|uY+*Vx^k`j=^Au8 z1dfgu04Tli+3`v8#RKZV*H@6>U=7zU_{C1AA1Q$6e9;{eUQ|B0#*}F5DkuxMm+&gb zpMC0hZ3>R3tB*zob0<&yp^x#ynl0YHOju#IRuzQIgw;+dA2%VMiXi-`$U=llK@O^8 z{1@(+n0zV`-xgd2%!X>j|I0sH?o&)y+uXL)7dG{fbnF97JnZOmJ6l{U5-k@kYGwioML86f)`XO$p8Re;@jaG1mbaU z!KctSDx+x(Joilf^-LqIg;-6Ar(BpP-Tdd6MUek52rQ-9gfs?-pr`#%=5)KdU+tHg zoDgt0D9hh95wV#?ZY1G)w)ZyfsGtx}O)6a&Pt8oX`;E5%Sp0(p3jC)5{kcNN+7NBpS1)F`u$-@ z)O5=oF_;5+5#6Cr>f5d)?dd|&@j`Bg)>lI++S@FbIF~{Dr)Cm(<^pBrCFJJZ!!SwN z%{tt{zUOH=FB{}C1v;7f)i4@ES%!g$7`Yc{1~|yn+c78uZl@=LVZKdquwJ7g{=j-NJyk?m}4$ zH*E$9vbS_1Xx2+o)(s?4RHL$?4;&cZl^U@Fd9e_nkj4vI!cP6g~=2}onrIbAK}4-ATE|1ETf z=_x~V!~)<%Uo)H6X=DCp;BGDB8yVA#QPxb1!Vk<+|6YqPFh;%fm7n#ix!ZFmF?uko zIhdI|as2=Dc2%*V(_63Q{(^X}{+6lVD7o-27P9Z6>f1=PQ_a+*dspw-Ls0ve24QT~ zB<9>?PWsP2dejs!L0Jz#Owapo^E1Z7Q#qeL z)v2hfslpdHrf6uC=BttB0SZF%s7(#{FBvM(9wRUgj)8TS6|tniuEZ=49jw$DTOKyf zpUee?3k3F_H{|4Z6 zs=nTJ+RXCrb&08Uzrn;kb?1U8>c6HQl?ci%(Tzgab zbH6QC|F;B(#W2M)zN4dKUy(rB?(fufF8J`{iWR36`Jzji+cccBW5FdZ@Gf)|=z3V> zAr4IBaE)MNQ<4}u;#gBN)jPCd9=I9UW-2`mjhNYfiNI6Qo2JrDpEQ{3m+S=%#KfhP zHi@7ofnqMkzP<-^7RdJ*fxwAeTpCL{e4jt~?nK6ey)Zw=>}{CK^KB34H>2KQD*gX% ziH|gyIatOHXs*XP0*AENmq3)a^q)U}$^rwpT7;F=EZp}IdqlNt=X|Rq%{cbyHsOMni|qT0 z!jzEZ31XN;&K;B{yD$kkv&(yW9+yI!J<$Prv#mDsK_1Ay+#oma%jlQ^*#Ijr<`Q3< z>tb$?4|UA99uTbh=D@M?@gtQ}Zr6)?gd7bcpPr^ItP!Oe_1ZqPUD*Aqb~7LK13GzVi^=xagoA9R-t&KJxk*?L_-J^ zZbKzsy|g@9Ce7^cv7`MrHU{RzNVDB(^)e3 z;h0@j#KFfW;NiAX#tTc?$E~$agSeDCs4->ayPSsS%~Bloz8>)5lp!{uC5OqM0*e^Oc^wEbFW4YEjANJgN`pJdrsM7uc ziojZ6qPeaASYr~Zr-qT;<2O5ADm8hFAfwd#A=xg7#@Y-28d}fZ6ef?2ZJ8#G7sBsic4wO}?*sSey&#(M?+`Ra)9bm|RFV1OoSdmrUb>#Vt z3TTvW>eVpmBoBAv5+Gx_&p4sr)&-3Uyz9mKB%vP@E{zR#_Wz$n8Dg3=C2-7i6H^-q zK-#K8o2Ypu?ynPKa-`|0R2`FUqnhlbF{kP-TSXs>ih{9d>u=ALb?S3c_Cb>DLl*8+ zRN2@qSN-8<2rX!++=J@c*y>1GcIMXu29WeaH3g&ZUm6DJ&B~X~PKSN|;@3xJ%;U_O z!9VL0mwkBhYp(I}qB`~_l+(GFzh-x{WN+W7L+pem zX8Fojfu78c(6$O|Glvg(6+VuqcJg#Rgs#$QK0bWA@#3M`2`4vq_hsl|6L%=yG{{mu zX7gG^&4MlXUB2?T(n*}?pon^fBM@RT_~Ac)Byrl;ca?D$Sp7S`9I5WZaJtWgBrL+G zb_D%CY+O`Uf2d%l`B;JG{C_%9@Kn&!*(1X>g>{_2@#JyB^+yhJE()hxj&lc=QE5!5 zjj9ipF~K8v_s=I?QQiR|?kR+F!11B814-;ogM$T=fO;*@u35PJ z?XLlX`df0l}HLomh{^f{7Q zZ|nUzNYhIqDc14VUt>?03z=RXl?mH4xFGf7)II!J13PUL)|Xg0A%^Bxri=Z#HEe8b z`$KXD$s4i62+gq{t$hwPy%PWu`6 z@Z}vwTb%2zUy;1q-0Aiiwt{Sm^)s0rtdhy$Kt!X{`LS^(V zqrz^`g9FRMb&jdFn%fyE!_X1>pv=#RYYFTzJo}uce@}(bd1dsTBS;+7mNw>)bowKw z0>@l8(>f*?0z?6VhYr4r|8~K=QPJoQ%(5|lDooWCq@R{9J~kyZ;FA9qbMZ6-Q5it9 zPACtJ#3~sskWt%Cx3<%W{w(yz^ZvbIP4;M%TG_W*5yQx{NMPFZ3Qobx zO7XtQni}&l_ta*V1f=lv&pkl;x8BJtMo|gro+FwaP%U+UY4)F(tP2yTi!UeUo(*zJ%dw} zB4Ar_tOskRyap*P{kz~0$xk1;;|5Gf@B)Zcs~3KroB2uNJdBc0A&|a@U5?*d*|M_D z-v3a4&F;72=D(kWpU(Bh8+@XmbvYo)Zx+Y`qA-!c|6}C09A&#<0zt4Ia9FODuY?PH z8W5CvJ}PI;{zP{4OR2``EuW5N;SXh6$lpuHO-{p22Me1(!*?5BTSq$NoOT zU9f>9<<|de@7n*FZr^y8Wc3t{r=F+Ks?8KB5;;c5#;lV{4wXZc9ukprR;ws68x|2s zDKdvba(txPs7z4~c?@%kqJ<>!y*|T}@4xVUef{L+_4>H)`#Rm%eI4GHXQ@%fhg$^~ zSG0?GbP$=bfVw?>H-mVlRktevuv;(yj%bFh$(VxqH zQBw1Y+|YW$R;%)iuKD!4bLI^EWnzC06-Ez5Ww?rYOxf+;ozo#w0$d^=BtgNIDoG$|4SbYAM<*GfDRG_ckGnwtM{e_Tp8)?TO3ty2` z;d+mHFQ$KBh zdZwNiXEV3mXuiJY$R7<(TiMr4yI$wNdQ#u{N|`H)gv^?RLO8~)JG5^bYFBmqIOX8b zj(~Ezm;K?%0FG9y^D&Gf>1%ej=p;547wq5I>Op8)J@*`AL_^9-cC7TbOzmNfZpdvM ziGYfoTSKRj&#@Hv+(>`<$o1ihRQI>}25x&v0BQ5DZv$xAh7@c9X^gp$;$V=vvUUf8S=AD{rhlcKlChoSwwOeE-@(0?=&o#jm`ZzR! zPz28kxeSn@zTEEEPJ?<0d%;_m80Y_D-a&DJV6A=SAWn|S4>z66C~<@W)31L0i)8e@ z5;xa5R2W9#_3sWh3ag9`$4k0#~~)sA;oMx1t@PU=-QvR{X@i z^Y7zQVd8r2M~FhQcDzQ&NOc1yEYaU7sMsiM{#&`PPV-J+MS_KB?C!su2$7~UqnBac zk%pT0mVq>0MCwH`rvbwy!J2gwyzc0ob6Fvo6PkEE&3r7L zhC<)8MFg=7$~lSG@FO;BW&bKMdk34D5x{%X&bzy26sYTLV+2(sz z(z?<)a)qTELiFs-t{rUgT2&2?`p`{}Vhp(07ZNUu`fmsMkvp6?MjT9HY% zW(N&hq$ox|_?5~7uLI)UIF}fjC8nfAt_5&~CRTYoc5nbr-@m@4iAp{7G4$P`tYRp6 z#Oii;&9{7W*Zps$^1_p8tLL5wV`WG={s#Af&`uZMwF&Z*#mInhU1ttGf3IDcHW!~2 ze(->eSw7n>X=K=FfBZK6(flPu3!V%8uekyXa9RSv-D@;1CenOp0;WBe^g*L{jXVT| z0@g27)ZH8wD9?Lx&u4G{-5#lwYVnU?K7;zP`Nssm3KiVIHYNtETR@+56Jb=95M6ylz&xSOwgA-XHpIW0sT6`?CA~Wn-kMWBPY> z7nF&uyD*nkp@u$U+JAmjZJ#13#qu+|pm^Zqa2yrx<}AM09r7r#HPS85xIgmUnkF>rrV(*b3C=>_$b~ZaC=qoZB?U!?dZ3i;lOQ&h!V=RVR5q&BL=cE>z$S0eihoEKM zf!>wPSQoQ?c$oH-q06*~rTTL@VtvU|GPx0B&f9YNHm4uGka~hulB1YMRe%&zG z0@>aNS)!M>>wqYh4Wr2y2n6?84+0BmxtNK`0PcLSm=hgPr=WpJS4YRu>)@b z9>~eu{?i~_hL#$xBL&Zn zXMlkCHw-Z@_Lu_vy~KZ@NB6Tjny3CzvNYeJ4A-*&U2A^RH&FRR8WP}w6;DA3W9<3) zWYHn@RIp6cpNx_l_=!TAhXTb-gQTnqPMQ{Ui%$S_2Eo|FY1=WV^rT*Y87}cuss&PV z>QhkJ)VvvVyb^NHu39JGk&}&=JtAdTGSa!2$+a@8E`}(rcq4k%(i@Q%yzh4=Lez@0 zDD}E%mGH?jTC&9-1I545;*S=kI=zKDz1)55&q`AQ=B|WS5T$@p@sNj`wOqGeKs7Zr zEda2R*YBXPYB^{BO0IC_`%$lFJ9&yt8CPDhru5dg2gf%mWsfh|KCOHFV~|%YvC~Nt z8L1SCSp2}Yg9ms$XCh)!WL8rTS65dH0Zq8n2_XN>yu7{lZAa=sgx)N$pm!v6I#rLU zZrwU!4M#2v8Vqb}39K_+(N`M}iRDk&?9;DKuSb9RaE;NasU8MOyImy3$z? zyRNH7uxP;!xdJCUWl0eRw>u@!M*g3T9+%+(pS7Pd`+F%Ej7}_ZGujeS^M!>D6r-WZYtIzX5t`SLI^$ z+}t&P3n{)L=|?F-7^z}W%m8vbgagu(e1KO#KFt>YTP&UTGtn<7Sip&HMW*;-Ww55g z(YQ32lk^a%MJwKO9j?E+8M(aD)8r0T&k+TkYsm z3XjQVachE)eIZ~DGlr;sF(w7tCugW`Nu?=_`9CBQMFGT6w3v3$dsp0twe5=NaL=no zRew1SH$WFoxsKluf0;k$L@t>Y)79101R*729Q_H@GYmud+%b;3nq^n<00iY8+qLp? z9G+t06FICF)1?KFy3YX?ndzSC^(61`2Z%UE5NoZ}ck)Rn_i+K}GFvV>Ff&XI<8(of z+g*d1RM|N`Z_i9D2ZaokOS!^)DY`tZR?wMa62jtk%y33z4K9s%G@Qcs1YM%)eeDbj ziX-vvbnH{yULCd2-_Wf{+}3!{p6E+gN|EAw1|28WtEa#?ChRadzPl(*ZYsvr(Yd;I z{Ak1TIy@`OB!yhL9pBrqa&=AB&ig@m)0ee05o8i|=z;ShLlJ4I`1DX zEjPwuQMUNi=jyP`mAWVfA#d94HB184spmeOeh3)J(!-YqcUCXJuvweUQH2_ksH=ku z${2Dbg!XKVOLdh*w%G-aSd8KvG7t$3oys`7Wtu%(J#ij}mr+=|8x zfjq60AQdCR)+_SRku`mVRJ=fPV2_80Ftq`893<{s*?FevYZtO?5L!p9@;n4Lbf{_; z=P7PvCi>de+?||J(GDeX4A^kERkPrCglH9yL&?6*#I$kx-lPE@Dar$5EiHNQDD%NK zOZc?cc*o+Wt@II*(S*c>Gi;bL%0D;#pQ>Hki4ju$u6t<5wpn{Q;MZ+wXL4q}BJla+-H0tsvi{Vug`x$2jniM)H=Ew#jXQ=KP#Amt6SM@t3ja zYp7j!=vC9g3vL;h@ZAo~{h}=cQ~>Sr=&OKOv$oy6GUEfP$y|)}hZRaJdykl$9hKF* z^vM#EqQ-E>lG){lLV?Z-O5zMKO~^@tQR-iANh#|aSAGeX`dQD7T8^=Pi5_6x%b+;+ zngC`UhyO{jI|9kge9I!XR#UhoxD;!3X!y!i zeM|wd(XMOXxyc=h>b_jUY_aRu?ogvBsm0fDGnP6slpK;)6Oe@O6_~NylE;6xMjutzyawGah)TH%eWMu{KwWl>(MF(_*AH zAtYVOwBdc*lic2ZtC3qt0WDz^8>^oW#=RQ`%i_=x>W5gfUL6L(?iN?}%oE8z5`0rv zOYOXT3G>G7`-48+R`+mPhgNP+z?Df(S7YEGCg<};=NTBvlmFVX`vdqaVy}1Eh=Cyl!oU!9mw|x_T#6zxF!;+d zFwEF8FsNlRFmQY4zA@DRzF_s%v+!kL_=}77mysbmmxqCY(ZcnLxu3a_p_;vyhqRr8 z*G)(1AP;ZgZUzR8AT{8>9*%x?B0(PRp1x{9nxgbO)PVofF3X6D&~Nc`(-bu~`dj3p z*KJ1;C22)zSy8P&MMOk2ZaX-sUDko`KMs7-6m{|Q^H!6Q2@DLB4pfl#y6r3@r>d$d zBP%Z>FMkfWr=MNWIZt1)y+sbz(Q)*(zwPSn=j!DtLR;7FrkB5;rl=@wqhEja z==5`S`fn#s-~D3&2b7_GBO@m*EAwk@;86|QRW*~_u8zRYwDq;*H0XE!-?jaHG-PO- z|3=K-N$FRCqiX%BA@hrET7Me8ldxc5&}PurIe#UHajucI;hd`lItLj{bQ0pvc1k^r zDu@zMIQ?fV?li{wj~E^=Ov{g!BLn=6vAmR9o(oqMvR&>%`6Zkfb9n!F5d75DrRC&( z-s~3jEp){Uo}fNk+}J%zm}_hyY;W(Zgs)tE#h3r$>PnMW_{)BqZOLpVum~foo;HZ{ zeiW0j_~JDa!EH%Y%`5SWtw>+YyybkUBjZ5q4z*zRaRkIloowlAEamK8|4)l)M)#XR z;m@Y_{Qj%t-8{v9!tf5dgPei8n$~pxHKuVT9c?oFkeR)G{`DCPk}1!o@{9I4AIDs( z3wd%pk5gVSn zZ~x2NZ0)xl8+^KzI@l5>m7t^0hA*GfdK~O_WYtJ0S-fqg8;;JR{H#k|tv22L`Z&30 z>&IggLl1Cu4$*j}=kOY2YIA%kmp853zL9+W(%#`|)VOmXJ^Vh`5EpADe-SvQ%>+j$ zQJ<9u&LdAMhvz?*Zo8TKRwdC>;Jd?F^-*QcRwE&^<*bN&2XbvVujXZSy_*&KUD58X z=cj)zuMVel0V-^oS6v?7?3mxFSY6oWkopyzudkTq_f#j6Bi#KgOzo>HBJ647t9lz( zwZd|nd5$gueC2(Ng*D9n%rDu1%OFfiy(v~{R(=YyE9;L z|9F$GANjmW&bQO9UZPo}@58HfUO0P@hc8_&-|SDlS2KFM`Gk-|{2 zLp%Lv+M_vB1~s|eE@X}NfYJIIkznc~cqUS-($rbYdJTE(CVBXC#Fg!^werdIU!2hf zxm_qYM$C3k$~pCm&VVE=F<6dEIn5?9O6ZM5`R4~p< zc4^5*R3+1q`A&?nzPr5E^)+YriY5V20%wH>zrl<^QPc87Su4u-PCgEukR8<|y21uO z2YaA~d8O|Xauwb7Z8K|QuIyS2)?OI`(c%WaLgJ(f2b*Ci* z7Dd|Zr@bcDtDhJCC7Sx_tG=j8O2_Q!%(VjjNyyK^q;Iw1UlBRN!bKK%X%LxpIB6~S z(T^~wyL`59qIGA(t!S_>R~N}-`w(tZbmkc=u|(bIFOTLQ! zURKym^)pJWxsu3yH>o23&;6>T>{zG#ZItiY=UAa0``1}N$e~5mYlgi)&orXTt#?>B zXIK4lu6I3Ed+?tnK^2j5wNOgT_J5ZK{MJDx&*wyP0Uq8U0IHI;x0LDM>C?#Az8Xx@J?Uyas5?FW|=0;8h#)$9Hqi(>^?0mefpfN;LLAbQMHry{m zADs3auQaj!Y0GEST3I^OQi7~dqOT2VMHIwYe~z!JQdzckn@&Cq6KK>7LFi1>t*izZ z_g4}JOexkse z^eb&-98!D1Ddx@(U$8oexNw?Z1clj@Ln1e~#Z?nIk_=yGJyyVEkZ%;Wi&~eL zf2xJ})lHV3cylyC%Rc8|3(mpQAgIQF{$dc2t7Env1Q~sD$iFuzCl)L(iVRze9sLAO z$zi&*a$Jn#t58>QvcH|xntR71CUDtLrfiBJ*IP^ORcZ;jC;qWQ+q4RTayz2^G27Dy z`Rfjr7ujcLS6<9oD>i%l$5;>6xvA5y<`37~9bB7}V%$nMombLeyZiWP>8sisI?I{M z38I{z8zh5E2P{x=uIZ+*=Z@Kmta`T0tcpwOkmwu{>$}kdZuc!A<6G6SLS0|a=)(hp zpIduaI_o(oczo?sFi-hqB(r*0TUWv4_+juqsxfGNe%8p@Hqa3UaJ01`^l8`2bL;kv zy6}monkh!2GNKLum%Q0QMx18V%*zp)c^hKqLsXhw+4Tu*It?NAqlVCKE+5MSrK}RO zy&XJ%ERKJF{XtcbJ!clxI_}4;!#7MxdT@9J&*If z%_Vt!>FRN@5v%^?-W%D2C;}|YfgR8W!}J0a8FOd) z;IG$LarjIf(Jbmb#!Z*pf7dVL`|Sv=R+^y{t234)6lR~!$1lA6;vKAr_KxuSmZ|I& zuE{*mE*%*mM8At3o?unEM0k4tbA6`l&uq@$z8hkrFV{SG<1zBbQU-i2-!JAt!j4O~ z&TXs<=Y6a(hl_melr^h!h+MOJh!N!*(L^jnbvIbi%Q8(LT47l7lE?o)sLJI+9!3%> z*B@XH4*{{M>g9lNO%?1|2huDlqyl;9)-1qa*JadOR6jxZRHn z7fo$j%l>@h2{=y9D^gXdvZx}WP2&`u4|7HZZPTkdO)YmUf{ANyV;y`$RhmO?O_B?% zVif0%pvk?j0Qv2S2HDHP^C9ow4~GwSg@D#sjkcsiKK?UE7YptN%66Rzn}Jo6(1ePLd&RlNbT+S}wLmu%UM zj*tKBea4n>JTvL};T3u!S-|r_N+=wh_A}2g*i;dJBT0v;%^|&QxlB4zdHQcUf$8U? zX65?xKZT!YDfUYwWFCe$9lkNO3ywin`9W&M6g zlqvSNux+!$a_2IywbxP5Ff ze@&@bKIG$-UA@o23PTzuANGZUP2!MUA1*(%ut0a?SYxiSCOp$3CcmwLKMO2RjgJk4 z;Gx+nHa>Fu&*T``8Y=su%_(OSlb_@TDmP1EoD~3j*Ci`Ma_0LqOj-|?KFKLt*Km)y z&nk5fVGNnN9vC)RO^c;;)TiR`v0VvpG1W0iX}D-V%_Q7akdS+8p$}UmqQ_P^NFH#& zzWF1PuJT>eDfEFox<;uj_IcxfAXVl2QH+y^g%nlx zov19wm{w9ypDsRB!${3^vCCm6h=jyNi&^{nL?~W|4NMXFQGUgA%CMp!`#V9n&>UC_ zTO&ktsN<#LdLecrPRqcfDgKK93Qwh)hs z!LQY)A$Rou2QLqg7i2j@auO^x9xG0lYhrXLRX2$W^*l7aswn*+=gGUx zRACNHsW%A49rsM_tnS6&^vP{?_B~h`yaX~*G)q+!A_X^OY#8Chal*Q#vFjCB-1?Dz z2Qod7*bA^)FW5Gi3b+4h`D{-!Y-3pOAAvK~K7&uJ=i}aE5IR8cxc$+^NSho?8W7{% zKY{^Mw!0HL2fDBm34WNN3(mITNeNomR_Nne8`E90d+K`N*#sCFqx;07h@$&0hl_FH zrO{z>QApu;s2Cfn>8$9Zj+Zi-HSk4u(vL4?`(bykaa5>dS|_r; zR6C{=MSK*7CaRexiVTjnJ+a$|Q>Yqf#GYf#aRFyvyjh28K8rz+$%O+t=;T`(KXgY5 zE&e@-E3k~LD3y^z5g&&38KaJf+7!QjJZQP(M+`jt`$sD?;m*-Ev7-lyJjE`e-=Ueg z85nvdu+z(EDp@qOlj6CP@T`AB|8m8Vv`+DZG}l}^iofXBK0vr=_%t^%a(TXY^%D`t z5jS;1r%-NpeZwdF7g(hmL^1iKeQXE}u9TEt#t_9rmJO+XR|q+xVdWd@=JCv2aA7HJ~WiF3v&8M`7RD zgKa5QxI#=qA$7a}dZ&90Hj;2I6w6yA2U5;~k%%DY#bukc?6;;k zL$^v|g*v-Y)|}z;FRGXo*&hGWguz>&!)-UhgTAZMxCWT`roj2pK`z$QDse(5H6fyp z!p>i@AJv5=&-?x2Ye2HLurawH1XYO7@Ci{&bBVB{aGQ4O`0DSI+t1146@Q~XZ6TA+ z(z)ZvM$XSFZ1;9f2~VA4J_~uk%=6EFhQ&FUfwhjCmRvrw!%`N>vOaEi2AsWQx?ZfA z%`CfjlWhfSrse3|B%y!LKcTSJtW!CT@+9L3OUgrz$*M-sd*hn_GG=GdvVlW0$v>jI zlko7zK5BouyUg(Z#U2uA zgAkW&OLfR-=W{Z#5ne!nr?^jteDJlq5Mx?TKxdCHL_v96Ltmg6$y|;DAxlKOi(|5Bh*Y z#UFSbmj zG^I1QJ-Pbk9$9k!D*Y5o0%GYD{&W~7Hqpl`lcdGfSCVpR zJGa_mzY5ZS2e6DP=n>Dmbe0%0ofLn-`b>yt>2pG9;==JhJ{MelYv}dods3%qCM#e( ziZ=iM$MGzCwJoRZGnG zFdWkE0A%p-mkjugY-M(*6Ne-@I~xi&uD%yqn1UUxFsFwcjI07MKnkthgGzu5fFu88 zs@?4|$kL7c& zp~Z!^*V+f$GDXnQZyD7WuI;6E>IQ&x8F~!r0?wb^I)hh%v&EO3=nKNXW}W)wG4yN) zSQK#`v$D6YJz4%jtP$Hevbb%UXcJ%u$#xbH*t23eF4?-Ujwq`JIy)`%1cY`oN$~OI zhqxNUsf|NLkOy^$U^E~0;CM6z?GfWmQ553p6z*Op7vf{{xx+O$yOA*eJ@|Z{z8^e8(VzS8BEc#N8$BQ`8DS}kKas$6Z%j)t)sHKNZvn0 zmK-sSk0%ZpvJv>=rZ;wLh>H7`j+)vyppcCA|F_wSfcF>Wa%&AchlIe66cY|47 zKiVz(Z)uKS*Z}s1f>!EhVpe(^(l#P>8qga`9)=dpFCzwJ+xDe8w#Z~CEu5c)-iwLM zSQYhLN%l{z*)^pns<_#bLYhx8+|&vgsyuh~AQAzLbxeR&YPrHCRG%`-(U^_r?ptil z&h^ZBvS+Phe={AKW4qU$wP#QO7owvawt}Zt6m~ulS#kEFqc1HdS9rjWQvOo|uy+F! zwZzdn#&mMKqdPtbM*a)aturXv?5X?_sC3W}V(bV&Dw^?r8hzQZTc8mIy<^>L-gPG5 zf|BJ+8*6>9h%KS2oPQ5#07ZPwf{Nf5Jamg>cyGXID}XYi{InQ9?WS<}^gg0_fgl-c zPLs#!o+^_=Q(yb26ch61};6T@1_x8EZ#GE zdeTkCGuJ|hKl}#e6Y)AnzqK^e$h<(6yiiF ze+Dmgo+kM2m9OSbGjbhL4;lOJLEGn4*)u}hp)Xx-GEJx6h`dM%5;~MvePbWUXtHz{ zMh2YbvB_C#nwuuU8ZnFOnRZlbJ4@ZK7ov&^#>0`g2W}JDw-y%1->a z*mhlEWS5F|`B{K}`&mdV76W5+ShEq@4xzv>Y&uGz3K@54>WCCP1vr`gEO$wb_Ct*3LNM9Y9sZHG~NFF~+<@eue=-MDM)5(pb($9ts zIax4J*zO`@r~;d8G2O)|12UD$7_1k(o^DJ$WsOVy?n(;!dBj{H@RR~hDIqoYF72w=AgmG9TZH9 zT20h4JsOk0vH1e^f6~w!b7!TT;4u=d$i0S`@9Yo;_0M(gdkW=T!0jA`MR_*SV;!n< zs6E?##NE$nm{whte3o-FSLKaf|3=+?Yzl|@kH82igUApH9%F#vi*uQlkb6Z>7qN$F zi93?H(q*o zN-dkD&3;$=9C}zhs}nUl+z?4cR&K*7Ux`(wiPxO&JHYoezgU$~5T^vw_RObk%T5fP zrOqVGKAo4t1tM%3Z9@p%U>a~@zpyCEeLIoV_QkmH!*1?1nC}Defewg-xy*_um;ckq zQxnMVTa`Xdo(gPhZ@#~(0dw5$jGgrw&aCmj;RVl@dr1~p8GK}+&yq@Iowbjji)_zDwUVj>rbHiHQV<5hS%T!o*ctuo5 zz&i4@>&43NvT8DFk!M|JL(E%;uJih#Ten>s+w+CJ>gh&WA&#wz`LG-$80yx7=GzYO zv$$d}G(EraVty|`D!U0%i<8u1D4~b&0!WC&x5DT)wuB~0DmC^8sQ<1u0bND!(|CJ> z?4yhuXEf-Q<^9?>y*?&V+JGTp1 zom0DwG-?`qPkV8G*O=Je>M+2B8csV`FeQf+U9?$^An+G%!S=;1&^k;a? z<_D5)^YKR67q~|la!u!+z5k=9&Fp<|(W;834sqIoKXIlI#>E;8DPBmn6LJ1a9ht3@ zj&iy1D7Qc17I`k8#$@B{Qyal3m{2%W)WUG+hul;czdmCKE4j{BsU*12Txjw;tfiHT zS!(>|0yDN(CwMe@2neseY%QMJx_wOD_$JUtYMah6y7jJZ(!Q;dUpMSuht>0QhO9&% z8@AUP1fUQfkjyZ^Q4$(1ewfLcWBW2ionwt3waGK^pvxp@&kIY66hzm6h$XaRV08-G z1Ve~@P2h*5*rs!DR=&nYCr(;QgxsnIY&{^CVc=iBl|OeE3I_h-Y;CZfxQJseWHX#H zZx;0c-w!_VN87|w#tB}{!g9?*Dsp4KDBS&q;%N86O;u7&V1u|}OGtN2dW;?Xa?E4- z(wQ+k!Yk1Q{hF-LT`A$-DLvm2hyRWA*dk2?D2sC(9h zfyi3BnO{BfCjAC~9BF){uZ}^ z+OZPH8);0jDRf3$gAYQ(`zQ9Qv`KkU#^1`t0{)9PE%}t8?%u>@~lA3^A)L? z88;q(4|P`5n(&OEmnsC=trK-uUNc7~R$9Ps^La$f1C^wpo;T>k*&iD7)s-Wp3S+=o zR7V3rKWF=-`XoMksR-VDvQhnAt+aRE*c-XgX89L;fNjdv!>fJ^BW*%ciswu-Bh{^c zn306TZ77Kxk;QlWHUtk%4;_yIzN}_Dx!p_^e6viA2*@Jz#N zOuLEyBcJf|<^;hSdv};z+9B4ti?%4SXMqhq)>Z97<|wF*^3ms z_doKt)nhsuV{ub_!%^I=t8Rs)!=3=$w%EvYMmW9nxL=Cx`1}B3WAfrL$+K)AShekFuZ^`@! zbO6OUaDIA4{xiV@vB}$BvfJ`TQmfbFQHj1S7YoJmY4MZR-!RUvF!qg)7%%tgc;F4+NlgyaiGiqKp6-Z;oohN~NvN>HiYuN5CW~`UUylyrWYnxC(cqNX? z_u*UDo%Qj711LL4;DwT6<8rxw*e&%YU# z%+XHLY?@Vbgd+g=Qzgc_<#NQfV+{ByG4{93?>A*fvv14+)&d+NN5z%+uo zBS;p?v)DIXLz%#ewpW=#Oguqxr0EDeP!Up#b4u-+pEul2$5{^~T3<7SGN(e2O28~Y zcv^?$p$JLp5b;Fs>MCFPz=~aVC!j@uC0r^n{-<>>o3WK+1nCQWfuMxask@w-(l4^E zNV6KS7UwhIugw|8IXop(<5l3LiNv_AY+@eJ6x4-}#hJH0(OJV{QBEN2a#GS)H9+)+L(=+x-wB5+_-11ivlH@e!Wo*g_gXK6lUCbBS zM&texLy@HL*U~zA=#|E~i`oPyVW=^!;lxf8Ci9bdv~IE>am=ruQ84=zARPm64_HS3 z)K-qJ=3iMc`K?CanlQw-psA0dZewlEIo=rBV8XCLf!voMF9PGT=wu%+IF}@-G;SD7 ze%7wPa?9;qUAwhncb~!yz+Wdl)F#arb}x1mFG&<;7`si^$M-R3CaTg44ak?Q#16~E zckwikGh)1Ycish~|6Og49X*Z{tBd5zCxO6%JxB(j>8 zWv z4p=;(LfVKYU@37Cq?H7Ah26Ql@&3BLq~^nB&0AQgT8?W!jWHtHA~98KviRl*W)s8A z!@`%^>QjLB^4LXE@_K$3Ki;Eh(hAaBFEm37@sWk1J?rtQZrlUejU@&(os}|)dQdab z9oe#Wy_LKEyjGAzGPz^g53nPF6G$AXHFBNAp_#QIe!S)4t!W%OidN?bGS9r!Jguz- zpxnd`vSe<3y!;36ZV?V2S8~D*n#2@qt?=lP{+J7^;%T?#Cz|oCRXvhfYoaP~hNVAh zbkL~jPMu{94xnX?yvp@#SG&&UUDklBr9g^%$wDf11!#!B_bv%GACTksrIGOmQfu(J z*X^q(spvv<{HV$+ESSvn4luDnE0Ef$`p~)WzJR@^U-7(CEEy#CZ0e7oss$h$@R^`wAc#mfVq@?l_i1FIh_?2>tCt`O^UJZY zj#F7%@v-P!p~u(c(ex$+FuZe9LFZ29>@Y^>L}Lz#V+rvdoO8yDdnpUIF4bPp*e+Of z15ngsCI$F*NR~{yDDmS~0*)IK5y>4Ms9-^h9Ln;TYS-zVs(^dihl+QclBfLSs4<&`kE(G^GN1S9r*|>1G7F zyA{vds3DpK%(!@Pkj@DtcArY`bxhiyUch$PJnw$D0%SiQcXdaUMBC`&NhFV^0HBZA z?w>Jrie`BNNUGEa-a&GqaNN51N%(RW)PCm?doR6ge&eFH#7(zjPt-+$ZO=0}vlShy z_op=L;ygJi<>ZW6IhZd5@uOk*_DWDFYF0xxUYZM!$e9Jb!; zOO1^&W%De&S1oy7I8GWlMU8)^nM2B_`WNEXElX#urs+N7G8JS5X`dp{&rMy;o{v*0|egjIPcZVV8Gxt^^dWKyLg z(yPRfzwJkcPQ%2V{I(3l(Mo`xu%zzZQOEpD+Km8eB%!pq-mjmxblZ$-l(ePZqeo6` z@h8P|hKEz9{IZ_Y5KN1yWql&Pqg6(H_oB|bV3g5blsqT|g8oU@We-uT|53uLw_gj* ziU?7ptH+p(K+It63mAP{p)OQQ;Ox9?>w5_=1%3^drh-bfl! zOzi;Y2n#InC2qLE+RCZsE%%X+^ljNd;m>+WJ!r?KNFmM8Y~kH!TK!)gXak}^H-^aL zzPjW)3m}6T>sYbU^A7azmJY?JSE^Fwbau8BAeT67M4N+Cozz5Ln@oZ=XNqOhS-wP) zFuwe-A-QeZ$9lhw%Lhu_t#wjiRrb`!4;iLzAc4kTLJRNHH*M2@{Oz8K)h^g!$1Ba% zV1PvAvmR=-<(vc`y+R3$t@%qU`)_{tq=gmi1uDk|6a*CSV1$!)Ed1U-)2~nq0Q3WB zl&xE%@QJ~ZV;8f!B&GEry$Tz^G{$A2MAC7z+v11iz5dLg6v(m_XRVo2n&WB%02~B| z@;s5)vLY;8yfe6^>6kn4hAAKsyZ(LsO2Cc{Viz)TO0((8cKH=0+U_~}SpHonA(fiz zKxK|&jPGAFIEi=eC1zLb4Y!!wx6QOluA|4mW$&3<#vFI-+HLN(zZ6StlS#7X3K!)| ze9S1HrE$4jn#S3Bma!X;tVwm#$pI1Y1;G^eh`;^NLvu$Vf-dR)E=441*MWXKOG=W1*Db>&Lg;z|Nc9@i`4nF}9 z2H+?s59?R9!dw$&U;GA!XqTp^hF9iGWKNF_wm1w()s1O=fufFm`6)t*dXM$px^3jG z*ML3IQj3PH(zPX@S>PaMtSA%mhW>POqL5nW1rx)kp;kFj=5tI)IS!50ydnDt|75;J0zJreyM*Om-=8Oe-qVggCQ#-Eq*(Z5oq;%) zSqh*u?wZK*foq4T3zYiHr=Y=h6xslQ;xxhtlJmFFPjgy)BZBlj6$SeTUA*?fCz#vu z$6H_)A_g9ag3mgKl=2l>02vMEGZVP{#%H39E{r$)6y{a08Qn7#OE7xw(4oN}BCA!k zyX;PEPH1xfX3N=bH~=o|WYS|$DRUvEFOXWz9wC+!3b}Pk6Nu#+d}!VbIpYeNA_5YC zO4BAdzFZ7e43Ul0r^Lnr&C6V`t5|)@xi}qzvc@HQ?q`8P+PO0VC)hmzu6m(S-=O4exh3zQj<`HHC#ZDMT7pne*8$ zqLra*1D&*^OUa7$ZEmun5cnsEp#q+|aSlR2 zOkA-Ac3R#~CFDu?&{6Pcp~kB5w6)e@0bpSo>w*0h7#FN!nK4EJfuTS9IySSKZ*lHc z$ThvJV})uBPd$F2Z|lZ_TI!muxCT4k=>4r;&X|sSz?10=D)xY9yN`Xt&J&H|cPh;1 z+>UmgoO{(EjcA*Po&^~}0Jb{P1|24de{eKDkV%BQfkL!Igb8#I0C+!m9JC%aG7RMM zHJiq~k5tHFfaq&b@JZ`fr6CO<+(LFjdPo<-KkQ1@lkIUuqD_*kH)*)fY0d`J^#>-Q zwI=`qI`nUOYmY6Gahejcm6JNIoP&O#qsLjIOcNQ#&v7)S*|0ZC0aHbMZ~s86Wb!=U zS33`}p02|W{G@s2TX=(Qbub&IxR1E4?FXCSh{AGD5f^?FTU7Mu{l<;AMBQF%pL~^w z{gX?fqf|zw6ao{0t)Da19^*JZ#$&n@MClgm82t=%x>a%*&M#oJ*V0^f(|}SE_#vJr z{M3u3aP94|U(KX?9oy2)aiv4ZB$fuP==@F_p*-%s)sTYWpXoHNXl4v2Y)HHwH%XeY zxh$Vd0}ESmpjB1MR4)m1gdw2G-hk0p2(Kw-!`_x63Jn;Q?=W;}zQcL3_Z*G1IV+P% zL7c(kSdB01Nu{y`zm6{(}tE_+O<%^ZImWFJO} zcc-xFY;iLyw_L3_36!6rn9_ByIWwu+^?X2Xpa=qg_g*d+PRi$8az3~E&oL&CNfyPd zj(=6okK_fpo$Zd>k)818rkI!b2s`aS(&qgy%kOvMk=v|_`iAc^9}fqyJz*wa)3Ff@ zH}b1-sf0YuaTlW5x*FG*24PD)o$5}p$2G^5$u(tHL1}4O851Dz42GerfXx=MW8+%& zo_;?=O~wKBzjeh38Zgfq6m*4iefWOa+G8o3IK-jvI0H-rfzviR!bC;@w$gwT(0GA- zZBlC^ERYo#FB;|0pGF|oXie@A*ur)lP!KnF2HB5%knG2US3@>cxay07P8Zpz?Cf7+9_5wNMo&uU{GA{J7?D}f` zY$^RI#D^=)av%$0aC&1)b<*~=o^N4*H`FrV+N9%>C1iBTB)v};q zt<<;0cY(6x+A%^{6SoU6IA4s?PJ5dGu>A8sOFKWDbt5^K2xpY;bm%hPD*DwLEo)+m zjoGvf0)|;-=52&DArmL~)?(obIE^o5P0~z@&cQAh2rN6KXrT@mx1GJE@?O7ZEEbTx zmgs$HIN&VqF$|vLAE8c98|6h~i&wVh zo$1w3nv=PYod#h1v(Q*+|02f%x2Ccvu0v)K{vJVePAmoHEU)R>qG}=(_?NbE2#l8A z+cmm_6X0d^ia`APefH*hKjviZlgpT>RDjZmD2ocXl}l5XIZ}zKE^ak zgPqU zNPCGM=zN+*FB{w>uOHgt-`d1cLQ}&%2-Gf!YjAtgRbNm2z#sF(-@rm(Kvla`cr;5x zdiMp&hI9P1&GE#R_gA_sKv0^8-v>?!#;v1UNgG|3>k{i{)+N`^6$(e&L`N!ATV%BQ zbGeTgCmF*|e*NGx5ZZl3h&w#ouUYx&2d}q; zafOyyWP#vcNb1*I`wSfu)F`)7m%*M2%YsIWkF~Vb0Xy?DmhiGT|2PjMuVt56)W5i`0#C3d`8kNltE3eIxr~++HEC+m#b~ z3$)(7KD6EiOyXwR@cA^!9sMFv`6ct(hZNA~yOmQZv%p z>9-lOV~B!dAB~pfLJ}t`aiJJeVsD&!sDyEV#L#$8lJWdQUP2YO4VRU|3#IiJ?|+*~ zrM*D4=tW&@*t{cr7k1a?Zse6+pV7cu^;7!r*HD4KChB)?Ee4uN?7Zh=+bhBEaUXez z^OR1bgz|~;Q9qw~C#kShFmG$_s{bvBXWfWi*xQ@!_ z6pr(jowm7FkQN{-VPsr%`<-hZEW1;9Bempqam3l1>XBk?>;ty3EsNm<=pa8R3KH2$9Xb$ zoj31#7jk3mOr(}a^GQuGU#IowUo*(Sk!;}%u<#}og^1%j$0M$Wdu|2T*afB{>db|b z^e15x=O^BMRunL2f zyBtzO{5S8|{rCFosz_9`BHE#)^j-72?iXJ1yN;3yWQd(K4SgQ+XwIR0HBZu?y)Z1+N9)&3jEt-V?el7?kk@0(Q-QUV*`Zn zB~3Ks{eZW2>!{NIPZ9=#)-CMck*@Q$3Ws`J5l(0F<+|rlq0xpo8Cv0zt2d&z6|0n= zyWd8jou-K8D@TytD)k~q(iOqOc`q9C&JN{%cG7yj^&%I6=SxH$^~VVe56P?Z8M>SVqgtQt#IYb=B;7IY z%gQ^;o3}$v$RG$%pFSh}^Fm?<^6(VURNu#NdUc(p`PI%`7y?;+Bi{j> zU}mA{2~G+#yzArna}BLMzW+ekcc$9$wJIi)OO3ENx95|7FDAjsy}=!8w}W-N3Y(SI z-hqF(9{d(S6|OG#(8T`B4Zs5Cr;r<9g`7LPtF5NnR%sm)77ya4Mh*F3m$lBki&Zd^ z{cWE-rtB+Dq#e5}&d-z1x1KY3o$^utB+v&Mm=d6_y7-A0on?;QFPH$@-v0m_mYU_W zRX2cG35`3txT)rOCZVwlDVGFp0u0U3m*S2oT7QZGcfkGo*ninGP2?vBfY4LWG~8|rwuMc)@%biBRkkI~q;2Ce|77>C zkzsJzBPPAAz6h-oxgY`EJYB&Ly2ow~Pp5s(Amna5B2rB|AK%`e5~pE2vQtbJ?a*{S zfH9J-xm4?s{&bqu=MT$QAolM14Ho>9J-;n%#}sn0Xp6*=#BP#dB!!+~|0$CH*?uc- zxb=3EhUy#rD+LZr!EX1eIfXnuPl zqL((MvF8I^nL@;X$=fpJfvMPbKeTS2?iV z@9{6knJ3tic24a~ST{YMukZX9T0v+fJvJ7ISCY>AP3Of}D2Ka_ZnI$^>Hg~h!{fuV z>s+#5IUMqxb=DGZK^`8wI6z~%JB+3y5#tJl)YSDvBWMla?$B1wxY|3=uS~uNgPces zv7Qgh!9$A#U8qXqThg1t$sP0zHhqR{ky{q~5&i5$^`ka$kHm2$&o2s(ggt@AJy{8JOTOj$IDe>s^98 zHIq74v^iG)`SB95{dUQS#=91>%fYk@pi~dJh)1c)L#YEgP?^RQ(hIT42=vU?u4d3= zoho91yDzNtcO3+}3%XH49h2yt@ZgqR*%u_EBVX?N(p<%m?#V=hI5RInyF?pj`@J4J z&4$k)M>BtFF3zyTJW*M+^0OWx^yUpLo#4rs-daz3*0M1f`q1G0Z=;xFB23fx)~yd= zEU=2Ebz7ai+VLg(?eHzUCwN-n^?3`R1+pG#zh95qhdoru#l}v{!&gQCelTq3MpkaNuh>2?r#l%#W zn8zwaD?j5ALfWxV8zf^|5u976DqrRQ^#kj}&a-X2g|kVTshBLS7So{%@WjbP8=Fir zvi2l@cg}u&mPUP2uJ&%we2B%euV`-aXlCF?4j-6Fpcc>~&ADx?q5NWr>thphsmHJK z2)!g~3|dD|zLZ}y!SnQG2yYM2IrEnkU#pf1;g6+r{Xv1h`BE|Q9{%~NimycosDPSd z{Zv$^dKQKH%&esno#e@Gmn);`Y^(^SNoHS;_pzz0D6KOQGbXw#u1ogwAH#sSX72J( z&?>JgcdW0ReI_q6z3K!gxR|)?sO@fOI_f=+e@R+Zcwttb;H$Ay+P1NX9Y^tp#vR$4 z_oFA-G~siC3M1q3RAZSsLZGM_I;-RvX`}m#&u^NnQSy5FBWq z+foC|AQw1UnjO4sg7g)^9<5U8i+rdS2j6kDXmwK&ELF40WiE{e>~ZE<;P1cw0Yv?J zwv-#BoTDE~J!0Z<_&tI@-&s$GW^8W`a45ID`wgZ9;u%zWcLa#SPr4G*b4uc-<^xNn z^WaIrq5hUx)MWU!>!Zephc51yc4@Q&zk%>UZN>S_lGl>&QuO@ChR~(1u;R`4s%)|o z;{nxb^j02SG{|T!BG)#l4Uz3W*E^B~gas9^q@dH`1=#wZ3$WY^nuvcPFZax0FYFrR z0Tsd$(Cv|NV*``Be4Fl(#R|gj6I*kkJpA1$ziD8XUV%!F*XP{E@g$XRbWKW>`gS8L zd^3x9y*KOq#yHm&>%X+d&fdEBfgg#%mU?XY&VOABogGfz@uurH{G|QJ=K9Z$g$=pH z>jz>f6GrZ6%$>^mX~uCZnj|#r$$V?{%!fxW%vO@V3Ul@O6<^waOKs03Mlx7g|==d+9c1BT&VcPqZ~zf9^4P%|dC`fH5t zDz)ymaJ1Cfc}*R3Q1LMD3!Q zQFslKfqGM(As-u;FqedVV$N@f3Oyec`SznXCZBg)U{OOWN}pGUq)$4SS_ zb|vKV?{^gstkD+1f@)e6tms~ETX}@o-6NYTq2*)u=OxlbX8Xs2bu6_xbg_HOg0?6x zOV!s+o=>t=GS4cj{;|-0)48;ZQ&Tn~49YzNeex@er$rjTyMWJZ3_B>jjQJ$-m*lWXz)aebdd2RDtSS0K;K(vK$HNXML7MCK zg4e{#cEzmTg#D-UdkP0V&j71i;@VM&@SBXrHG9%A1A7yd)~wJfG`k^7pZcI1lN_j# zLkqmQJrv6yfo}19--!=5pX*p5ghH`^H(d!M)&kSC2WkxHg|`|K=hcGtJaQE_40Z4k zczx6|q&N;8S6IFjmbq8f2JW6?K#nqy?uP@fxWh@ktMmSMpiLUCB)N!dGd3J{6zrme zmBiowkDo}EG1wY+B%9&(muGS(BG#0_m%qn+Y%P~N;X@G=EnZsr_1-bih*V4onx7;5 zg;6`N#+Hy5<1zL{Vs5To0n>Ci8Yc1lf9zd*Jk#I*XU)f@l1ozVxt6WF@7vQR8j@OAq5Hu~a&GY+Be=qvn4Zhg!?I5d>RYvvGDxUO-QCz)7ZG-44L zb=BG4ovO?KP0lHKch(b^281Th3xA7VE4}_?N~nzT;zw93PB1Yt*muRMukX;R#(wPH z>D>0S$PMV_t5_%^x31!K>4T+XK>_Gwzaf{vt@V76PFo#xo3@Fl-P)P46)l7C>|A!H zx>DV!o;ijm&v69rs~!r@flS z_p;!}uaSSsO%nX0Fxjfocy!@gRGERYo74Emq=<#ZGu)k}0c)NwUkbb^x!n2*Gk+rJ zu2IITh{M7{(PN14TtRzv$m)Sd#u^!#fCi8H5JQPEs=WfsGb83GZ%II@_d4ZtYYkedJQ?m~ur?i^4 zwI$H}j%_)uLpPWT>FCmVCFt;DGO4w`eq_z**lDrP-0^}RYMYnOtLcE7h*sDN(TEpiSSc>5glRRvb{xm26MVnz<0< zearLx#R2>Hq}Cdn=#~X1(Y8i-mBp=(yMIdve_FtyaOkohHGmpOP>zeEk*`+~3JRlQ z1Y>wHss%lzS}W6P036#@vCTNn!d_Z=@?&zu`cLl43&5D3=}4`bJt zu0t6{XH%kMNJ+sh*KOcvLwVR=B;SI6EC~*2se2JX7oOL%*Td55Vaacvz|~1zC(L8k zkAMRAtt~#C?zEVE#;t17*I4`@`h@UfB?H{l@?KFcdv&3|P%!@#Sb&v_KTu5E@p5JR z!fTI0LQVbHWOIRJG)|zaZDkCb0hb9t#Q2CF>qR)XAQ@076yc|vA5GBkke@u1qDyrs z`qN*HOC#$y@jK1y>+u{t;F=U8Bh(k^n-AB3Yj&0fuYCK`e78&&=oG8j? zA2qoyEu2BxWUrRan4k46-glU;;nOa6j;e^HtKZ3Mg;$Eb8HN5{+g=eHaE5;B^>@%W zm;@obp4-92K4?GTb^Rn@?~=JVfuVIiMBjrV4ow?du(lozP#n{9xg)_Kd`qbfUitQV z>jyacgu?Hd04RmkSLWNL$OUBS<0 z&|;xLN?41#xIcQ-fO;nSTa_6PZ!bCtijemFEp&ruK0I%%5o;s{&AohpaiXpYw54eg&i=`?n z_E1ZIyoE$#Ddt4l8W`1b^St1llCY5GJl5Ayw8!ttmqqoRhVnWZxF3rhly?pq>uJC* zYv_)L5?KlC1PS_%}Maj{yUKN4KF25JlKYiC;ay@x&48w zsgbRy?vrqm6KUa-1LW7WE~^fvKb!3UyS|nE4ZolZ)phlKQDfoLlPW3fQS`P^?2py* zz;WBR}q*Ja;&4=Q{I=LiWJK>##i>9Z`C$6 z^JD!|GY0iqPTtE_htY>C4>xx$)GfFjoa(bLQ>{)1s=BkK>q2UcgJR6dl8YwXsu?tw z!F*NuA=@a2cfd7ZNe(_Y**eaw7q5OX0S!zd^J4|uBEpshLU*#}N^@$;&(~A1%UHVk zH1m4oQYdy><{O4o*n6ijI_K&8b_ap0fVTG}xSji||0gQRB zkLD*|%!25c%DV3mii6q`=*KBNeB9AcjN|C`>=NVJsSF8R{7~}oq}JDwH&@2cRt=Uh zwtk?u)NjY~=;g>$k-NKe?zmLKsEDqSnaehI0>!`fBZP*!iPt2>^s~+EeQxx6QG>-$ zzD5f7{l-Xa*Sq9@7Agcm)(c~IV`z7(U$ zL}ALNAlFS`7u(FU!OY9)fB;4e>>49lh`}cHThgeBwn3K zv`r=8$8~|uNB?p_J_<^_7kV)Y6BcGGP!d@XIXfG1Fqu_MDdZsRx9sR96m!Bxsl%4r zZ`!sdnJSLULR5x4nJXRX?!31F(G(~#F0bifvbihu<(^js*R(FQi^!2dT`8>(2RA1K z^OPM~v6^lnP>=xS>!*vZqrhT`_0^c0A7${((!Mn&seOG{yL(K<-($4fHo{*X z_GiJ0;bxD3urk=a-7&gR2Z7#&2rC_{y!WMF;A`5y)3VO?xuiSW`$=q4_dOd#= zZ%=P1X7CZr60di*a;WsV zT3Mo~`Hr(O&m*Q(J0)H~OrS&_nS6yhO2tgfAlUW9~<_~f+Oe_Bh zcpO#sgthmpb`-Q`b02Ci|M4ER&)%P#4`ttHf-OQ0VPaBuR%w-=z^bg@vdAC|v=uFH0e(vNBG><7j=R=vuvkQl`TZ^?R`eB4&#;Do-3r36Sw zCc4G&@iyQBv4=3dl|csJpbgNeZ0Zr}<+}G`yhCsFYS7LZ(fb$_@ja`9Rxsmaz?_asZnDi2^cBu3 zA*p?JR6iOp?mc?T%V~91Yh}I29Le^DJHDZ%p-DyX*r^f!x9Nt;OPTdKRM~Q4#+EpZ z(qQ~F$1jgP60uST-J#C z7X#c4GIlLW&A)=cS|hIEsHN~vmTsTN;PI(G3GPov4T9*`P3KC#WA#Uke!K1hFntZ+ z>>lS7jQFAc*z{B!F)P9$z#vsEB}L0s!|P>vA!C)^51<%X8wsvdLAddpjBZwi$|Py~ zY?7vznnl3)U!_gp>#qRgoTPfpHJE!X6Fy8OY0BWjDnW-tDprI4?(?9a%!SzTZ-65W z)%NR=dv|5Y!)+9BB`UZ(2*dgX8JqRdnH6-ZJ;Zyt$FpPnBHg!o>K=T=gZRG6R}}%( zMplA4HR~8A?|loZWUleDV&XYCSGqQeX(@X6AvaO`(w18XRiar{2Vuwic!MqqOv0O9 z{22u6*~zgV5LvuD7wsEX8n)2jyN9b2+aT($*&q|RRAeZEVZXI9I)6>3Jyh1GH9A_8^>}_s9}3HeVPi@42ph`2UZ6eiDgb@kVo5x|h zuUTp*ibVL3l6nrk31mC;^RVhqqi66KIBORb>Kbodb70>c>tJ-bt!tXfc(SL2G}HgZCuQ&>H6N=HLq8a(|c> z@*`K;{66?Q*2f6tYakW*srXm^AgvwzPR1fy*Nmn)v-;FafK!TMc4x1#$6CKV&po_# zAvryVa3Uv%6)6Ig$pg#$(ve`y&MR5-8~&O7zKFD4ALQ`ME@7M~zPWCObzRP6=@9EF4?n1ES2 z4foiuZ+XG~1vN(X)t4?1-Ue$KMbmB#rx!w$!rfy7h3ox=1WSG%N?qkLP;SBMV^1kX zhhg&Tje)2#OT3->hW91&fbe+pt4xV+{tQ+K@glYL{LUrNZ-=E!BRbSQUUuC<}n=J`SX2Gyc@k7+K(!I>(s=DU*l?sBIH z_CSY+dEAuka23p@S00-NGc@L&yps{Hzp`>3Z#BSR;BEhPP}Gw!OxP1;;)`9OCY<_< z@lIlW(B5CSS}KUQhwkBb#3)9U?(%$>elE+QJ$;P67sosXf4JT#U(E=RRcr@>#Z$#| zuLWL;tSH}E;`bk!li!Fn7kA}Xbb~YmRFzWVNGy9dHzeD8-3-wYWEPFfNsrH5`_8&y z0g2Twg5uTJJUYyMyb4^Ww+@H`8qNqTU3N3W$O@V-Cf;8Gmlj+=c$%V1M~qA&__&7y z-lWFOB9sYERz0`YN5+0R7`6S(1R25}!d`-GHoViN`I{`;0s0TG4!lP7-D~ia72oC# z2K#$fT}pThGcL_vI^g34gMaJ8IBUtwieM7{@l|^LOke@sGuo;GM1|3-lr0b4#OP2F z&`&1SCUEBukrRYZ`wSfbY2ifg?e&Q)E%Ue6+1l}5pueqSR_+NVOx-ABb*SOjDr0M3 zvqw&SFea-IwHRt$UHWZ$aYj*WttrnBa38*I)MzW%-#DoILp?0i zKyh10g4OpdrC^n@APellFqw+Kq7}y6IMdX2INuZ>d`D-g^Pxfa2jB+P`-u3amQ(Vc z8dixbk%tg7Qu>}-{3Yuh@WVsmu#AMZG@WgW(1kw8o50$Gf5TO5?I)hgR$htnA-)m5 zB~yt7lVpd!LE&B$v0W$MEm$0=iUC(9DnY*#n@vQ49l`!n)jlUC#qOhcYcpO4Yx@In zTJhpBRg=Fk1?X$vU;%i3l5QzU$%78@vpv+2ebsRWL;P&qIb+b9i zAG00XQ+xam_wjZV7`-T*Ud$%-!JPLM1ZFo_uia+6BHsL?U;*2ER>4OvI;DOT4kU8| zO68Ws2gGVs404kNUuU(57g}3psl%sac1kD6aGg^0yUh?qs!j)23 z$=m}{`Gb2`_Adq2EGQX(mJ0^(lsY}PQYG*GmKqivbi^&Q(wX9UuPPx%xJ+(+oht!E zEHpp~acHU6M@d!W%V8n8ua`>WL&bo#9*M8*WL&*e9O|9!6B*&#=Qb0YB3-bUG8vFd zmrN#WbPUd1SsX2CRrr&lWWF_6z->8Z+%!N*Rl7G=>npnIip}GxsX>=AOIhS5;3mvK zCcV~|1z^`W1w?Jptagqy&3+)mFHdFWJk8)@9*HE%+V$&T$1l?3oX9yFX_`1^U0BoQ zu7p!*eql>a#i}+FnbyhR1mNO+3@PW`LH+&(_8CxcU-oDMu138ppOqQSAN}^!lfIDC~?p$AQcd*S| zXo10U`6wOn9b5{<-}qm?QaUzw-bU8j>`!kpzK5|?P6?3?)1x6hU?0Ju67G<-9@hp}OLnOJ=N8Jd?~TY2Zg2+S5aPT8!XR^_p!?LZ&Lz@7Xg? zI#hl*nP;hia*cm>ZGM3YaIYKI7W)S4fW7n?I8G{hc&MbpAi2Hr?bTNe#V7m2*k>el z2ye^P7^e`F-j_7)=<&W}S@1*iGvO6MO;X=>md5>){#MQT$1#1C#%9Sr3CD`J>Fb_C( zjytp2EN~PbxLJ2+T6qJCXZZM1Q+m$u!b#Pup{AT}w9-lA zcOB1{50&Zs*-Zh~n12xzg$rv7>!3cFl@blf&h=xT-rnRiDUb*SWWpm>arYVbFz;d4 z1RvYa=dIrXwb~XPBO=CtccBjS4-zH7(x$q1J~`-WN$VV+6KFI(P}cX9?#c_FEMZ)^ znWGjtfjySSKNPVq_*6#rEojVZHzVhHfx@`D{*!;CAwX@@Fb!@&EXtBGw~$3zUcBa$ z)Y;wbmm%1Xmvk2b`y(OImnsa{<&&XGt@90c-L!HluQl~1SX+t0YQ6;>pCMR-`?dd; zg9Atj|B5^B-sYF{WHRTuX`X?-6Of!&*P6a?bV(u|fTPfqq}uXs6xZ-u3L!fM^YF(s z=2gzco8B(ZmdieFe%a?1Q(C>C8?52YQ(CbCl539WGxxCQ5_dXxo_$mwfH^VoOn&UX zwi4xEio`wnc-bOa827VI$2DAxSOkxccQ)WsbYy zA4_A%I1EbMPdG?8lzj~dwQ%}r6m~M-(D9c#MxPY}G5|DJ;wzD}1TibV=QkW1c^kl< z<;BN~bV{dQ1P8b!@NVDyM@16~l9Pr8oQ~u(vIW3pm=)Z z%{rjjxVh=hFP`{(40h`0)o67wnT6!f)Y=Bcb@lB~5Uyj(( z#J_iRk%T|l=-M2}iA#R|C-eb}9MeskI!`RA_Z%yE_NC-_3t$*Mn)P$vGXjc?!Ifd- zAHMa5r&P5VjguC~B~_22~vK9)LxF zd7&QpywwE^v`+Bi1J&e&Q_0>`@aU~dg)D!1QTZ!j`e*B#D`CrTOcS~TB_1S{l)yw? zzSt)aD??@4HQyRezZ=tacl+`!aZrZw!%o0K#73n1{?>4)QoU80TcFV?a$Ts@X&GS5 ze?jkq1H7B0R`WMu`530DWJE)?W-sw!gJsXftIBs62M+ZBA*hn`%iaZWm7e+Bmi*ig z*}Lhz%E9?IF`9n@&~sGD!N2`8+h3XZ7PG0SpZQb|cPiVXlhNAk=}M(m9jdpl;IUkPGFC4cs$8S}(Y;wx3BrE0EE`j;WBnPm|w zWj(J*E=cElwZECykAX@5Gj8|gzQhV!z##~+rKLMpFiVpq8aHac{+-;y!2%`RIPNx} zQ^c_S2qrY8W>0{kD8GGT#dToEiP1fLBAbxfBScUXyukHK_qWD=e=!Dfc0xx zT#7l|L~^_Byt=S{y3=Iq&F7yc7W12Kd&ff4wmuD*TC>EF(` z*b?^kPDp;iy%20YpI+EuI|nwk5I7U@{#NNr%~xf*ePObwlbLbnq);a>Q6vf+Sg{B3 zlS@YQiSHVd&C|`z`#aiZnupG%JeWxBZ5^7KA&>3X0<&?6K|^Y#K|x;==B?WFJ2uZq zXjLdax7~C~GGB)IHA(C6!nbw8IuJRp26+h_kJ>?p?Lls;1K$t;4pJrkPP4f(o zl~kuDcYSU{T+;}CHx)@q)MIZog}PH*vS?2^dNqi>5X`x6(WS~k`^Y+5#=4hvEAggL zz@uw4fIE=#`mEZl+XmaGBBGtF+RmHH0{Ie~;w1As`CRKXpL&r96>F0szl82K%Zd2- zkY6Q{{g&v$&b`o$zt%f>k*)bG z)ZH)PqvJC(wu_dntribYq`{8S+Rj_CCZ=1weD*t$klJdn2QXh%{h^VDU`r} z!6S70p~*(DOGEq_%XTCSIC0ySO2;|+%RBVsgP2_gYb#)Uz$wIzl_9)(vV7y56K!oG z8dENQOtpRF(lBH;lzyJz(iEfq@r^LNjMjI)gj2DiDG1AV>ErJlQ3j-<`kKUzzm*b` zdnvrpkj?c>C~y95(bi6MI#71FE28~fyv_d#k@sGomNWZpnRO0?)CRJ6Xr;eypP8Lk zDb{N{pW6GCXPcNj`pxqfUmp8|L({wsvuN8VMz(H%YE+d;iReLh*vA@3rf~`yZ3n^zDBt^_#K$&w$pE^nWO|W+VTDi#1mK4=(-(7r$}f ze{iuLRIJ&^|KMVc75{^a-;Cw|ExPFcR;Yvo0k+!z2!y!&A$g+p$!nP}ly{FV`ic5r zT#$T`s{-pEW?7^L2HN!2MF*4eN^cN7$?$nTCua{J-w=uk=_gNpxP5Rp)J_$tt>2=g z;_+tAO}B7_xAa|F;aFrFZp$;;P5&77L}skuYHD5E%i=+M;5l76MBNW*gbcsgeJJSr z`=Ox-SS61b)b0-GM$`W616c+kwK=>W!3Lf;9@=^IEuch70~%^2Mek)oEA z43uYZ>hz4R*~Ij;LBPqqmnMM)(QQ%mL_A%WgfNC+V)Cp%E7sN5WtoWs1&OK6Y>J`? zVT+?6u*mk|9i@=nV4qdUhCaPpW})XWDM`8;9UKMaI4lnBUjXvHn3`x{^4ODqm^T}25FejvPBBF3 zRFQ*FlNptYVd(gmtsnj3WUlNDNYt5xG}23V_gPP3&Ok=y<>*}~#4~c9DJ=knDDgOJ zbYcHBL8qj3hS^!z1@?AF?cg~U>`YQM3-%)6%xn_XW7V~FZB-|%Lgy)dH9DCbap`|sEkWnilKlwrcL`Z?bVm|8G^XvKr}jg82){4} z6N7^!PH3yP1;`U#j`KwztSN3L!9FCM$;AB=$k5WxQNO_+oh~nn(CSu=#PYIe4@bcU z58fI*A&HE!3-5+d44aVV8&1jZCm)3kat6hY$44J!N%XwY;guZUt&~gsg2ItTc?-2I zgb~k|9+`eu(SBs;vyHCjML$C7GMl)s9#*x+V)tGUL`jrBN^zV;*plc~9vIkQ)y+oY zbo10ux#%cgj5+CZW?tUsVML~VpAB#|lhKkZ)B7&V8%-r$r@HEP_p&4gM9dk5Fd-$l zhc`X$Cl|3|wJD!`+#$0N?JJ9Mqx5vtQd(+!9=b@~KB)caHE+L3re)vHMG3x!BqQSD zuzl}Zm8A8kU7+GZkt`W;jzZ7q8Hy3!=@m>%)BobKR4v<%wsoOBz%M7=vr_t=#jIz0 zYO|tk)x@g|=hvjqVb3~vy1R@Qbw<3*hG32EPlKn}};(Lv4?09(jOL zzIIC@8!rysz3u*Xd)?ePblTXt+sA~4L)GMaw02E@DwXn^JqbW+sWuY4MG_!nRRT47 z>=Ac=<~5%Ff-IT~n9X?BzUb>ak=plK0u;sKJea52WQXoaW`v>})E&3~(o;4rH8>K@ zJ6Ng2JTPQJTS8TQJIspW?P>OXZx1Gj645tt)CVZUD{|ipY9ngD!RZ<<;BC3K(6s)= zv04ExH6J8;yHuKAAvy0H?KDXwA?SXZ$8Lip!dICB2z>bgUgtD`SG*TZMQ@97|58?? zb7Dh%5dLPrzC@E&dTQk>U`GJuGA?NY_I{k^T;pUmRRh&$S|)g#jm&@NSV-+GJDZ{{ zrb>#J@j9^7=?C$TRZUx;?Cd>TW_gtD!jAfb&q(pzd0DdyEqEVOqaYHPfnGncTulLq zM#zLbnBkYD`;vf5X0&;A_S|wlSpaJ-e%~QSA41jSc({TkvyzX*0{j$V)<_$Jmz)C) zDaQ6+@&KVGbE!?JY0Uz({FSX|*mUDOBK5SM+1OZ9RAm8KEV9ryA6|VIIt<$S-NThu zfI?K00mbipDX?RE{k^9jj*spgX)|dRm6v{&i}i6m;|q9>tIQghjJFCgOh`6Ky9c~! zdD+wsl&FbCME4Q3H}}i&`Ys^6svP}1$;`wkh+TOVSlGCd%Al+X9VaRLa)@9OdWocY zx;c$2TK-w}`}2??V&7>>x@>wXIEk?=JAY=@yCW?M_iD>F4_w?Mqdl1k+*!BS(B!95tOol z^mDE3IS%@}^?pSG$Or6_Y!5uAo{DBsqw$cECJ5#_6(nqDBphr=niMj%aHlMcwF>a4 z?PX?0#%CJc-tGPY^r>&);_L~MXb!rQ8x((Ax$pz?pi`GWorM3&^HqPmS@!)X;7J*q za8ha?aueMXK5y#ns$F9!?$tfJApCLpIO<^U16!^04xqvvTvn-Gvlf1!Lhc537-k@_ zw0trf9dD+Pu-X33Ugp6MeNLu;K0npYu%7XgTGJ&*q^sDE=jR)NB_0^^Y#oU%>om=? z9F^}nuMa4C8S3kvFowQL0!)clwq!#V@(%|Y(%i+F^^qis8;^B*-`V4S*GScV%Jev3 zYd-;?zlen=vYE1gGokh3mxn$F1)JS``hflE#MyLME>)|pdraS7dU6e`)nZ<}sebzMj%fOs zv5YS8eVqz&MW}1db_KR@CS)DQ%wbagDHR`pygaB0wl@r2`FS2)zvG=wdb8+(YPUUc z57 zp3+b|?qjX&MyX4)Wt+m5Td!Q(wd`4umw6$`<&sQ(x=GE+qd!#+{TwRr-}N8wD3p;8 za8;VG4PQoH4LA{&9*nwGdxk?TOz2Xv`CgEW%#T#rcf4|&HB+rV_AVONgOhBnDc6op zp=(oZwB)#d@>3asbp5p0Xma0Y>sxs5A-cb{*$t(QZ&=T%|982oA;G z0(g;wpdj+%(?!kKB*`W8?YfLA?=g~+Fh{2jPNUdEcH1uz*|ma}sb76ecTeP^Jr4oD zMV|Za<5(|p!0ZFgP3Xj#wyc~jQc&QYY;WZN=z+~3uqnrkev9*1hoBrz`Nsz^IaJwa z%k9xco#K7#B%?tP)ruMqP_x@Ej`pqKJ2q}I;<4qeN+*oF=1q*wc5PbdN)ij z9Q8wLkAi!(XZ$4VkD420%HZOP0?P`?$#>!))mylFSF78)V(qFlx6blPxVh+%v+ijX z*7LV>C#@oaj*!q<^ZA<;-n+1KshKge#(U=Yk)++tk?7I^ur%UFf=+y_k!_mg(aP(4 zuFhkE8&R>pLSbc5B!6e7w!LSA)8rhj*I;elNMdrW~4G0$7&J`>P% zo(XTVKA0?6mp$$V{EGLuu}_LliRnxMsyJG0PM|ROr}5W9I0jT4^;wyByz|-hJ}qFMLY64W(yhBTTxN z3(fuH%8H?_Ez{<2p7Ja7G9u}IWx)7C;Rnq?;2oeCL9wDpHH-qG(d0vsmCl7*bm&V)I|)dq4K4BoBd*6%K|0T7B5OQo-QF zAv34Wq(7hf^`$OFpf~m1#ExZEBY*AoC)1R50KQT_J~$}7im1Q8qqZ1OCEEZ#^HmQ2 z`G#f~z}8?d?`UUgXl8rkT3)gGt$rae_DJg^V4NoMMw86xa2cyx<9ebtlqW~Ezde=} z_?u`yGcx+Nq~hb(UpL9CM;iiW)_oPbcuY*AB_;zcJhFUrUU=5k={(!t?{R+*3P(tC z#&zov#KU9QfQbKkAfRzLGnt{v6T~!fjY60U24hU|kwu&$jT^A6IO1QL`)jvGXT{(# zSRGmlo}TZ)pmIGH!t7LV??`O)QD7Zvqu+YE#5LXqQ;*-k$7E9{@HN&Hoh<5mJmR#) zYOJv)6!c9fK};zNU8+Zr2#?o%>_Lz|&sdZYV^L?e4VCX8rg==%YCR_>n$dJoh;p)= zoKxvqJiaOjHC-h3IFG14dO*~S_5{VNGm_9Ol6Yq4`=7DbGDOJ_@`76WW}zHUuO!Eq z2HTT*!pC$S&ZYlLN&|_VP(Kmp+Zba)b3*az>T4d4E#rDR#>-_@t-a)FMfNyNA#!|+ zF{AOL5NYH>S*OqknBak3M>Y^DnuS40pCH|qi&i^H*c+ZDSuNgR#rA#%*k4C7@bezL z=UStc+rao%MV-Edhj@As8DUOwB*9OA^0pBBTY6AC$yk7zobW{>O({4EaTWqkm?G}m zXG2ioLEhwGBM9H`YCe^A6VEO(^m^LX6w-E%_6XmWE&symA5DPT9YvDFJcHR&)lLx< zCbQ5($}+uiCxXM9^uV0bfE_4*F2un5b~m-kk3`7PjYy(-R4V=kemxRiGZOFZ=A8Rv zdda*%sB9!8y>}{+cAS#KY{NEg3@AP3;UFK<#kesjbbLBZg7P6|+FiTijE`a*-E=ZvhR6_R+RE&+#=jkg115rW4=7ha__) zxVtT&`EE|?ya`b6Ba|y|mr)oiN`Tyu=*d27$X<;s7l$i3^8aj>%|NETMg$fJu4zD!=G(@8yW%<}A2&vW7`$$X%wFO0g`-3*@-}XcDFzNP923oHf z65~Uy7yI=<>8Xd_b`VX{kJ;@9psNKPSWz_gpxQa>91t8o2nEC~*p;bYWdeE76vuSC5u+xtOam&ukX zV@YKWs0ynYAjuQ8=sT<02mKH@wtk*6Oq?)#uCU4e0FRxb7kYPX)*E&g)Z$DQ* z%xEq6yc{%BA@0$R8`l}G=)3fg=EX`0%KaM+(F2oav?9E>YmK6-|X*W%3L6J;+3*#wmH-~lvZUGBi#LKGY>c-9ZtaZ-Yl}C zq443NSKeB&#U;ELs@xhmc|_~En6^3K8fr2;CZK)^MjP;S|BhkX3K^sOzV9q$WrFXk zy?-L-lw@1M|E5e@A+fD+aJu7m@7~IS@@Xo1n@RAwOB%NsdF$_fl;IFXxOS?ZHJ}b3 zMe)MQ^T?(5F3g@Bk_0fxsJQBKMyh%nj2|eQ)u9kM1lr z|G&&(23c;tE;ooxM$nCu4-_zR%dqNnkVAuX<9IXK^M4+EzfC-)C&$Oxj4uoQko& z4uo^zx>Aa>r%(tWmN5Bx_mji<&BX0-{p7tL2z4R}{>{RV0uSrtcua5vT_bI2vfiD8 zTCZ5F>rIk@UC&+0a`6Xj7Ej4Zs;r6}yzxj4| z(*q4?nZ|wBen&7P%Z#h;4b#*TzIZ zcjIJc99`;I-*!4j5Pe9B60DhFGJeZ^t#3J}pg*y)8*`rITpG+{(5 zQu6Wc`MP%_mD>TjBKAoo2U`+cL2iffjM%VJ-Hj4t<8&div%9~|V z62EDy=asXeqXqvW3ls7a+jRqA0sJOF{krD42fEMf04pS7 zI0p7_#8oR6^*NNT1NAfsTf@V8O3tw$?}*x)$aglYLx-h-e{e~bevuTDH=fS4kpZHM zptyRTZA%&W@E9p0=|iS$xCEdrkadDg(jObpkfUEExn=e!Bz;ZUyXD_q^bfG`u#W9$ z3XfU-iVshea!puxaGg=I!JXmG2ptGK+-pTCk*l#E&MUFRkgWfShq%PtIYGiD29@K0 zUuQf{i+*O3emw0C~IaEDf%^P2#Vrxm6JV(2a50a_h)U^5Nzf{zKF!}9bBJJl2 zEC`ny!?X0e_5e5(wNN}92q9M{1)iy{A&1JP8)+VWzJWe4gQVJ3im)v_I;VsbrVgkS z9Vu-E#2K_0)J1A6<^b$WP;MwX0#PHsfl`Ll>WSstU#e;3(Ovq2;x!wyrJJQ6CXgsZ*uAR-3AYU z;k*wvnq+Ywa~?g~8+?rgP#gCWQHGFm74==`cRi}9nu7y{G`|Nmgj(zUj z`-rU?F;#ktP!cAGx`0pJxJyf-o$3s<0 z(0d}AYDWT8?Y=$5;9ofa%{L8XblIg$>=z!NQ&hv|9IoejKncNYqGC@>&T*0=eo4-0 zQB~(nFZ#|=^3DZcB)K$PiBsADr^S?`pagh$lazL% znl-^I{EL*AklVWOt@ipL}K;QpWYl@J7>@y9$SjT-;%q)KjRw^AsBX z6H_6Q(JJ~oL}U|6hZ20kiBhTaukhiMS_LneJa@Y!gA+@50dR!nHhMS_J7k@X8u0r6 zi=lwf{n#W^6H9Ff0pZinc4si2jRz;Hb_uX1c(M=7>WIU)T`O~h5wXkvRLu~=a^$^HZb&Z9^=0Sz4C*3I? z*_`q^&rY-mZ&654Qr-XG+AG#RAj{Z*XB3hUWiNL$3wEOW$!|{+Ydun{$S?8drD@(QiEg-& zS~9Ln7jVL-b}Guh_WMjx%1Rn6zL=xFvG0;PG>oMA5rEF)jdFQKwNlIWKEH zHVU1=z%8?zn!~rz0GQm&tGXSgaLY*f{DlI0>fu?(I!XrKEkizkqv(eTxqrJJTA7&y z%cI7lIxq{5lCJKSMEbVx7CiADDDm{*Ke@krz1rGYV?N^pIvuKWWPUnxK}Vg7O?eyF zjizm{%sCsknbF?kAC~HFkt|n7sMC+#bOb z+VLAGGnbkh63fo3YuNL{Sr!2!J;n01so(K!eND<;Z~+6cYf1E>Fk1G1`WsmSx(rIV z-54$v47i_gVJqz~<^%|9qVb#yldTC5tNN&aiF(Am-faI(Chp0#YOYDX7YKKkx8M45 zLOYasNWf|W;UB1LLf*#7m$KEq5{W*#EGO{?TYeEp-YglMq;}yf;jUXAdPqg4*VlVQ z=w=fo6t^T-^O6iR4L(LHtgbsvO5A9}-3DSRAF;f=W(I*O@OrEuua9Qdb=TLVbM6z8 zJ=T;VS;U)mge#|s%ZAn~%)$dRKu@s)y#|1jk3~%6vST9hl&=J+o&+ z*fHbP6N5~>1rk0368Isnopy54SlRXiBm?7FT~k^HKJNwku1=HFqjP0z{q5iPo~szU zaDfo%ci;peI$S5UMZ&jjcd2G@!`wC#Qm`Yb=P;M~Mp+wxH*)Nftw}(>6D=w-cptFP zIGL2z-K9O3sPQK8wl)-(2_f`MLYDgm@{QI_!=Qig6`$-olx>QWig8kyuar)=sikeI zQIapw(dZ^czi#Y1*gfri!Fz+p*|Pa};)Li{Q3<{Sjr7-jds!1T@~JN~8$@@FF3UfB zvhC9BYU}iOjIF&6Vpo=-CEfSE2&`4uPWxlO2Of1dz=KqCmco07W~|`G2iqtd>3_(g zuK2)r0CvtOa335WA9*VE!lOmb*AkiUgCCQpfs&YDN8E!?@#|DB} z@QH(+Q!DQG05zplm#EX+Nj6)TB z)PpD>7}hS{XIk)2wSxiA(N<{=s6O*C%10D$iDrg5X)oV%dhKMCiGH6gWG|ohS)Wa= zDE#K%wP01Baf-2}7YXtD;by&Nkemmw!Ktcr9xEfrSrq_lo}fe_GnkW|RJ_c4>&a;V>r>Z|8MW?Cn&O|T5VpgZv``)s48 z7HHOdZx>jb$ytX9H7{herF1kf!&Qh_e1pE(By3)7!8diYE+LU)KuN&DZ|)w=!u7D}!!-xF{sC#oQvTY7@F3jT zn=UWd+zKg0b1W4C(SU^=L}0_6;S}4MNhKfe(gN!69Ez}W&ad0*@_U~f;lzo=}f}&i?tf3q!-IP{s|7-~&bu>?P1J?&MHjAM; zbE00#tg&`M_ zdn)Pu9-RkE5!vJlxwe-XzBwfuJq8R}%t(arP8#&=pKAMrbs2j3SokgC@V7x2bwibA zL&rf0so{v$!7E!m*%arebwzCQ`)nz^to@MefSk;gcSzY`uI>M6@i?VeXC>S?F;B)> zkFn}>nOLG52p=9GO?#krc`=4IwbN4#ei^%M$8hq0-Jg~{FRZK+>A9ofN#w5;^!u`S zTuZ`y8%)v)9m5h)MUE>x2SyBoJ&qDE;WwqdtggTFxs`_te&60E#6HUUUyXz9kVLj) z7O)(oGoSA

uSTwmAutvi4LDS&0290NO3(tzl{PxHElEB~#ZtdZU^Omripxn%~< z&>>xNngtyvB2Hb@ZmH49C1di?{aE>jH@o~-VB$x=aOZeMp(tW0Bu+5&m+H6+fyyTE zx5u6^25M|yP{;A-mHFQw&o;+YOMOP-U0*TQ?Op)I9pzm+_e4Gw&83#(WAdmesQAS~piUCRjzxX1 zKF|{Sld}s>0B1v`6(4?pzdzo`T_rMh_aI@cY1EQ6&%wG&BGV}A2tfVGc3*>>j}CG& z4d{UjSHJbIjIlAsq--6kicANzP)j?5%)HXyo?9%=SGcA1Y%bWjWpZ<<-(0?y!W$O` zK=mI3FD}HEUUsEPcL&~&at$~h(^!>^klA@}uumiuZcyxC4SX%Xsy6;=95``0uS7rS zTlw(xuQs(+Np03u77>dwH!$Lem(Fat*(f-%ZwNY>_cG|~>FT7-{TRDTatxN{?rEQT zCxqb@HAEj^9(?}(U zw~vfY=B((S!-iYBKzQw0Coh$$~tawVuLdttHPM%K0L^KHcj}jV)!EzO|t948s>9n^<_PS|y@Ann!dU znwQ08$1rK+#B)aNRzP~gV8i%fv866f_X&G%M>rBH8i6q*4#fB@nI|~Ed z#hT^w)X2e`;KcX|>q-?7p-M)^S^FIX2_ERC!cjFP9wPDgXxh2whGw5Ta461~4^WKr z^3WB-M)G++OZnG<*H|4-+vd%#n69xz(G2jL*n6pw#W(s4B9p9YW;9Cd{xwD5BG(Qq z#?@7$YN`Y{18I7;h!HvsjG8HIid(@;wXI0T^7E+oEUl-5N75*TSvw)FTG#d% zan3D&Qf^ooD|Xq_jwFp6PiMte@48Y`zPmr+NwJS~h1-E^cSuu%Rs(wz3)Sg7TK&7Hz*Y+e z<~G~*6GO!Z2!LXirB|yp7w+MumS%aJ_n9ro{yD(deWqXIYB|u_To6uI{p1J=lCMZV z0kc7Q1U5-*j`ybm^2lO~bUP{2-V-BQhSxMawE~bzu{&J}&&oKL`%m{gDg96DPQS-P zZ&qTVEMlZRXv>&M)=FcuRs_75jww@anSNv>HT$+dO7=A84}HaIeoh-e4fAuLwnEPy z>4P3B2|3!;l;;dM5=+KTInMx{^KE00o)^)aiu1~o6`LbVrkbTxzY;aHVR-kS_L9x3 zS9t&zKW`F@YfmX1Eq*@6Nf-o6pP8r1@5$L7=MihIT~IcQFDeVAdqlb+xEzW?7dpZmV9bDeX(-}61^8kNrueC>ON2NFEg z(Q=$BggJ((WjgFJ-zGG>1f4;x_l)?^edYc>M=R8H;3RocU@ZY1&h$swa)*iHWDDRF zxHnEXqq%w-t(e>_NmHs%m!Ve@6q6B3^uL=mV*~*Q#T{Yt#m`9KI7c2sTUF4RHN-Pj zayWx(qgoSqFK7Ukd`Md`SN0ms+5@+;tyxzO zM^eO)2HvV+?`RwV5%I`jIUD+l=t;&$Wm~4iTBx?XGK*=jR>v#+A_k)#CpS-DZlqRy zL;p3;>+xgqho_;}er0GmIJ7Qb{dSHm9%R2gV+${e=2&bcobp0 zs3EP?Ki-AT$Em#&%%rT)DMf3GXmTSb_nQY33Gkv#5o7qS)70}T$9uRd93R?df6Et% z@7v?JO%VAuU8vZxkOFGY_^Oqs{En?1&$;nODBRCPVOZjL^*LCqYx>u;{03#KpYXCT zig8l59q-I0uv@;J+Y~nvjyyG(IkS1YR7A4B2qluPA=bY5NB9?3!=PwFKP2}4bA{TF z73*#Ny#T9ry!9I4+4EM^Ug4V zY!%e~=qX+s8$-jD32`WRWsx%j*G6Egy4!O#%z1PjQMzAzjlswBIZtueB*@dfQu3(5 zi{Vs;LfsqRKL%K@_Z63K^GrY({$;d-6T;DAjkvGem^phNz=oUrPUKLuI72_I1IGMR ziq|_o>9B_>G6t0JH&vv!rv1K$G$2UdJD#=>q`t%52BZhuj{4VF)KgVfB zY)~9Zy}#7ik=__WxRSPhoq^|O@W4NC!$PkM2cwr4ufMS%SJVAh@0y{9c^skZ?O{ihs1vGSk9$6|Ol&?ftgLFaO4vMg~?1vZjlUzfL5|I>@rTYilrV$HJ_>Q()T_<{&zOLJM#j|G%~(JZgYUxF?@MV&Y76JVW~ z_`;3vAYeRwCU6>7TRpsg#TOtu^!E3KSZn&{yWNzc<>(6c@WFOq6rjTCEUO!Xh$iVXo8}WZtCK~J1MfBi zfSpRWJ+A^|jv(qSeR}t;ZLGHBe^+tzIaAD(0X>1?Q z@bPSmBYn74Z&svo@JoGC-*rAbps+PNnt_H}lB(kL%Nru;Wgg8i!z;OlC-!B~?!TKQ z&Othj71Mga?XYX3+AT587(-tGC$6%wyZUdkY$h~_js00RIkDox-IRlvSM1M9Vu zT=rvsf{`9SYLRsKl5-L*$|`|PJ(;u+FlAPJ=+(SifxB|8*nl~KbhT@hc2@Xq@1w7E zm}*OF`1$EvWb5`-{nCU#sDQ;yFdnBrSMs4L7$c<_ONDS>{b%*4#Bg#KKwu_}zxC5S zOG&p~zlel*p7lQ7LAol&QxS<`dS)&z(w07oh}6UeS$m8X#>Ux0Y{$8xr$f3g;BRa< zL|TUW(}U0pyD*iwT5=XnQ-t3a;TO7=!33J>m%fE4clMBmvaK0<1!3%JoMd0YNGdL7 zIODS=jheE!iDyNZ=nj{z_uck+HCOhbLwLvQ<&bYE+IsP%(_xz!^+aljSl_1bhcAF~ zZyx$e@Ox%3;ATN(S~P#Pf;jdl__&h6ag-WrIk60l4d2r`HU5I+m5MU*Z3gZO)!y zG+}}gC?hDfn`9<`n-jZU;wQ0@rUQPeE02xSPxSTorX3XTKPGw>Zs||+G|~)y88pz7 zPJVG{lcRG8b6_j=oo!bOwxt)OM=g)U`_;HXKIz6PveI;$Shrte#Mc9<15=I4;@ew1 zDRbO6kV(gY#hXcKjQZU8r@Zk%h0w-CM2_|Bbv(^f~%Y+Or9SPz~dg(F$C|I4fSiuQX@2tyOh$7$^93Reyu7M-ikwD(XdJ2!5|k4XM$!x5>kBDX}JeWsC_z7w{|ZhHNKxS`VgCa3QDv0p(5 zmKP>%9wMs4ua)ZZjevfmLlk~>P*h7|K_}HTm!l2{XHOH`$QO}nzZ|o9aVY>dJyjWT z#t&_87+kc|qP}|d)@YbRgm03Uf1g5goceib1{5I^*VP?d8fRPNgoX(%V&zQ&#|t;k zT1c*^P+l5)HssX@ZY$zU{$vd&8Jhmx-XC^GpHZ_<>1mIZY$>-geLd~{{C7G_?!=D# z83CRTXZ_|oDV7W}|kN`J|Na^^7ZEo!=G2^5^(=iZ)E$xHK_zUB7KGYy{U%X3W@ z5_y+=eB;oXad=6sQT$`8hGF7xs67UQ_MIOJ0n7_o{{HRv^PCE z2_)Ox@#*Rj;AspVx5@UQIhwf#5MwPK`j-}0KMJ1e_r+tlZ= zdWSjHMZ6>nXJa${ysP~?&Q*8e)SvgPmk5K$_Zqr`?=_}Vw(!5fi>=bd^LzDU_#Wys z$E7*e4iKm!#C~yY=W;*`P;@YC-f{|%w>c8I)ZotQ;?1D^ulIW8DWGav5VNdUi4whP zI3L*HIlge$X#$1k(&Vc7%7d!P>nShg+qM7J-$W{W!q?!mJ+nYHCxhRVXBn#{A+q(M_`87V2mG&rX(x2d-?VzCc*bIg z<;ycHeLDQ&$_bRF`bCT8UA5XHgyTW#+A1UH6mVn~v@o?Z6oy*Ex)*f8i&!XTRcn5$ z&_}f#$0w>zoez8gwt5+e0FrBqAvRKuIn;U5?LuXgK9b3wEB7x{Q{V_Y5S`phMOv*G z$Mr6vVmDgiZ1)w3Ev_czlC`jkg)Im>JvCeiEERVHvyJ#vNn)$3NwBEA9ndfwT9Hyj zx1nSv3d$%jM2Xhi8d+8vMt(N1(*-ZH??NhfuF2`00H*;6#3iNrDRe;IOYd$Oq5Aad z-m>cfxT7e0YG)cJF>u4)N|2%g{QIWzJ7Wx4=G{cV zA5t_-;L_qL<39*Nv1pRZ(D2$=6E$)sD}=gd-oeJ}dj)E$6gI<6-VJUm_1~42BjFG+ zDpiz(MxUMUq-q=cb2v8*;<6oA7~^Unb>-_}p?aIdmi66!H8kYc!C7U4u+gT*kaBm5 z*&r&*%5kLQ!o^jR6MLYiK_mSN^D@KyPaqYH9Nv^iF_#qB+O!(b=W`HT{K$h;)ax~L zHrW_=?Jw~!cYd+nZLV6fteI@@FZm)NX~HR8vh34{`RX|?G^RMx>zFg4Fw!$)cz*w+ zimzEt3*RW)vr%huwF6}8i{rKeJ>T+W$8DG2O;}M;;3DI`Lc);*?{+@4o3dnKkp1Ee z)Q1;89Fp(t>?1NB)D2FJ3O`fxa*2^CfSQ4%kp_(ic_$);7X6?1)*#_<5>%Y{3_u#I zNOO-^&6s_;`-!d-tw2f(Vt{-WlVBAnZ}RLW?zV@yJkEddZ*iN*NbyTlST!xawsfn5 ze8qC08MGc`g7>v{%+WiB>>}5t*d*dkCw{d$YJRP9Fy3VI_;$(*TwxR(F4g=5Mpx+; zM2b^($&K8W172iHi9K-X`J)3d8tGZE6+XL2O}?0T3w3?94dQ-rWw=q2Sf#z}=q^+0 zWuV26@d)?!hp!hxdX^Hsn?BDsjkV*W;MexGohz$b)NAXqR{(X|R(uogU`xYgTY40S zvd%vdoCfXRXyT5j^>^rTMDF~ZgJ#CLmwq+AOB=EU-rvfg(7$8tlAo{7e5_w^X5jmM zGUzYP_4;@F?MUM+Xf0*e5D++p6YJ4HFZ*kFu>C}e;=9)w6**J@4m#`L1G8wx0wptm z2nrZ&R64I#R$tZ#{x&nlbEn{*sgA$kLuM$cbd61dG*W|H-~Dog%}+OZrA@W$vWvBj z)BoxbKJV`fkSU&OU``2aLiv`odJvbzP4;QgGR8jQeeS9d2(l*O52;{>$Wz8I=sETCapZ zV1;9wmg}o`WCFS@4D0XQLlIi;s`y%xYr}PsL&s)`5SM~qUOut8DSbUI`BA7NTY=;r z=w3!tN0bp?3f4@(YTKRlL;^WBM#_PdCDMj zzE4;J_aJC0MPs>A<(o;Z@K$>VrOQuENBde2!M_ z)f5Ef5}a8Y9V~^h>K_3co~;Aw??d_Q|4Cp~z0d zqQN*Zc9l(bMKW*euvmF4_-A(`L*>80}oa)a;Gz@6=plVtK7f$UZht* zdw6ck`F2PEUc#fcBJdXJHeUFCo|#(drsOl)Qm>0phAq%K!&Ik%^;6;r|4jQvC`VJ@ zV&Rhu`8u;l*q0M_7qX7qOT%KAKqX&rBgosWUMYpRMh()ghiT?L@k)!c-U-WU@7-JF za{p9?!k(U6#HllYi;Nh`TU(bS1h~hzu>0Ds%y;CU_p9uXAQu0d1(18=-fUtGp`yo| zD`sS?Cny0S3aHcn2#ND`ZR@iMuvm5$BM84Xm%>^o!g8jleu9rAor9k6A<}X4(h_vi z7;&2t=ZNgeAlTh(pIcY`R0vsTI5hfF%6f12Zs1qhWVZ(x?XIGK9(A1>b>dEEk( zZg}z+Xy-6Mf&x%dP6!{#49{s6)3Xxfp3SINC#NrT-1E$+{Y}r{6xhSm%wkUY;64)+ zr0eW8>pnNF*povM}nPM`6HJtnm zyuGxVr2PJiE#&D>gc(Wzc@g5W8T)H{k^0H-N{kigve#y#Kz_>6G zyORh|O`_jBf?XkbxXJaDRJf1126{-R{`aX}43OvmUHwnQVs2kh^Q5Ac%bfYEvO(xG zUy1JBiTkdE`>DsBlBLF9B|j?hV-O#$3$|@`_C~gpwgaI#7Oud?X2#^Ln~~Z0P04p_ zv@gyQl6fk^0w)PibykzrjhG*p0Oj{n$!bQmXgodl!XW!V)+r~G0;V}3m{wtRS$EbD z^lp_@=cm&S*Lr9I@((syqDS}tj8!1H0%md}GjM?zn^HP?`2a!{r}K`}?NG<|eLj3O7Zy5v48XqBrsEncO3BGGm@h{*`GA1wTJyFaP5 zV$-HD$QfUXV@#tO@&q>J-*ZlCoKh6tKAVj^5%7g;^u1!&ym@wH$(LF{Q;{0I6UN_g zdV76YWk0dfsR`*Nk9jd%izjV>)0gZYvp3z#NmG}ow@H>vordFxHq1$a&4ma~%L6Aa?uVbz%SACyRM*N7^>-w@;qPRjM&BqvRnZ8E>iPyrwLr%{}&|YR0wFx$J?E*3ClBT9+hP zHBoW9l&}$%!;5m=wb`c$?f3$Re5tN#aW3#k4{kMss41ivNPu8tY+#k{`tgbTD@!4~ z-*`J7xx9P}src3flSgNCk6QEHRP|%e5T9tW8sGhf| z3x_a}UGDyHjr>H9zAk6}Olu9>I@f*g78e!Sj`vzpHcJadR^-CFb!W>YH~;vU^iXGW zzSYkZbwFlqWK0AShmzdnjgyD2vDHsoR{bc5O39w03!;YQcB)e5+R@b)blaA{C;Bw# zoU12F$(wbFo=j7m^1M=3wYI}xg(@q4QmLP79Iy#m1{NS}Xa|)vTI{yp^Re^+1eN*) z;)oqzsW5a17b|)QjXqj)>H!E1A*O#N&K>4@Hkk>8iLQFVFqNlHKRE!ShIA zu9ekhqCY|njcGnM{%s~oeL}taT$8qPhVI&(C*sA1%bQ!3>1Rq`#XO1l%OGilaSL3q zw7!&2JY^>FcqGFs(9DO|vA1(i4uO;~q%oHBAieZol@RXNe~aQ35A7t3M_$NX9Gm zzfJ`%-PQ04Q058X^Ru|*89du@m#3wFp8Me1ZQl?{--HumU!L1wW>;=E;WveEe}Xvl z?l<>_w1C8{pEZaVZq+8b%pDf~PVn&oVcv+`;YYj&hVK=9%zP0HFvr~>8INQV%hl9? zjs1?z+|HRkr7wE*{~YfG)_Jo`KlcH4kXlmp(#9+4-SsaVCBUbgnH-JPbChP=IjaR( zz2)O{+dz+>Ihzrx%+k2baEGe_toT~+T)qCe{I~?s5F2jyr(@jqbP0*;EfL4b3R^&# z5-cXt*V8GFBfM{gT>9@pU{((OIYL=JoQE(8I6p{sEj@_C7_0psfIfguH-SF>Fz!{~9Itk}p zuR}K?Z>`HW+2FoP2-#j*E@PJ)5oJokP^BNGrNklpX^KBYW&iLbdJ=;K{STyte>M#W zk5m(YV{rBWkJ1m6`!Ca$V*Xd_joR}%0c`l$&^?X6T&)5VrGQ21PCZPMkh~X{4TKd; zBF2?nC(DYt^SEad0y1&4n{x@B#72Z;G$K{kS6T4=5Z3}%3AO4Sd)b9&Q9i?k{tl4I zBgML|Nm>r!(`xWRN>V1tszaPpjhERJF{%9HN*-4W<`Pbwm-gkL|I z>oaER|3Jgt+aVPP8R=g>O6v7xhxI%1rOkqdHBF+Vc_~-XdI|iH-AgbVMVFQ7Y1S@; zvV8HvoKaCDIuZB8f+T};^U$8AGyu6YT1qc;pM|+MG#8jE$Hi$EEdVe7Wsc~=>ZT7{ z!oYw&^JuFwQ^ke=f)o^J$jE0_&vs11X@@bIfu4+VJuLb+HR=FpeyZ#X;#=g-y}S3K z+%GjR$plUYx`tc6N6-UVnwA<$({TpuX&4GW8#tL#a#{jVq^7(4V*9%XZe+*M{c$!z>Ir`WP`?d_S#YORK<~6;YgQwN)Rcq86=Cd> zII=tD{mj_wFCRYep6hP#US1JO3d!9JydClo&*p9IU7F$i*7uMccy{t;OMRElSI_2Y z;qt@iUd%sLuRgo#AG%Sj;7=z+YNwHf%Dgz&1e#dfO>Hah(t#@7!<6KrHTw%+4JUKp zoKG`pt{%R0uvcakFrJ%(ogc4TYL3?WbG{hISm*Z=!Fkyzt7hO)zz{2`u)*;lJ${~H z_iP6XhWBP<&tLV%hkxf4KD}7cY{$_)Y;v<$Kf9f(PEvT`H4#9rkVYUaE!{r{d}(r> zXS`a~H}9o$L~W|$xZf(>^~3-|j!I1Hy( z>5eF0yh>X^@CkzHHF4LXPp+{oZD?a(gU7YjvkzSzk9pvfDs>434zuT%EZ1<4!t)S8 zzY}-#q!b762F{Cz1niwK|x!C$>azrm1)+CO8J_dhXtGnF9I$ z3Yt_#nzOB!T@9HocjG7;XstY86W*>I>$k`JR&6ybVclv8biuoK)~_~4A3Y8WG7MDi zCwnv>s(JTes4~IK%Uv+1YfGekKR;iQ7fI=N+%HWKhkVjVPtb=YpW@bquz5x9WKnyP zY~$Na(33!{-zV2)30R#)?$R25zdt9$4V-j1R^Pmz^T;SolG0pypjM=|Tk&~UC-bEVM! z0lV((Rzsx4+m?PsVuNl`)&|odxYja_QND7Dv81ua3Ux!=0$pO5yVRz=%zqM7XKb)+ zzxSOqhb|68k968wuZ~#fp-0`|IiR{iC>yy2xxyp2Nc^@hczWIgfVp4Wv3?HEAO;hlGNc~WQn7^v_20( zIc@e;-nK|f>!yW=kLq?4W~-n4y{?@$1 zo5?Z$Gk(m!BcFJ*I8Ie7q3mTVCHMAwLmEIvDAyr*6gsgf;s>zRRl9O^r(&saYtn~D zE>(isLNsrkS#xK*J$aZ`>{|vlk5dgy`5Fn7fpqokwP3N{S8>N22OTF>2%}kW4*}N- z+`xlNOc0ZPMG=vP6r$}l@xJ4R2~SRjhWA&Q^^#9#oZic3%ND1^ZrvpY9K{xm;a8$M zkWM3rQARn?@5~pE%m;*aoLTKk0)sSimy%srjasVcBRvczw|~eXd+K|577OXOS1>A9 zH7i4tKXaz;rv@59Lx#wMXbB66pJkuvocxwWrfHc*_#K{c3ts00+Ndk42tjgG^SC^C zc(@OrQGO2v=3M)C#dU_D1e;=fg~kW8bY~-08x2By0a=a8FQ#!Zgd|{jM9%Zz5L2ph z;$c_eQrDJ3@*4N;(n*k_qf1j@^1ovpxWvRZko!xa9iPXTR`@$eAl|0*z(0xJ(xH3{ zcK;)okFV4`v$__gHa|YXH~Mcbt!%5w6Rf_x>Upgy2ocyc?bJAv`II)(RhK$b{|AhD zX40j5f&*!O9&>Q*YkV5=slEaib&=i|(JGZEhguuO=~oOu1>uy)R3&kzPq; zn@(EhZLzKyT1^C*o&#B<8I$GdkxSdqt+Es|bFhZ5`Q<3oZEw_Q9WVjam!+wMwd0op zcrx!sk00WeN{2J}HHeh9a}41Z;D*`sK} z#+$#9T)-;mw8w3<>jP;XM^JX3yvJJNk;o0dsr&oZPXlZMr5cQUnh zuef+6jCRazeD9qYOQ7r}qA()X`@!>psp*IJW;kZ4gX?MplFn{bkM?TiBIckbPkCV$ zgeK?~nT1q=mQ@QPB`IvwNrU~ndbNmb-r7aX%3aLNW*Jl>trEHwdvybPt2K8sy$*xy zC4!IZa%Jj#k{o2nf)r7$*0Mf3bN$DshkSGvVMM9p-m5p?kL4J=H{$IdFavlu+XqLO z^OcJL$90s_qZ+gbz_&HfEQ7apbyDcDH$rHuyBU`p`p}$P2>(N7B=)Jftx(Co3XXfK z{sr63otRT$z2AJZ>KN@l!@q7`kBD2H5RqVA5v;!&nH@Z;-aCn#p}bhi0YrJx<%Q$J z`CPkQw93&n-0Z01$oy8ZA(Xh!r5CSm0hqCe%2-MfEqo@n2K?l2+tgZF-vPkH88><8 zxpd{KcarHqhqB)&jIeNjVZ!GZ#!`*6#+Er_(@{CSpqvO;FoKG^6`v1Wxo|YCu%kVq$>Fd7`MR7+?pf6w**_lkJ7D@X z!lNjb3lavd@>}D5A243=A?Gfzw^DaD3wej_;!e2_zOU1v&bwD3Rjwf729KweJdEv` z4}D@&9^1|0w1qK-hm!JjOwgf?MK!OJewncs&1WbwO2>CK6o&jSI#W0 z!Q99S7X9Phb&OrPX`g>K)n(wvvgvaW17RmXuslgLYEwTERq92rZy$CX(px74RToC_ zB*>I8x+dmAACdGJwY4!V-Asmyw5VF?jf4sle|2nTdR4I>_Vmg}(n_Jrs+3X39wm}% zOBGPuqYl9^gkObV!0#?yL+?K$e(_nfdASn+tXzps+vz_WhbK`qN60dpJdZq83-U-L zj9vb*tbo7V`fFV3;q9?C8-OOHvPb(NUp@#8m!!z0uKi%59uuSnCj4B|&>G7DI#IGY z4cau5R`RSyQg)c^Bz{sEwkr4M?PS_>40!xLn1+95{c4>k0|A-42~9uWzf{-AdnV;f z3%ftjM?bVivbT!&FeOHf%dh)^>B`b-HZt+VVAVVS1r^+PPIwU~4h?2a1(!3a^zZY@SPgwNV!MA)Z+6H;W;6m0XDkKCXOx7pY1lOUD{h`#$%duS^-y}dC% zbL%CHZ>PM*vDN#{mrC|`Fq7$qmq=C<_M-oK0j7ipPgcX#8-Z_Z)dBF|l^bLFA^E>s z)OZ9*G%F~1%Jv6xApwQp`qXf9<&OKOx;2ILC|Wj~8ootR2Cbj4L9JqR>^h0yrh;vQ z^X)?zUQ9ETD)IRZxYfd(o!kBqCC-$h#$O!xWVwxi{LyVX%dah4aXw2j+h^ZyI8zr5 z;%yZ}X`gMoh+{5%NYx$x?U;8oHlW1}TkteMFNI@2yRYt48FFhad8_VWF*JxoTF(64 zQa3bHnyd!jov|*HuqWF%b_Vc5IC2QT+UH;Q(Tbne9;&F#zU>I*%>$qU*#ixHJOZ*j zRSu=S317;PUcYvFg0tgdOf%4Gd4~H&FvZd-Zl`p0SNA@Hq{@RC*sgtXV@R6MVq>qG z5@Mq-iw>&|Lo&AtX*9xKNWOh<GB#M@W-c{giCK zHqqHlX#~S%&+-T1(;J^8RGNNGIWm8D7ivOwqAzAcOOA4h>y1~X5yMD{b720X=^;Ii z?nQMkbLrC47s(q3Np}b2P1izAm+iQlOJ+_#4M+OMc0Kakf39%^7kgOM>QkYT>0!f& zeIno!`to4kZ_>+`IVn^6%nEHo0qTQzH8R@%5eQAFv^2@w#gcvPe#N9i*_aFzB`nH( zd7dH+gYNAN7JHdit;FSRc@JP9k*R3v+A?FVT5Ki5&naFHd+@h56SbDHP)sY z@W>&~Kx4HZQJvz*;d??5H~pmH6rJTiCkP`46>XX5 zguFv+(Xp8ueSAlZ5lWJ4u0e{fW%%|b;2^y>Qb+MgL&%*i_fEg6cRt9XA%v?kW@W9$ zzWC^C-fHLwMVjv*`;=X3?JDnqH^dZvjm}D<2m=%;dFMH7he=H9YPoyr#L4%1d;~Xp zQ*F#uOULI3IbisY!^MwQ#9Jj!2+RYNWXBlOTbX{)GM-F@+`W%-^`Ej|Lcwz*5?f|W zpVwt-g(H{NfRKH^YHo*V!TNNF@z{<}QbNGfyoa|5P}6U#(eTy zQHk8_?5UIhCCoH^l-7Z*Z4-A~GFr9-2Cc*5y@s)vKzF~Lv%lpsTwSTg_&djeE%*E) z_+2`AYTV%yM9Na$9knig_r63ng}=r<=nu48KdK@Nt2c?cSc%BqlROpk=KNKK7g+E> z%XA&tebQ+)_Z#rdKg{RP2&6k*ynEtOd)N~ZZcTyo_BPKhmd?vpA|F5KV7hYdT)g9n zrHmOgrVbrA&~R2kLO|xmcDU@;!AvjKcdMu@xj2AmHK2&%_+*@vYN)n952(6z`zQ%Z z6=EREG4yf7-_V#xoRbk_AS`_U214j0cxGEsSpXgz6P=-8V!UekI^hcc!&1%o12AIh zvEp!f6fChw`tapX!p~i+vWxnG&$BCDbkb{K#zPCb2gM(FyS=&wbOqGQ?=OlKaDcee z_Tbr;`8KlyJL&5N�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 /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - A692D8CEA683E472CBA7F68B /* [CP] Embed Pods Frameworks */ = { + 75907684EA1FB3A91E298071 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", + "$(DERIVED_FILE_DIR)/Pods-ObjCStarter-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { diff --git a/ObjCStarter/ObjCStarter/ViewController.m b/ObjCStarter/ObjCStarter/ViewController.m index d99c41b8..c60b860b 100644 --- a/ObjCStarter/ObjCStarter/ViewController.m +++ b/ObjCStarter/ObjCStarter/ViewController.m @@ -18,7 +18,6 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self loadData]; - [self inApps]; self.tblEvent.tableFooterView = [UIView new]; } @@ -27,23 +26,6 @@ - (void)didReceiveMemoryWarning { // Dispose of any resources that can be recreated. } -- (void)inApps { - - [[CleverTap sharedInstance] recordEvent:@"Header"]; - [[CleverTap sharedInstance] recordEvent:@"Footer"]; - [[CleverTap sharedInstance] recordEvent:@"Alert"]; - [[CleverTap sharedInstance] recordEvent:@"Cover"]; - [[CleverTap sharedInstance] recordEvent:@"Cover Image"]; - [[CleverTap sharedInstance] recordEvent:@"Interstitial Image"]; - [[CleverTap sharedInstance] recordEvent:@"Interstitial"]; - [[CleverTap sharedInstance] recordEvent:@"Half Interstitial Image"]; - [[CleverTap sharedInstance] recordEvent:@"Half Interstitial"]; - [[CleverTap sharedInstance] recordEvent:@"Interstitial Video"]; - [[CleverTap sharedInstance] recordEvent:@"Interstitial Audio"]; - [[CleverTap sharedInstance] recordEvent:@"Custom-HTML"]; - [[CleverTap sharedInstance] recordEvent:@"Interstitial Gif"]; -} - - (void)loadData { self.eventList = [[NSMutableArray alloc] initWithObjects:@"Record User Profile", diff --git a/ObjCStarter/ObjCTvOS/AppDelegate.m b/ObjCStarter/ObjCTvOS/AppDelegate.m index 30ae98bf..a46ce3ea 100644 --- a/ObjCStarter/ObjCTvOS/AppDelegate.m +++ b/ObjCStarter/ObjCTvOS/AppDelegate.m @@ -7,7 +7,7 @@ // #import "AppDelegate.h" -#import +#import @interface AppDelegate () diff --git a/ObjCStarter/Podfile.lock b/ObjCStarter/Podfile.lock index bd019999..da1f4082 100644 --- a/ObjCStarter/Podfile.lock +++ b/ObjCStarter/Podfile.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CleverTap-iOS-SDK: d679f3ce167c82ecf0f4b54cd1a053f00ad7c493 + CleverTap-iOS-SDK: fe97ad987d57990c105db9d2ec7197336c88d0dc PODFILE CHECKSUM: b4f3542daf2ced0c2c6faa368b426728b78fa179 diff --git a/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json b/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json index 29f730b0..a1d49eee 100644 --- a/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json +++ b/ObjCStarter/Pods/Local Podspecs/CleverTap-iOS-SDK.podspec.json @@ -36,23 +36,7 @@ "tvos": "9.0" }, "tvos": { - "source_files": "CleverTapSDK/**/*.{h,m}", - "exclude_files": [ - "CleverTapSDK/**/CTInAppHTMLViewController.{h,m}", - "CleverTapSDK/**/CTCoverViewController.{h,m}", - "CleverTapSDK/**/CTInterstitialViewController.{h,m}", - "CleverTapSDK/**/CTHeaderViewController.{h,m}", - "CleverTapSDK/**/CTFooterViewController.{h,m}", - "CleverTapSDK/**/CTAlertViewController.{h,m}", - "CleverTapSDK/**/CTHalfInterstitialViewController.{h,m}", - "CleverTapSDK/**/CTInterstitialImageViewController.{h,m}", - "CleverTapSDK/**/CTCoverImageViewController.{h,m}", - "CleverTapSDK/**/CTHalfInterstitialImageViewController.{h,m}", - "CleverTapSDK/**/CTAVPlayerViewController.{h,m}", - "CleverTapSDK/**/CTSlider.{h,m}", - "CleverTapSDK/**/CTAVPlayerControlsViewController.{h,m}", - "CleverTapSDK/**/CTBaseHeaderFooterViewController.{h,m}" - ], + "source_files": "CleverTapSDK/*.{h,m}", "public_header_files": [ "CleverTapSDK/CleverTap.h", "CleverTapSDK/CleverTap+SSLPinning.h", diff --git a/ObjCStarter/Pods/Manifest.lock b/ObjCStarter/Pods/Manifest.lock index bd019999..da1f4082 100644 --- a/ObjCStarter/Pods/Manifest.lock +++ b/ObjCStarter/Pods/Manifest.lock @@ -9,7 +9,7 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - CleverTap-iOS-SDK: d679f3ce167c82ecf0f4b54cd1a053f00ad7c493 + CleverTap-iOS-SDK: fe97ad987d57990c105db9d2ec7197336c88d0dc PODFILE CHECKSUM: b4f3542daf2ced0c2c6faa368b426728b78fa179 diff --git a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj index 21d3ceaa..44aed8a3 100644 --- a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj +++ b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj @@ -7,225 +7,220 @@ objects = { /* Begin PBXBuildFile section */ - 00713EE655A6B3CE02B166E0F0719659 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; - 00A4CA5DCB88A67D6B59C50BC6A0A07C /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; - 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */; }; - 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */; }; + 00CD6B0C2775DD1B2851ECB227777374 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */; }; + 01D9816FFF850A92F0EF57FBC6648961 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 927DBB72AED631D6889D58A89E469529 /* CleverTap-iOS-SDK-iOS-dummy.m */; }; + 021382EC0A170AD0FE95998A547A9D9C /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CF1D511D3C332452112352871B743EF0 /* CTHalfInterstitialViewController.m */; }; + 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D13BE9CD94ED85D886B9C5B48FAD110 /* ic_expand@1x.png */; }; + 031FA0DC27C1FA646F0CAF53531BEC04 /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 032F61FEC428EE8AF48AD18979028C2A /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 03FD8A83E2221E1FD4C863DA823CE5C8 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = EC1B3E264B6183459C9C900BE3F4411B /* ic_shrink@1x.png */; }; 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 05D28BC6BCDE2E6F29831B5909F89C13 /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0681A42DAA048A64399D8DA38FB28CD3 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */; }; - 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */; }; - 076084F7626D397738C2A26251DFBCD8 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07ABE0A903CD0664BAC7606ED72DAFAE /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07C1D1BB72E7E6E80AF9A3D12C4A1089 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; - 0844EC008FAB872B8B4BEC4BF7C11B87 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */; }; - 08A8EBD2E4DB093B5A1C678E828835E0 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 08D4FEF243BD5D1CD1BC7FA57EAF71F2 /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; - 0B2E44ACFE8C56CCFA5D1168F940D29D /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E7E47E0D15E975BD3A03B8A58BB5390 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; - 0EFD2FC62CC9FC59F25017A20AB9772E /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F1957439D0C7E81FE733EA1CA24470D /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0F683B319FE0D31D8E43C695B733A9A4 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 11AA8EE90D957F17C48BB0DD20565B85 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; - 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */; }; - 16F18B9B365766DE42C7F8F140C7641E /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */; }; - 177417798266A2D7D1F0EA024AFBB92C /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1889EA45968D6163375BD08407525DEC /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */; }; - 18D76A3F3814F995DC68879DA3209606 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; - 1B73D88BC10F85CED2C02F5A28B92F93 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */; }; - 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; - 1BA922CDDD906A4192A4FB183FA50ECF /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */; }; - 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */; }; - 1D28C7B1EE3B24FC51B6C017035104A4 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */; }; - 1D6169F389E3717EECAA7A499D78C4E4 /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */; }; - 203CBC25F644471C3DF515E3BCE9F055 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */; }; - 229339D02FDF96A9F0966832295BB644 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; - 23121489DE044E8079F747AD3EAA818E /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; - 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */; }; - 244C838C5215BAEAF94C7958254D2F56 /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2457B7F1DE8A45D34290A83E0470D177 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; - 24E24D5CC249092B8B7A33EC6B128BFC /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2569B1DB71994ED1439C31E386D16923 /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; - 27D477A7F7B0CC4B29CB4A7820C2EB75 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; - 27D7BA7CA09B87C2C1C9879DA1646F2F /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 287A7BFAD149A21748619807F70D78C0 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; - 2C9211251AD9DDB3CBCF117BF3D66FC3 /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2CD739391541A6B5205AE4FA4FE350A1 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2EA6D83630A286F347D1BDE52EE4763C /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2F7C3E3DC879FA11EAFA7F7500F6E951 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; - 31BECA92A2D69048FB747C45BD833005 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; - 32E33D82C0C2975425197B55D5C3F681 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 333F26EF21B4379735B1E69037166B5E /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 36AEDD7DFC1E8D99E769D169A46D2091 /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */; }; - 39A8EE58B7DDAD1357513944100BB739 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */; }; - 3B415150CFFAB168BDF195C1FD534DF2 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */; }; - 3BA350F697ED0F2ED2C0E6E1FC67128A /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */; }; - 3C2051932A7B64009860F12684ECD9D6 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; - 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */; }; - 40C7AF991AB52D5322812098C4EBFFCC /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 43A9543ACD32554E6F8D5B5A612EE8F5 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 44590AEC3FD5CF2D7BB094E5E40FAED9 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 446D6F25CE629C2D52F18FFF8F6C1A2B /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */; }; - 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */; }; - 47045A49234D564C0C267652A7F5269B /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; - 47E86794ACD81096687138817E918651 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 49D0DBE1443264B9BBF27CB9DF25A520 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */; }; - 4A3D0BC1ADE4763AEF39D520E9C18D54 /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */; }; + 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0AD8ED59807D181886EFFAFCB220A19B /* ic_pause@1x.png */; }; + 0759F3D55DDE04F73CD3097F6FDFE61C /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */; }; + 093B36E6DCD798AFB817BC00AA546B21 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 096539591AE0664B0F82DEF439953BB6 /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E87E4D796D536FC582D411D4ACE3F5 /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */; }; + 0A68514D02C62AF9163D33AE39A9C9B9 /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = D6A9765C12DB28F8B50A5F5181F8B42F /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0B5C00301D54AA94E88D2C0953FE584B /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */; }; + 0DCCC84D84EB50796A605A1653080CAD /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0F934E7C674AAEEAD3B4BD442615299F /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0FFDF318AB1AED92A862403346625305 /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */; }; + 10D1259C931528B422B4FB873FCB242D /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1362D217B53E46C5D2AA4EC490F13FB0 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 86501CAE0614F927948424FC4F958D74 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1408048C4B3E30428A43AC7271182FD8 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */; }; + 143069BF170194B2462FA47B6592E0C7 /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D52AEA4052F82C732A08C552E972F2A1 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 14701F7610BD5082250C2EE627027F5D /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */; }; + 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 29FD80ADF71F8D84B8F4B1326C53DDBB /* CTInterstitialViewController~iphoneport.xib */; }; + 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2935AC9AA6387F3C060F912100E27542 /* ic_play@2x.png */; }; + 1A6CEC7F0FCB64076B1CDE48DBCA7BBF /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */; }; + 1A76E743B34E6676732EEFE86ACDA77C /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 68E7F7E0E31959E42B2EB4A812445876 /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1B517D01432F9A00E80DE1CE507815CD /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */; }; + 1BB69B2ED08032FBD44D95CC7A1212E7 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C748BBEDA47B1BF59E053BD496B9B12 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1CB1C7F933C7BBBC503F44B7DAB93C69 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A0F3D5DBCA94E212CF2BE0F6864EF0D1 /* ic_pause@3x.png */; }; + 1E2B64D7A0F71789F93B988952F6675A /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 207C907E14C61097232FBDCE89D235F8 /* ic_expand@3x.png */; }; + 20FDF433EECF5AAEF28F5A14B75983BD /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */; }; + 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3AEB7181DB5A005C8895FD7B16F6F2 /* ic_pause@2x.png */; }; + 241D0E492169E2BC5D9F27236C854842 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 24A3A1DFBF19E8F7CBE525912614ED72 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 24E638E9EF98014BF882E43F59CEC304 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */; }; + 2548F0C5A65638676A41E70B82FA2A01 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */; }; + 27C534B1A3BB23199808EBB8B4251B06 /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 16C557CF28EADD35E90EF9CB8D7CBA7C /* CTSlider.m */; }; + 284A1D052FED86B28FE00AE6CCB1AC02 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1E7D8C0E52CE0FD629BD5D6B67482AAF /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; + 2A6B4251F2A6EA958DCC4C7A374E9006 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */; }; + 2AC49902637D8D4FF3943B25AA2D0C71 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */; }; + 2B2D702CF25B04A1D3C06CE08323548C /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D311440C8EE1F878527C73F86C9D21DC /* CTInterstitialViewController.m */; }; + 2DE5F91E3211011E9485C7FC58454AC7 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = DB2753FB6B139A135E8A8363D6F99DCC /* CTDismissButton.m */; }; + 2E3155BF4C3540016D1F8BBF6FBF98FC /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */; }; + 2E8609B263EDAE2C5B29E035900BECD9 /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7442F4D96390B8A3A85A4351E531AEB8 /* CTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2F502CCA05B375A1ABC36F6A0F8E0100 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */; }; + 2FF269B5380A126CCE1FE77303F7232E /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2FFD0EA57DC433AB764BABEEB252BC29 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31AB76B508F2CF3F9FD707508EEE2688 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */; }; + 331C2D5437D1D6BAE75E3FFBCBB78C70 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 34978968270836ED81BAD85EBF354EAD /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */; }; + 354D13CBE3BAE064CDA92331F2B82E7E /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D9614FEFA39B257A0805F70C00DCCDB /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 371E5E614381855F61DB63B05F004DBB /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 373FE79B5178B15347063B86410ECF23 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */; }; + 38868897F2C820C53932844E01F20032 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38C5BF09C9E01E5C1BE7662B200C9E10 /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */; }; + 3AC4A799FE47AA7D0FEC8E5C53726140 /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E3DA29E0335821BD64FCEEFF71E7BF3C /* CTAVPlayerControlsViewController.m */; }; + 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E13DA569FD2A83038236D35479E6367C /* CTFooterViewController~ipad.xib */; }; + 3C719BCB68352883700C142168ED054F /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 89D558ADBD2C8048E37BB654B7A938EE /* ic_expand@2x.png */; }; + 3C9F146F332E3452961A11AACEF691F6 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */; }; + 3D5574464D38C09EA5FB8DF458B557BD /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3D9AE2B99DF9A8C1B30E6E9D51EE6D4B /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */; }; + 3F06EE8DE7521573986D843D1BBB44ED /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 423DD5050D84B5C2E6B39D373F1EBDC2 /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BC394816637D67C99627152CE3797B0 /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6F4F038A4D05638A4FAD1ED7F86EC272 /* CTInterstitialViewController~ipad.xib */; }; + 4A5852F773E335620451FEB5C7EC1A75 /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEE96404139CFB165291CDAFD981572 /* CTInAppHTMLViewController.m */; }; 4AAB1998FDD2C1A3A045AAE63DF6CC74 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 4C8FF7A452E41AC165F56907E34E0BBC /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */; }; - 4C9EB56499904BA40EDDA5574F98D1D9 /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E11B7019DBF3E4F201FE70851DE35B5 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; - 4E59471E287329B3BA80D5B960163C16 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E7D86AB2D5FB86F1F43F1F4598BA3DE /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */; }; - 4EE13AF6062D7EA33A4A77420B6656BF /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */; }; - 5174F42089BC2CACCB11191E86F51778 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */; }; - 51C164DE9D34C08A4F0FE3065AF8DD9B /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; - 546A9573DEAA58B19D6252812774A895 /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5483CA64DD225F76309BE34E56BACDCF /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */; }; - 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */; }; - 57A68CEE6813ED0FF1DE79B5246B5E52 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */; }; - 58570A4031AFCAD2525575442D5C7331 /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */; }; - 593ED641544EE9D7EBBA94C0AA2812FD /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */; }; - 5A3BC74CC8C98B500ACFF10584B5B3F0 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; - 5A666F889CF4300B714C4BD539E1CDE2 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5AAE992514274F09BF1FE7F019AF0F1E /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */; }; - 5C59E25AA1ECE8BF2A47C09632E202F6 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E0CD82B079D21B38CD1E42BC5F980DA /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 602BD08255978E086123AF17B753AE6B /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */; }; - 6254EA02D96192B830CA81D0504FC4C8 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */; }; - 634EAD4DE9B3FDFA8317975067E64F75 /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */; }; - 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */; }; - 6538DD8CEEF2C53E9DAB5BB2AAFFCE9E /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */; }; - 663262D23664153BFE2A64953B3CD130 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 67CB07F73FDF5773223C8F0BC3D51A4D /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */; }; + 4B5E03B9280EE27BD18965793A6CDDF9 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */; }; + 4DB5064262387E3B55460781A3ABCFC3 /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D55AFAAC969D674A8EB476BC99B03F5 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4E0483F9EF57A7D87E7B0E3DA0A49F9F /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5082EE4ABA7BCE3E537BD26DEF005287 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5367C963FBFAF1DFEBD2740163805B06 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */; }; + 54BE8E8954934378FFE02E887485AC07 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56A07117678EEB765548C114F06277E8 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */; }; + 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = FD56BD96852774EEC730A46882FA3535 /* ic_play@1x.png */; }; + 58FB906FB78086C3737AB0A202DDCD49 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C08F421C5AE0B6BF43D6FA5C766EC0C /* CTFooterViewController~iphoneport.xib */; }; + 5CF204FFC01A557A2B7D2D81F6AB27A2 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */; }; + 5E617E1B9A629704C417934BD63A65AB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 61E1464A32493C656A0114F971A94937 /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6287FB2B8617982D9C6AE8F60D4A37DB /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */; }; + 629C17695DA178B9A73BE2CAC43140FE /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F3F634940130B8147E3A6B8E20E52C5C /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 62B3580CDF0B467BAD35F4D312E73F12 /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EABF23D5311F9D66F0E6C19C07FED18 /* CTInterstitialImageViewController.m */; }; + 6312FF3C4B0B9DEF5EC7D079CE999DAD /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1A453D48276FDD1B6CC30EB4C2AB07F /* CTHalfInterstitialImageViewController~ipad.xib */; }; + 63774FFE217DE5F843611BA552DCCCCA /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 639FA8269565E0163F3991CBCD447FE4 /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D8D56AA4B720AB4FB380C3E6A6549EBA /* CTBaseHeaderFooterViewController.m */; }; + 6563E60498568DF50A0D0828FBF0FC98 /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */; }; + 65BAEB6EDCD44499E8B8F1A939C09170 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 664BD277637820E8201EB18FF2D66512 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 664DA60F2932F1F3146390BEFDD7B22E /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 666A7FAF479F330AFF6BB1D7DC0ABD99 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6819E1D2ED7A86AD6193162D2679F761 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */; }; + 6B209683138FFB0457BDCB0067B90738 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6B53E98525827CD38476C2CDB0F91AF4 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1CA6C76E21BCF499209148ED65DB32B4 /* CTAVPlayerControlsViewController.xib */; }; + 6C129D50A8377F4307B0DA58F7275323 /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D7E10ED25B97DEBFB5D37A71103670A0 /* CTCoverImageViewController.m */; }; + 6C562CCE50DFD012D57962F6C2A60824 /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 41C84398128D4024055564AB635FACFC /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 6D5DF2071997F03AA7EC8011CDA1A4F5 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */; }; - 6F3ABE5DDD03CD9F694CCEDD3D68989D /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; - 70709EC01475258D0E89A57320198A38 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6D7C3D0C1FA0A61E6D561EBB5A10BBBC /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F76D646BBFECD2A87BC4F5EF9C298248 /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 293EB57D407F084A744828592CF4C178 /* CTCoverViewController~iphoneport.xib */; }; 7074E3768AFE3F4B39D448D71C59B04C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */; }; - 72E99FAB1D537E2B314D3DEC821EFD56 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 757EB3FFF9F5E9238399F12F896D5172 /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7635C22035BD2B0DFCB154430D0A76CE /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7836414B1513D7BC71225AD3348CB828 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79FC56C034563DC3F923A8DAFE638C08 /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */; }; - 7A45023D650FE082BF31D31AEF1C140F /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7ACABE3E53CF13396FFA8FB2D2BB6218 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; - 7D17352914F00B9417ACB567F4D9110E /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F9D5F309BCF6C54B7C29991A24AB321 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */; }; - 7FC480A226D6F8BECBC3A7DBAFF116CF /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */; }; - 8098F482CD23D384A5FBAA138C294BDB /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 81C4AC9BE8F1741303C22441D3116545 /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8269A830581734909748EA7342488910 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */; }; - 842C1C426896B936C99F3A79DDE545D0 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 849BC442882869C3C626A97F091435A9 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 849F112FF2C2C30D49DEBBCDBA9D6651 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 856D5D314027F88768C2AAE01740947F /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 86B1856744C21524937E3A3D44CE27C7 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 86B6E306FA8D2CC0019F5088C0A1B19C /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 870A576ACD83CC73688F9AC02751C347 /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 01B0B87EF17E6E4B88DE1517C1867377 /* ic_shrink@3x.png */; }; + 72784A38FBAD36E671C59DDD5B30474C /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 33DD8AC68339188F422EB57F2913E0E8 /* CTHalfInterstitialImageViewController.m */; }; + 741162B5B96292C2BD852FAE034B9549 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */; }; + 760314905F812C7F2600E76AE71A4F93 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7690C272C5E33EB39EBED93B5FAFF944 /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0837D1B0634780E62A95FD6DCA800D3E /* CTAVPlayerViewController.m */; }; + 76CC5ED8D94D128DB47B828D05A6DFC3 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */; }; + 76EB1D667E5B080F7D4A3AFE697F5564 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 77E12C2CC3C8A3EF098E4AD690C457FF /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E0CE9AA361FC9A01EC7B82FC8424DDA /* CTAlertViewController.m */; }; + 77EC2EBA12A124844065ED387B67EDC8 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F9F1CD8D8B458B74D68588EF102F740 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7D00CF0EF3DE22523F4848E715DEC01D /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */; }; + 7DE6F1C9AE1BB331F2BDA389457C055D /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 980C77E9590447D97FAF3D97D103BC14 /* CTCoverViewController.m */; }; + 8384765D35700C02759D05661DC66262 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 85602CDC026AA03E513D4272346AF905 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D71E44C197693A626C97A48F88294C48 /* CTUtils.m */; }; 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88095FE2EC623C778D842C3522EFC640 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88388F4B17116A2F3E01B2D76C7E5F7C /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8A0FBEDCDB76528FBE29222920844010 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8C6D4960E85565834F42DB719DD585D3 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8EAAAC35AFCF075E451F3A263DC2C836 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */; }; - 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */; }; - 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */; }; - 971546AB280CBABE3E6A0D5548231E39 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 985B2200AA6BC116A66A5A89CFAAADC5 /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */; }; - 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */; }; - 9CAFD104F3C79EB9499885746AC6251D /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */; }; - 9D609274E0C170301E7BA312FB013338 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */; }; - 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */; }; - 9E61CCA021E2B99C1C19F35CBE004500 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */; }; + 89465443DE5DC74B33ED71D1F2E56B1D /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 89D54E506A71AF1A5115FC4A0C54E26C /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */; }; + 8A970F670B7822CEE26A48A9E750664D /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B02E16866F7F6FB972B54B1BC5BCF41 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B190A7181EB8EDA272EDD1DED93D7FD /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8BE0E1322A594060BD8E23F55A38590B /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7485B9EC9912212D2B59AF1BCC83BC3 /* CTHeaderViewController~ipad.xib */; }; + 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = C845F911ECAA570E31C29FF154152649 /* CTInterstitialImageViewController~ipad.xib */; }; + 90BE53C9F86FC68B144844EF07093731 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 90E0BDD6BC2E0947C590D257FA464D77 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 91F16F1B37D29668EAA3DA3B2D500AE3 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */; }; + 9509257AF0DC916E3D838DC8225EFB6A /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */; }; + 9712CED289F06E99A03A87D3317CF8A8 /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D79FEE54BBD1173558ED82EE655E214 /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 999DDF2EF8FD03C2FF27E5C81FA9D178 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */; }; + 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C43E5F32B9B4C51B281C4B038A521C7 /* CTHalfInterstitialViewController~ipad.xib */; }; + 9BB0B487B240A3F307E81311E3FB4B43 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = E2B0BB6C138FE83987B28942C39CB8B6 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78B6498DD556C677DF91A4DCAA32688D /* CTHalfInterstitialViewController~iphoneport.xib */; }; 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FE325ABD7A5AC1904339A7D6DDF25F4 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */; }; - A14F604A921185A675BBC85B2139B273 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A1AC80DFF97A18EFC87C0E67ECA7B944 /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A1D9385EB2AAB98707AE96FE9A2280EF /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9F2E94C0A86BC9D4E42AE230FE11582E /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */; }; + A0EE81EF7FEFE4F21A5DC3BBA5CDAA2B /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = C864580FC7B6F27609F1543E602840BE /* CTInterstitialImageViewController~iphoneport.xib */; }; A21387232BA8562F7EB7C84715C15B1D /* Pods-ObjCStarterTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */; }; - A447E2CA8639A56E24899F06B284044C /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A70888771FFDAAA95FABC2E6EE16FCB1 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */; }; - A9544352BEACE9C582760C92E84F9FB8 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; - A9964B4BD0C01A56FF0E4BB7A9304267 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A454DC7AF9BB7A38FE7DFC9DFA48FB23 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */; }; + A5F1C869D2ACAFC3AD95E626ED72BAE1 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A68D8644D5F526C894525720F40D9205 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A74CA2403D053D5A579290BFFA87A020 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A9168CA54A15060B1578A181DF7C504B /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */; }; AA697D7F464E8CA206344CE492F32374 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - AB14F4EF2756882152A01094F74A36B9 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AB64007F619FF3E2E1C4B45C30420D4B /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ABC1AC7BA53245344348A4C3256D1433 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */; }; - ADD9C3AD50075E5A5B390FD7EF2FB82C /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; - B0144EF9445C9683803A68219468D4F8 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B0E9DBAE49768154E733916805574EE3 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */; }; - B13A8C8F3D807F8B4E1D1876DDDEB666 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */; }; - B241D6EE4A1D6E401CFC16EC81C34507 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */; }; - B255D961E85FBF23C509E5EA0F32448B /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B268E0BF9174B119D71E484E41AA519C /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B2D2A518D268967D4ACD2D16EDFC23BC /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B2F90681509B2D55CFB531201486CFDB /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B68E09DB7B7E682DE9D04EB53C4E84AC /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; - B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */; }; - BAED6F3D976AB4675E43A6F364A64DD1 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */; }; - BBE377769897DAE252463E9FBF29BC8E /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BCAC98495106018E13D762372E82EEAB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDAE918ABE7F2ACBB205636394F75D09 /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */; }; - BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */; }; - BEEB76E7AD6616232AC5F46FD6479AEE /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C0E53942B08455AAE075C1F9A13D5391 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - C1D2C127C5139D12872167A778346D4B /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AACB92FCF730A14CE1CE41EA05C5A40E /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC13AE16D65023351598F8D229D6132A /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ACCE6300DF09F59377853C8883EF2A95 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */; }; + AD605F0A6950D54A7BD93EC7FE5FA4D8 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B07B09FF68E4CC1581ABCCC9A932A6CE /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = F64EFC9813835D707262642223DCDA2B /* CTConstants.m */; }; + B0F853F718F6EF42E6333A4D5362036F /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B29B9849CFC96618ADDA49B566555CC0 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2BF9DC887721C1D377B81AF5D766EC3 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */; }; + B6CF4B85CEE9F9916DB66D4FC9D81BF9 /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */; }; + B6F6BB4CC11FE53179CCE47525AEA664 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */; }; + B8400313E027E56A7F2C15353AE967AB /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 4084144C896F2C3F071CD5490FF3C4DE /* ic_thumb.png */; }; + BA6855E3CA64ED32037C79E646F904D3 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */; }; + BC19103C6668D7EF2C90A2F3CF2F121A /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BC92DCAF582DE87C2F364FEC75EA00EC /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D71E44C197693A626C97A48F88294C48 /* CTUtils.m */; }; + BD9CB598D48BC3F713AFE68D6179B6E8 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */; }; + BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8BAA2D487A5B5A072B1C9C2E16CE7B85 /* ic_shrink@2x.png */; }; + BFAC11EB4D9DA7AE809B6FBA2D46BED2 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */; }; + C15B142D52810FAD1831E36CDF624374 /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */; }; + C19CC2829DB7D756A4968D446D1B090A /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FF522D0ABC17D71A5F73720C2BBE729D /* CTFooterViewController.m */; }; + C2EBDBE686EE487743E7389F4C71DC14 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; C306725BFF8BED527CAF9C5DF347582B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - C3B32F98E14894C6ACE1EC568CB49D64 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */; }; - C4A92AB8E1A10C59FBE195F9BE016AC9 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C3617B611AD696B0496A7AEE647D8E24 /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 82153304DABB3BB1B50C8DA08CC49F86 /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; C70540930C6D8F38AF1ACEF8947D614F /* Pods-ObjCStarterUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */; }; - C81BFA169888A24CFB869E9ACD01E058 /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */; }; - C828A9B757692A005E083DEF8513DCBE /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */; }; - C935CECB7A9723E05FC4F397C3692ABE /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CC13841B90B320CB21909A654BAB0338 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */; }; - CD35879002C808275533461BE4273435 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */; }; - CEE2FFDE5A35884BCE99BF3744C9A159 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */; }; - D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */; }; - D22BF391E8E10D7B197443FD5F6AA802 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D2598CB124CFC39A011EBABC7AEEAFC7 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */; }; + C8002F599949AC1BD5C1DEC9BCF8995B /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C837A5922E974DC5E1B9EB06A8E81B20 /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC45C3A54DE4689DEB1A994269A3AA5 /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C864E7427F935591D3F9B0814B5787B3 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */; }; + C8767C57D3CACD449C229FD60A7B61F3 /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAC39506D2FA822A22D38F0F428AB79 /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C90FCD77D05BF6C163467A5657497C2C /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */; }; + C9B6C169289B15F1890DB8D908755CDE /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D0F3E9F649E41E1A231945E23B5D939A /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = 63A7696C003D1C2B628431AD230EFF3E /* sound-wave-headphones.png */; }; + D2E6F3F974AA8B757451119F670198AD /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */; }; + D36EF13A70196F6A9750E5018FA721B9 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */; }; D38D5438D495EE1F884D28EEB0792F61 /* Pods-ObjCStarter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */; }; - DA00042A10F1EB9C33232C3315B417B5 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DBD9AAB2309ECA5B73678C5E80849824 /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */; }; - DC58BAB832042C6C5B9349C38521F7DF /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */; }; - DC73A3F29DEA501E4E31D2138E74187E /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DF5B31EC219D8D651FC23AB015C55F39 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DFCC301CF80C41E691B129505EB2120D /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */; }; - E3E66B8ADE74B5EAFE3F6F4CFE1F88D8 /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E497A999375984A849CDAD248653A22D /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E55EFBE5EB3277E8EB46317736F4CDD2 /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */; }; - E63234AA2FA40248D49F404BD46D471F /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E6C1132C28F8B581F6278B59A1D079DC /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E738580612F37A1B79607108905F642A /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */; }; - E82F505BB11E034B6A6A13F242832584 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */; }; + D3FFBDB2669A030F65020C0526C41060 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D51EDB1B46FC146016F28C41BD696C0B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; + D71DED7AD9591CF1F514AF4E2DE29EA8 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */; }; + D967306922B723EADFA29A49B1F20E33 /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F61991599DB50822AE362B254FEB268 /* CTHeaderViewController.m */; }; + DE3A56E0272559587D566A5C579D6020 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89E22A34D4BFAF91C044D0F20B8F2758 /* CTCoverImageViewController~iphoneport.xib */; }; + E17577FA3CDC8862D303B44E28664E05 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E254A31AF9AA162339AC4B7812F3CE77 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E39E85B7EA4573C058D0825FA61FDD48 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */; }; + E8EFCD1B143DDEECAC53D07D1B2969EE /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; E9180B95131D04BD35544A6FC76A9214 /* Pods-ObjCTvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */; }; - EBBF514BDE35666F71886F457A2C63C6 /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECDF4F985FEDBEBC7DD8757B823BF916 /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */; }; - F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */; }; - F1E852D7802A518097B58C269E640454 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 70114A48B02FC38645527338305A6880 /* CTValidator.m */; }; + E96C664B83CF37446605A8245CF03E47 /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 58D3FCB1231D679F2681EACBEF58ABB3 /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECABCB167460316C08B2F3ADA58498E6 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */; }; + EEE58D704EC4358DD5A489632E54FDE7 /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */; }; + EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9B42CAC7F3F96EEFE8C6359628419E99 /* CTHeaderViewController~iphoneport.xib */; }; + F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 97DEC3B26028A84DFF90730C1F5518F8 /* ic_play@3x.png */; }; + F18B2BC5436EE62BED6D5A888DB209FB /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */; }; + F269DC78BE206054129E338DA67C49FF /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; F37D2341EA17628C9C530215C07F87C9 /* Pods-ObjCStarterTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F45EFB32917057BB9A54E79D2D5EC41E /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */; }; - F915C5652C5C8B41FD7C5B8C20490ED9 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F96E6D0F11E843E88903F76CA8A88495 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FB6339F629FC3AE28DEEB90174E3C254 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */; }; - FBAE2E07C31DC1927DEFA61492DBD3F1 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FE71F21E2945C46AA5EBE4CDDE0258BD /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */; }; - FEF1358BDF7F71F078B7DF4D7F8CDA9F /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */; }; - FF26334930DE2FF64FF65BE7507461F8 /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */; }; + F48DBD02B59673584A3A835B5193393A /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = B22ABFB7C7C44B664FA01DC6C9394EB9 /* FLAnimatedImageView.m */; }; + F55A3602A41BE35DEDEB07CD4A01DA6B /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */; }; + F821F026A59CB0B975A252FC4F50B28C /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = F64EFC9813835D707262642223DCDA2B /* CTConstants.m */; }; + F8A3AE3F3FE600C64D928AE85C9562BF /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F66F79E86BA5DF15FB45FAE1FE6BF3BB /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; + FB7E7BD6E1604F72D03B5C4A04BF1924 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */; }; + FD395338E5B0F1AFC0486AA009330A10 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8734DB77EDD6757B151183F4F61741C0 /* CTCoverImageViewController~ipad.xib */; }; + FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 521AE17F02FF133D15599220045160CF /* CTCoverViewController~ipad.xib */; }; + FFD40C88196BBE4E60E4CFAD0D50476E /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -233,7 +228,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = C896FCBED35B5FBB78EEF89D67E58380; + remoteGlobalIDString = 9522407642E3706C74D4F73E8424C0C5; remoteInfo = "CleverTap-iOS-SDK-tvOS"; }; 85CC18945347C350CDD3AF44AB560D4E /* PBXContainerItemProxy */ = { @@ -261,197 +256,197 @@ /* Begin PBXFileReference section */ 00431C7E823917BED274DA62D96CCA32 /* Pods-ObjCStarter-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarter-acknowledgements.plist"; sourceTree = ""; }; - 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~iphoneport.xib"; sourceTree = ""; }; + 01B0B87EF17E6E4B88DE1517C1867377 /* ic_shrink@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@3x.png"; sourceTree = ""; }; 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleverTapSDK.framework; path = "CleverTap-iOS-SDK-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarterTests-dummy.m"; sourceTree = ""; }; - 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInAppNotificationDelegate.h; path = CleverTapSDK/CleverTapInAppNotificationDelegate.h; sourceTree = ""; }; - 06C6B23629FEB010E6E1B2FDFC9A5333 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapInstanceConfig.m; path = CleverTapSDK/CleverTapInstanceConfig.m; sourceTree = ""; }; + 080AA57FB8B098006F2CB8E2EA5183BE /* CleverTap-iOS-SDK-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-prefix.pch"; sourceTree = ""; }; + 0837D1B0634780E62A95FD6DCA800D3E /* CTAVPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerViewController.m; sourceTree = ""; }; + 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTNotificationButton.h; path = CleverTapSDK/CTNotificationButton.h; sourceTree = ""; }; 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarterTests-umbrella.h"; sourceTree = ""; }; - 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~ipad.xib"; sourceTree = ""; }; - 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTKnownProfileFields.h; path = CleverTapSDK/CTKnownProfileFields.h; sourceTree = ""; }; - 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppDisplayViewController.m; sourceTree = ""; }; - 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidationResult.m; path = CleverTapSDK/CTValidationResult.m; sourceTree = ""; }; - 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTSwizzle.h; path = CleverTapSDK/CTSwizzle.h; sourceTree = ""; }; - 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialImageViewController.h; sourceTree = ""; }; - 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocalDataStore.h; path = CleverTapSDK/CTLocalDataStore.h; sourceTree = ""; }; - 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapEventDetail.m; path = CleverTapSDK/CleverTapEventDetail.m; sourceTree = ""; }; - 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPlistInfo.h; path = CleverTapSDK/CTPlistInfo.h; sourceTree = ""; }; - 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPlistInfo.m; path = CleverTapSDK/CTPlistInfo.m; sourceTree = ""; }; - 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTFooterViewController.m; sourceTree = ""; }; - 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + 0AD8ED59807D181886EFFAFCB220A19B /* ic_pause@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@1x.png"; sourceTree = ""; }; + 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTKnownProfileFields.h; path = CleverTapSDK/CTKnownProfileFields.h; sourceTree = ""; }; + 1225942D643B3B9EBD7BD62856107C12 /* CleverTap-iOS-SDK-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CleverTap-iOS-SDK-iOS.modulemap"; sourceTree = ""; }; + 12F71063123FDFAFAF80A581D558E444 /* CleverTap-iOS-SDK-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CleverTap-iOS-SDK-tvOS.modulemap"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; sourceTree = ""; }; + 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppFCManager.h; path = CleverTapSDK/CTInAppFCManager.h; sourceTree = ""; }; + 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppDisplayViewController.m; path = CleverTapSDK/CTInAppDisplayViewController.m; sourceTree = ""; }; + 16C557CF28EADD35E90EF9CB8D7CBA7C /* CTSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTSlider.m; sourceTree = ""; }; + 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPlistInfo.m; path = CleverTapSDK/CTPlistInfo.m; sourceTree = ""; }; + 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTConstants.h; path = CleverTapSDK/CTConstants.h; sourceTree = ""; }; + 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTEventBuilder.m; path = CleverTapSDK/CTEventBuilder.m; sourceTree = ""; }; + 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPreferences.h; path = CleverTapSDK/CTPreferences.h; sourceTree = ""; }; + 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUriHelper.h; path = CleverTapSDK/CTUriHelper.h; sourceTree = ""; }; + 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfig.h; path = CleverTapSDK/CleverTapInstanceConfig.h; sourceTree = ""; }; + 1BC394816637D67C99627152CE3797B0 /* CTHalfInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialViewController.h; sourceTree = ""; }; + 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDeviceInfo.h; path = CleverTapSDK/CTDeviceInfo.h; sourceTree = ""; }; + 1CA6C76E21BCF499209148ED65DB32B4 /* CTAVPlayerControlsViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = CTAVPlayerControlsViewController.xib; sourceTree = ""; }; + 1D13BE9CD94ED85D886B9C5B48FAD110 /* ic_expand@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@1x.png"; sourceTree = ""; }; + 1D79FEE54BBD1173558ED82EE655E214 /* CTAVPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerViewController.h; sourceTree = ""; }; 1DE9BAA73CE91BC04CFAA245C582B9FE /* Pods-ObjCStarter-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarter-resources.sh"; sourceTree = ""; }; - 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPinnedNSURLSessionDelegate.h; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.h; sourceTree = ""; }; - 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialViewController.m; sourceTree = ""; }; + 1E7D8C0E52CE0FD629BD5D6B67482AAF /* CTHalfInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTCertificatePinning.m; path = CleverTapSDK/CTCertificatePinning.m; sourceTree = ""; }; + 207C907E14C61097232FBDCE89D235F8 /* ic_expand@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@3x.png"; sourceTree = ""; }; 20D23DDEDE4D2DFB75030BF8388E7097 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; - 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@3x.png"; sourceTree = ""; }; + 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPinnedNSURLSessionDelegate.h; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.h; sourceTree = ""; }; + 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapTrackedViewController.h; path = CleverTapSDK/CleverTapTrackedViewController.h; sourceTree = ""; }; + 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTKnownProfileFields.m; path = CleverTapSDK/CTKnownProfileFields.m; sourceTree = ""; }; + 26E87E4D796D536FC582D411D4ACE3F5 /* CTCoverViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverViewController.h; sourceTree = ""; }; 273B4A50F46B535C444BD94D391152B9 /* Pods-ObjCTvOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCTvOS-frameworks.sh"; sourceTree = ""; }; - 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLogger.m; path = CleverTapSDK/CTLogger.m; sourceTree = ""; }; - 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~ipad.xib"; sourceTree = ""; }; + 2935AC9AA6387F3C060F912100E27542 /* ic_play@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@2x.png"; sourceTree = ""; }; + 293EB57D407F084A744828592CF4C178 /* CTCoverViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~iphoneport.xib"; sourceTree = ""; }; + 29FD80ADF71F8D84B8F4B1326C53DDBB /* CTInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDeviceInfo.m; path = CleverTapSDK/CTDeviceInfo.m; sourceTree = ""; }; - 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap+SSLPinning.h"; path = "CleverTapSDK/CleverTap+SSLPinning.h"; sourceTree = ""; }; - 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapSyncDelegate.h; path = CleverTapSDK/CleverTapSyncDelegate.h; sourceTree = ""; }; + 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapTrackedViewController.m; path = CleverTapSDK/CleverTapTrackedViewController.m; sourceTree = ""; }; + 2EABF23D5311F9D66F0E6C19C07FED18 /* CTInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialImageViewController.m; sourceTree = ""; }; + 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDeviceInfo.m; path = CleverTapSDK/CTDeviceInfo.m; sourceTree = ""; }; 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCTvOS-dummy.m"; sourceTree = ""; }; - 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImage.h; sourceTree = ""; }; - 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialImageViewController.m; sourceTree = ""; }; - 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@1x.png"; sourceTree = ""; }; - 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTEventBuilder.m; path = CleverTapSDK/CTEventBuilder.m; sourceTree = ""; }; + 33DD8AC68339188F422EB57F2913E0E8 /* CTHalfInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialImageViewController.m; sourceTree = ""; }; + 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppResources.m; path = CleverTapSDK/CTInAppResources.m; sourceTree = ""; }; + 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTap.m; path = CleverTapSDK/CleverTap.m; sourceTree = ""; }; 37319506AA308073114C9BBC07E4AC62 /* Pods-ObjCStarterUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterUITests-frameworks.sh"; sourceTree = ""; }; - 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@3x.png"; sourceTree = ""; }; + 38450ABB140F8BD185FE2AA0F72E0C36 /* CleverTap-iOS-SDK.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "CleverTap-iOS-SDK.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarter-umbrella.h"; sourceTree = ""; }; - 3B6B5047C52496A1B683E2A27EE69FCD /* CleverTap-iOS-SDK-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CleverTap-iOS-SDK-iOS.modulemap"; sourceTree = ""; }; - 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTap.h; path = CleverTapSDK/CleverTap.h; sourceTree = ""; }; - 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppNotification.m; sourceTree = ""; }; - 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@1x.png"; sourceTree = ""; }; - 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = ic_thumb.png; sourceTree = ""; }; + 3C08F421C5AE0B6BF43D6FA5C766EC0C /* CTFooterViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~iphoneport.xib"; sourceTree = ""; }; + 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FLAnimatedImage.h; path = CleverTapSDK/FLAnimatedImage.h; sourceTree = ""; }; + 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTCertificatePinning.h; path = CleverTapSDK/CTCertificatePinning.h; sourceTree = ""; }; + 4084144C896F2C3F071CD5490FF3C4DE /* ic_thumb.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = ic_thumb.png; sourceTree = ""; }; + 41C84398128D4024055564AB635FACFC /* CTAlertViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAlertViewController.h; sourceTree = ""; }; + 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapEventDetail.m; path = CleverTapSDK/CleverTapEventDetail.m; sourceTree = ""; }; 436B10A9D4D322EF761627E582AD0E6B /* Pods-ObjCStarterUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarterUITests-acknowledgements.plist"; sourceTree = ""; }; - 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = CTAVPlayerControlsViewController.xib; sourceTree = ""; }; - 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CleverTap-iOS-SDK-tvOS.xcconfig"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.xcconfig"; sourceTree = ""; }; 470FF519B33DE8AECC2BEDEBAE54AF5B /* Pods-ObjCStarterTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterTests.release.xcconfig"; sourceTree = ""; }; 477EB3BE3BAE603FF85D859A92B5C5B6 /* Pods-ObjCTvOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCTvOS-resources.sh"; sourceTree = ""; }; - 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerViewController.m; sourceTree = ""; }; + 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppResources.h; path = CleverTapSDK/CTInAppResources.h; sourceTree = ""; }; + 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppFCManager.m; path = CleverTapSDK/CTInAppFCManager.m; sourceTree = ""; }; + 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppUtils.m; path = CleverTapSDK/CTInAppUtils.m; sourceTree = ""; }; 4C637F8CE560FD47861DC6DC8A6AC9C1 /* Pods-ObjCStarter.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarter.modulemap"; sourceTree = ""; }; - 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialImageViewController.h; sourceTree = ""; }; - 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialViewController.h; sourceTree = ""; }; - 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfigPrivate.h; path = CleverTapSDK/CleverTapInstanceConfigPrivate.h; sourceTree = ""; }; - 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfig.h; path = CleverTapSDK/CleverTapInstanceConfig.h; sourceTree = ""; }; + 4CC45C3A54DE4689DEB1A994269A3AA5 /* CTInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialViewController.h; sourceTree = ""; }; + 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTNotificationButton.m; path = CleverTapSDK/CTNotificationButton.m; sourceTree = ""; }; + 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocalDataStore.h; path = CleverTapSDK/CTLocalDataStore.h; sourceTree = ""; }; + 521AE17F02FF133D15599220045160CF /* CTCoverViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~ipad.xib"; sourceTree = ""; }; 5262C19475FE48FAF9C88EF1DAFC0C99 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapInstanceConfig.m; path = CleverTapSDK/CleverTapInstanceConfig.m; sourceTree = ""; }; - 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@2x.png"; sourceTree = ""; }; - 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppResources.h; sourceTree = ""; }; - 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@1x.png"; sourceTree = ""; }; + 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidationResult.m; path = CleverTapSDK/CTValidationResult.m; sourceTree = ""; }; 5728456F8BE0DEEB64054DB1C14E9B98 /* Pods_ObjCTvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCTvOS.framework; path = "Pods-ObjCTvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTNotificationButton.h; sourceTree = ""; }; - 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverViewController.m; sourceTree = ""; }; + 58D3FCB1231D679F2681EACBEF58ABB3 /* CTFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTFooterViewController.h; sourceTree = ""; }; 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterUITests.release.xcconfig"; sourceTree = ""; }; - 598FAA7A4F1B02A71EE29BB236466738 /* CleverTap-iOS-SDK.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "CleverTap-iOS-SDK.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@1x.png"; sourceTree = ""; }; + 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPreferences.m; path = CleverTapSDK/CTPreferences.m; sourceTree = ""; }; + 5E0CE9AA361FC9A01EC7B82FC8424DDA /* CTAlertViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAlertViewController.m; sourceTree = ""; }; 5E40E87DAB768FDDBFC8EC12A80CD980 /* Pods-ObjCTvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCTvOS.modulemap"; sourceTree = ""; }; - 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialViewController.h; sourceTree = ""; }; - 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTSlider.m; sourceTree = ""; }; - 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; - 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapTrackedViewController.h; path = CleverTapSDK/CleverTapTrackedViewController.h; sourceTree = ""; }; - 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; - 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialImageViewController.m; sourceTree = ""; }; + 5F61991599DB50822AE362B254FEB268 /* CTHeaderViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHeaderViewController.m; sourceTree = ""; }; + 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTEventBuilder.h; path = CleverTapSDK/CTEventBuilder.h; sourceTree = ""; }; + 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FLAnimatedImage.m; path = CleverTapSDK/FLAnimatedImage.m; sourceTree = ""; }; + 63A7696C003D1C2B628431AD230EFF3E /* sound-wave-headphones.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "sound-wave-headphones.png"; sourceTree = ""; }; + 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertGlobalRootCA.crt; path = CleverTapSDK/DigiCertGlobalRootCA.crt; sourceTree = ""; }; 65062A0C9E63EE868212890221C99394 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@3x.png"; sourceTree = ""; }; - 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CleverTap-iOS-SDK-tvOS-dummy.m"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-dummy.m"; sourceTree = ""; }; - 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTSlider.h; sourceTree = ""; }; - 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; - 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTProfileBuilder.h; path = CleverTapSDK/CTProfileBuilder.h; sourceTree = ""; }; - 6A9E17B9ED07F3A911220AB4D46D7AFD /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../CleverTap-iOS-SDK-tvOS/Info.plist"; sourceTree = ""; }; + 68E7F7E0E31959E42B2EB4A812445876 /* CTBaseHeaderFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewController.h; sourceTree = ""; }; 6AC6BA9296B6DEC8429B07238A8ABD5C /* Pods_ObjCStarter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarter.framework; path = "Pods-ObjCStarter.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~ipad.xib"; sourceTree = ""; }; - 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleverTap-iOS-SDK-iOS-dummy.m"; sourceTree = ""; }; - 6EDDB3B033F0426AC53E132CB2DA1A47 /* CleverTap-iOS-SDK-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-prefix.pch"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; sourceTree = ""; }; - 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTConstants.m; path = CleverTapSDK/CTConstants.m; sourceTree = ""; }; - 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertSHA2SecureServerCA.crt; path = CleverTapSDK/DigiCertSHA2SecureServerCA.crt; sourceTree = ""; }; - 70114A48B02FC38645527338305A6880 /* CTValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidator.m; path = CleverTapSDK/CTValidator.m; sourceTree = ""; }; - 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapBuildInfo.h; path = CleverTapSDK/CleverTapBuildInfo.h; sourceTree = ""; }; - 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; - 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialViewController.m; sourceTree = ""; }; - 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidator.h; path = CleverTapSDK/CTValidator.h; sourceTree = ""; }; + 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTSwizzle.m; path = CleverTapSDK/CTSwizzle.m; sourceTree = ""; }; + 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap+SSLPinning.h"; path = "CleverTapSDK/CleverTap+SSLPinning.h"; sourceTree = ""; }; + 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTSwizzle.h; path = CleverTapSDK/CTSwizzle.h; sourceTree = ""; }; + 6F4F038A4D05638A4FAD1ED7F86EC272 /* CTInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfigPrivate.h; path = CleverTapSDK/CleverTapInstanceConfigPrivate.h; sourceTree = ""; }; + 7442F4D96390B8A3A85A4351E531AEB8 /* CTSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTSlider.h; sourceTree = ""; }; 74ED40FB5806A783DC3A1D6D36332A13 /* Pods-ObjCStarterTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarterTests-acknowledgements.markdown"; sourceTree = ""; }; - 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; - 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CleverTap-iOS-SDK-iOS.xcconfig"; sourceTree = ""; }; - 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPreferences.m; path = CleverTapSDK/CTPreferences.m; sourceTree = ""; }; - 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUriHelper.m; path = CleverTapSDK/CTUriHelper.m; sourceTree = ""; }; - 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDeviceInfo.h; path = CleverTapSDK/CTDeviceInfo.h; sourceTree = ""; }; - 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewController.h; sourceTree = ""; }; - 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAlertViewController.m; sourceTree = ""; }; - 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImageView.m; sourceTree = ""; }; + 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUtils.h; path = CleverTapSDK/CTUtils.h; sourceTree = ""; }; + 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapBuildInfo.h; path = CleverTapSDK/CleverTapBuildInfo.h; sourceTree = ""; }; + 78B6498DD556C677DF91A4DCAA32688D /* CTHalfInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewController.h; path = CleverTapSDK/CTInAppDisplayViewController.h; sourceTree = ""; }; + 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocalDataStore.m; path = CleverTapSDK/CTLocalDataStore.m; sourceTree = ""; }; + 7D9614FEFA39B257A0805F70C00DCCDB /* CTInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialImageViewController.h; sourceTree = ""; }; + 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUriHelper.m; path = CleverTapSDK/CTUriHelper.m; sourceTree = ""; }; 7FC805B3EF57A8B6D6CDB67AFD0C9ACF /* Pods-ObjCStarterTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterTests.debug.xcconfig"; sourceTree = ""; }; - 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapEventDetail.h; path = CleverTapSDK/CleverTapEventDetail.h; sourceTree = ""; }; - 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPinnedNSURLSessionDelegate.m; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.m; sourceTree = ""; }; - 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppDisplayViewController.h; sourceTree = ""; }; - 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; + 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapUTMDetail.m; path = CleverTapSDK/CleverTapUTMDetail.m; sourceTree = ""; }; + 82153304DABB3BB1B50C8DA08CC49F86 /* CTHalfInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialImageViewController.h; sourceTree = ""; }; + 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidator.m; path = CleverTapSDK/CTValidator.m; sourceTree = ""; }; 84CC5217460F12390416A1E084F38F08 /* Pods-ObjCTvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCTvOS.release.xcconfig"; sourceTree = ""; }; - 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppFCManager.m; sourceTree = ""; }; - 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTNotificationButton.m; sourceTree = ""; }; - 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverImageViewController.m; sourceTree = ""; }; + 86501CAE0614F927948424FC4F958D74 /* CTDismissButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; + 8734DB77EDD6757B151183F4F61741C0 /* CTCoverImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~ipad.xib"; sourceTree = ""; }; 88FD612A1F066AC7DFF25A41473B5FD3 /* Pods-ObjCTvOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCTvOS-acknowledgements.plist"; sourceTree = ""; }; - 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppUtils.m; sourceTree = ""; }; - 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapTrackedViewController.m; path = CleverTapSDK/CleverTapTrackedViewController.m; sourceTree = ""; }; - 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAlertViewController.h; sourceTree = ""; }; + 89D558ADBD2C8048E37BB654B7A938EE /* ic_expand@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@2x.png"; sourceTree = ""; }; + 89E22A34D4BFAF91C044D0F20B8F2758 /* CTCoverImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~iphoneport.xib"; sourceTree = ""; }; + 8BAA2D487A5B5A072B1C9C2E16CE7B85 /* ic_shrink@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@2x.png"; sourceTree = ""; }; + 8D55AFAAC969D674A8EB476BC99B03F5 /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; 8ED676D1C38125A06E12257A1D0E9D6D /* Pods-ObjCStarter-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarter-frameworks.sh"; sourceTree = ""; }; - 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUtils.h; path = CleverTapSDK/CTUtils.h; sourceTree = ""; }; + 8FEE96404139CFB165291CDAFD981572 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; + 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTap.h; path = CleverTapSDK/CleverTap.h; sourceTree = ""; }; + 927DBB72AED631D6889D58A89E469529 /* CleverTap-iOS-SDK-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleverTap-iOS-SDK-iOS-dummy.m"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTCertificatePinning.h; path = CleverTapSDK/CTCertificatePinning.h; sourceTree = ""; }; 957B8D09156900E78EF3EB06F4017FF6 /* Pods-ObjCStarterUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterUITests.debug.xcconfig"; sourceTree = ""; }; 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleverTapSDK.framework; path = "CleverTap-iOS-SDK-tvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocationManager.m; path = CleverTapSDK/CTLocationManager.m; sourceTree = ""; }; 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCTvOS-umbrella.h"; sourceTree = ""; }; + 97DEC3B26028A84DFF90730C1F5518F8 /* ic_play@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@3x.png"; sourceTree = ""; }; + 980C77E9590447D97FAF3D97D103BC14 /* CTCoverViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverViewController.m; sourceTree = ""; }; 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCTvOS.debug.xcconfig"; sourceTree = ""; }; - 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTKnownProfileFields.m; path = CleverTapSDK/CTKnownProfileFields.m; sourceTree = ""; }; - 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLogger.h; path = CleverTapSDK/CTLogger.h; sourceTree = ""; }; - 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppFCManager.h; sourceTree = ""; }; - 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewControllerPrivate.h; sourceTree = ""; }; + 9B42CAC7F3F96EEFE8C6359628419E99 /* CTHeaderViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~iphoneport.xib"; sourceTree = ""; }; + 9C43E5F32B9B4C51B281C4B038A521C7 /* CTHalfInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 9F9F1CD8D8B458B74D68588EF102F740 /* CleverTap-iOS-SDK-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-umbrella.h"; sourceTree = ""; }; A08E40B08FB94338A35A298AB9437ABF /* Pods-ObjCStarterTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarterTests-acknowledgements.plist"; sourceTree = ""; }; - A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "sound-wave-headphones.png"; sourceTree = ""; }; + A0F3D5DBCA94E212CF2BE0F6864EF0D1 /* ic_pause@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@3x.png"; sourceTree = ""; }; + A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTProfileBuilder.m; path = CleverTapSDK/CTProfileBuilder.m; sourceTree = ""; }; A4AB3B9AA88EB1B325426DBDFF72245F /* Pods-ObjCStarter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarter.release.xcconfig"; sourceTree = ""; }; - A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTFooterViewController.h; sourceTree = ""; }; - A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~iphoneport.xib"; sourceTree = ""; }; + A7485B9EC9912212D2B59AF1BCC83BC3 /* CTHeaderViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~ipad.xib"; sourceTree = ""; }; A82DF58913D09EA39E314E1A24E023BE /* Pods_ObjCStarterUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarterUITests.framework; path = "Pods-ObjCStarterUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; A8E785FF67399CF72809B3F3425D3D2E /* Pods-ObjCTvOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCTvOS-acknowledgements.markdown"; sourceTree = ""; }; - A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerControlsViewController.m; sourceTree = ""; }; - AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppNotification.h; sourceTree = ""; }; - AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHeaderViewController.m; sourceTree = ""; }; - AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTEventBuilder.h; path = CleverTapSDK/CTEventBuilder.h; sourceTree = ""; }; + A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppNotification.m; path = CleverTapSDK/CTInAppNotification.m; sourceTree = ""; }; + AAAC39506D2FA822A22D38F0F428AB79 /* CTAVPlayerControlsViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerControlsViewController.h; sourceTree = ""; }; + AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocationManager.h; path = CleverTapSDK/CTLocationManager.h; sourceTree = ""; }; + ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLogger.m; path = CleverTapSDK/CTLogger.m; sourceTree = ""; }; AE6F7EB591E639FE72498BF798ACBC33 /* Pods-ObjCStarter-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarter-acknowledgements.markdown"; sourceTree = ""; }; AEEBD51F70E3334C5E426C9E4044817F /* Pods-ObjCStarterTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarterTests.modulemap"; sourceTree = ""; }; - B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocationManager.h; path = CleverTapSDK/CTLocationManager.h; sourceTree = ""; }; + B1A453D48276FDD1B6CC30EB4C2AB07F /* CTHalfInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + B22ABFB7C7C44B664FA01DC6C9394EB9 /* FLAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImageView.m; sourceTree = ""; }; B4876E7721DB180A91E5745910167A85 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B4D611C05564FC805FE95EB91A4D924B /* Pods-ObjCStarterUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarterUITests-acknowledgements.markdown"; sourceTree = ""; }; - B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTBaseHeaderFooterViewController.m; sourceTree = ""; }; - B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~ipad.xib"; sourceTree = ""; }; + B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppNotification.h; path = CleverTapSDK/CTInAppNotification.h; sourceTree = ""; }; + B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapEventDetail.h; path = CleverTapSDK/CleverTapEventDetail.h; sourceTree = ""; }; B7B0A7CCD29C486E423A4E853484CFA8 /* Pods-ObjCStarterTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterTests-frameworks.sh"; sourceTree = ""; }; - C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImage.m; sourceTree = ""; }; - C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@2x.png"; sourceTree = ""; }; - C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-umbrella.h"; sourceTree = ""; }; - C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerControlsViewController.h; sourceTree = ""; }; - C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = ""; }; - C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUriHelper.h; path = CleverTapSDK/CTUriHelper.h; sourceTree = ""; }; - D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverViewController.h; sourceTree = ""; }; - D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTap.m; path = CleverTapSDK/CleverTap.m; sourceTree = ""; }; - D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapUTMDetail.m; path = CleverTapSDK/CleverTapUTMDetail.m; sourceTree = ""; }; - D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@3x.png"; sourceTree = ""; }; - D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTConstants.h; path = CleverTapSDK/CTConstants.h; sourceTree = ""; }; + BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CleverTap-iOS-SDK-iOS.xcconfig"; sourceTree = ""; }; + BC3AEB7181DB5A005C8895FD7B16F6F2 /* ic_pause@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@2x.png"; sourceTree = ""; }; + C06DEB9C21942DD4242BD76A3013A211 /* CleverTap-iOS-SDK-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-prefix.pch"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; sourceTree = ""; }; + C4A06661A43FF57B9AF687E06A90E070 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidationResult.h; path = CleverTapSDK/CTValidationResult.h; sourceTree = ""; }; + C845F911ECAA570E31C29FF154152649 /* CTInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + C864580FC7B6F27609F1543E602840BE /* CTInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + CDA4E418833C3F791EDB4B4F1798DB58 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../CleverTap-iOS-SDK-tvOS/Info.plist"; sourceTree = ""; }; + CF1D511D3C332452112352871B743EF0 /* CTHalfInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialViewController.m; sourceTree = ""; }; + D311440C8EE1F878527C73F86C9D21DC /* CTInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialViewController.m; sourceTree = ""; }; + D52AEA4052F82C732A08C552E972F2A1 /* CleverTap-iOS-SDK-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-umbrella.h"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-umbrella.h"; sourceTree = ""; }; + D6A9765C12DB28F8B50A5F5181F8B42F /* FLAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = ""; }; D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarter-dummy.m"; sourceTree = ""; }; - D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; - D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~iphoneport.xib"; sourceTree = ""; }; + D71E44C197693A626C97A48F88294C48 /* CTUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUtils.m; path = CleverTapSDK/CTUtils.m; sourceTree = ""; }; + D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapSyncDelegate.h; path = CleverTapSDK/CleverTapSyncDelegate.h; sourceTree = ""; }; + D7E10ED25B97DEBFB5D37A71103670A0 /* CTCoverImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverImageViewController.m; sourceTree = ""; }; D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarterUITests-dummy.m"; sourceTree = ""; }; - D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerViewController.h; sourceTree = ""; }; - D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertGlobalRootCA.crt; path = CleverTapSDK/DigiCertGlobalRootCA.crt; sourceTree = ""; }; - DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@2x.png"; sourceTree = ""; }; - DDF923125B4C1F46F5818839865535B0 /* CleverTap-iOS-SDK-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CleverTap-iOS-SDK-tvOS.modulemap"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; sourceTree = ""; }; - DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~ipad.xib"; sourceTree = ""; }; - E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppUtils.h; sourceTree = ""; }; - E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~iphoneport.xib"; sourceTree = ""; }; - E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTCertificatePinning.m; path = CleverTapSDK/CTCertificatePinning.m; sourceTree = ""; }; + D8D56AA4B720AB4FB380C3E6A6549EBA /* CTBaseHeaderFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTBaseHeaderFooterViewController.m; sourceTree = ""; }; + D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertSHA2SecureServerCA.crt; path = CleverTapSDK/DigiCertSHA2SecureServerCA.crt; sourceTree = ""; }; + DB2753FB6B139A135E8A8363D6F99DCC /* CTDismissButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; + DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapUTMDetail.h; path = CleverTapSDK/CleverTapUTMDetail.h; sourceTree = ""; }; + E13DA569FD2A83038236D35479E6367C /* CTFooterViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~ipad.xib"; sourceTree = ""; }; + E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CleverTap-iOS-SDK-tvOS.xcconfig"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.xcconfig"; sourceTree = ""; }; + E2B0BB6C138FE83987B28942C39CB8B6 /* CTBaseHeaderFooterViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewControllerPrivate.h; sourceTree = ""; }; + E3DA29E0335821BD64FCEEFF71E7BF3C /* CTAVPlayerControlsViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerControlsViewController.m; sourceTree = ""; }; E5E604C1E447C1A011859B32CEAEA968 /* Pods_ObjCStarterTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarterTests.framework; path = "Pods-ObjCStarterTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; - EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverImageViewController.h; sourceTree = ""; }; - EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppResources.m; sourceTree = ""; }; - F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapUTMDetail.h; path = CleverTapSDK/CleverTapUTMDetail.h; sourceTree = ""; }; - F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHeaderViewController.h; sourceTree = ""; }; - F48B6C3B2BE3F48E437D0ECE668BD4B9 /* CleverTap-iOS-SDK-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-prefix.pch"; sourceTree = ""; }; - F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; - F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~ipad.xib"; sourceTree = ""; }; + E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInAppNotificationDelegate.h; path = CleverTapSDK/CleverTapInAppNotificationDelegate.h; sourceTree = ""; }; + E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPinnedNSURLSessionDelegate.m; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.m; sourceTree = ""; }; + E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocationManager.m; path = CleverTapSDK/CTLocationManager.m; sourceTree = ""; }; + EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLogger.h; path = CleverTapSDK/CTLogger.h; sourceTree = ""; }; + EC1B3E264B6183459C9C900BE3F4411B /* ic_shrink@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@1x.png"; sourceTree = ""; }; + ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTProfileBuilder.h; path = CleverTapSDK/CTProfileBuilder.h; sourceTree = ""; }; + EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppUtils.h; path = CleverTapSDK/CTInAppUtils.h; sourceTree = ""; }; + F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidator.h; path = CleverTapSDK/CTValidator.h; sourceTree = ""; }; + F3F634940130B8147E3A6B8E20E52C5C /* CTHeaderViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHeaderViewController.h; sourceTree = ""; }; + F64EFC9813835D707262642223DCDA2B /* CTConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTConstants.m; path = CleverTapSDK/CTConstants.m; sourceTree = ""; }; + F66F79E86BA5DF15FB45FAE1FE6BF3BB /* CleverTap-iOS-SDK-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CleverTap-iOS-SDK-tvOS-dummy.m"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-dummy.m"; sourceTree = ""; }; + F76D646BBFECD2A87BC4F5EF9C298248 /* CTCoverImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverImageViewController.h; sourceTree = ""; }; F7A713B39951B16C13623949106C37BD /* Pods-ObjCStarterUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarterUITests.modulemap"; sourceTree = ""; }; - F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPreferences.h; path = CleverTapSDK/CTPreferences.h; sourceTree = ""; }; - F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTSwizzle.m; path = CleverTapSDK/CTSwizzle.m; sourceTree = ""; }; - F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidationResult.h; path = CleverTapSDK/CTValidationResult.h; sourceTree = ""; }; FAA418D7D4BFA30C6EEDB1FA24028A1A /* Pods-ObjCStarterTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterTests-resources.sh"; sourceTree = ""; }; FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarterUITests-umbrella.h"; sourceTree = ""; }; - FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUtils.m; path = CleverTapSDK/CTUtils.m; sourceTree = ""; }; - FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-umbrella.h"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-umbrella.h"; sourceTree = ""; }; - FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@2x.png"; sourceTree = ""; }; FCA06466C846332DA5637FCCC5045009 /* Pods-ObjCStarter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarter.debug.xcconfig"; sourceTree = ""; }; - FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTProfileBuilder.m; path = CleverTapSDK/CTProfileBuilder.m; sourceTree = ""; }; + FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPlistInfo.h; path = CleverTapSDK/CTPlistInfo.h; sourceTree = ""; }; + FD56BD96852774EEC730A46882FA3535 /* ic_play@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@1x.png"; sourceTree = ""; }; + FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewControllerPrivate.h; path = CleverTapSDK/CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; FEF6550C1E58242F54E9AF428E8D61E2 /* Pods-ObjCStarterUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterUITests-resources.sh"; sourceTree = ""; }; - FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocalDataStore.m; path = CleverTapSDK/CTLocalDataStore.m; sourceTree = ""; }; + FF522D0ABC17D71A5F73720C2BBE729D /* CTFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTFooterViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -463,19 +458,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 6F7B91495EA411109414101CA06B536F /* Frameworks */ = { + 7587BCB4E2F1F4E54CEC0E6AE8D2CC0B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C0E53942B08455AAE075C1F9A13D5391 /* Foundation.framework in Frameworks */, + 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7587BCB4E2F1F4E54CEC0E6AE8D2CC0B /* Frameworks */ = { + 90066114831DCFF4E609F3AC43EADD4A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */, + D51EDB1B46FC146016F28C41BD696C0B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -506,6 +501,16 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0C3C2AA58D43C2C255518A434140607D /* Resources */ = { + isa = PBXGroup; + children = ( + 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */, + D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */, + AA57A3F05F9A08EDC737689EE808FEA5 /* InApps */, + ); + name = Resources; + sourceTree = ""; + }; 0F1AAA91B6F7DA0268497F3F77589AA5 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -535,20 +540,20 @@ path = "Target Support Files/Pods-ObjCTvOS"; sourceTree = ""; }; - 1BD44678D11AF14CBBD045756FFE8A19 /* Development Pods */ = { + 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */ = { isa = PBXGroup; children = ( - BAD8F0AB48270DA9B92E328DEBD04714 /* CleverTap-iOS-SDK */, + 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */, ); - name = "Development Pods"; + name = tvOS; sourceTree = ""; }; - 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */ = { + 2EFA9F5AF9CB60049B3035E5CBD37EAB /* Pod */ = { isa = PBXGroup; children = ( - 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */, + 38450ABB140F8BD185FE2AA0F72E0C36 /* CleverTap-iOS-SDK.podspec */, ); - name = tvOS; + name = Pod; sourceTree = ""; }; 427155A2DD9656E37EC6B13D9B6F120C /* Products */ = { @@ -582,26 +587,6 @@ path = "Target Support Files/Pods-ObjCStarter"; sourceTree = ""; }; - 46762F7389D3D561261652C26115BBA2 /* Support Files */ = { - isa = PBXGroup; - children = ( - 3B6B5047C52496A1B683E2A27EE69FCD /* CleverTap-iOS-SDK-iOS.modulemap */, - 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */, - 6EDD7F9BB23B73F58CABA4F47E5C76B2 /* CleverTap-iOS-SDK-iOS-dummy.m */, - F48B6C3B2BE3F48E437D0ECE668BD4B9 /* CleverTap-iOS-SDK-iOS-prefix.pch */, - C40A2EDD4ECBA94DE12C837641914BD7 /* CleverTap-iOS-SDK-iOS-umbrella.h */, - DDF923125B4C1F46F5818839865535B0 /* CleverTap-iOS-SDK-tvOS.modulemap */, - 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */, - 678249A4AE0EBCDB8BD9E6DE028D02E3 /* CleverTap-iOS-SDK-tvOS-dummy.m */, - 6EDDB3B033F0426AC53E132CB2DA1A47 /* CleverTap-iOS-SDK-tvOS-prefix.pch */, - FC55B4F97F19CEE2FD51BB904AED6937 /* CleverTap-iOS-SDK-tvOS-umbrella.h */, - 06C6B23629FEB010E6E1B2FDFC9A5333 /* Info.plist */, - 6A9E17B9ED07F3A911220AB4D46D7AFD /* Info.plist */, - ); - name = "Support Files"; - path = "ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS"; - sourceTree = ""; - }; 58996781A54EE964D7111D73083A18A5 /* iOS */ = { isa = PBXGroup; children = ( @@ -610,29 +595,11 @@ name = iOS; sourceTree = ""; }; - 71988A4A85FC81345997FBC4248FE8D5 /* Pod */ = { - isa = PBXGroup; - children = ( - 598FAA7A4F1B02A71EE29BB236466738 /* CleverTap-iOS-SDK.podspec */, - ); - name = Pod; - sourceTree = ""; - }; - 71E2DB94E533CBA08076D78794250741 /* Resources */ = { - isa = PBXGroup; - children = ( - D99E48214F7E9B1157C16055B7B7B29C /* DigiCertGlobalRootCA.crt */, - 6FBA8C97607DFFBDD50EEFF5D7D46BC0 /* DigiCertSHA2SecureServerCA.crt */, - 9E110D60176BBBACC5957E12EFB2D8C7 /* InApps */, - ); - name = Resources; - sourceTree = ""; - }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 1BD44678D11AF14CBBD045756FFE8A19 /* Development Pods */, + BDDD363ED168C449F7E13ABDC80DCD32 /* Development Pods */, A42F72DC1D780481325DD00969B19BB6 /* Frameworks */, 427155A2DD9656E37EC6B13D9B6F120C /* Products */, 0F1AAA91B6F7DA0268497F3F77589AA5 /* Targets Support Files */, @@ -657,178 +624,186 @@ path = "Target Support Files/Pods-ObjCStarterTests"; sourceTree = ""; }; - 96B24F90C5FB291310707C98236D61FD /* InApps */ = { + 8808E2F998BCB9DABCD6D28A0C80239C /* images */ = { isa = PBXGroup; children = ( - 8E51A336FCA45FAA7F8F8269275B0CF5 /* CTAlertViewController.h */, - 7E3E4A0F4D098CACB037046B4AADE098 /* CTAlertViewController.m */, - C4CF9792537E61F26AC893F2391034C0 /* CTAVPlayerControlsViewController.h */, - A9F374857138444CDBA8BE682DB102A4 /* CTAVPlayerControlsViewController.m */, - D960916F555AD08DF3CF4AF78D1BD0DB /* CTAVPlayerViewController.h */, - 4AD04506307BA5FF180CE2DE5FEC1CDE /* CTAVPlayerViewController.m */, - 7DA359EC4316BC3A7AFF3A2DB0F809AD /* CTBaseHeaderFooterViewController.h */, - B55D3F968B3CB1A6F8A2B36BEDF715E9 /* CTBaseHeaderFooterViewController.m */, - 9E9378E92E705004F80242F131A76F55 /* CTBaseHeaderFooterViewControllerPrivate.h */, - EBEF7592C2AFD626031F12B504BE58DB /* CTCoverImageViewController.h */, - 8806CC9455C81ADFCDCAA71AD1A85FCC /* CTCoverImageViewController.m */, - D2AF95359785DD9F918BA4ED0C9FB1C9 /* CTCoverViewController.h */, - 59260A974EFD026A0C85D93E7116455D /* CTCoverViewController.m */, - 624568FDA9B5046E0DBEA2A2F898ED38 /* CTDismissButton.h */, - 845FE15C5F0B982BACAAF6F7EA8EF4A7 /* CTDismissButton.m */, - A789E7F2BCC9C63A32097EA65EF3265A /* CTFooterViewController.h */, - 177BF71766568C2A2F4D700EE33E7394 /* CTFooterViewController.m */, - 1417E6F8BE6F0AE15919BEAE97FBEA8A /* CTHalfInterstitialImageViewController.h */, - 64A99DA9E0AB6F222FC167B3288F1859 /* CTHalfInterstitialImageViewController.m */, - 60058BCC03384260113F490D2EE3FB37 /* CTHalfInterstitialViewController.h */, - 20A3CDC4FFC1A700CC4996DD72F8A325 /* CTHalfInterstitialViewController.m */, - F25E7267BEF6C09FE8F68DC0694CF7F7 /* CTHeaderViewController.h */, - AD66C1F209B8DAB9DFA5645B2E2E273D /* CTHeaderViewController.m */, - 844ECB310A5C814FAC423484F6A24586 /* CTInAppDisplayViewController.h */, - 0DF644002E24FE3BD5AAFC7CA517B323 /* CTInAppDisplayViewController.m */, - 248C2F0E818B54B7609D9672725B9477 /* CTInAppDisplayViewControllerPrivate.h */, - 9E22619836AAE940175199642DC5D38D /* CTInAppFCManager.h */, - 85C8535241CDE4871DD025A40B81E6E3 /* CTInAppFCManager.m */, - F5B72015E331F8C81089D3FC9C15E148 /* CTInAppHTMLViewController.h */, - 64149B0889BDB8B9313D0A209E9DAA91 /* CTInAppHTMLViewController.m */, - AC62C00A6895274382B0FBFBDE502E56 /* CTInAppNotification.h */, - 3D2FA26A1FD7B9A7F3857E936FCD6B82 /* CTInAppNotification.m */, - 550252985F61C4F063684B7D779DB17D /* CTInAppResources.h */, - EF8941C2E3696760899265D3E7C706F0 /* CTInAppResources.m */, - E04E51E565496E1B4FEF42CC5F8A2165 /* CTInAppUtils.h */, - 8BC73818E6C21F0507C8B3A9F1A94382 /* CTInAppUtils.m */, - 4D5AED8CC19829DA6CEE757445474F2B /* CTInterstitialImageViewController.h */, - 35420BF7B76D914AD74B8DDFBDC15D48 /* CTInterstitialImageViewController.m */, - 4E18D4667EE4F8CEB6E61B2015CD0DA5 /* CTInterstitialViewController.h */, - 73EEE80205990808901CA68255C0C392 /* CTInterstitialViewController.m */, - 581359EA1ACDBD625644D00EACEB1A8B /* CTNotificationButton.h */, - 874B06020F103B1C37F106BAA43DF759 /* CTNotificationButton.m */, - 69C6916879350197F980D7AA1796DF14 /* CTSlider.h */, - 62369B921E650AEE5A52E2ED668CBA18 /* CTSlider.m */, - 3320FF198AAC8887D5C290E78A876DCD /* FLAnimatedImage.h */, - C3615C44199FC7F1885609DE60BFDCEE /* FLAnimatedImage.m */, - C528A28FDFEFC02226C7DF97015C5A43 /* FLAnimatedImageView.h */, - 7F2FE1B22986F6BD9D1CEFCD9BEA4F4E /* FLAnimatedImageView.m */, + 1D13BE9CD94ED85D886B9C5B48FAD110 /* ic_expand@1x.png */, + 89D558ADBD2C8048E37BB654B7A938EE /* ic_expand@2x.png */, + 207C907E14C61097232FBDCE89D235F8 /* ic_expand@3x.png */, + 0AD8ED59807D181886EFFAFCB220A19B /* ic_pause@1x.png */, + BC3AEB7181DB5A005C8895FD7B16F6F2 /* ic_pause@2x.png */, + A0F3D5DBCA94E212CF2BE0F6864EF0D1 /* ic_pause@3x.png */, + FD56BD96852774EEC730A46882FA3535 /* ic_play@1x.png */, + 2935AC9AA6387F3C060F912100E27542 /* ic_play@2x.png */, + 97DEC3B26028A84DFF90730C1F5518F8 /* ic_play@3x.png */, + EC1B3E264B6183459C9C900BE3F4411B /* ic_shrink@1x.png */, + 8BAA2D487A5B5A072B1C9C2E16CE7B85 /* ic_shrink@2x.png */, + 01B0B87EF17E6E4B88DE1517C1867377 /* ic_shrink@3x.png */, + 4084144C896F2C3F071CD5490FF3C4DE /* ic_thumb.png */, + 63A7696C003D1C2B628431AD230EFF3E /* sound-wave-headphones.png */, ); - name = InApps; - path = CleverTapSDK/InApps; + name = images; + path = images; sourceTree = ""; }; - 9E110D60176BBBACC5957E12EFB2D8C7 /* InApps */ = { + A42F72DC1D780481325DD00969B19BB6 /* Frameworks */ = { isa = PBXGroup; children = ( - 4375E495516BB6F2BFAEF436417312AB /* CTAVPlayerControlsViewController.xib */, - 0B386A24FF6542886D86CA2ED81D23B9 /* CTCoverImageViewController~ipad.xib */, - E41322CFB424C3E62E08BD73D4A6A63E /* CTCoverImageViewController~iphoneport.xib */, - F716C61A61FC07B05452C64BDA1FD8A2 /* CTCoverViewController~ipad.xib */, - 0380761674766128E24AF9A0A4DE22C0 /* CTCoverViewController~iphoneport.xib */, - 2C7D69B89FE14EAFD41C71DFD87E238F /* CTFooterViewController~ipad.xib */, - D8C2A95FBDB41BDBD3D11CA6152A5A45 /* CTFooterViewController~iphoneport.xib */, - 1B12346208AB64CED78C08FB2C70AF71 /* CTHalfInterstitialImageViewController~ipad.xib */, - 69D4867489E81321BE7C537C40522F97 /* CTHalfInterstitialImageViewController~iphoneport.xib */, - 6B3CE13EBDB5C5E7F6E595F13544953B /* CTHalfInterstitialViewController~ipad.xib */, - 75C40DACC5AB5728F44B1FE65359F412 /* CTHalfInterstitialViewController~iphoneport.xib */, - DE787881DAB06B6C63A3C64DEC3E8B1E /* CTHeaderViewController~ipad.xib */, - A7FBE191E755E9E1F8F214CDD7104C63 /* CTHeaderViewController~iphoneport.xib */, - E99A0B3FAD55D085F05EE6441ADFC5A4 /* CTInterstitialImageViewController~ipad.xib */, - 73671F527F863648794CCFEE6288411F /* CTInterstitialImageViewController~iphoneport.xib */, - B6E314743C6FCD98D4FFBAAEA6FB54FA /* CTInterstitialViewController~ipad.xib */, - D7CC7B4734512D9A00AB62ECAE51709A /* CTInterstitialViewController~iphoneport.xib */, - BEBFAF788C069D0270C36D0692A45F72 /* images */, + 58996781A54EE964D7111D73083A18A5 /* iOS */, + 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */, + ); + name = Frameworks; + sourceTree = ""; + }; + AA57A3F05F9A08EDC737689EE808FEA5 /* InApps */ = { + isa = PBXGroup; + children = ( + 1CA6C76E21BCF499209148ED65DB32B4 /* CTAVPlayerControlsViewController.xib */, + 8734DB77EDD6757B151183F4F61741C0 /* CTCoverImageViewController~ipad.xib */, + 89E22A34D4BFAF91C044D0F20B8F2758 /* CTCoverImageViewController~iphoneport.xib */, + 521AE17F02FF133D15599220045160CF /* CTCoverViewController~ipad.xib */, + 293EB57D407F084A744828592CF4C178 /* CTCoverViewController~iphoneport.xib */, + E13DA569FD2A83038236D35479E6367C /* CTFooterViewController~ipad.xib */, + 3C08F421C5AE0B6BF43D6FA5C766EC0C /* CTFooterViewController~iphoneport.xib */, + B1A453D48276FDD1B6CC30EB4C2AB07F /* CTHalfInterstitialImageViewController~ipad.xib */, + 1E7D8C0E52CE0FD629BD5D6B67482AAF /* CTHalfInterstitialImageViewController~iphoneport.xib */, + 9C43E5F32B9B4C51B281C4B038A521C7 /* CTHalfInterstitialViewController~ipad.xib */, + 78B6498DD556C677DF91A4DCAA32688D /* CTHalfInterstitialViewController~iphoneport.xib */, + A7485B9EC9912212D2B59AF1BCC83BC3 /* CTHeaderViewController~ipad.xib */, + 9B42CAC7F3F96EEFE8C6359628419E99 /* CTHeaderViewController~iphoneport.xib */, + C845F911ECAA570E31C29FF154152649 /* CTInterstitialImageViewController~ipad.xib */, + C864580FC7B6F27609F1543E602840BE /* CTInterstitialImageViewController~iphoneport.xib */, + 6F4F038A4D05638A4FAD1ED7F86EC272 /* CTInterstitialViewController~ipad.xib */, + 29FD80ADF71F8D84B8F4B1326C53DDBB /* CTInterstitialViewController~iphoneport.xib */, + 8808E2F998BCB9DABCD6D28A0C80239C /* images */, ); name = InApps; path = CleverTapSDK/InApps; sourceTree = ""; }; - A42F72DC1D780481325DD00969B19BB6 /* Frameworks */ = { + ACEE54C513D2105EF8EE48CCD9C550B1 /* InApps */ = { isa = PBXGroup; children = ( - 58996781A54EE964D7111D73083A18A5 /* iOS */, - 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */, + 41C84398128D4024055564AB635FACFC /* CTAlertViewController.h */, + 5E0CE9AA361FC9A01EC7B82FC8424DDA /* CTAlertViewController.m */, + AAAC39506D2FA822A22D38F0F428AB79 /* CTAVPlayerControlsViewController.h */, + E3DA29E0335821BD64FCEEFF71E7BF3C /* CTAVPlayerControlsViewController.m */, + 1D79FEE54BBD1173558ED82EE655E214 /* CTAVPlayerViewController.h */, + 0837D1B0634780E62A95FD6DCA800D3E /* CTAVPlayerViewController.m */, + 68E7F7E0E31959E42B2EB4A812445876 /* CTBaseHeaderFooterViewController.h */, + D8D56AA4B720AB4FB380C3E6A6549EBA /* CTBaseHeaderFooterViewController.m */, + E2B0BB6C138FE83987B28942C39CB8B6 /* CTBaseHeaderFooterViewControllerPrivate.h */, + F76D646BBFECD2A87BC4F5EF9C298248 /* CTCoverImageViewController.h */, + D7E10ED25B97DEBFB5D37A71103670A0 /* CTCoverImageViewController.m */, + 26E87E4D796D536FC582D411D4ACE3F5 /* CTCoverViewController.h */, + 980C77E9590447D97FAF3D97D103BC14 /* CTCoverViewController.m */, + 86501CAE0614F927948424FC4F958D74 /* CTDismissButton.h */, + DB2753FB6B139A135E8A8363D6F99DCC /* CTDismissButton.m */, + 58D3FCB1231D679F2681EACBEF58ABB3 /* CTFooterViewController.h */, + FF522D0ABC17D71A5F73720C2BBE729D /* CTFooterViewController.m */, + 82153304DABB3BB1B50C8DA08CC49F86 /* CTHalfInterstitialImageViewController.h */, + 33DD8AC68339188F422EB57F2913E0E8 /* CTHalfInterstitialImageViewController.m */, + 1BC394816637D67C99627152CE3797B0 /* CTHalfInterstitialViewController.h */, + CF1D511D3C332452112352871B743EF0 /* CTHalfInterstitialViewController.m */, + F3F634940130B8147E3A6B8E20E52C5C /* CTHeaderViewController.h */, + 5F61991599DB50822AE362B254FEB268 /* CTHeaderViewController.m */, + 8D55AFAAC969D674A8EB476BC99B03F5 /* CTInAppHTMLViewController.h */, + 8FEE96404139CFB165291CDAFD981572 /* CTInAppHTMLViewController.m */, + 7D9614FEFA39B257A0805F70C00DCCDB /* CTInterstitialImageViewController.h */, + 2EABF23D5311F9D66F0E6C19C07FED18 /* CTInterstitialImageViewController.m */, + 4CC45C3A54DE4689DEB1A994269A3AA5 /* CTInterstitialViewController.h */, + D311440C8EE1F878527C73F86C9D21DC /* CTInterstitialViewController.m */, + 7442F4D96390B8A3A85A4351E531AEB8 /* CTSlider.h */, + 16C557CF28EADD35E90EF9CB8D7CBA7C /* CTSlider.m */, + D6A9765C12DB28F8B50A5F5181F8B42F /* FLAnimatedImageView.h */, + B22ABFB7C7C44B664FA01DC6C9394EB9 /* FLAnimatedImageView.m */, ); - name = Frameworks; + name = InApps; + path = CleverTapSDK/InApps; sourceTree = ""; }; - BAD8F0AB48270DA9B92E328DEBD04714 /* CleverTap-iOS-SDK */ = { + BDDD363ED168C449F7E13ABDC80DCD32 /* Development Pods */ = { isa = PBXGroup; children = ( - 3D0141FECDB6E4634BA81DF01A138C34 /* CleverTap.h */, - D31A9EE45CE67C097668F5E59891AD27 /* CleverTap.m */, - 2E610E0CEA5EBA2F62026F6A551E03C0 /* CleverTap+SSLPinning.h */, - 70ED6223D0B2266E17C374168C98E6B6 /* CleverTapBuildInfo.h */, - 8210D1AF494A7CAE4D5E2B6E388E6F15 /* CleverTapEventDetail.h */, - 154AF92C4BDADC663E6925070CDB5A69 /* CleverTapEventDetail.m */, - 062FC90177934AAC20CC6AA9CE7173BB /* CleverTapInAppNotificationDelegate.h */, - 52392FC541FE01C389D99655C803CF0C /* CleverTapInstanceConfig.h */, - 52C1D6306D913D74355BDDAA73524908 /* CleverTapInstanceConfig.m */, - 4E685FBE237EAC44DAFFF3463ED0EDCA /* CleverTapInstanceConfigPrivate.h */, - 3254BEC4E24797245ED0572559FF8DA5 /* CleverTapSyncDelegate.h */, - 637D4660737CC07F9C7EB99D6F1EFB71 /* CleverTapTrackedViewController.h */, - 8C1545E60146A63464900032B42669C6 /* CleverTapTrackedViewController.m */, - F06721230C517F18CC793E20EFFF47B6 /* CleverTapUTMDetail.h */, - D32B32CC078A2863DE01A872416D0178 /* CleverTapUTMDetail.m */, - 94731C644DF67814A74F50F1EC5B54A9 /* CTCertificatePinning.h */, - E4A56F7313F57B02D645061A47187876 /* CTCertificatePinning.m */, - D6654BDCCCE85492189D5552A6FE9D6A /* CTConstants.h */, - 6F1C16B34E54E110AAB1757F69666290 /* CTConstants.m */, - 7D298C1C895955EF2283861521604758 /* CTDeviceInfo.h */, - 2E18131FCBDBF3B77F5BDA9B581427D1 /* CTDeviceInfo.m */, - AE1B4DD81F854C0C40F38C52DCE54D00 /* CTEventBuilder.h */, - 3578810FA12FFBDA612BEF7B1E4F4A44 /* CTEventBuilder.m */, - 0B7B5D8348F248892CCB325B663E3617 /* CTKnownProfileFields.h */, - 992E9A4E483ED1B861124AA3863D2E01 /* CTKnownProfileFields.m */, - 145EFE1A7925BC4F3288F913C4627389 /* CTLocalDataStore.h */, - FFB30DC95CBE2E45E1C7E81DE4017157 /* CTLocalDataStore.m */, - B24D987AD2D1E81595D7DE58C2CA5999 /* CTLocationManager.h */, - 9736C916CC08CFE3AA20B065BA168511 /* CTLocationManager.m */, - 9CFE060ED58BA1770D5B604CB7E9A076 /* CTLogger.h */, - 29F65F0AF82866F3BA9FFCE85165376F /* CTLogger.m */, - 1E035A47D5CB6FD8E71960E5557AB0F0 /* CTPinnedNSURLSessionDelegate.h */, - 835BED2D2DD2B6978AF351F3FC2BD3FB /* CTPinnedNSURLSessionDelegate.m */, - 156077DB7553F403F3F470E3D400FB7D /* CTPlistInfo.h */, - 15927D1EB22AFB3BD7B9212C41E5590E /* CTPlistInfo.m */, - F7DA95F655695273F5CC44D40739A90A /* CTPreferences.h */, - 7C1A5F76ADE47BB8229A4148B8A7AA74 /* CTPreferences.m */, - 6A77893F4748EA8C886E8C534A9F79F8 /* CTProfileBuilder.h */, - FE46FD9559FC5F4581E3C1DB685D6BEC /* CTProfileBuilder.m */, - 13729F962843B0058A0FA0C81684287B /* CTSwizzle.h */, - F7E471B673D9D299FAB8D3B66B3EE2DF /* CTSwizzle.m */, - C5B56416C4A86ADE3F34F64FEF21D3C4 /* CTUriHelper.h */, - 7C680D42B210336C46EBDF5035B0B516 /* CTUriHelper.m */, - 9088E13F6CB5C27212ADECF1BC213AEC /* CTUtils.h */, - FC14A2CA146A6964B299B38B13AD22D3 /* CTUtils.m */, - F9F5BFBAAA01E80121CADCFCD803A21E /* CTValidationResult.h */, - 1213C04201CD9919202B947E0B55EC38 /* CTValidationResult.m */, - 74CC76AD1C82828E0AB085D16B63854E /* CTValidator.h */, - 70114A48B02FC38645527338305A6880 /* CTValidator.m */, - 96B24F90C5FB291310707C98236D61FD /* InApps */, - 71988A4A85FC81345997FBC4248FE8D5 /* Pod */, - 71E2DB94E533CBA08076D78794250741 /* Resources */, - 46762F7389D3D561261652C26115BBA2 /* Support Files */, + C11AD6853118D8F84E70A72170C07A3D /* CleverTap-iOS-SDK */, ); - name = "CleverTap-iOS-SDK"; - path = ../..; + name = "Development Pods"; sourceTree = ""; }; - BEBFAF788C069D0270C36D0692A45F72 /* images */ = { + C11AD6853118D8F84E70A72170C07A3D /* CleverTap-iOS-SDK */ = { isa = PBXGroup; children = ( - 5BC0F1421609C74DE1988D7D7B277178 /* ic_expand@1x.png */, - C37D2912A8AA57C899B48DE61B8932E1 /* ic_expand@2x.png */, - 3AC4AEC266909AAFDCF179F886845462 /* ic_expand@3x.png */, - 356D8F9B9E8BB83D85704AC0550098D9 /* ic_pause@1x.png */, - FC60402A45894907361DEA684C67DF6F /* ic_pause@2x.png */, - 2595E1EBB33E5DBFB7D2EBD0846943EE /* ic_pause@3x.png */, - 561A18E19E1339C42C87322A0764FE0C /* ic_play@1x.png */, - DDB97A6624CC8CC4C86C74A5A619076B /* ic_play@2x.png */, - 6575857711040D2D3CAB004F25B87A27 /* ic_play@3x.png */, - 3D758680EE45BFCBB6B8DF201DDD2DFF /* ic_shrink@1x.png */, - 5380CCF91A02039463BB43B4C5414367 /* ic_shrink@2x.png */, - D58FD14074417FCD190807E41711D9E5 /* ic_shrink@3x.png */, - 426FDA8DA49871A1B6059030F81EDC11 /* ic_thumb.png */, - A1F26FF1C31C4042CF363E3BB4F6A99B /* sound-wave-headphones.png */, + 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */, + 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */, + 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */, + 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */, + B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */, + 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */, + E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */, + 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */, + 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */, + 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */, + D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */, + 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */, + 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */, + DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */, + 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */, + 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */, + 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */, + 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */, + F64EFC9813835D707262642223DCDA2B /* CTConstants.m */, + 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */, + 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */, + 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */, + 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */, + 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */, + 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */, + FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */, + 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */, + 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */, + B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */, + A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */, + 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */, + 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */, + EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */, + 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */, + 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */, + 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */, + 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */, + 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */, + AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */, + E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */, + EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */, + ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */, + 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */, + 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */, + 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */, + E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */, + FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */, + 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */, + 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */, + 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */, + ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */, + A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */, + 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */, + 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */, + 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */, + 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */, + 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */, + D71E44C197693A626C97A48F88294C48 /* CTUtils.m */, + C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */, + 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */, + F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */, + 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */, + 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */, + 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */, + ACEE54C513D2105EF8EE48CCD9C550B1 /* InApps */, + 2EFA9F5AF9CB60049B3035E5CBD37EAB /* Pod */, + 0C3C2AA58D43C2C255518A434140607D /* Resources */, + E7560CDEE4C6E3427C13E362CF7BE538 /* Support Files */, ); - name = images; - path = images; + name = "CleverTap-iOS-SDK"; + path = ../..; sourceTree = ""; }; CE3F1ED9F110CF0EFDA291EA611CB544 /* Pods-ObjCStarterUITests */ = { @@ -849,82 +824,102 @@ path = "Target Support Files/Pods-ObjCStarterUITests"; sourceTree = ""; }; + E7560CDEE4C6E3427C13E362CF7BE538 /* Support Files */ = { + isa = PBXGroup; + children = ( + 1225942D643B3B9EBD7BD62856107C12 /* CleverTap-iOS-SDK-iOS.modulemap */, + BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */, + 927DBB72AED631D6889D58A89E469529 /* CleverTap-iOS-SDK-iOS-dummy.m */, + 080AA57FB8B098006F2CB8E2EA5183BE /* CleverTap-iOS-SDK-iOS-prefix.pch */, + 9F9F1CD8D8B458B74D68588EF102F740 /* CleverTap-iOS-SDK-iOS-umbrella.h */, + 12F71063123FDFAFAF80A581D558E444 /* CleverTap-iOS-SDK-tvOS.modulemap */, + E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */, + F66F79E86BA5DF15FB45FAE1FE6BF3BB /* CleverTap-iOS-SDK-tvOS-dummy.m */, + C06DEB9C21942DD4242BD76A3013A211 /* CleverTap-iOS-SDK-tvOS-prefix.pch */, + D52AEA4052F82C732A08C552E972F2A1 /* CleverTap-iOS-SDK-tvOS-umbrella.h */, + C4A06661A43FF57B9AF687E06A90E070 /* Info.plist */, + CDA4E418833C3F791EDB4B4F1798DB58 /* Info.plist */, + ); + name = "Support Files"; + path = "ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 4472706D2FE1439F22F09C9318182182 /* Headers */ = { + 1F773AE17355822BED652A9CE5DF4B33 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */, + 1C748BBEDA47B1BF59E053BD496B9B12 /* CleverTap+SSLPinning.h in Headers */, + 77EC2EBA12A124844065ED387B67EDC8 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */, + 6312FF3C4B0B9DEF5EC7D079CE999DAD /* CleverTap.h in Headers */, + 2FFD0EA57DC433AB764BABEEB252BC29 /* CleverTapBuildInfo.h in Headers */, + D3FFBDB2669A030F65020C0526C41060 /* CleverTapEventDetail.h in Headers */, + 331C2D5437D1D6BAE75E3FFBCBB78C70 /* CleverTapInAppNotificationDelegate.h in Headers */, + BC19103C6668D7EF2C90A2F3CF2F121A /* CleverTapInstanceConfig.h in Headers */, + 6B53E98525827CD38476C2CDB0F91AF4 /* CleverTapInstanceConfigPrivate.h in Headers */, + 0F934E7C674AAEEAD3B4BD442615299F /* CleverTapSyncDelegate.h in Headers */, + 89465443DE5DC74B33ED71D1F2E56B1D /* CleverTapTrackedViewController.h in Headers */, + 61E1464A32493C656A0114F971A94937 /* CleverTapUTMDetail.h in Headers */, + 6C562CCE50DFD012D57962F6C2A60824 /* CTAlertViewController.h in Headers */, + C8767C57D3CACD449C229FD60A7B61F3 /* CTAVPlayerControlsViewController.h in Headers */, + 9712CED289F06E99A03A87D3317CF8A8 /* CTAVPlayerViewController.h in Headers */, + 1A76E743B34E6676732EEFE86ACDA77C /* CTBaseHeaderFooterViewController.h in Headers */, + 9BB0B487B240A3F307E81311E3FB4B43 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, + 8384765D35700C02759D05661DC66262 /* CTCertificatePinning.h in Headers */, + 2FF269B5380A126CCE1FE77303F7232E /* CTConstants.h in Headers */, + 6D7C3D0C1FA0A61E6D561EBB5A10BBBC /* CTCoverImageViewController.h in Headers */, + 096539591AE0664B0F82DEF439953BB6 /* CTCoverViewController.h in Headers */, + 38868897F2C820C53932844E01F20032 /* CTDeviceInfo.h in Headers */, + 1362D217B53E46C5D2AA4EC490F13FB0 /* CTDismissButton.h in Headers */, + 8B02E16866F7F6FB972B54B1BC5BCF41 /* CTEventBuilder.h in Headers */, + E96C664B83CF37446605A8245CF03E47 /* CTFooterViewController.h in Headers */, + C3617B611AD696B0496A7AEE647D8E24 /* CTHalfInterstitialImageViewController.h in Headers */, + 423DD5050D84B5C2E6B39D373F1EBDC2 /* CTHalfInterstitialViewController.h in Headers */, + 629C17695DA178B9A73BE2CAC43140FE /* CTHeaderViewController.h in Headers */, + 5082EE4ABA7BCE3E537BD26DEF005287 /* CTInAppDisplayViewController.h in Headers */, + 1CB1C7F933C7BBBC503F44B7DAB93C69 /* CTInAppDisplayViewControllerPrivate.h in Headers */, + FD395338E5B0F1AFC0486AA009330A10 /* CTInAppFCManager.h in Headers */, + 4DB5064262387E3B55460781A3ABCFC3 /* CTInAppHTMLViewController.h in Headers */, + 4E0483F9EF57A7D87E7B0E3DA0A49F9F /* CTInAppNotification.h in Headers */, + FFD40C88196BBE4E60E4CFAD0D50476E /* CTInAppResources.h in Headers */, + E17577FA3CDC8862D303B44E28664E05 /* CTInAppUtils.h in Headers */, + 354D13CBE3BAE064CDA92331F2B82E7E /* CTInterstitialImageViewController.h in Headers */, + C837A5922E974DC5E1B9EB06A8E81B20 /* CTInterstitialViewController.h in Headers */, + 0DCCC84D84EB50796A605A1653080CAD /* CTKnownProfileFields.h in Headers */, + 1B517D01432F9A00E80DE1CE507815CD /* CTLocalDataStore.h in Headers */, + 90E0BDD6BC2E0947C590D257FA464D77 /* CTLocationManager.h in Headers */, + 8BE0E1322A594060BD8E23F55A38590B /* CTLogger.h in Headers */, + 76EB1D667E5B080F7D4A3AFE697F5564 /* CTNotificationButton.h in Headers */, + 24A3A1DFBF19E8F7CBE525912614ED72 /* CTPinnedNSURLSessionDelegate.h in Headers */, + 760314905F812C7F2600E76AE71A4F93 /* CTPlistInfo.h in Headers */, + 65BAEB6EDCD44499E8B8F1A939C09170 /* CTPreferences.h in Headers */, + 032F61FEC428EE8AF48AD18979028C2A /* CTProfileBuilder.h in Headers */, + 2E8609B263EDAE2C5B29E035900BECD9 /* CTSlider.h in Headers */, + 3D5574464D38C09EA5FB8DF458B557BD /* CTSwizzle.h in Headers */, + C2EBDBE686EE487743E7389F4C71DC14 /* CTUriHelper.h in Headers */, + 664BD277637820E8201EB18FF2D66512 /* CTUtils.h in Headers */, + 093B36E6DCD798AFB817BC00AA546B21 /* CTValidationResult.h in Headers */, + E254A31AF9AA162339AC4B7812F3CE77 /* CTValidator.h in Headers */, + AACB92FCF730A14CE1CE41EA05C5A40E /* FLAnimatedImage.h in Headers */, + 0A68514D02C62AF9163D33AE39A9C9B9 /* FLAnimatedImageView.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 61EEA06C2850FA80316652ADF8CF90FB /* Headers */ = { + 4472706D2FE1439F22F09C9318182182 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */, + 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - A92F5E90E67698351F9287ECB5142E27 /* Headers */ = { + 61EEA06C2850FA80316652ADF8CF90FB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DA00042A10F1EB9C33232C3315B417B5 /* CleverTap+SSLPinning.h in Headers */, - 2CD739391541A6B5205AE4FA4FE350A1 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */, - 0F1957439D0C7E81FE733EA1CA24470D /* CleverTap.h in Headers */, - BEEB76E7AD6616232AC5F46FD6479AEE /* CleverTapBuildInfo.h in Headers */, - 663262D23664153BFE2A64953B3CD130 /* CleverTapEventDetail.h in Headers */, - 0F683B319FE0D31D8E43C695B733A9A4 /* CleverTapInAppNotificationDelegate.h in Headers */, - 39A8EE58B7DDAD1357513944100BB739 /* CleverTapInstanceConfig.h in Headers */, - 856D5D314027F88768C2AAE01740947F /* CleverTapInstanceConfigPrivate.h in Headers */, - 870A576ACD83CC73688F9AC02751C347 /* CleverTapSyncDelegate.h in Headers */, - 8C6D4960E85565834F42DB719DD585D3 /* CleverTapTrackedViewController.h in Headers */, - BBE377769897DAE252463E9FBF29BC8E /* CleverTapUTMDetail.h in Headers */, - A1AC80DFF97A18EFC87C0E67ECA7B944 /* CTAlertViewController.h in Headers */, - FF26334930DE2FF64FF65BE7507461F8 /* CTAVPlayerControlsViewController.h in Headers */, - 546A9573DEAA58B19D6252812774A895 /* CTAVPlayerViewController.h in Headers */, - 7635C22035BD2B0DFCB154430D0A76CE /* CTBaseHeaderFooterViewController.h in Headers */, - 5C59E25AA1ECE8BF2A47C09632E202F6 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, - 0EFD2FC62CC9FC59F25017A20AB9772E /* CTCertificatePinning.h in Headers */, - ECDF4F985FEDBEBC7DD8757B823BF916 /* CTConstants.h in Headers */, - 81C4AC9BE8F1741303C22441D3116545 /* CTCoverImageViewController.h in Headers */, - B268E0BF9174B119D71E484E41AA519C /* CTCoverViewController.h in Headers */, - A14F604A921185A675BBC85B2139B273 /* CTDeviceInfo.h in Headers */, - 7D17352914F00B9417ACB567F4D9110E /* CTDismissButton.h in Headers */, - 8A0FBEDCDB76528FBE29222920844010 /* CTEventBuilder.h in Headers */, - E6C1132C28F8B581F6278B59A1D079DC /* CTFooterViewController.h in Headers */, - B2D2A518D268967D4ACD2D16EDFC23BC /* CTHalfInterstitialImageViewController.h in Headers */, - 4C9EB56499904BA40EDDA5574F98D1D9 /* CTHalfInterstitialViewController.h in Headers */, - 2C9211251AD9DDB3CBCF117BF3D66FC3 /* CTHeaderViewController.h in Headers */, - 177417798266A2D7D1F0EA024AFBB92C /* CTInAppDisplayViewController.h in Headers */, - 842C1C426896B936C99F3A79DDE545D0 /* CTInAppDisplayViewControllerPrivate.h in Headers */, - 43A9543ACD32554E6F8D5B5A612EE8F5 /* CTInAppFCManager.h in Headers */, - 757EB3FFF9F5E9238399F12F896D5172 /* CTInAppHTMLViewController.h in Headers */, - FE71F21E2945C46AA5EBE4CDDE0258BD /* CTInAppNotification.h in Headers */, - BCAC98495106018E13D762372E82EEAB /* CTInAppResources.h in Headers */, - DF5B31EC219D8D651FC23AB015C55F39 /* CTInAppUtils.h in Headers */, - 24E24D5CC249092B8B7A33EC6B128BFC /* CTInterstitialImageViewController.h in Headers */, - E3E66B8ADE74B5EAFE3F6F4CFE1F88D8 /* CTInterstitialViewController.h in Headers */, - 08A8EBD2E4DB093B5A1C678E828835E0 /* CTKnownProfileFields.h in Headers */, - 287A7BFAD149A21748619807F70D78C0 /* CTLocalDataStore.h in Headers */, - 8098F482CD23D384A5FBAA138C294BDB /* CTLocationManager.h in Headers */, - C4A92AB8E1A10C59FBE195F9BE016AC9 /* CTLogger.h in Headers */, - 849BC442882869C3C626A97F091435A9 /* CTNotificationButton.h in Headers */, - 32E33D82C0C2975425197B55D5C3F681 /* CTPinnedNSURLSessionDelegate.h in Headers */, - 70709EC01475258D0E89A57320198A38 /* CTPlistInfo.h in Headers */, - F96E6D0F11E843E88903F76CA8A88495 /* CTPreferences.h in Headers */, - FBAE2E07C31DC1927DEFA61492DBD3F1 /* CTProfileBuilder.h in Headers */, - EBBF514BDE35666F71886F457A2C63C6 /* CTSlider.h in Headers */, - 244C838C5215BAEAF94C7958254D2F56 /* CTSwizzle.h in Headers */, - B0144EF9445C9683803A68219468D4F8 /* CTUriHelper.h in Headers */, - F915C5652C5C8B41FD7C5B8C20490ED9 /* CTUtils.h in Headers */, - 2EA6D83630A286F347D1BDE52EE4763C /* CTValidationResult.h in Headers */, - 5A666F889CF4300B714C4BD539E1CDE2 /* CTValidator.h in Headers */, - 47E86794ACD81096687138817E918651 /* FLAnimatedImage.h in Headers */, - B255D961E85FBF23C509E5EA0F32448B /* FLAnimatedImageView.h in Headers */, + 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -944,49 +939,46 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - EE3506FF624E3DE25702CADDFACD8A9C /* Headers */ = { + FFBBCC43470387F68237A4C41899C882 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5E0CD82B079D21B38CD1E42BC5F980DA /* CleverTap+SSLPinning.h in Headers */, - 7A45023D650FE082BF31D31AEF1C140F /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, - 05D28BC6BCDE2E6F29831B5909F89C13 /* CleverTap.h in Headers */, - C1D2C127C5139D12872167A778346D4B /* CleverTapBuildInfo.h in Headers */, - DC73A3F29DEA501E4E31D2138E74187E /* CleverTapEventDetail.h in Headers */, - D22BF391E8E10D7B197443FD5F6AA802 /* CleverTapInAppNotificationDelegate.h in Headers */, - E63234AA2FA40248D49F404BD46D471F /* CleverTapInstanceConfig.h in Headers */, - 86B1856744C21524937E3A3D44CE27C7 /* CleverTapInstanceConfigPrivate.h in Headers */, - B2F90681509B2D55CFB531201486CFDB /* CleverTapSyncDelegate.h in Headers */, - 6D5DF2071997F03AA7EC8011CDA1A4F5 /* CleverTapTrackedViewController.h in Headers */, - DFCC301CF80C41E691B129505EB2120D /* CleverTapUTMDetail.h in Headers */, - 88095FE2EC623C778D842C3522EFC640 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, - 67CB07F73FDF5773223C8F0BC3D51A4D /* CTCertificatePinning.h in Headers */, - A447E2CA8639A56E24899F06B284044C /* CTConstants.h in Headers */, - 0B2E44ACFE8C56CCFA5D1168F940D29D /* CTDeviceInfo.h in Headers */, - 72E99FAB1D537E2B314D3DEC821EFD56 /* CTDismissButton.h in Headers */, - 07ABE0A903CD0664BAC7606ED72DAFAE /* CTEventBuilder.h in Headers */, - 9FE325ABD7A5AC1904339A7D6DDF25F4 /* CTInAppDisplayViewController.h in Headers */, - E497A999375984A849CDAD248653A22D /* CTInAppDisplayViewControllerPrivate.h in Headers */, - 333F26EF21B4379735B1E69037166B5E /* CTInAppFCManager.h in Headers */, - 1889EA45968D6163375BD08407525DEC /* CTInAppNotification.h in Headers */, - 1D6169F389E3717EECAA7A499D78C4E4 /* CTInAppResources.h in Headers */, - 27D7BA7CA09B87C2C1C9879DA1646F2F /* CTInAppUtils.h in Headers */, - 4E59471E287329B3BA80D5B960163C16 /* CTKnownProfileFields.h in Headers */, - AB64007F619FF3E2E1C4B45C30420D4B /* CTLocalDataStore.h in Headers */, - A9964B4BD0C01A56FF0E4BB7A9304267 /* CTLocationManager.h in Headers */, - 849F112FF2C2C30D49DEBBCDBA9D6651 /* CTLogger.h in Headers */, - 076084F7626D397738C2A26251DFBCD8 /* CTNotificationButton.h in Headers */, - 88388F4B17116A2F3E01B2D76C7E5F7C /* CTPinnedNSURLSessionDelegate.h in Headers */, - 971546AB280CBABE3E6A0D5548231E39 /* CTPlistInfo.h in Headers */, - 40C7AF991AB52D5322812098C4EBFFCC /* CTPreferences.h in Headers */, - 44590AEC3FD5CF2D7BB094E5E40FAED9 /* CTProfileBuilder.h in Headers */, - C935CECB7A9723E05FC4F397C3692ABE /* CTSwizzle.h in Headers */, - 86B6E306FA8D2CC0019F5088C0A1B19C /* CTUriHelper.h in Headers */, - 593ED641544EE9D7EBBA94C0AA2812FD /* CTUtils.h in Headers */, - A1D9385EB2AAB98707AE96FE9A2280EF /* CTValidationResult.h in Headers */, - AB14F4EF2756882152A01094F74A36B9 /* CTValidator.h in Headers */, - 7836414B1513D7BC71225AD3348CB828 /* FLAnimatedImage.h in Headers */, - 08D4FEF243BD5D1CD1BC7FA57EAF71F2 /* FLAnimatedImageView.h in Headers */, + AD605F0A6950D54A7BD93EC7FE5FA4D8 /* CleverTap+SSLPinning.h in Headers */, + 143069BF170194B2462FA47B6592E0C7 /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, + AC13AE16D65023351598F8D229D6132A /* CleverTap.h in Headers */, + A74CA2403D053D5A579290BFFA87A020 /* CleverTapBuildInfo.h in Headers */, + 3F06EE8DE7521573986D843D1BBB44ED /* CleverTapEventDetail.h in Headers */, + 8A970F670B7822CEE26A48A9E750664D /* CleverTapInAppNotificationDelegate.h in Headers */, + 1E2B64D7A0F71789F93B988952F6675A /* CleverTapInstanceConfig.h in Headers */, + A5F1C869D2ACAFC3AD95E626ED72BAE1 /* CleverTapInstanceConfigPrivate.h in Headers */, + E8EFCD1B143DDEECAC53D07D1B2969EE /* CleverTapSyncDelegate.h in Headers */, + DE3A56E0272559587D566A5C579D6020 /* CleverTapTrackedViewController.h in Headers */, + 3C719BCB68352883700C142168ED054F /* CleverTapUTMDetail.h in Headers */, + 666A7FAF479F330AFF6BB1D7DC0ABD99 /* CTCertificatePinning.h in Headers */, + B8400313E027E56A7F2C15353AE967AB /* CTConstants.h in Headers */, + 8B190A7181EB8EDA272EDD1DED93D7FD /* CTDeviceInfo.h in Headers */, + A68D8644D5F526C894525720F40D9205 /* CTEventBuilder.h in Headers */, + B0F853F718F6EF42E6333A4D5362036F /* CTInAppDisplayViewController.h in Headers */, + 10D1259C931528B422B4FB873FCB242D /* CTInAppDisplayViewControllerPrivate.h in Headers */, + 284A1D052FED86B28FE00AE6CCB1AC02 /* CTInAppFCManager.h in Headers */, + 371E5E614381855F61DB63B05F004DBB /* CTInAppNotification.h in Headers */, + 5E617E1B9A629704C417934BD63A65AB /* CTInAppResources.h in Headers */, + A0EE81EF7FEFE4F21A5DC3BBA5CDAA2B /* CTInAppUtils.h in Headers */, + F269DC78BE206054129E338DA67C49FF /* CTKnownProfileFields.h in Headers */, + C9B6C169289B15F1890DB8D908755CDE /* CTLocalDataStore.h in Headers */, + B29B9849CFC96618ADDA49B566555CC0 /* CTLocationManager.h in Headers */, + 63774FFE217DE5F843611BA552DCCCCA /* CTLogger.h in Headers */, + 90BE53C9F86FC68B144844EF07093731 /* CTNotificationButton.h in Headers */, + D0F3E9F649E41E1A231945E23B5D939A /* CTPinnedNSURLSessionDelegate.h in Headers */, + 241D0E492169E2BC5D9F27236C854842 /* CTPlistInfo.h in Headers */, + 58FB906FB78086C3737AB0A202DDCD49 /* CTPreferences.h in Headers */, + 664DA60F2932F1F3146390BEFDD7B22E /* CTProfileBuilder.h in Headers */, + 031FA0DC27C1FA646F0CAF53531BEC04 /* CTSwizzle.h in Headers */, + 1BB69B2ED08032FBD44D95CC7A1212E7 /* CTUriHelper.h in Headers */, + 54BE8E8954934378FFE02E887485AC07 /* CTUtils.h in Headers */, + 6B209683138FFB0457BDCB0067B90738 /* CTValidationResult.h in Headers */, + 03FD8A83E2221E1FD4C863DA823CE5C8 /* CTValidator.h in Headers */, + C8002F599949AC1BD5C1DEC9BCF8995B /* FLAnimatedImage.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1033,9 +1025,9 @@ isa = PBXNativeTarget; buildConfigurationList = F7968B2F653E5140F25B9FD5FBEAA97D /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */; buildPhases = ( - F05B46CA4737786156EE4CD333064FA2 /* Sources */, + 97487FC52ECA3E5EF06FFC87E19E8247 /* Sources */, 2E7F868D17C05D84C8D1A165CE4AF7E3 /* Frameworks */, - A92F5E90E67698351F9287ECB5142E27 /* Headers */, + 1F773AE17355822BED652A9CE5DF4B33 /* Headers */, E058B489A0AB0DA25CFAC66D1455B975 /* Resources */, ); buildRules = ( @@ -1047,14 +1039,14 @@ productReference = 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */; productType = "com.apple.product-type.framework"; }; - C896FCBED35B5FBB78EEF89D67E58380 /* CleverTap-iOS-SDK-tvOS */ = { + 9522407642E3706C74D4F73E8424C0C5 /* CleverTap-iOS-SDK-tvOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 174842E44D4928FEAB5F40DDF0B61630 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; + buildConfigurationList = D7126035699073EBE2D68E8CE3AA147A /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; buildPhases = ( - 91A3838ADEF5A689EAA9AF6FF845BDE6 /* Sources */, - 6F7B91495EA411109414101CA06B536F /* Frameworks */, - EE3506FF624E3DE25702CADDFACD8A9C /* Headers */, - A6A496C3AE1CA90CC4A4F9D06FFE55FA /* Resources */, + A92A0B683D89BE81ECFEA82E78854C82 /* Sources */, + 90066114831DCFF4E609F3AC43EADD4A /* Frameworks */, + FFBBCC43470387F68237A4C41899C882 /* Headers */, + 8AFF313E6C31960A2E2F6F71EA779FAC /* Resources */, ); buildRules = ( ); @@ -1123,7 +1115,7 @@ projectRoot = ""; targets = ( 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */, - C896FCBED35B5FBB78EEF89D67E58380 /* CleverTap-iOS-SDK-tvOS */, + 9522407642E3706C74D4F73E8424C0C5 /* CleverTap-iOS-SDK-tvOS */, 15A2154784E1253CC3BE0FD49723562E /* Pods-ObjCStarter */, D560E156203438D400C14AEA571513BC /* Pods-ObjCStarterTests */, C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */, @@ -1133,12 +1125,12 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - A6A496C3AE1CA90CC4A4F9D06FFE55FA /* Resources */ = { + 8AFF313E6C31960A2E2F6F71EA779FAC /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6254EA02D96192B830CA81D0504FC4C8 /* DigiCertGlobalRootCA.crt in Resources */, - 8EAAAC35AFCF075E451F3A263DC2C836 /* DigiCertSHA2SecureServerCA.crt in Resources */, + 4B5E03B9280EE27BD18965793A6CDDF9 /* DigiCertGlobalRootCA.crt in Resources */, + 1A6CEC7F0FCB64076B1CDE48DBCA7BBF /* DigiCertSHA2SecureServerCA.crt in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1201,42 +1193,56 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 91A3838ADEF5A689EAA9AF6FF845BDE6 /* Sources */ = { + 97487FC52ECA3E5EF06FFC87E19E8247 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 27D477A7F7B0CC4B29CB4A7820C2EB75 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, - 1B73D88BC10F85CED2C02F5A28B92F93 /* CleverTap.m in Sources */, - 0E7E47E0D15E975BD3A03B8A58BB5390 /* CleverTapEventDetail.m in Sources */, - 23121489DE044E8079F747AD3EAA818E /* CleverTapInstanceConfig.m in Sources */, - 5174F42089BC2CACCB11191E86F51778 /* CleverTapTrackedViewController.m in Sources */, - A9544352BEACE9C582760C92E84F9FB8 /* CleverTapUTMDetail.m in Sources */, - 7ACABE3E53CF13396FFA8FB2D2BB6218 /* CTCertificatePinning.m in Sources */, - 2F7C3E3DC879FA11EAFA7F7500F6E951 /* CTConstants.m in Sources */, - 9E61CCA021E2B99C1C19F35CBE004500 /* CTDeviceInfo.m in Sources */, - 49D0DBE1443264B9BBF27CB9DF25A520 /* CTDismissButton.m in Sources */, - D2598CB124CFC39A011EBABC7AEEAFC7 /* CTEventBuilder.m in Sources */, - 1D28C7B1EE3B24FC51B6C017035104A4 /* CTInAppDisplayViewController.m in Sources */, - C81BFA169888A24CFB869E9ACD01E058 /* CTInAppFCManager.m in Sources */, - FEF1358BDF7F71F078B7DF4D7F8CDA9F /* CTInAppNotification.m in Sources */, - ABC1AC7BA53245344348A4C3256D1433 /* CTInAppResources.m in Sources */, - 446D6F25CE629C2D52F18FFF8F6C1A2B /* CTInAppUtils.m in Sources */, - 07C1D1BB72E7E6E80AF9A3D12C4A1089 /* CTKnownProfileFields.m in Sources */, - 51C164DE9D34C08A4F0FE3065AF8DD9B /* CTLocalDataStore.m in Sources */, - FB6339F629FC3AE28DEEB90174E3C254 /* CTLocationManager.m in Sources */, - 00A4CA5DCB88A67D6B59C50BC6A0A07C /* CTLogger.m in Sources */, - 4E7D86AB2D5FB86F1F43F1F4598BA3DE /* CTNotificationButton.m in Sources */, - ADD9C3AD50075E5A5B390FD7EF2FB82C /* CTPinnedNSURLSessionDelegate.m in Sources */, - E738580612F37A1B79607108905F642A /* CTPlistInfo.m in Sources */, - 31BECA92A2D69048FB747C45BD833005 /* CTPreferences.m in Sources */, - 3BA350F697ED0F2ED2C0E6E1FC67128A /* CTProfileBuilder.m in Sources */, - C828A9B757692A005E083DEF8513DCBE /* CTSwizzle.m in Sources */, - 5483CA64DD225F76309BE34E56BACDCF /* CTUriHelper.m in Sources */, - B13A8C8F3D807F8B4E1D1876DDDEB666 /* CTUtils.m in Sources */, - 00713EE655A6B3CE02B166E0F0719659 /* CTValidationResult.m in Sources */, - F1E852D7802A518097B58C269E640454 /* CTValidator.m in Sources */, - C3B32F98E14894C6ACE1EC568CB49D64 /* FLAnimatedImage.m in Sources */, - B241D6EE4A1D6E401CFC16EC81C34507 /* FLAnimatedImageView.m in Sources */, + 01D9816FFF850A92F0EF57FBC6648961 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */, + A9168CA54A15060B1578A181DF7C504B /* CleverTap.m in Sources */, + 0759F3D55DDE04F73CD3097F6FDFE61C /* CleverTapEventDetail.m in Sources */, + 91F16F1B37D29668EAA3DA3B2D500AE3 /* CleverTapInstanceConfig.m in Sources */, + 24E638E9EF98014BF882E43F59CEC304 /* CleverTapTrackedViewController.m in Sources */, + 741162B5B96292C2BD852FAE034B9549 /* CleverTapUTMDetail.m in Sources */, + 77E12C2CC3C8A3EF098E4AD690C457FF /* CTAlertViewController.m in Sources */, + 3AC4A799FE47AA7D0FEC8E5C53726140 /* CTAVPlayerControlsViewController.m in Sources */, + 7690C272C5E33EB39EBED93B5FAFF944 /* CTAVPlayerViewController.m in Sources */, + 639FA8269565E0163F3991CBCD447FE4 /* CTBaseHeaderFooterViewController.m in Sources */, + 373FE79B5178B15347063B86410ECF23 /* CTCertificatePinning.m in Sources */, + F821F026A59CB0B975A252FC4F50B28C /* CTConstants.m in Sources */, + 6C129D50A8377F4307B0DA58F7275323 /* CTCoverImageViewController.m in Sources */, + 7DE6F1C9AE1BB331F2BDA389457C055D /* CTCoverViewController.m in Sources */, + D2E6F3F974AA8B757451119F670198AD /* CTDeviceInfo.m in Sources */, + 2DE5F91E3211011E9485C7FC58454AC7 /* CTDismissButton.m in Sources */, + 76CC5ED8D94D128DB47B828D05A6DFC3 /* CTEventBuilder.m in Sources */, + C19CC2829DB7D756A4968D446D1B090A /* CTFooterViewController.m in Sources */, + 72784A38FBAD36E671C59DDD5B30474C /* CTHalfInterstitialImageViewController.m in Sources */, + 021382EC0A170AD0FE95998A547A9D9C /* CTHalfInterstitialViewController.m in Sources */, + D967306922B723EADFA29A49B1F20E33 /* CTHeaderViewController.m in Sources */, + BD9CB598D48BC3F713AFE68D6179B6E8 /* CTInAppDisplayViewController.m in Sources */, + 20FDF433EECF5AAEF28F5A14B75983BD /* CTInAppFCManager.m in Sources */, + 4A5852F773E335620451FEB5C7EC1A75 /* CTInAppHTMLViewController.m in Sources */, + 6287FB2B8617982D9C6AE8F60D4A37DB /* CTInAppNotification.m in Sources */, + FB7E7BD6E1604F72D03B5C4A04BF1924 /* CTInAppResources.m in Sources */, + 38C5BF09C9E01E5C1BE7662B200C9E10 /* CTInAppUtils.m in Sources */, + 62B3580CDF0B467BAD35F4D312E73F12 /* CTInterstitialImageViewController.m in Sources */, + 2B2D702CF25B04A1D3C06CE08323548C /* CTInterstitialViewController.m in Sources */, + E39E85B7EA4573C058D0825FA61FDD48 /* CTKnownProfileFields.m in Sources */, + BFAC11EB4D9DA7AE809B6FBA2D46BED2 /* CTLocalDataStore.m in Sources */, + F18B2BC5436EE62BED6D5A888DB209FB /* CTLocationManager.m in Sources */, + C90FCD77D05BF6C163467A5657497C2C /* CTLogger.m in Sources */, + 31AB76B508F2CF3F9FD707508EEE2688 /* CTNotificationButton.m in Sources */, + 00CD6B0C2775DD1B2851ECB227777374 /* CTPinnedNSURLSessionDelegate.m in Sources */, + B6F6BB4CC11FE53179CCE47525AEA664 /* CTPlistInfo.m in Sources */, + 3C9F146F332E3452961A11AACEF691F6 /* CTPreferences.m in Sources */, + 14701F7610BD5082250C2EE627027F5D /* CTProfileBuilder.m in Sources */, + 27C534B1A3BB23199808EBB8B4251B06 /* CTSlider.m in Sources */, + 34978968270836ED81BAD85EBF354EAD /* CTSwizzle.m in Sources */, + C15B142D52810FAD1831E36CDF624374 /* CTUriHelper.m in Sources */, + 85602CDC026AA03E513D4272346AF905 /* CTUtils.m in Sources */, + D71DED7AD9591CF1F514AF4E2DE29EA8 /* CTValidationResult.m in Sources */, + 5367C963FBFAF1DFEBD2740163805B06 /* CTValidator.m in Sources */, + 5CF204FFC01A557A2B7D2D81F6AB27A2 /* FLAnimatedImage.m in Sources */, + F48DBD02B59673584A3A835B5193393A /* FLAnimatedImageView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1248,64 +1254,48 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E0342056A85254FF13F9825228A4D7A5 /* Sources */ = { + A92A0B683D89BE81ECFEA82E78854C82 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C70540930C6D8F38AF1ACEF8947D614F /* Pods-ObjCStarterUITests-dummy.m in Sources */, + F8A3AE3F3FE600C64D928AE85C9562BF /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, + 2A6B4251F2A6EA958DCC4C7A374E9006 /* CleverTap.m in Sources */, + ACCE6300DF09F59377853C8883EF2A95 /* CleverTapEventDetail.m in Sources */, + 2F502CCA05B375A1ABC36F6A0F8E0100 /* CleverTapInstanceConfig.m in Sources */, + BA6855E3CA64ED32037C79E646F904D3 /* CleverTapTrackedViewController.m in Sources */, + 2AC49902637D8D4FF3943B25AA2D0C71 /* CleverTapUTMDetail.m in Sources */, + B2BF9DC887721C1D377B81AF5D766EC3 /* CTCertificatePinning.m in Sources */, + B07B09FF68E4CC1581ABCCC9A932A6CE /* CTConstants.m in Sources */, + 7D00CF0EF3DE22523F4848E715DEC01D /* CTDeviceInfo.m in Sources */, + 6819E1D2ED7A86AD6193162D2679F761 /* CTEventBuilder.m in Sources */, + A454DC7AF9BB7A38FE7DFC9DFA48FB23 /* CTInAppDisplayViewController.m in Sources */, + EEE58D704EC4358DD5A489632E54FDE7 /* CTInAppFCManager.m in Sources */, + 0FFDF318AB1AED92A862403346625305 /* CTInAppNotification.m in Sources */, + 9F2E94C0A86BC9D4E42AE230FE11582E /* CTInAppResources.m in Sources */, + 6563E60498568DF50A0D0828FBF0FC98 /* CTInAppUtils.m in Sources */, + 1408048C4B3E30428A43AC7271182FD8 /* CTKnownProfileFields.m in Sources */, + F55A3602A41BE35DEDEB07CD4A01DA6B /* CTLocalDataStore.m in Sources */, + C864E7427F935591D3F9B0814B5787B3 /* CTLocationManager.m in Sources */, + 89D54E506A71AF1A5115FC4A0C54E26C /* CTLogger.m in Sources */, + ECABCB167460316C08B2F3ADA58498E6 /* CTNotificationButton.m in Sources */, + 3D9AE2B99DF9A8C1B30E6E9D51EE6D4B /* CTPinnedNSURLSessionDelegate.m in Sources */, + 56A07117678EEB765548C114F06277E8 /* CTPlistInfo.m in Sources */, + 0B5C00301D54AA94E88D2C0953FE584B /* CTPreferences.m in Sources */, + 2548F0C5A65638676A41E70B82FA2A01 /* CTProfileBuilder.m in Sources */, + B6CF4B85CEE9F9916DB66D4FC9D81BF9 /* CTSwizzle.m in Sources */, + 9509257AF0DC916E3D838DC8225EFB6A /* CTUriHelper.m in Sources */, + BC92DCAF582DE87C2F364FEC75EA00EC /* CTUtils.m in Sources */, + D36EF13A70196F6A9750E5018FA721B9 /* CTValidationResult.m in Sources */, + 2E3155BF4C3540016D1F8BBF6FBF98FC /* CTValidator.m in Sources */, + 999DDF2EF8FD03C2FF27E5C81FA9D178 /* FLAnimatedImage.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - F05B46CA4737786156EE4CD333064FA2 /* Sources */ = { + E0342056A85254FF13F9825228A4D7A5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CD35879002C808275533461BE4273435 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */, - 18D76A3F3814F995DC68879DA3209606 /* CleverTap.m in Sources */, - F45EFB32917057BB9A54E79D2D5EC41E /* CleverTapEventDetail.m in Sources */, - CC13841B90B320CB21909A654BAB0338 /* CleverTapInstanceConfig.m in Sources */, - 4E11B7019DBF3E4F201FE70851DE35B5 /* CleverTapTrackedViewController.m in Sources */, - CEE2FFDE5A35884BCE99BF3744C9A159 /* CleverTapUTMDetail.m in Sources */, - 36AEDD7DFC1E8D99E769D169A46D2091 /* CTAlertViewController.m in Sources */, - 985B2200AA6BC116A66A5A89CFAAADC5 /* CTAVPlayerControlsViewController.m in Sources */, - DBD9AAB2309ECA5B73678C5E80849824 /* CTAVPlayerViewController.m in Sources */, - 4C8FF7A452E41AC165F56907E34E0BBC /* CTBaseHeaderFooterViewController.m in Sources */, - B0E9DBAE49768154E733916805574EE3 /* CTCertificatePinning.m in Sources */, - 7F9D5F309BCF6C54B7C29991A24AB321 /* CTConstants.m in Sources */, - E55EFBE5EB3277E8EB46317736F4CDD2 /* CTCoverImageViewController.m in Sources */, - 4A3D0BC1ADE4763AEF39D520E9C18D54 /* CTCoverViewController.m in Sources */, - 2457B7F1DE8A45D34290A83E0470D177 /* CTDeviceInfo.m in Sources */, - A70888771FFDAAA95FABC2E6EE16FCB1 /* CTDismissButton.m in Sources */, - 5A3BC74CC8C98B500ACFF10584B5B3F0 /* CTEventBuilder.m in Sources */, - 7FC480A226D6F8BECBC3A7DBAFF116CF /* CTFooterViewController.m in Sources */, - 4EE13AF6062D7EA33A4A77420B6656BF /* CTHalfInterstitialImageViewController.m in Sources */, - 58570A4031AFCAD2525575442D5C7331 /* CTHalfInterstitialViewController.m in Sources */, - 16F18B9B365766DE42C7F8F140C7641E /* CTHeaderViewController.m in Sources */, - 602BD08255978E086123AF17B753AE6B /* CTInAppDisplayViewController.m in Sources */, - DC58BAB832042C6C5B9349C38521F7DF /* CTInAppFCManager.m in Sources */, - 6538DD8CEEF2C53E9DAB5BB2AAFFCE9E /* CTInAppHTMLViewController.m in Sources */, - 9CAFD104F3C79EB9499885746AC6251D /* CTInAppNotification.m in Sources */, - 203CBC25F644471C3DF515E3BCE9F055 /* CTInAppResources.m in Sources */, - 1BA922CDDD906A4192A4FB183FA50ECF /* CTInAppUtils.m in Sources */, - 79FC56C034563DC3F923A8DAFE638C08 /* CTInterstitialImageViewController.m in Sources */, - BDAE918ABE7F2ACBB205636394F75D09 /* CTInterstitialViewController.m in Sources */, - BAED6F3D976AB4675E43A6F364A64DD1 /* CTKnownProfileFields.m in Sources */, - 57A68CEE6813ED0FF1DE79B5246B5E52 /* CTLocalDataStore.m in Sources */, - 6F3ABE5DDD03CD9F694CCEDD3D68989D /* CTLocationManager.m in Sources */, - 0681A42DAA048A64399D8DA38FB28CD3 /* CTLogger.m in Sources */, - 0844EC008FAB872B8B4BEC4BF7C11B87 /* CTNotificationButton.m in Sources */, - E82F505BB11E034B6A6A13F242832584 /* CTPinnedNSURLSessionDelegate.m in Sources */, - 229339D02FDF96A9F0966832295BB644 /* CTPlistInfo.m in Sources */, - 8269A830581734909748EA7342488910 /* CTPreferences.m in Sources */, - 11AA8EE90D957F17C48BB0DD20565B85 /* CTProfileBuilder.m in Sources */, - 634EAD4DE9B3FDFA8317975067E64F75 /* CTSlider.m in Sources */, - B68E09DB7B7E682DE9D04EB53C4E84AC /* CTSwizzle.m in Sources */, - 2569B1DB71994ED1439C31E386D16923 /* CTUriHelper.m in Sources */, - 47045A49234D564C0C267652A7F5269B /* CTUtils.m in Sources */, - 3B415150CFFAB168BDF195C1FD534DF2 /* CTValidationResult.m in Sources */, - 3C2051932A7B64009860F12684ECD9D6 /* CTValidator.m in Sources */, - 5AAE992514274F09BF1FE7F019AF0F1E /* FLAnimatedImage.m in Sources */, - 9D609274E0C170301E7BA312FB013338 /* FLAnimatedImageView.m in Sources */, + C70540930C6D8F38AF1ACEF8947D614F /* Pods-ObjCStarterUITests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1321,7 +1311,7 @@ 544025B63D2952CCC4F95480DC296E60 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CleverTap-iOS-SDK-tvOS"; - target = C896FCBED35B5FBB78EEF89D67E58380 /* CleverTap-iOS-SDK-tvOS */; + target = 9522407642E3706C74D4F73E8424C0C5 /* CleverTap-iOS-SDK-tvOS */; targetProxy = 6355539A8E6B214EB333693782F206D4 /* PBXContainerItemProxy */; }; A8FE32EA9EF5C7EAC7C3DCAEAE63BB8C /* PBXTargetDependency */ = { @@ -1405,7 +1395,7 @@ }; 4C9F4FE39509B0D6C44610228880F47B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */; + baseConfigurationReference = BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1503,6 +1493,36 @@ }; name = Release; }; + 7182D52389AAF413F315E4A5571087B3 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; 7FF9BABAF6B9E34590C802AF5EB588F8 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1698,9 +1718,9 @@ }; name = Debug; }; - B87FCDEAF23DBD8E58633982EA8B9163 /* Release */ = { + B409AEF3F6F6D9129051A0622C3A4428 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; + baseConfigurationReference = E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1798,39 +1818,9 @@ }; name = Debug; }; - F0F94605403893F23432F7A04948DC35 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 46C5E261301C2F22A97AD1DE88367F05 /* CleverTap-iOS-SDK-tvOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; F60560D5F12C2572DAA289E2D8763065 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 79525B5EC56C736205FD0251AEE787FD /* CleverTap-iOS-SDK-iOS.xcconfig */; + baseConfigurationReference = BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1870,15 +1860,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 174842E44D4928FEAB5F40DDF0B61630 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F0F94605403893F23432F7A04948DC35 /* Debug */, - B87FCDEAF23DBD8E58633982EA8B9163 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1906,6 +1887,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D7126035699073EBE2D68E8CE3AA147A /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7182D52389AAF413F315E4A5571087B3 /* Debug */, + B409AEF3F6F6D9129051A0622C3A4428 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; EF14EE64C278EDE5A0503CA4D73F1882 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterTests" */ = { isa = XCConfigurationList; buildConfigurations = ( From 90791ff9ff3ff62f4a474150df1c408467c26f66 Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Fri, 26 Oct 2018 17:43:07 +0530 Subject: [PATCH 4/5] update to 3.3.0 --- CleverTapSDK.xcodeproj/project.pbxproj | 8 +- .../{InApps => }/FLAnimatedImageView.h | 0 .../{InApps => }/FLAnimatedImageView.m | 0 .../ObjCStarter.xcodeproj/project.pbxproj | 26 +- .../Pods/Pods.xcodeproj/project.pbxproj | 1614 +++++++++-------- 5 files changed, 828 insertions(+), 820 deletions(-) rename CleverTapSDK/{InApps => }/FLAnimatedImageView.h (100%) rename CleverTapSDK/{InApps => }/FLAnimatedImageView.m (100%) diff --git a/CleverTapSDK.xcodeproj/project.pbxproj b/CleverTapSDK.xcodeproj/project.pbxproj index 89c4cb93..82b747bb 100644 --- a/CleverTapSDK.xcodeproj/project.pbxproj +++ b/CleverTapSDK.xcodeproj/project.pbxproj @@ -94,6 +94,8 @@ 071EB521217F6764008F0FAB /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AA217F6427008F0FAB /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; 071EB525217F6C8F008F0FAB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4C2217F6427008F0FAB /* CTInAppResources.h */; settings = {ATTRIBUTES = (Private, ); }; }; 071EB527217F6CD1008F0FAB /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB481217F6427008F0FAB /* CTNotificationButton.m */; }; + 0766014A21833277009A244E /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4BE217F6427008F0FAB /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0766014B2183327D009A244E /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB49B217F6427008F0FAB /* FLAnimatedImageView.m */; }; 079701E52180A055008BF668 /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = 079701E42180A055008BF668 /* sound-wave-headphones.png */; }; 07BF465B217F7C41002E166D /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 071EB4AC217F6427008F0FAB /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; 07BF465C217F7C4B002E166D /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 071EB47E217F6427008F0FAB /* CTInAppDisplayViewController.m */; }; @@ -409,8 +411,6 @@ 071EB4B2217F6427008F0FAB /* CTFooterViewController.m */, 071EB49D217F6427008F0FAB /* CTAVPlayerControlsViewController.h */, 071EB4BC217F6427008F0FAB /* CTAVPlayerControlsViewController.m */, - 071EB4BE217F6427008F0FAB /* FLAnimatedImageView.h */, - 071EB49B217F6427008F0FAB /* FLAnimatedImageView.m */, ); path = InApps; sourceTree = ""; @@ -521,6 +521,8 @@ 071EB481217F6427008F0FAB /* CTNotificationButton.m */, 071EB4B3217F6427008F0FAB /* FLAnimatedImage.h */, 071EB489217F6427008F0FAB /* FLAnimatedImage.m */, + 071EB4BE217F6427008F0FAB /* FLAnimatedImageView.h */, + 071EB49B217F6427008F0FAB /* FLAnimatedImageView.m */, D0CACF9E20B8C14B00A02327 /* DigiCertGlobalRootCA.crt */, D0CACFA020B8C19300A02327 /* DigiCertSHA2SecureServerCA.crt */, ); @@ -566,6 +568,7 @@ D014B8F420E2FACA001E0780 /* CTSwizzle.h in Headers */, D014B8E620E2FA64001E0780 /* CleverTapInstanceConfig.h in Headers */, D014B8F220E2FABC001E0780 /* CTDeviceInfo.h in Headers */, + 0766014A21833277009A244E /* FLAnimatedImageView.h in Headers */, D014B90A20E2FB74001E0780 /* CTProfileBuilder.h in Headers */, 07BF4662217F8359002E166D /* CTInAppUtils.h in Headers */, ); @@ -778,6 +781,7 @@ D014B8F720E2FADA001E0780 /* CTConstants.m in Sources */, D014B90720E2FB67001E0780 /* CTKnownProfileFields.m in Sources */, D014B8E020E2F9E6001E0780 /* CleverTap.m in Sources */, + 0766014B2183327D009A244E /* FLAnimatedImageView.m in Sources */, D014B8E720E2FA6A001E0780 /* CleverTapInstanceConfig.m in Sources */, D014B8F520E2FAD0001E0780 /* CTSwizzle.m in Sources */, D014B8EF20E2FAAD001E0780 /* CleverTapUTMDetail.m in Sources */, diff --git a/CleverTapSDK/InApps/FLAnimatedImageView.h b/CleverTapSDK/FLAnimatedImageView.h similarity index 100% rename from CleverTapSDK/InApps/FLAnimatedImageView.h rename to CleverTapSDK/FLAnimatedImageView.h diff --git a/CleverTapSDK/InApps/FLAnimatedImageView.m b/CleverTapSDK/FLAnimatedImageView.m similarity index 100% rename from CleverTapSDK/InApps/FLAnimatedImageView.m rename to CleverTapSDK/FLAnimatedImageView.m diff --git a/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj b/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj index bf80f4c0..91441e6b 100644 --- a/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj +++ b/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj @@ -309,7 +309,7 @@ 07E16E82212FF6E700429BDF /* Frameworks */, 07E16E83212FF6E700429BDF /* Resources */, 07E16ED021300A5500429BDF /* Embed App Extensions */, - 4451C8F8781520860CE1D567 /* [CP] Embed Pods Frameworks */, + ACA92C6133375A59E032030D /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -543,40 +543,40 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCTvOS/Pods-ObjCTvOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 4451C8F8781520860CE1D567 /* [CP] Embed Pods Frameworks */ = { + 75907684EA1FB3A91E298071 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", + "$(DERIVED_FILE_DIR)/Pods-ObjCStarter-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 75907684EA1FB3A91E298071 /* [CP] Check Pods Manifest.lock */ = { + ACA92C6133375A59E032030D /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ObjCStarter-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { diff --git a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj index 44aed8a3..0a62f232 100644 --- a/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj +++ b/ObjCStarter/Pods/Pods.xcodeproj/project.pbxproj @@ -7,220 +7,222 @@ objects = { /* Begin PBXBuildFile section */ - 00CD6B0C2775DD1B2851ECB227777374 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */; }; - 01D9816FFF850A92F0EF57FBC6648961 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 927DBB72AED631D6889D58A89E469529 /* CleverTap-iOS-SDK-iOS-dummy.m */; }; - 021382EC0A170AD0FE95998A547A9D9C /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CF1D511D3C332452112352871B743EF0 /* CTHalfInterstitialViewController.m */; }; - 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D13BE9CD94ED85D886B9C5B48FAD110 /* ic_expand@1x.png */; }; - 031FA0DC27C1FA646F0CAF53531BEC04 /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 032F61FEC428EE8AF48AD18979028C2A /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03FD8A83E2221E1FD4C863DA823CE5C8 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = EC1B3E264B6183459C9C900BE3F4411B /* ic_shrink@1x.png */; }; + 019966732D030AB16972BCCB9CC259F7 /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = D543C5BF50378C1B8A23F6976D478067 /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 025318C726D140C576C0CEF618BA22E0 /* ic_expand@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 136304F58B055F4508F3B3A8DE97C896 /* ic_expand@1x.png */; }; + 0356DDAC53D1FF3BB76C2FEF4DE919D8 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = EC9C697FCA78C0EC2162488EF7230820 /* DigiCertGlobalRootCA.crt */; }; + 04383408B0ECBDD7A75116AFBD8B850E /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 9695D83BF46B823360ACAF210134EC68 /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 04A94BBBFC01C559A0252A56C1B29385 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 49EB62718778444E487FF6AF62CDD169 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 050B115BD9DF3D531DB1C35800D99C9A /* ic_shrink@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = CDE6846D50B94A5F6CD61BC0AAAFBF8D /* ic_shrink@1x.png */; }; 05B73700B32D35A8C35B046A0CCA5BCB /* Pods-ObjCStarterUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0AD8ED59807D181886EFFAFCB220A19B /* ic_pause@1x.png */; }; - 0759F3D55DDE04F73CD3097F6FDFE61C /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */; }; - 093B36E6DCD798AFB817BC00AA546B21 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 096539591AE0664B0F82DEF439953BB6 /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E87E4D796D536FC582D411D4ACE3F5 /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */; }; - 0A68514D02C62AF9163D33AE39A9C9B9 /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = D6A9765C12DB28F8B50A5F5181F8B42F /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0B5C00301D54AA94E88D2C0953FE584B /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */; }; - 0DCCC84D84EB50796A605A1653080CAD /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0F934E7C674AAEEAD3B4BD442615299F /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0FFDF318AB1AED92A862403346625305 /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */; }; - 10D1259C931528B422B4FB873FCB242D /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1362D217B53E46C5D2AA4EC490F13FB0 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 86501CAE0614F927948424FC4F958D74 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1408048C4B3E30428A43AC7271182FD8 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */; }; - 143069BF170194B2462FA47B6592E0C7 /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D52AEA4052F82C732A08C552E972F2A1 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14701F7610BD5082250C2EE627027F5D /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */; }; - 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 29FD80ADF71F8D84B8F4B1326C53DDBB /* CTInterstitialViewController~iphoneport.xib */; }; - 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2935AC9AA6387F3C060F912100E27542 /* ic_play@2x.png */; }; - 1A6CEC7F0FCB64076B1CDE48DBCA7BBF /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */; }; - 1A76E743B34E6676732EEFE86ACDA77C /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 68E7F7E0E31959E42B2EB4A812445876 /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B517D01432F9A00E80DE1CE507815CD /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */; }; - 1BB69B2ED08032FBD44D95CC7A1212E7 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1C748BBEDA47B1BF59E053BD496B9B12 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1CB1C7F933C7BBBC503F44B7DAB93C69 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A0F3D5DBCA94E212CF2BE0F6864EF0D1 /* ic_pause@3x.png */; }; - 1E2B64D7A0F71789F93B988952F6675A /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 207C907E14C61097232FBDCE89D235F8 /* ic_expand@3x.png */; }; - 20FDF433EECF5AAEF28F5A14B75983BD /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */; }; - 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BC3AEB7181DB5A005C8895FD7B16F6F2 /* ic_pause@2x.png */; }; - 241D0E492169E2BC5D9F27236C854842 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 24A3A1DFBF19E8F7CBE525912614ED72 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 24E638E9EF98014BF882E43F59CEC304 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */; }; - 2548F0C5A65638676A41E70B82FA2A01 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */; }; - 27C534B1A3BB23199808EBB8B4251B06 /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = 16C557CF28EADD35E90EF9CB8D7CBA7C /* CTSlider.m */; }; - 284A1D052FED86B28FE00AE6CCB1AC02 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1E7D8C0E52CE0FD629BD5D6B67482AAF /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; - 2A6B4251F2A6EA958DCC4C7A374E9006 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */; }; - 2AC49902637D8D4FF3943B25AA2D0C71 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */; }; - 2B2D702CF25B04A1D3C06CE08323548C /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D311440C8EE1F878527C73F86C9D21DC /* CTInterstitialViewController.m */; }; - 2DE5F91E3211011E9485C7FC58454AC7 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = DB2753FB6B139A135E8A8363D6F99DCC /* CTDismissButton.m */; }; - 2E3155BF4C3540016D1F8BBF6FBF98FC /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */; }; - 2E8609B263EDAE2C5B29E035900BECD9 /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7442F4D96390B8A3A85A4351E531AEB8 /* CTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2F502CCA05B375A1ABC36F6A0F8E0100 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */; }; - 2FF269B5380A126CCE1FE77303F7232E /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2FFD0EA57DC433AB764BABEEB252BC29 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 31AB76B508F2CF3F9FD707508EEE2688 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */; }; - 331C2D5437D1D6BAE75E3FFBCBB78C70 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 34978968270836ED81BAD85EBF354EAD /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */; }; - 354D13CBE3BAE064CDA92331F2B82E7E /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D9614FEFA39B257A0805F70C00DCCDB /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 371E5E614381855F61DB63B05F004DBB /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 373FE79B5178B15347063B86410ECF23 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */; }; - 38868897F2C820C53932844E01F20032 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 38C5BF09C9E01E5C1BE7662B200C9E10 /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */; }; - 3AC4A799FE47AA7D0FEC8E5C53726140 /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E3DA29E0335821BD64FCEEFF71E7BF3C /* CTAVPlayerControlsViewController.m */; }; - 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = E13DA569FD2A83038236D35479E6367C /* CTFooterViewController~ipad.xib */; }; - 3C719BCB68352883700C142168ED054F /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 89D558ADBD2C8048E37BB654B7A938EE /* ic_expand@2x.png */; }; - 3C9F146F332E3452961A11AACEF691F6 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */; }; - 3D5574464D38C09EA5FB8DF458B557BD /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3D9AE2B99DF9A8C1B30E6E9D51EE6D4B /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */; }; - 3F06EE8DE7521573986D843D1BBB44ED /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 423DD5050D84B5C2E6B39D373F1EBDC2 /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BC394816637D67C99627152CE3797B0 /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6F4F038A4D05638A4FAD1ED7F86EC272 /* CTInterstitialViewController~ipad.xib */; }; - 4A5852F773E335620451FEB5C7EC1A75 /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FEE96404139CFB165291CDAFD981572 /* CTInAppHTMLViewController.m */; }; + 06F5F0B8E27B3224174DDBA8F0DA11CA /* ic_pause@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = D61F229BD7097404A09463DBF6F7EBC0 /* ic_pause@1x.png */; }; + 075DC436FB19AE0C496456FBBBBCA3DC /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B70AE09F30139285706D87B96B514D7F /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 076EDBF4B55369F074DABA5C7B83AF92 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 49EB62718778444E487FF6AF62CDD169 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08B444D113C4688A4AD491C1C0C90CAA /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E7B097A182A433F871E63ED6A8A53E52 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 097DCCA74CE1A4101AC2AFF977FED231 /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 527BF21FF6FC41547E18EFD6A8F1305F /* DigiCertSHA2SecureServerCA.crt */; }; + 0B9604E8639FC280AFCE5525C0DF72DE /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 394EBE80516139F64F6FC71DD9B6B23E /* CTPinnedNSURLSessionDelegate.m */; }; + 0CEB894A42167717B0DD0B88965BB8B5 /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = CC5D0B8692C53314758FCF655C9DA029 /* CTInAppNotification.m */; }; + 0EA6497E515BBF774E12927B4F58FE09 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E4B52C105964295DFD36A013FD29A697 /* CTPlistInfo.m */; }; + 0F5EBCE2BC3C3CCE83686E2E0B3BB229 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9F312E74BF39FF075418DA1A21B000 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 127DD67C05F173C125D7FB7EA81D97F1 /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = DC1A354B989FD32E783116138E5A68B4 /* CTPreferences.m */; }; + 145E734BBC07C74F9683CC957C3AE67D /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = A0614CA4BC8D032872F1843DEC4BCFFD /* CleverTapUTMDetail.m */; }; + 156CF49F1F7D157635D33387D9AB3835 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C22CD81AB7B7AE5CAE4280B119AA9F7 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 159C0881A84A2B1F2223EC0DB904322A /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = CC5D0B8692C53314758FCF655C9DA029 /* CTInAppNotification.m */; }; + 160BE77DF345665361FB4B53C75F4BAA /* CTInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6D5D76B445EF5FA681BE76EECC0109C8 /* CTInterstitialViewController~iphoneport.xib */; }; + 1874B74CAA7711561DAE59624B17E435 /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 551D5602237989DE6A8582739E068591 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 189C13AA533C9EA91E0FA1004E5596BF /* ic_play@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = E1AE0962382D63E3BD800F113259D28A /* ic_play@2x.png */; }; + 1B9E4B4A3D13E04B9CDDE8067735E007 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = EC9C697FCA78C0EC2162488EF7230820 /* DigiCertGlobalRootCA.crt */; }; + 1BFCDB17546E2782D2BE747920739658 /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D7BC8D68CD0E1295BCE67A4EAC94CB11 /* CleverTap-iOS-SDK-tvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1CD9A5F614B585ADC4D85282CC63F9C2 /* ic_pause@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 94807550BD47C9E4AAD8B075C0E3C5B2 /* ic_pause@3x.png */; }; + 1DE8B5C56C90DDA315D39EAFB2FEC844 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD10F967555B9910D22C26C7C80730E /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1EA156FB080FC5AAA17DF148BFF48539 /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = C71FD0730A6C95382CAEAE8EA6D6C075 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1FBFEC1199EC6702EF9667E8FDE94BA5 /* ic_expand@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D0AA251E8D333CA7A8821F8ED025E60D /* ic_expand@3x.png */; }; + 20E584334BC490EE9148DDC360F9CCBB /* CTAVPlayerControlsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 92F5FD5B43281CD40EDFDDE0BFE50E9B /* CTAVPlayerControlsViewController.m */; }; + 20EE9A8D8CB60D116193950DDA21D976 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A36E887DC0B59FF9A9EE45D0E549E860 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2228EA0868EC399661350A546B7FD6E2 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 56D478D07B27BFFFB796B200CE5B2BA2 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2257DDA5713716047A1287CBC0C3BF43 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 931955FA97D3AD073FDC034F68777212 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 23E40774FBD23725875ED1080225D71B /* ic_pause@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6D58B3FF37F9AFFABD98A10766BDD44D /* ic_pause@2x.png */; }; + 26710F78640D6C950D46145F5F71C2EF /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 965306BE46850E4476C1EA58AB08EED7 /* CTUriHelper.m */; }; + 26C3E7B2CDABB8A32E799A5424B02ED8 /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 05B0B48AF845DC78378BEF56822A0B5D /* CTLogger.m */; }; + 26EFE33BA60630AF279DBC79E62B7920 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E09FE9E56679DE709F6B24480C23EE1D /* CTCertificatePinning.m */; }; + 2931AC44B9FA8080E78FC5A6CF868E4D /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 269AC7FB0C4CED99C25D10B760FAACD4 /* CTCoverViewController.m */; }; + 2941CD022D8B2CCEA1A6A31727C61042 /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 931955FA97D3AD073FDC034F68777212 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 296E072D627DD14E7E42213457F5F614 /* CTHalfInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0A4ABE1ED3A0E08A57B676413A390C69 /* CTHalfInterstitialImageViewController~iphoneport.xib */; }; + 2B6FC734C6CA2584BB66B4EEA276D076 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = EE74DE7CE2CAEF199A4F2E736B5444D6 /* FLAnimatedImageView.m */; }; + 2BD81FEB113E79A5B2AC42FBA78BC581 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; + 2DF403615FA15E305D4CF8DF3B7FDFB8 /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = D543C5BF50378C1B8A23F6976D478067 /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2E1B67FA5825CC43873CCCCC9A8C87AB /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 05B0B48AF845DC78378BEF56822A0B5D /* CTLogger.m */; }; + 2FBBEC07A86FBA7283F22D628D81276E /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3095E807A11FB6375FCA4AA260BBA802 /* CTEventBuilder.m */; }; + 30BC4CB4CE59D3546E6D71B2461B834C /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AD7CCAF8E73FA20B1585DF553A57C5A2 /* CTHalfInterstitialImageViewController.m */; }; + 321C8D98A3A70F08356D695DC24E606D /* CTSwizzle.h in Headers */ = {isa = PBXBuildFile; fileRef = 9695D83BF46B823360ACAF210134EC68 /* CTSwizzle.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 321D7E47128A04961D0BA327BA2CBF3D /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 56A49FBC0EFE520AC706E69F46E001CC /* CTSwizzle.m */; }; + 32532E93FF9A84C8C9890DC63A3BE318 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 835627291937792A21124FD4AB4A18DC /* CleverTapEventDetail.m */; }; + 327C0DC095145389EA92CCB4098E3FD4 /* CTHalfInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F73014FC6D0633BC655951F07E5E015 /* CTHalfInterstitialViewController.m */; }; + 32C2095C462E3DF82294822A6D06E52A /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BB62C49A14987C6FC89120F7AB770A9 /* CTInAppUtils.m */; }; + 32C3A35DE4655CA339093A4540B20966 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC25E7418C1C7F3CB29C3D87771977A /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 33A40BD65EAD1F62B4A2D378F3A12DB1 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = E069B9D9C5E39F08226BD77D7ADFACC7 /* CTValidationResult.m */; }; + 35A14A069C9FCC9AFE9E3FB2BEC12075 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7018F5597CE34DFCDEF5D795A2796EA9 /* FLAnimatedImage.m */; }; + 37929862226FBC933E3F29D0F449C7A4 /* CTBaseHeaderFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 995A6677E2991BD72791806C4F9A7FBC /* CTBaseHeaderFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 39DCC474DBE62620A15E113CBF4D4048 /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 56D478D07B27BFFFB796B200CE5B2BA2 /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3AB39EB03DF665D6B08BD64BCC9A20FB /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 56A49FBC0EFE520AC706E69F46E001CC /* CTSwizzle.m */; }; + 3ADAE255C58798E4D39115CA1888C516 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC5282D081707857B3A015F9A462C3E /* CTLocationManager.m */; }; + 3ADF561410FB575959611F0EDAE149E3 /* CTHalfInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = CE834314A265333D84FD03B767B6DD42 /* CTHalfInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B3CAA501029A009377E190662B36DDE /* CTFooterViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = D5A9DC6C6A7FDC1F1B96185ABE022098 /* CTFooterViewController~ipad.xib */; }; + 3C9D8BC08682BAF56046B519F9E5D884 /* ic_expand@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = FA50D8E5A8C18EBA0CE4DF069730B2DE /* ic_expand@2x.png */; }; + 3D2507AE9B75F8129E3FF909A48AB372 /* CTInAppDisplayViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C22CD81AB7B7AE5CAE4280B119AA9F7 /* CTInAppDisplayViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3DE2B72606B061F05488BF535B890223 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C56B9DD164BD1C2F223DD9E57A8D9B /* CTKnownProfileFields.m */; }; + 40664B8A0697EF161D85C8AE74F9CECB /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD0FDCE50661AA79B4A851D8A873663 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 411378120CA0A042F812BA05E04A25C1 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = BE4FF7D92BDF0E1D568D53C65596AF89 /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; + 43DD5DFFD7B75129551B7BF4FA467AD0 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = A0614CA4BC8D032872F1843DEC4BCFFD /* CleverTapUTMDetail.m */; }; + 45227132853B3293ECC629ABB3032F3B /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = F2E38FED1F744E4A2B8D59E388D2FFD3 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 45BD171ABEE9497AF46E036AD736E775 /* CTInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3FB139938EEC7D267F6C1DC5F4650FC8 /* CTInterstitialViewController~ipad.xib */; }; + 464333947A06BF1A097ECA3571E326E2 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CCB8B1BFEA8A95724A14FE93EE0E0778 /* CTInAppDisplayViewController.m */; }; + 46DEEB62D4DC2734FF6A6DB20BAC98D6 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DFD1499A9C6494C71D55AFB666C110A /* CleverTap-iOS-SDK-iOS-dummy.m */; }; + 47421FBD8FCEEC460C7F346086DB4B27 /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = EE74DE7CE2CAEF199A4F2E736B5444D6 /* FLAnimatedImageView.m */; }; + 47E76CA4E5E8A2008F088EF3E8B339D4 /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3132311D86866710BD636E787EAC5C8E /* CTProfileBuilder.m */; }; + 483D6BBFE052BB6223662C3F32CDCAA0 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DC25E7418C1C7F3CB29C3D87771977A /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A311153F88D539B6F88D76C743D1552 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 2707C7EDD1BE135A727A8CE17C7E3B4B /* CTLocalDataStore.m */; }; 4AAB1998FDD2C1A3A045AAE63DF6CC74 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 4B5E03B9280EE27BD18965793A6CDDF9 /* DigiCertGlobalRootCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */; }; - 4DB5064262387E3B55460781A3ABCFC3 /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D55AFAAC969D674A8EB476BC99B03F5 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4E0483F9EF57A7D87E7B0E3DA0A49F9F /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5082EE4ABA7BCE3E537BD26DEF005287 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5367C963FBFAF1DFEBD2740163805B06 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */; }; - 54BE8E8954934378FFE02E887485AC07 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 56A07117678EEB765548C114F06277E8 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */; }; - 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = FD56BD96852774EEC730A46882FA3535 /* ic_play@1x.png */; }; - 58FB906FB78086C3737AB0A202DDCD49 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C08F421C5AE0B6BF43D6FA5C766EC0C /* CTFooterViewController~iphoneport.xib */; }; - 5CF204FFC01A557A2B7D2D81F6AB27A2 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */; }; - 5E617E1B9A629704C417934BD63A65AB /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 61E1464A32493C656A0114F971A94937 /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6287FB2B8617982D9C6AE8F60D4A37DB /* CTInAppNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */; }; - 629C17695DA178B9A73BE2CAC43140FE /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F3F634940130B8147E3A6B8E20E52C5C /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 62B3580CDF0B467BAD35F4D312E73F12 /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EABF23D5311F9D66F0E6C19C07FED18 /* CTInterstitialImageViewController.m */; }; - 6312FF3C4B0B9DEF5EC7D079CE999DAD /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = B1A453D48276FDD1B6CC30EB4C2AB07F /* CTHalfInterstitialImageViewController~ipad.xib */; }; - 63774FFE217DE5F843611BA552DCCCCA /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 639FA8269565E0163F3991CBCD447FE4 /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D8D56AA4B720AB4FB380C3E6A6549EBA /* CTBaseHeaderFooterViewController.m */; }; - 6563E60498568DF50A0D0828FBF0FC98 /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */; }; - 65BAEB6EDCD44499E8B8F1A939C09170 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 664BD277637820E8201EB18FF2D66512 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 664DA60F2932F1F3146390BEFDD7B22E /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 666A7FAF479F330AFF6BB1D7DC0ABD99 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6819E1D2ED7A86AD6193162D2679F761 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */; }; - 6B209683138FFB0457BDCB0067B90738 /* CTValidationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B53E98525827CD38476C2CDB0F91AF4 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1CA6C76E21BCF499209148ED65DB32B4 /* CTAVPlayerControlsViewController.xib */; }; - 6C129D50A8377F4307B0DA58F7275323 /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D7E10ED25B97DEBFB5D37A71103670A0 /* CTCoverImageViewController.m */; }; - 6C562CCE50DFD012D57962F6C2A60824 /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 41C84398128D4024055564AB635FACFC /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4B9E321C86BB8FA4CB1B577078B6DADB /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = E069B9D9C5E39F08226BD77D7ADFACC7 /* CTValidationResult.m */; }; + 4C7AC7B8D45E481EA7327429747D530A /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 758F33C54F35570FC766C43728CE7B46 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D56362CE17CA396E49E461E13962DDA /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F941163E688FD29B138F651C992A23 /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4D97A497E52F42E0025BFB48E47311D4 /* CTSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = CEF1718498368EF535C233136C98D138 /* CTSlider.m */; }; + 4F9E60F5627F08B5DD7A6E2AA9A09999 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 33C56B9DD164BD1C2F223DD9E57A8D9B /* CTKnownProfileFields.m */; }; + 5047CD6AD90B3EEB4419F4ED876E079B /* CTInAppHTMLViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 73D9D8A160193092345354E99A7EDC60 /* CTInAppHTMLViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 510A04A1B183505F7BD59C955D8A161E /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0840C9BDE124A93F680EC32D84FB6B2A /* CTAlertViewController.m */; }; + 552F43140AE88F4EBFB859BFB84FCFB9 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C2E2044A2F88E9B43BF8386D047D1BF /* CTInAppResources.m */; }; + 555C7939AF6D75A6C6FE7ED073A850B4 /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 65026832BA761398F290AE5EA311FA55 /* CTFooterViewController.m */; }; + 55BCBF03AC573DB45CAF3E1A599294EA /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E0FCF05DDC67CAF4E35DDF4A77DEE6 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56206664BD6EC603AA524EF95CCC11D0 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DC19136B0C1E4689553A5D390651A66E /* CTUtils.m */; }; + 5649175CFFDDDFE7EC38B547ABA3A0A4 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = EADC96D6503F757AEEA9575AC91837F4 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 56A28503DEE8311715FE53BC0CB9BCE4 /* ic_play@1x.png in Resources */ = {isa = PBXBuildFile; fileRef = A86E965C038024D41C727BCF7FF3A4A0 /* ic_play@1x.png */; }; + 59BCD23082334BF91EA0F514C21FF879 /* CTFooterViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84280E78531213F9B2AD7DC3250D3CA7 /* CTFooterViewController~iphoneport.xib */; }; + 5D504EC3775FF00EDEB306A50E6B531B /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DD445C34E2FFBDBD55D11E062BCABEC7 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5F547C33247713DB7A5930AE38DBF30B /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = B7539C9A641D878ACA3BA5CE9E8E935F /* CleverTap.m */; }; + 5FAB1F228D9D129C5641A66EC374E6C5 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF60C279F13F1DB3A95FC743422A730 /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5FCFC9204F67041BD9EA52F0211B95B0 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = C010200A8014573D94479818B25785F4 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 616308FB93CF9ACED564092A5D311412 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D6BD2A41B8236709F497323814CF069 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 627C156452099451B5FE4A23BB7DA8C1 /* CTDismissButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D2D3A8C820C331705A297AE9F3B31537 /* CTDismissButton.m */; }; + 635D0763858AF1658263298750A1E979 /* CTHalfInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6581711E1296F61D5FE08D3C4DA8F3E2 /* CTHalfInterstitialImageViewController~ipad.xib */; }; + 6510934118D201EF143AF623A0D68547 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A36E887DC0B59FF9A9EE45D0E549E860 /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 67937F0331DDCDBFF9AA3E54A58C1D00 /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DD445C34E2FFBDBD55D11E062BCABEC7 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68BCACC43B126533207440FCCAD5DC76 /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA9A742205E3C9BFDEB898D3CBE3D62 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 69DB9536707021424F7E28AB25604A9F /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA9A742205E3C9BFDEB898D3CBE3D62 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6AD749D5249509F7AD35E5A5FA7F75E2 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = C3C975F4DF130B3E7F3A719BA6189696 /* CTConstants.m */; }; + 6B1BFD349803B8193167AD98F9035057 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C860F6F466673568602392C80F1FC3D /* CleverTapInstanceConfig.m */; }; + 6B78BC4B3D25C64F74205BF8269E279E /* CTAVPlayerControlsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 40D4581A4A4B7C9BDBAC171A2CC79D7F /* CTAVPlayerControlsViewController.xib */; }; 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - 6D7C3D0C1FA0A61E6D561EBB5A10BBBC /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F76D646BBFECD2A87BC4F5EF9C298248 /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 293EB57D407F084A744828592CF4C178 /* CTCoverViewController~iphoneport.xib */; }; + 6DBA7B6BDBB696F5C8A075D491414DAE /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F9A6CF69AE466F2A779ACF83EDBE1AE0 /* CTInAppFCManager.m */; }; + 6E88DB279A702C331BB5E0D9630809DD /* CTCoverViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78FED9B66DB201853EE7677DFF389D7B /* CTCoverViewController~iphoneport.xib */; }; + 6F624247548BDDECC5DFD411F4EC99DA /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E7B097A182A433F871E63ED6A8A53E52 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; 7074E3768AFE3F4B39D448D71C59B04C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 01B0B87EF17E6E4B88DE1517C1867377 /* ic_shrink@3x.png */; }; - 72784A38FBAD36E671C59DDD5B30474C /* CTHalfInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 33DD8AC68339188F422EB57F2913E0E8 /* CTHalfInterstitialImageViewController.m */; }; - 741162B5B96292C2BD852FAE034B9549 /* CleverTapUTMDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */; }; - 760314905F812C7F2600E76AE71A4F93 /* CTPlistInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7690C272C5E33EB39EBED93B5FAFF944 /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0837D1B0634780E62A95FD6DCA800D3E /* CTAVPlayerViewController.m */; }; - 76CC5ED8D94D128DB47B828D05A6DFC3 /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */; }; - 76EB1D667E5B080F7D4A3AFE697F5564 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 77E12C2CC3C8A3EF098E4AD690C457FF /* CTAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5E0CE9AA361FC9A01EC7B82FC8424DDA /* CTAlertViewController.m */; }; - 77EC2EBA12A124844065ED387B67EDC8 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F9F1CD8D8B458B74D68588EF102F740 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7D00CF0EF3DE22523F4848E715DEC01D /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */; }; - 7DE6F1C9AE1BB331F2BDA389457C055D /* CTCoverViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 980C77E9590447D97FAF3D97D103BC14 /* CTCoverViewController.m */; }; - 8384765D35700C02759D05661DC66262 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 85602CDC026AA03E513D4272346AF905 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D71E44C197693A626C97A48F88294C48 /* CTUtils.m */; }; + 70E3B81E9B80B2C8F05BEC9979B91FC9 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 26E0FCF05DDC67CAF4E35DDF4A77DEE6 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 71F8C047665D98024A518822024D9974 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = E4B52C105964295DFD36A013FD29A697 /* CTPlistInfo.m */; }; + 7202BC70B8B4C79614154422A1CBFAC4 /* ic_shrink@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = A8E6B9FAC29A5B3553FCAFDA211AC2AC /* ic_shrink@3x.png */; }; + 72BBEC03FD3DFBFD5833B750F55D0A24 /* CTInAppNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 551D5602237989DE6A8582739E068591 /* CTInAppNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 72C4CD62DCE08667D8A3A7EF2D6D50BB /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = DDDA4431D593E23534E0F0B9529763D4 /* CTDeviceInfo.m */; }; + 72DF403F695F2567C544ADB0319D8E6E /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = EADC96D6503F757AEEA9575AC91837F4 /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 74311CA47AD2492C2E8986626ED39677 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8494992EC4204CD25669D9D750A6960D /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 74460F5CE98A702959AF4418AA14C686 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = ED99091080FADDCF718061EC1F67E53D /* CTNotificationButton.m */; }; + 790B802773FBD1D44CA2D6E870462B57 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = CCB8B1BFEA8A95724A14FE93EE0E0778 /* CTInAppDisplayViewController.m */; }; + 79116F45BD9F69167577A2385D605E6E /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 365E913B9862CD84C58F3C93A99AC5C3 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 79F5A7DCBBB01A028C9CDD0BEF570400 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = E47022E886F10A61A9610F5B4BF81135 /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7B1EE878A21AA78766C3B301A074C996 /* CTCoverImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 42DAD87607037825561E18A00ED625C5 /* CTCoverImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7B5704185C472AE4FDA056BAFE146878 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 04B24CAE757AD99AE1E15EF7A2566A76 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7CF7A8B79A4004282A42EE879411F263 /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = B7539C9A641D878ACA3BA5CE9E8E935F /* CleverTap.m */; }; + 7D852A54F6E87CBC64B2B9A4C9D34D10 /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D8D7C44097D696CEE74C43DFE1AD4D9F /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7DAA9ADEF7F2DF6E99138766B9FF8EB8 /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A18F6574C9217CDA4A55964C6E6E547 /* CTValidator.m */; }; + 7DE86E771737F6D9FEA0F30442836914 /* CTAVPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 85CF1030F7DEE65B04947F6E7C0B51CC /* CTAVPlayerViewController.m */; }; + 7F5B464BDEC5BD90A0CF04FBAC7B0C3D /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = ED99091080FADDCF718061EC1F67E53D /* CTNotificationButton.m */; }; + 84ED2016F470CC060A6F0A587BDD8F30 /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = DC19136B0C1E4689553A5D390651A66E /* CTUtils.m */; }; 873BA4CD321479A0F6A5EDA64ECABC6C /* Pods-ObjCStarter-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89465443DE5DC74B33ED71D1F2E56B1D /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89D54E506A71AF1A5115FC4A0C54E26C /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */; }; - 8A970F670B7822CEE26A48A9E750664D /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8B02E16866F7F6FB972B54B1BC5BCF41 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8B190A7181EB8EDA272EDD1DED93D7FD /* CTDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8BE0E1322A594060BD8E23F55A38590B /* CTLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = A7485B9EC9912212D2B59AF1BCC83BC3 /* CTHeaderViewController~ipad.xib */; }; - 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = C845F911ECAA570E31C29FF154152649 /* CTInterstitialImageViewController~ipad.xib */; }; - 90BE53C9F86FC68B144844EF07093731 /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 90E0BDD6BC2E0947C590D257FA464D77 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 91F16F1B37D29668EAA3DA3B2D500AE3 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */; }; - 9509257AF0DC916E3D838DC8225EFB6A /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */; }; - 9712CED289F06E99A03A87D3317CF8A8 /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D79FEE54BBD1173558ED82EE655E214 /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 999DDF2EF8FD03C2FF27E5C81FA9D178 /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */; }; - 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9C43E5F32B9B4C51B281C4B038A521C7 /* CTHalfInterstitialViewController~ipad.xib */; }; - 9BB0B487B240A3F307E81311E3FB4B43 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = E2B0BB6C138FE83987B28942C39CB8B6 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 78B6498DD556C677DF91A4DCAA32688D /* CTHalfInterstitialViewController~iphoneport.xib */; }; + 888EE78D8C760A5A354920848439B301 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = B58A26B633EB1902650D41D076C55DA9 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88ADC992D4EA12209FA9F64E5152F546 /* FLAnimatedImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 758F33C54F35570FC766C43728CE7B46 /* FLAnimatedImageView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 899B170BD0F4D964092AB4EDC9AF6650 /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = C3C975F4DF130B3E7F3A719BA6189696 /* CTConstants.m */; }; + 8F0CDD3D32FEE74809D309518CE00D2A /* DigiCertSHA2SecureServerCA.crt in Resources */ = {isa = PBXBuildFile; fileRef = 527BF21FF6FC41547E18EFD6A8F1305F /* DigiCertSHA2SecureServerCA.crt */; }; + 8F0D9BBFAED4F6286FDCF9F7FA28A0E8 /* CTHeaderViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 45431EA0772880AB5904391D43BF921A /* CTHeaderViewController~ipad.xib */; }; + 8F32D07A87539709096403303AC2F8AF /* CTInterstitialImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9971A335A4996920FB8B3F4FD0850409 /* CTInterstitialImageViewController~ipad.xib */; }; + 90EA6AB5E392F91A37C506E653411F4A /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9870D51A47AC79E23EA87DC4A00244DC /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 91B81F7091534A75A312209AECACB31C /* CTProfileBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3132311D86866710BD636E787EAC5C8E /* CTProfileBuilder.m */; }; + 91F6F789F99F4B1C979253D8926777CA /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F95BDEE1CDAAF02059A8F66E87A1A34D /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 95EFC98C1F3A60575647C4858027AF49 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B4E9FCC817D4B3B2AD7F2014AFD1E4EB /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9A6779C68950304A180037F42067B2F0 /* CleverTapUTMDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BD0FDCE50661AA79B4A851D8A873663 /* CleverTapUTMDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9AF7309570D6FA3D6AA3B6996855CD17 /* CTHalfInterstitialViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0325EA533BD6E64A4EC350006AAACA37 /* CTHalfInterstitialViewController~ipad.xib */; }; + 9E39AD03EB04F2558E3B015675ACD707 /* CTHalfInterstitialViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 25C38BB213F87B747D1E560F459247C1 /* CTHalfInterstitialViewController~iphoneport.xib */; }; 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9F2E94C0A86BC9D4E42AE230FE11582E /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */; }; - A0EE81EF7FEFE4F21A5DC3BBA5CDAA2B /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = C864580FC7B6F27609F1543E602840BE /* CTInterstitialImageViewController~iphoneport.xib */; }; + 9ECA235A95DEF80D54EBCAC5D6CCEEAA /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB849FB0102D7377F6D65E8015C997C /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9F8A5988550A83A50B5D62455E78905A /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BCC5282D081707857B3A015F9A462C3E /* CTLocationManager.m */; }; + A048D31965D0FAAAFF23C5151625498B /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 835627291937792A21124FD4AB4A18DC /* CleverTapEventDetail.m */; }; + A05A70956819445A57C123EFA93E9355 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 484888D6574B6AC25D0E4E33CA78B4DE /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A07032BA132125D65327FE71E6B97F14 /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F71D8061FA3E0F943E5E4C85DB9EC24 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A1353CE9ED04791C1A9437E7C1C115A9 /* CTInterstitialImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1D4376416EE1471177BC486DA96D512E /* CTInterstitialImageViewController~iphoneport.xib */; }; + A1D70D42C84A3D23CD5C9FEAE284726D /* CTEventBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 3095E807A11FB6375FCA4AA260BBA802 /* CTEventBuilder.m */; }; A21387232BA8562F7EB7C84715C15B1D /* Pods-ObjCStarterTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */; }; - A454DC7AF9BB7A38FE7DFC9DFA48FB23 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */; }; - A5F1C869D2ACAFC3AD95E626ED72BAE1 /* CleverTapInstanceConfigPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A68D8644D5F526C894525720F40D9205 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A74CA2403D053D5A579290BFFA87A020 /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A9168CA54A15060B1578A181DF7C504B /* CleverTap.m in Sources */ = {isa = PBXBuildFile; fileRef = 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */; }; + A3139F9E7A462B56EF249B2D99CE361B /* CTCoverViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 668094278340A9E53DF66B11F0CD3191 /* CTCoverViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A351370ECBCA236ED79A5C9C19F7794F /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = D8D7C44097D696CEE74C43DFE1AD4D9F /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5F0A130541CE11E6D7FDF8FB8B19D93 /* CleverTapInAppNotificationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 484888D6574B6AC25D0E4E33CA78B4DE /* CleverTapInAppNotificationDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AA3BFF4E465154C76F54CFB74428E1DA /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7018F5597CE34DFCDEF5D795A2796EA9 /* FLAnimatedImage.m */; }; AA697D7F464E8CA206344CE492F32374 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - AACB92FCF730A14CE1CE41EA05C5A40E /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AC13AE16D65023351598F8D229D6132A /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ACCE6300DF09F59377853C8883EF2A95 /* CleverTapEventDetail.m in Sources */ = {isa = PBXBuildFile; fileRef = 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */; }; - AD605F0A6950D54A7BD93EC7FE5FA4D8 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B07B09FF68E4CC1581ABCCC9A932A6CE /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = F64EFC9813835D707262642223DCDA2B /* CTConstants.m */; }; - B0F853F718F6EF42E6333A4D5362036F /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B29B9849CFC96618ADDA49B566555CC0 /* CTLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B2BF9DC887721C1D377B81AF5D766EC3 /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */; }; - B6CF4B85CEE9F9916DB66D4FC9D81BF9 /* CTSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */; }; - B6F6BB4CC11FE53179CCE47525AEA664 /* CTPlistInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */; }; - B8400313E027E56A7F2C15353AE967AB /* CTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 4084144C896F2C3F071CD5490FF3C4DE /* ic_thumb.png */; }; - BA6855E3CA64ED32037C79E646F904D3 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */; }; - BC19103C6668D7EF2C90A2F3CF2F121A /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BC92DCAF582DE87C2F364FEC75EA00EC /* CTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = D71E44C197693A626C97A48F88294C48 /* CTUtils.m */; }; - BD9CB598D48BC3F713AFE68D6179B6E8 /* CTInAppDisplayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */; }; - BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 8BAA2D487A5B5A072B1C9C2E16CE7B85 /* ic_shrink@2x.png */; }; - BFAC11EB4D9DA7AE809B6FBA2D46BED2 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */; }; - C15B142D52810FAD1831E36CDF624374 /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */; }; - C19CC2829DB7D756A4968D446D1B090A /* CTFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = FF522D0ABC17D71A5F73720C2BBE729D /* CTFooterViewController.m */; }; - C2EBDBE686EE487743E7389F4C71DC14 /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AB87E3D7675221E6A27B0428B2154A6D /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F9A6CF69AE466F2A779ACF83EDBE1AE0 /* CTInAppFCManager.m */; }; + ACADFF03741D939F8B61BA9E5F5A1EC5 /* CTHeaderViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F1F213F4BB19D9B0BD3EE682DE52570E /* CTHeaderViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ACF5ED3E237A32F738E4E0705E0432AA /* CTProfileBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F71D8061FA3E0F943E5E4C85DB9EC24 /* CTProfileBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD40A5DBDE7FFEF84ACEAFC067A7C6C8 /* CTUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DD10F967555B9910D22C26C7C80730E /* CTUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B36808604CC08B314466DB0F428AB5A3 /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = DDDA4431D593E23534E0F0B9529763D4 /* CTDeviceInfo.m */; }; + B6962AAD6F0AA2C41341635BBC9C71C1 /* CleverTap.h in Headers */ = {isa = PBXBuildFile; fileRef = C71FD0730A6C95382CAEAE8EA6D6C075 /* CleverTap.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B729BC9D3DA41F1E75A99A1CE368B0E4 /* CTEventBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = B58A26B633EB1902650D41D076C55DA9 /* CTEventBuilder.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B72FF04D2204D25A99D96306F6CC2647 /* CleverTapInstanceConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C860F6F466673568602392C80F1FC3D /* CleverTapInstanceConfig.m */; }; + B959AA3B288D2FCD7CAB8FEF4282D6AF /* ic_thumb.png in Resources */ = {isa = PBXBuildFile; fileRef = 9DB788D44D5BCD075138EB1CA016168A /* ic_thumb.png */; }; + BB6B60B7D2640AC505D7AD1712ADC54E /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D6BD2A41B8236709F497323814CF069 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BBC350487638B71E7A9B9B092A3583EF /* CTUriHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8494992EC4204CD25669D9D750A6960D /* CTUriHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BCEE377821B41AF4001C660D327B79AD /* CTPreferences.m in Sources */ = {isa = PBXBuildFile; fileRef = DC1A354B989FD32E783116138E5A68B4 /* CTPreferences.m */; }; + BDD606F72C327DD92905841E6E35C579 /* ic_shrink@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5391BC1322843B8F86EF9763089C1B03 /* ic_shrink@2x.png */; }; + C0041336E4336AC558C778ED77C83CA2 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DB84FB167B0C3E3F9F4C645511833153 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; C306725BFF8BED527CAF9C5DF347582B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */; }; - C3617B611AD696B0496A7AEE647D8E24 /* CTHalfInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 82153304DABB3BB1B50C8DA08CC49F86 /* CTHalfInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C5B1CA09FBA14E9F1BDC2C9E7DCA6F3A /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AF23D75FC9BF3A5DDBB77028BC8012E /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C6FD55E7E480098EE7F7D9A44BDFF8DB /* CTInAppUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BB62C49A14987C6FC89120F7AB770A9 /* CTInAppUtils.m */; }; C70540930C6D8F38AF1ACEF8947D614F /* Pods-ObjCStarterUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */; }; - C8002F599949AC1BD5C1DEC9BCF8995B /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C837A5922E974DC5E1B9EB06A8E81B20 /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC45C3A54DE4689DEB1A994269A3AA5 /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C864E7427F935591D3F9B0814B5787B3 /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */; }; - C8767C57D3CACD449C229FD60A7B61F3 /* CTAVPlayerControlsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = AAAC39506D2FA822A22D38F0F428AB79 /* CTAVPlayerControlsViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C90FCD77D05BF6C163467A5657497C2C /* CTLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */; }; - C9B6C169289B15F1890DB8D908755CDE /* CTLocalDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D0F3E9F649E41E1A231945E23B5D939A /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = 63A7696C003D1C2B628431AD230EFF3E /* sound-wave-headphones.png */; }; - D2E6F3F974AA8B757451119F670198AD /* CTDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */; }; - D36EF13A70196F6A9750E5018FA721B9 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */; }; + C87655F28E553920D7A9FB7415917B43 /* CTPinnedNSURLSessionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 394EBE80516139F64F6FC71DD9B6B23E /* CTPinnedNSURLSessionDelegate.m */; }; + C8DF9FB1DA3FE2FCFDECF359CDF5247E /* CTAlertViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 69BBF7AA271EC79F64925132ED4ECB31 /* CTAlertViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CA90645B88381F070AAF8B0724587F31 /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B1F79A33FCF950B21A4C5F785FBF7247 /* CTHeaderViewController.m */; }; + CB0C8D00CD4D34DAEE1105072C4D6233 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C2E2044A2F88E9B43BF8386D047D1BF /* CTInAppResources.m */; }; + CC59FF7DEB255AF868CEFE686115EA65 /* CleverTap+SSLPinning.h in Headers */ = {isa = PBXBuildFile; fileRef = F2E38FED1F744E4A2B8D59E388D2FFD3 /* CleverTap+SSLPinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CDD761EF75751FAA1FDB053014E98C68 /* CTPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = E47022E886F10A61A9610F5B4BF81135 /* CTPreferences.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE8E188374AE7252235F3F04F30B24BA /* CTUriHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 965306BE46850E4476C1EA58AB08EED7 /* CTUriHelper.m */; }; + D161BA4B399CF3EDC46471C2B64E496D /* sound-wave-headphones.png in Resources */ = {isa = PBXBuildFile; fileRef = 0F31D96F4D5B2355EFA3E3D605732B07 /* sound-wave-headphones.png */; }; + D1F990017691B4A56C1EF86433ED3ED4 /* CTInterstitialImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 981824D917EE4453413334C02C4F2168 /* CTInterstitialImageViewController.m */; }; + D2323EEC5925346D09DE2E93245A7FA0 /* CTInAppHTMLViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A8616DCF6DA7AC23DBA8AF14034CC2B8 /* CTInAppHTMLViewController.m */; }; + D30526E561464313871D50B33E087C75 /* CTDismissButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF77EEE06AF0E52212BE4206B451FF3 /* CTDismissButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D34FC5C385E6E194E6EAD2F83DA4A2D1 /* CTPinnedNSURLSessionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B4E9FCC817D4B3B2AD7F2014AFD1E4EB /* CTPinnedNSURLSessionDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; D38D5438D495EE1F884D28EEB0792F61 /* Pods-ObjCStarter-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */; }; - D3FFBDB2669A030F65020C0526C41060 /* CleverTapEventDetail.h in Headers */ = {isa = PBXBuildFile; fileRef = B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D51EDB1B46FC146016F28C41BD696C0B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */; }; - D71DED7AD9591CF1F514AF4E2DE29EA8 /* CTValidationResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */; }; - D967306922B723EADFA29A49B1F20E33 /* CTHeaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F61991599DB50822AE362B254FEB268 /* CTHeaderViewController.m */; }; - DE3A56E0272559587D566A5C579D6020 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 89E22A34D4BFAF91C044D0F20B8F2758 /* CTCoverImageViewController~iphoneport.xib */; }; - E17577FA3CDC8862D303B44E28664E05 /* CTInAppUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E254A31AF9AA162339AC4B7812F3CE77 /* CTValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E39E85B7EA4573C058D0825FA61FDD48 /* CTKnownProfileFields.m in Sources */ = {isa = PBXBuildFile; fileRef = 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */; }; - E8EFCD1B143DDEECAC53D07D1B2969EE /* CleverTapSyncDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + DADC7EA41BDDD0377D3F499CA2D29CDE /* CTNotificationButton.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF60C279F13F1DB3A95FC743422A730 /* CTNotificationButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DBE0F67C0718CA0884AD2648A67F91A1 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BD6775DF39FF68998363AF544CCF19DC /* CleverTapTrackedViewController.m */; }; + DCDDE491C770798D138BAD61D631C8EA /* CTCoverImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83CE8F87209C65D9F5AB52176593AFBD /* CTCoverImageViewController.m */; }; + DFDD41F32C16925B73BE1D5D3D7638CC /* CTValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A18F6574C9217CDA4A55964C6E6E547 /* CTValidator.m */; }; + E0EAD32DDDDD4DCB115090992F820561 /* CTCoverImageViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = DDEA93B4380A7DB3FE36D04CAD3CE4BD /* CTCoverImageViewController~iphoneport.xib */; }; + E37A133274C9C507FDDFB8386E5AF8F8 /* CTInAppDisplayViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 365E913B9862CD84C58F3C93A99AC5C3 /* CTInAppDisplayViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E42BAC88B86E51E7B38F0C8AE4105EC5 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3983F73A2985C565EF3062CCC0DEF861 /* CTBaseHeaderFooterViewControllerPrivate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E5C5B38B151A406926445D1C1B9F43A2 /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 2707C7EDD1BE135A727A8CE17C7E3B4B /* CTLocalDataStore.m */; }; + E6DDB1EE504627765E67A7BBD99F14C8 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 8AD3460503203660A1D872CC947CC2F2 /* CleverTap-iOS-SDK-iOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; E9180B95131D04BD35544A6FC76A9214 /* Pods-ObjCTvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */; }; - E96C664B83CF37446605A8245CF03E47 /* CTFooterViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 58D3FCB1231D679F2681EACBEF58ABB3 /* CTFooterViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ECABCB167460316C08B2F3ADA58498E6 /* CTNotificationButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */; }; - EEE58D704EC4358DD5A489632E54FDE7 /* CTInAppFCManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */; }; - EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9B42CAC7F3F96EEFE8C6359628419E99 /* CTHeaderViewController~iphoneport.xib */; }; - F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 97DEC3B26028A84DFF90730C1F5518F8 /* ic_play@3x.png */; }; - F18B2BC5436EE62BED6D5A888DB209FB /* CTLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */; }; - F269DC78BE206054129E338DA67C49FF /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E97B78D40C6FA6D7C3492F47B96AE062 /* CTSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = 96B0A82CBC7A95E64224EE63100BAF63 /* CTSlider.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC1155E313A6F5DB9A6E7EA58D011C9D /* CTCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = E09FE9E56679DE709F6B24480C23EE1D /* CTCertificatePinning.m */; }; + EE783FDA606E146C5C7D2AB48253059A /* CTAVPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 800826EF4ADF3BB9D82B24E88C91E0DC /* CTAVPlayerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF45F811330A889448FF7D0B1AB02B79 /* CTHeaderViewController~iphoneport.xib in Resources */ = {isa = PBXBuildFile; fileRef = F100E1C83B1EB518F65C86C210AA68B8 /* CTHeaderViewController~iphoneport.xib */; }; + EFC5F77BDF9E328568B2B8E7493EAF48 /* CleverTapTrackedViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 04B24CAE757AD99AE1E15EF7A2566A76 /* CleverTapTrackedViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F0BC8A6F9A54037CBEC88954FB3CCAE1 /* ic_play@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 38E248FC6D75DB2E42BF0AA88D8B141B /* ic_play@3x.png */; }; + F1CF5121C919DAA8A6DB55B308202D36 /* CleverTapTrackedViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BD6775DF39FF68998363AF544CCF19DC /* CleverTapTrackedViewController.m */; }; + F3021547BA0EF8C310614E2FD6D5DF51 /* CTInterstitialImageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D73DFF5E5060F0EA01EED6CCFA97DB4E /* CTInterstitialImageViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F3263D4C18A43009F8A8027716A717C8 /* CleverTapInstanceConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = DB84FB167B0C3E3F9F4C645511833153 /* CleverTapInstanceConfig.h */; settings = {ATTRIBUTES = (Public, ); }; }; F37D2341EA17628C9C530215C07F87C9 /* Pods-ObjCStarterTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F48DBD02B59673584A3A835B5193393A /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = B22ABFB7C7C44B664FA01DC6C9394EB9 /* FLAnimatedImageView.m */; }; - F55A3602A41BE35DEDEB07CD4A01DA6B /* CTLocalDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */; }; - F821F026A59CB0B975A252FC4F50B28C /* CTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = F64EFC9813835D707262642223DCDA2B /* CTConstants.m */; }; - F8A3AE3F3FE600C64D928AE85C9562BF /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F66F79E86BA5DF15FB45FAE1FE6BF3BB /* CleverTap-iOS-SDK-tvOS-dummy.m */; }; - FB7E7BD6E1604F72D03B5C4A04BF1924 /* CTInAppResources.m in Sources */ = {isa = PBXBuildFile; fileRef = 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */; }; - FD395338E5B0F1AFC0486AA009330A10 /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8734DB77EDD6757B151183F4F61741C0 /* CTCoverImageViewController~ipad.xib */; }; - FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 521AE17F02FF133D15599220045160CF /* CTCoverViewController~ipad.xib */; }; - FFD40C88196BBE4E60E4CFAD0D50476E /* CTInAppResources.h in Headers */ = {isa = PBXBuildFile; fileRef = 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F41E6938C7B782DC21221F54FC3F728D /* CleverTapBuildInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BB9F312E74BF39FF075418DA1A21B000 /* CleverTapBuildInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F5017FE1D8695211C12BE86DA2830B77 /* FLAnimatedImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 9870D51A47AC79E23EA87DC4A00244DC /* FLAnimatedImage.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F757706DE9BC79D2C9562AACB286CEE9 /* CTCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = C010200A8014573D94479818B25785F4 /* CTCertificatePinning.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F998A823031990817FFA4414CDD792ED /* CTInAppFCManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B70AE09F30139285706D87B96B514D7F /* CTInAppFCManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FA1F426971F336D0F39AB85B4EE6F07B /* CTInterstitialViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = B065E877EA908F82722367DFDA6884DC /* CTInterstitialViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FA76E49B0DEEC43525502122DB457CE9 /* CTInterstitialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEFD8562C8F427EFCDC8B819A95AD639 /* CTInterstitialViewController.m */; }; + FDD640B97AF0308F2705A23DFD557E88 /* CTKnownProfileFields.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB849FB0102D7377F6D65E8015C997C /* CTKnownProfileFields.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FE3E08D0ACA4F2BB8D400F5F16B6B7B6 /* CTBaseHeaderFooterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DF0EE0328A03BDB05173DA3C27AF9638 /* CTBaseHeaderFooterViewController.m */; }; + FE8A3FBFF0F820162F3F750F6576B047 /* CTCoverImageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = C57C9D71D6FF3E199EE0CA62BD69D596 /* CTCoverImageViewController~ipad.xib */; }; + FF6E82549A9D9ED498DCFE0683BA47EB /* CTCoverViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = F70EC8312DD7BF3115BF22DF3BF8202C /* CTCoverViewController~ipad.xib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -228,7 +230,7 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9522407642E3706C74D4F73E8424C0C5; + remoteGlobalIDString = D232BB786801B0F13E163425C6758475; remoteInfo = "CleverTap-iOS-SDK-tvOS"; }; 85CC18945347C350CDD3AF44AB560D4E /* PBXContainerItemProxy */ = { @@ -256,197 +258,197 @@ /* Begin PBXFileReference section */ 00431C7E823917BED274DA62D96CCA32 /* Pods-ObjCStarter-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarter-acknowledgements.plist"; sourceTree = ""; }; - 01B0B87EF17E6E4B88DE1517C1867377 /* ic_shrink@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@3x.png"; sourceTree = ""; }; + 0325EA533BD6E64A4EC350006AAACA37 /* CTHalfInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 04B24CAE757AD99AE1E15EF7A2566A76 /* CleverTapTrackedViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapTrackedViewController.h; path = CleverTapSDK/CleverTapTrackedViewController.h; sourceTree = ""; }; 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleverTapSDK.framework; path = "CleverTap-iOS-SDK-iOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 056C18E94B1C02BF7976575860C22EFF /* Pods-ObjCStarterTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarterTests-dummy.m"; sourceTree = ""; }; - 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapInstanceConfig.m; path = CleverTapSDK/CleverTapInstanceConfig.m; sourceTree = ""; }; - 080AA57FB8B098006F2CB8E2EA5183BE /* CleverTap-iOS-SDK-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-prefix.pch"; sourceTree = ""; }; - 0837D1B0634780E62A95FD6DCA800D3E /* CTAVPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerViewController.m; sourceTree = ""; }; - 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTNotificationButton.h; path = CleverTapSDK/CTNotificationButton.h; sourceTree = ""; }; + 05B0B48AF845DC78378BEF56822A0B5D /* CTLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLogger.m; path = CleverTapSDK/CTLogger.m; sourceTree = ""; }; + 0840C9BDE124A93F680EC32D84FB6B2A /* CTAlertViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAlertViewController.m; sourceTree = ""; }; + 0918E7E399418A0676DE86AFBF3C5B14 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 0A4ABE1ED3A0E08A57B676413A390C69 /* CTHalfInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; + 0A5EEB21D9290E778E5062E11A51EF16 /* CleverTap-iOS-SDK.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "CleverTap-iOS-SDK.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 0A7F0438C3F54009C45629BBB4574345 /* Pods-ObjCStarterTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarterTests-umbrella.h"; sourceTree = ""; }; - 0AD8ED59807D181886EFFAFCB220A19B /* ic_pause@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@1x.png"; sourceTree = ""; }; - 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTKnownProfileFields.h; path = CleverTapSDK/CTKnownProfileFields.h; sourceTree = ""; }; - 1225942D643B3B9EBD7BD62856107C12 /* CleverTap-iOS-SDK-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CleverTap-iOS-SDK-iOS.modulemap"; sourceTree = ""; }; - 12F71063123FDFAFAF80A581D558E444 /* CleverTap-iOS-SDK-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CleverTap-iOS-SDK-tvOS.modulemap"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; sourceTree = ""; }; - 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppFCManager.h; path = CleverTapSDK/CTInAppFCManager.h; sourceTree = ""; }; - 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppDisplayViewController.m; path = CleverTapSDK/CTInAppDisplayViewController.m; sourceTree = ""; }; - 16C557CF28EADD35E90EF9CB8D7CBA7C /* CTSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTSlider.m; sourceTree = ""; }; - 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPlistInfo.m; path = CleverTapSDK/CTPlistInfo.m; sourceTree = ""; }; - 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTConstants.h; path = CleverTapSDK/CTConstants.h; sourceTree = ""; }; - 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTEventBuilder.m; path = CleverTapSDK/CTEventBuilder.m; sourceTree = ""; }; - 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPreferences.h; path = CleverTapSDK/CTPreferences.h; sourceTree = ""; }; - 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUriHelper.h; path = CleverTapSDK/CTUriHelper.h; sourceTree = ""; }; - 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfig.h; path = CleverTapSDK/CleverTapInstanceConfig.h; sourceTree = ""; }; - 1BC394816637D67C99627152CE3797B0 /* CTHalfInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialViewController.h; sourceTree = ""; }; - 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDeviceInfo.h; path = CleverTapSDK/CTDeviceInfo.h; sourceTree = ""; }; - 1CA6C76E21BCF499209148ED65DB32B4 /* CTAVPlayerControlsViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = CTAVPlayerControlsViewController.xib; sourceTree = ""; }; - 1D13BE9CD94ED85D886B9C5B48FAD110 /* ic_expand@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@1x.png"; sourceTree = ""; }; - 1D79FEE54BBD1173558ED82EE655E214 /* CTAVPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerViewController.h; sourceTree = ""; }; + 0D6BD2A41B8236709F497323814CF069 /* CTValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidator.h; path = CleverTapSDK/CTValidator.h; sourceTree = ""; }; + 0E0BEAE127D9CD35932A1C796551FB0E /* CleverTap-iOS-SDK-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-prefix.pch"; sourceTree = ""; }; + 0F31D96F4D5B2355EFA3E3D605732B07 /* sound-wave-headphones.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "sound-wave-headphones.png"; sourceTree = ""; }; + 136304F58B055F4508F3B3A8DE97C896 /* ic_expand@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@1x.png"; sourceTree = ""; }; + 14F941163E688FD29B138F651C992A23 /* CTHalfInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialImageViewController.h; sourceTree = ""; }; + 193DA46A0F654B10C230EFD1EDE441DB /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../CleverTap-iOS-SDK-tvOS/Info.plist"; sourceTree = ""; }; + 1A18F6574C9217CDA4A55964C6E6E547 /* CTValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidator.m; path = CleverTapSDK/CTValidator.m; sourceTree = ""; }; + 1BC7CEF8654D75A7AD597BD5B60FE313 /* CleverTap-iOS-SDK-iOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "CleverTap-iOS-SDK-iOS.modulemap"; sourceTree = ""; }; + 1D4376416EE1471177BC486DA96D512E /* CTInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; 1DE9BAA73CE91BC04CFAA245C582B9FE /* Pods-ObjCStarter-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarter-resources.sh"; sourceTree = ""; }; - 1E7D8C0E52CE0FD629BD5D6B67482AAF /* CTHalfInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; - 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTCertificatePinning.m; path = CleverTapSDK/CTCertificatePinning.m; sourceTree = ""; }; - 207C907E14C61097232FBDCE89D235F8 /* ic_expand@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@3x.png"; sourceTree = ""; }; 20D23DDEDE4D2DFB75030BF8388E7097 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPinnedNSURLSessionDelegate.h; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.h; sourceTree = ""; }; - 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapTrackedViewController.h; path = CleverTapSDK/CleverTapTrackedViewController.h; sourceTree = ""; }; - 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTKnownProfileFields.m; path = CleverTapSDK/CTKnownProfileFields.m; sourceTree = ""; }; - 26E87E4D796D536FC582D411D4ACE3F5 /* CTCoverViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverViewController.h; sourceTree = ""; }; + 25C38BB213F87B747D1E560F459247C1 /* CTHalfInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 269AC7FB0C4CED99C25D10B760FAACD4 /* CTCoverViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverViewController.m; sourceTree = ""; }; + 26E0FCF05DDC67CAF4E35DDF4A77DEE6 /* CTInAppUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppUtils.h; path = CleverTapSDK/CTInAppUtils.h; sourceTree = ""; }; + 2707C7EDD1BE135A727A8CE17C7E3B4B /* CTLocalDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocalDataStore.m; path = CleverTapSDK/CTLocalDataStore.m; sourceTree = ""; }; 273B4A50F46B535C444BD94D391152B9 /* Pods-ObjCTvOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCTvOS-frameworks.sh"; sourceTree = ""; }; - 2935AC9AA6387F3C060F912100E27542 /* ic_play@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@2x.png"; sourceTree = ""; }; - 293EB57D407F084A744828592CF4C178 /* CTCoverViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~iphoneport.xib"; sourceTree = ""; }; - 29FD80ADF71F8D84B8F4B1326C53DDBB /* CTInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 2C22CD81AB7B7AE5CAE4280B119AA9F7 /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewControllerPrivate.h; path = CleverTapSDK/CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; 2D154F4805B9715F0E6D79B0363CE280 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapTrackedViewController.m; path = CleverTapSDK/CleverTapTrackedViewController.m; sourceTree = ""; }; - 2EABF23D5311F9D66F0E6C19C07FED18 /* CTInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialImageViewController.m; sourceTree = ""; }; - 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDeviceInfo.m; path = CleverTapSDK/CTDeviceInfo.m; sourceTree = ""; }; + 2DC25E7418C1C7F3CB29C3D87771977A /* CleverTapInstanceConfigPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfigPrivate.h; path = CleverTapSDK/CleverTapInstanceConfigPrivate.h; sourceTree = ""; }; + 2F71D8061FA3E0F943E5E4C85DB9EC24 /* CTProfileBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTProfileBuilder.h; path = CleverTapSDK/CTProfileBuilder.h; sourceTree = ""; }; + 3095E807A11FB6375FCA4AA260BBA802 /* CTEventBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTEventBuilder.m; path = CleverTapSDK/CTEventBuilder.m; sourceTree = ""; }; + 3132311D86866710BD636E787EAC5C8E /* CTProfileBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTProfileBuilder.m; path = CleverTapSDK/CTProfileBuilder.m; sourceTree = ""; }; 3281F7ADF3403F43FF715E8AD11F9CC4 /* Pods-ObjCTvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCTvOS-dummy.m"; sourceTree = ""; }; - 33DD8AC68339188F422EB57F2913E0E8 /* CTHalfInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialImageViewController.m; sourceTree = ""; }; - 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppResources.m; path = CleverTapSDK/CTInAppResources.m; sourceTree = ""; }; - 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTap.m; path = CleverTapSDK/CleverTap.m; sourceTree = ""; }; + 33C56B9DD164BD1C2F223DD9E57A8D9B /* CTKnownProfileFields.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTKnownProfileFields.m; path = CleverTapSDK/CTKnownProfileFields.m; sourceTree = ""; }; + 365E913B9862CD84C58F3C93A99AC5C3 /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewController.h; path = CleverTapSDK/CTInAppDisplayViewController.h; sourceTree = ""; }; 37319506AA308073114C9BBC07E4AC62 /* Pods-ObjCStarterUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterUITests-frameworks.sh"; sourceTree = ""; }; - 38450ABB140F8BD185FE2AA0F72E0C36 /* CleverTap-iOS-SDK.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = "CleverTap-iOS-SDK.podspec"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 376B695692765017D38B6B7165CA71B4 /* CleverTap-iOS-SDK-tvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; name = "CleverTap-iOS-SDK-tvOS.modulemap"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; sourceTree = ""; }; + 38E248FC6D75DB2E42BF0AA88D8B141B /* ic_play@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@3x.png"; sourceTree = ""; }; + 394EBE80516139F64F6FC71DD9B6B23E /* CTPinnedNSURLSessionDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPinnedNSURLSessionDelegate.m; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.m; sourceTree = ""; }; + 3983F73A2985C565EF3062CCC0DEF861 /* CTBaseHeaderFooterViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewControllerPrivate.h; sourceTree = ""; }; 3B2ADC14B3707AE7D7C5275F43B78701 /* Pods-ObjCStarter-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarter-umbrella.h"; sourceTree = ""; }; - 3C08F421C5AE0B6BF43D6FA5C766EC0C /* CTFooterViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~iphoneport.xib"; sourceTree = ""; }; - 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FLAnimatedImage.h; path = CleverTapSDK/FLAnimatedImage.h; sourceTree = ""; }; - 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTCertificatePinning.h; path = CleverTapSDK/CTCertificatePinning.h; sourceTree = ""; }; - 4084144C896F2C3F071CD5490FF3C4DE /* ic_thumb.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = ic_thumb.png; sourceTree = ""; }; - 41C84398128D4024055564AB635FACFC /* CTAlertViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAlertViewController.h; sourceTree = ""; }; - 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapEventDetail.m; path = CleverTapSDK/CleverTapEventDetail.m; sourceTree = ""; }; + 3C860F6F466673568602392C80F1FC3D /* CleverTapInstanceConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapInstanceConfig.m; path = CleverTapSDK/CleverTapInstanceConfig.m; sourceTree = ""; }; + 3FB139938EEC7D267F6C1DC5F4650FC8 /* CTInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~ipad.xib"; sourceTree = ""; }; + 40D4581A4A4B7C9BDBAC171A2CC79D7F /* CTAVPlayerControlsViewController.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = CTAVPlayerControlsViewController.xib; sourceTree = ""; }; + 42DAD87607037825561E18A00ED625C5 /* CTCoverImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverImageViewController.h; sourceTree = ""; }; 436B10A9D4D322EF761627E582AD0E6B /* Pods-ObjCStarterUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarterUITests-acknowledgements.plist"; sourceTree = ""; }; + 45431EA0772880AB5904391D43BF921A /* CTHeaderViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~ipad.xib"; sourceTree = ""; }; 470FF519B33DE8AECC2BEDEBAE54AF5B /* Pods-ObjCStarterTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterTests.release.xcconfig"; sourceTree = ""; }; 477EB3BE3BAE603FF85D859A92B5C5B6 /* Pods-ObjCTvOS-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCTvOS-resources.sh"; sourceTree = ""; }; - 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppResources.h; path = CleverTapSDK/CTInAppResources.h; sourceTree = ""; }; - 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppFCManager.m; path = CleverTapSDK/CTInAppFCManager.m; sourceTree = ""; }; - 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppUtils.m; path = CleverTapSDK/CTInAppUtils.m; sourceTree = ""; }; + 484888D6574B6AC25D0E4E33CA78B4DE /* CleverTapInAppNotificationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInAppNotificationDelegate.h; path = CleverTapSDK/CleverTapInAppNotificationDelegate.h; sourceTree = ""; }; + 49EB62718778444E487FF6AF62CDD169 /* CTValidationResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidationResult.h; path = CleverTapSDK/CTValidationResult.h; sourceTree = ""; }; + 4BF77EEE06AF0E52212BE4206B451FF3 /* CTDismissButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; 4C637F8CE560FD47861DC6DC8A6AC9C1 /* Pods-ObjCStarter.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarter.modulemap"; sourceTree = ""; }; - 4CC45C3A54DE4689DEB1A994269A3AA5 /* CTInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialViewController.h; sourceTree = ""; }; - 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTNotificationButton.m; path = CleverTapSDK/CTNotificationButton.m; sourceTree = ""; }; - 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocalDataStore.h; path = CleverTapSDK/CTLocalDataStore.h; sourceTree = ""; }; - 521AE17F02FF133D15599220045160CF /* CTCoverViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~ipad.xib"; sourceTree = ""; }; + 4DD10F967555B9910D22C26C7C80730E /* CTUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUtils.h; path = CleverTapSDK/CTUtils.h; sourceTree = ""; }; 5262C19475FE48FAF9C88EF1DAFC0C99 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidationResult.m; path = CleverTapSDK/CTValidationResult.m; sourceTree = ""; }; + 527BF21FF6FC41547E18EFD6A8F1305F /* DigiCertSHA2SecureServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertSHA2SecureServerCA.crt; path = CleverTapSDK/DigiCertSHA2SecureServerCA.crt; sourceTree = ""; }; + 5391BC1322843B8F86EF9763089C1B03 /* ic_shrink@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@2x.png"; sourceTree = ""; }; + 551D5602237989DE6A8582739E068591 /* CTInAppNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppNotification.h; path = CleverTapSDK/CTInAppNotification.h; sourceTree = ""; }; + 56A49FBC0EFE520AC706E69F46E001CC /* CTSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTSwizzle.m; path = CleverTapSDK/CTSwizzle.m; sourceTree = ""; }; + 56D478D07B27BFFFB796B200CE5B2BA2 /* CTLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLogger.h; path = CleverTapSDK/CTLogger.h; sourceTree = ""; }; 5728456F8BE0DEEB64054DB1C14E9B98 /* Pods_ObjCTvOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCTvOS.framework; path = "Pods-ObjCTvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 572DBE63D5360AB71E5F80F979738FD0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 58D3FCB1231D679F2681EACBEF58ABB3 /* CTFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTFooterViewController.h; sourceTree = ""; }; 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterUITests.release.xcconfig"; sourceTree = ""; }; - 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPreferences.m; path = CleverTapSDK/CTPreferences.m; sourceTree = ""; }; - 5E0CE9AA361FC9A01EC7B82FC8424DDA /* CTAlertViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAlertViewController.m; sourceTree = ""; }; 5E40E87DAB768FDDBFC8EC12A80CD980 /* Pods-ObjCTvOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCTvOS.modulemap"; sourceTree = ""; }; - 5F61991599DB50822AE362B254FEB268 /* CTHeaderViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHeaderViewController.m; sourceTree = ""; }; - 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTEventBuilder.h; path = CleverTapSDK/CTEventBuilder.h; sourceTree = ""; }; - 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FLAnimatedImage.m; path = CleverTapSDK/FLAnimatedImage.m; sourceTree = ""; }; - 63A7696C003D1C2B628431AD230EFF3E /* sound-wave-headphones.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "sound-wave-headphones.png"; sourceTree = ""; }; - 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertGlobalRootCA.crt; path = CleverTapSDK/DigiCertGlobalRootCA.crt; sourceTree = ""; }; + 65026832BA761398F290AE5EA311FA55 /* CTFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTFooterViewController.m; sourceTree = ""; }; 65062A0C9E63EE868212890221C99394 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 68E7F7E0E31959E42B2EB4A812445876 /* CTBaseHeaderFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewController.h; sourceTree = ""; }; + 6581711E1296F61D5FE08D3C4DA8F3E2 /* CTHalfInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + 668094278340A9E53DF66B11F0CD3191 /* CTCoverViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverViewController.h; sourceTree = ""; }; + 69BBF7AA271EC79F64925132ED4ECB31 /* CTAlertViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAlertViewController.h; sourceTree = ""; }; 6AC6BA9296B6DEC8429B07238A8ABD5C /* Pods_ObjCStarter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarter.framework; path = "Pods-ObjCStarter.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTSwizzle.m; path = CleverTapSDK/CTSwizzle.m; sourceTree = ""; }; - 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap+SSLPinning.h"; path = "CleverTapSDK/CleverTap+SSLPinning.h"; sourceTree = ""; }; - 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTSwizzle.h; path = CleverTapSDK/CTSwizzle.h; sourceTree = ""; }; - 6F4F038A4D05638A4FAD1ED7F86EC272 /* CTInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~ipad.xib"; sourceTree = ""; }; - 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfigPrivate.h; path = CleverTapSDK/CleverTapInstanceConfigPrivate.h; sourceTree = ""; }; - 7442F4D96390B8A3A85A4351E531AEB8 /* CTSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTSlider.h; sourceTree = ""; }; + 6AF23D75FC9BF3A5DDBB77028BC8012E /* CTFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTFooterViewController.h; sourceTree = ""; }; + 6C2E2044A2F88E9B43BF8386D047D1BF /* CTInAppResources.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppResources.m; path = CleverTapSDK/CTInAppResources.m; sourceTree = ""; }; + 6D58B3FF37F9AFFABD98A10766BDD44D /* ic_pause@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@2x.png"; sourceTree = ""; }; + 6D5D76B445EF5FA681BE76EECC0109C8 /* CTInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; + 7018F5597CE34DFCDEF5D795A2796EA9 /* FLAnimatedImage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FLAnimatedImage.m; path = CleverTapSDK/FLAnimatedImage.m; sourceTree = ""; }; + 73D9D8A160193092345354E99A7EDC60 /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; 74ED40FB5806A783DC3A1D6D36332A13 /* Pods-ObjCStarterTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarterTests-acknowledgements.markdown"; sourceTree = ""; }; - 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUtils.h; path = CleverTapSDK/CTUtils.h; sourceTree = ""; }; - 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapBuildInfo.h; path = CleverTapSDK/CleverTapBuildInfo.h; sourceTree = ""; }; - 78B6498DD556C677DF91A4DCAA32688D /* CTHalfInterstitialViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~iphoneport.xib"; sourceTree = ""; }; - 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewController.h; path = CleverTapSDK/CTInAppDisplayViewController.h; sourceTree = ""; }; - 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocalDataStore.m; path = CleverTapSDK/CTLocalDataStore.m; sourceTree = ""; }; - 7D9614FEFA39B257A0805F70C00DCCDB /* CTInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialImageViewController.h; sourceTree = ""; }; - 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUriHelper.m; path = CleverTapSDK/CTUriHelper.m; sourceTree = ""; }; + 758F33C54F35570FC766C43728CE7B46 /* FLAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FLAnimatedImageView.h; path = CleverTapSDK/FLAnimatedImageView.h; sourceTree = ""; }; + 78FED9B66DB201853EE7677DFF389D7B /* CTCoverViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~iphoneport.xib"; sourceTree = ""; }; + 7A897B06A248522C3F268A4BD2C9F8D6 /* CleverTap-iOS-SDK-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CleverTap-iOS-SDK-tvOS.xcconfig"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.xcconfig"; sourceTree = ""; }; + 7BB62C49A14987C6FC89120F7AB770A9 /* CTInAppUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppUtils.m; path = CleverTapSDK/CTInAppUtils.m; sourceTree = ""; }; 7FC805B3EF57A8B6D6CDB67AFD0C9ACF /* Pods-ObjCStarterTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterTests.debug.xcconfig"; sourceTree = ""; }; - 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapUTMDetail.m; path = CleverTapSDK/CleverTapUTMDetail.m; sourceTree = ""; }; - 82153304DABB3BB1B50C8DA08CC49F86 /* CTHalfInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialImageViewController.h; sourceTree = ""; }; - 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidator.m; path = CleverTapSDK/CTValidator.m; sourceTree = ""; }; + 800826EF4ADF3BB9D82B24E88C91E0DC /* CTAVPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerViewController.h; sourceTree = ""; }; + 8107BA1260CE21C0A21F8119FC0D8095 /* CleverTap-iOS-SDK-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CleverTap-iOS-SDK-iOS.xcconfig"; sourceTree = ""; }; + 835627291937792A21124FD4AB4A18DC /* CleverTapEventDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapEventDetail.m; path = CleverTapSDK/CleverTapEventDetail.m; sourceTree = ""; }; + 83CE8F87209C65D9F5AB52176593AFBD /* CTCoverImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverImageViewController.m; sourceTree = ""; }; + 84280E78531213F9B2AD7DC3250D3CA7 /* CTFooterViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~iphoneport.xib"; sourceTree = ""; }; + 8494992EC4204CD25669D9D750A6960D /* CTUriHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTUriHelper.h; path = CleverTapSDK/CTUriHelper.h; sourceTree = ""; }; 84CC5217460F12390416A1E084F38F08 /* Pods-ObjCTvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCTvOS.release.xcconfig"; sourceTree = ""; }; - 86501CAE0614F927948424FC4F958D74 /* CTDismissButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTDismissButton.h; sourceTree = ""; }; - 8734DB77EDD6757B151183F4F61741C0 /* CTCoverImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~ipad.xib"; sourceTree = ""; }; + 85CF1030F7DEE65B04947F6E7C0B51CC /* CTAVPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerViewController.m; sourceTree = ""; }; 88FD612A1F066AC7DFF25A41473B5FD3 /* Pods-ObjCTvOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCTvOS-acknowledgements.plist"; sourceTree = ""; }; - 89D558ADBD2C8048E37BB654B7A938EE /* ic_expand@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@2x.png"; sourceTree = ""; }; - 89E22A34D4BFAF91C044D0F20B8F2758 /* CTCoverImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~iphoneport.xib"; sourceTree = ""; }; - 8BAA2D487A5B5A072B1C9C2E16CE7B85 /* ic_shrink@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@2x.png"; sourceTree = ""; }; - 8D55AFAAC969D674A8EB476BC99B03F5 /* CTInAppHTMLViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInAppHTMLViewController.h; sourceTree = ""; }; + 8AD3460503203660A1D872CC947CC2F2 /* CleverTap-iOS-SDK-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-umbrella.h"; sourceTree = ""; }; + 8BD0FDCE50661AA79B4A851D8A873663 /* CleverTapUTMDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapUTMDetail.h; path = CleverTapSDK/CleverTapUTMDetail.h; sourceTree = ""; }; + 8DFD1499A9C6494C71D55AFB666C110A /* CleverTap-iOS-SDK-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleverTap-iOS-SDK-iOS-dummy.m"; sourceTree = ""; }; 8ED676D1C38125A06E12257A1D0E9D6D /* Pods-ObjCStarter-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarter-frameworks.sh"; sourceTree = ""; }; - 8FEE96404139CFB165291CDAFD981572 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; - 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTap.h; path = CleverTapSDK/CleverTap.h; sourceTree = ""; }; - 927DBB72AED631D6889D58A89E469529 /* CleverTap-iOS-SDK-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CleverTap-iOS-SDK-iOS-dummy.m"; sourceTree = ""; }; + 8F73014FC6D0633BC655951F07E5E015 /* CTHalfInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialViewController.m; sourceTree = ""; }; + 92F5FD5B43281CD40EDFDDE0BFE50E9B /* CTAVPlayerControlsViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerControlsViewController.m; sourceTree = ""; }; + 931955FA97D3AD073FDC034F68777212 /* CTLocalDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocalDataStore.h; path = CleverTapSDK/CTLocalDataStore.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 94807550BD47C9E4AAD8B075C0E3C5B2 /* ic_pause@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@3x.png"; sourceTree = ""; }; 957B8D09156900E78EF3EB06F4017FF6 /* Pods-ObjCStarterUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarterUITests.debug.xcconfig"; sourceTree = ""; }; + 965306BE46850E4476C1EA58AB08EED7 /* CTUriHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUriHelper.m; path = CleverTapSDK/CTUriHelper.m; sourceTree = ""; }; + 9695D83BF46B823360ACAF210134EC68 /* CTSwizzle.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTSwizzle.h; path = CleverTapSDK/CTSwizzle.h; sourceTree = ""; }; 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = CleverTapSDK.framework; path = "CleverTap-iOS-SDK-tvOS.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 96B0A82CBC7A95E64224EE63100BAF63 /* CTSlider.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTSlider.h; sourceTree = ""; }; 9754D8995F8E12C0969DEA754F217585 /* Pods-ObjCTvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCTvOS-umbrella.h"; sourceTree = ""; }; - 97DEC3B26028A84DFF90730C1F5518F8 /* ic_play@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@3x.png"; sourceTree = ""; }; - 980C77E9590447D97FAF3D97D103BC14 /* CTCoverViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverViewController.m; sourceTree = ""; }; + 981824D917EE4453413334C02C4F2168 /* CTInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialImageViewController.m; sourceTree = ""; }; + 9870D51A47AC79E23EA87DC4A00244DC /* FLAnimatedImage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FLAnimatedImage.h; path = CleverTapSDK/FLAnimatedImage.h; sourceTree = ""; }; 98EC1FDA275DE9B338CCEBF65A2675FD /* Pods-ObjCTvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCTvOS.debug.xcconfig"; sourceTree = ""; }; - 9B42CAC7F3F96EEFE8C6359628419E99 /* CTHeaderViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~iphoneport.xib"; sourceTree = ""; }; - 9C43E5F32B9B4C51B281C4B038A521C7 /* CTHalfInterstitialViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialViewController~ipad.xib"; sourceTree = ""; }; - 9F9F1CD8D8B458B74D68588EF102F740 /* CleverTap-iOS-SDK-iOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CleverTap-iOS-SDK-iOS-umbrella.h"; sourceTree = ""; }; + 995A6677E2991BD72791806C4F9A7FBC /* CTBaseHeaderFooterViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewController.h; sourceTree = ""; }; + 9971A335A4996920FB8B3F4FD0850409 /* CTInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; + 9DB788D44D5BCD075138EB1CA016168A /* ic_thumb.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = ic_thumb.png; sourceTree = ""; }; + A0614CA4BC8D032872F1843DEC4BCFFD /* CleverTapUTMDetail.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapUTMDetail.m; path = CleverTapSDK/CleverTapUTMDetail.m; sourceTree = ""; }; A08E40B08FB94338A35A298AB9437ABF /* Pods-ObjCStarterTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-ObjCStarterTests-acknowledgements.plist"; sourceTree = ""; }; - A0F3D5DBCA94E212CF2BE0F6864EF0D1 /* ic_pause@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@3x.png"; sourceTree = ""; }; - A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTProfileBuilder.m; path = CleverTapSDK/CTProfileBuilder.m; sourceTree = ""; }; + A36E887DC0B59FF9A9EE45D0E549E860 /* CTLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocationManager.h; path = CleverTapSDK/CTLocationManager.h; sourceTree = ""; }; A4AB3B9AA88EB1B325426DBDFF72245F /* Pods-ObjCStarter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarter.release.xcconfig"; sourceTree = ""; }; - A7485B9EC9912212D2B59AF1BCC83BC3 /* CTHeaderViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~ipad.xib"; sourceTree = ""; }; A82DF58913D09EA39E314E1A24E023BE /* Pods_ObjCStarterUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarterUITests.framework; path = "Pods-ObjCStarterUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + A8616DCF6DA7AC23DBA8AF14034CC2B8 /* CTInAppHTMLViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInAppHTMLViewController.m; sourceTree = ""; }; + A86E965C038024D41C727BCF7FF3A4A0 /* ic_play@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@1x.png"; sourceTree = ""; }; + A8E6B9FAC29A5B3553FCAFDA211AC2AC /* ic_shrink@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@3x.png"; sourceTree = ""; }; A8E785FF67399CF72809B3F3425D3D2E /* Pods-ObjCTvOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCTvOS-acknowledgements.markdown"; sourceTree = ""; }; - A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppNotification.m; path = CleverTapSDK/CTInAppNotification.m; sourceTree = ""; }; - AAAC39506D2FA822A22D38F0F428AB79 /* CTAVPlayerControlsViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerControlsViewController.h; sourceTree = ""; }; - AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLocationManager.h; path = CleverTapSDK/CTLocationManager.h; sourceTree = ""; }; - ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLogger.m; path = CleverTapSDK/CTLogger.m; sourceTree = ""; }; + AAF60C279F13F1DB3A95FC743422A730 /* CTNotificationButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTNotificationButton.h; path = CleverTapSDK/CTNotificationButton.h; sourceTree = ""; }; + AD7CCAF8E73FA20B1585DF553A57C5A2 /* CTHalfInterstitialImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialImageViewController.m; sourceTree = ""; }; AE6F7EB591E639FE72498BF798ACBC33 /* Pods-ObjCStarter-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarter-acknowledgements.markdown"; sourceTree = ""; }; AEEBD51F70E3334C5E426C9E4044817F /* Pods-ObjCStarterTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarterTests.modulemap"; sourceTree = ""; }; - B1A453D48276FDD1B6CC30EB4C2AB07F /* CTHalfInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHalfInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; - B22ABFB7C7C44B664FA01DC6C9394EB9 /* FLAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImageView.m; sourceTree = ""; }; + AEFD8562C8F427EFCDC8B819A95AD639 /* CTInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialViewController.m; sourceTree = ""; }; + B065E877EA908F82722367DFDA6884DC /* CTInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialViewController.h; sourceTree = ""; }; + B1F79A33FCF950B21A4C5F785FBF7247 /* CTHeaderViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHeaderViewController.m; sourceTree = ""; }; B4876E7721DB180A91E5745910167A85 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B4D611C05564FC805FE95EB91A4D924B /* Pods-ObjCStarterUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-ObjCStarterUITests-acknowledgements.markdown"; sourceTree = ""; }; - B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppNotification.h; path = CleverTapSDK/CTInAppNotification.h; sourceTree = ""; }; - B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapEventDetail.h; path = CleverTapSDK/CleverTapEventDetail.h; sourceTree = ""; }; + B4E9FCC817D4B3B2AD7F2014AFD1E4EB /* CTPinnedNSURLSessionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPinnedNSURLSessionDelegate.h; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.h; sourceTree = ""; }; + B578D16CCCC441532AF206BA826DEAE6 /* CleverTap-iOS-SDK-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-prefix.pch"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; sourceTree = ""; }; + B58A26B633EB1902650D41D076C55DA9 /* CTEventBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTEventBuilder.h; path = CleverTapSDK/CTEventBuilder.h; sourceTree = ""; }; + B70AE09F30139285706D87B96B514D7F /* CTInAppFCManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppFCManager.h; path = CleverTapSDK/CTInAppFCManager.h; sourceTree = ""; }; + B7539C9A641D878ACA3BA5CE9E8E935F /* CleverTap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTap.m; path = CleverTapSDK/CleverTap.m; sourceTree = ""; }; B7B0A7CCD29C486E423A4E853484CFA8 /* Pods-ObjCStarterTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterTests-frameworks.sh"; sourceTree = ""; }; - BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CleverTap-iOS-SDK-iOS.xcconfig"; sourceTree = ""; }; - BC3AEB7181DB5A005C8895FD7B16F6F2 /* ic_pause@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@2x.png"; sourceTree = ""; }; - C06DEB9C21942DD4242BD76A3013A211 /* CleverTap-iOS-SDK-tvOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-prefix.pch"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; sourceTree = ""; }; - C4A06661A43FF57B9AF687E06A90E070 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidationResult.h; path = CleverTapSDK/CTValidationResult.h; sourceTree = ""; }; - C845F911ECAA570E31C29FF154152649 /* CTInterstitialImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~ipad.xib"; sourceTree = ""; }; - C864580FC7B6F27609F1543E602840BE /* CTInterstitialImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTInterstitialImageViewController~iphoneport.xib"; sourceTree = ""; }; - CDA4E418833C3F791EDB4B4F1798DB58 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = Info.plist; path = "../CleverTap-iOS-SDK-tvOS/Info.plist"; sourceTree = ""; }; - CF1D511D3C332452112352871B743EF0 /* CTHalfInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTHalfInterstitialViewController.m; sourceTree = ""; }; - D311440C8EE1F878527C73F86C9D21DC /* CTInterstitialViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTInterstitialViewController.m; sourceTree = ""; }; - D52AEA4052F82C732A08C552E972F2A1 /* CleverTap-iOS-SDK-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-umbrella.h"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-umbrella.h"; sourceTree = ""; }; - D6A9765C12DB28F8B50A5F5181F8B42F /* FLAnimatedImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = ""; }; + BB9F312E74BF39FF075418DA1A21B000 /* CleverTapBuildInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapBuildInfo.h; path = CleverTapSDK/CleverTapBuildInfo.h; sourceTree = ""; }; + BBB849FB0102D7377F6D65E8015C997C /* CTKnownProfileFields.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTKnownProfileFields.h; path = CleverTapSDK/CTKnownProfileFields.h; sourceTree = ""; }; + BCC5282D081707857B3A015F9A462C3E /* CTLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocationManager.m; path = CleverTapSDK/CTLocationManager.m; sourceTree = ""; }; + BD6775DF39FF68998363AF544CCF19DC /* CleverTapTrackedViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CleverTapTrackedViewController.m; path = CleverTapSDK/CleverTapTrackedViewController.m; sourceTree = ""; }; + BE4FF7D92BDF0E1D568D53C65596AF89 /* CleverTap-iOS-SDK-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CleverTap-iOS-SDK-tvOS-dummy.m"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-dummy.m"; sourceTree = ""; }; + C010200A8014573D94479818B25785F4 /* CTCertificatePinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTCertificatePinning.h; path = CleverTapSDK/CTCertificatePinning.h; sourceTree = ""; }; + C3C975F4DF130B3E7F3A719BA6189696 /* CTConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTConstants.m; path = CleverTapSDK/CTConstants.m; sourceTree = ""; }; + C57C9D71D6FF3E199EE0CA62BD69D596 /* CTCoverImageViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~ipad.xib"; sourceTree = ""; }; + C71FD0730A6C95382CAEAE8EA6D6C075 /* CleverTap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTap.h; path = CleverTapSDK/CleverTap.h; sourceTree = ""; }; + CC5D0B8692C53314758FCF655C9DA029 /* CTInAppNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppNotification.m; path = CleverTapSDK/CTInAppNotification.m; sourceTree = ""; }; + CCB8B1BFEA8A95724A14FE93EE0E0778 /* CTInAppDisplayViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppDisplayViewController.m; path = CleverTapSDK/CTInAppDisplayViewController.m; sourceTree = ""; }; + CDE6846D50B94A5F6CD61BC0AAAFBF8D /* ic_shrink@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@1x.png"; sourceTree = ""; }; + CE834314A265333D84FD03B767B6DD42 /* CTHalfInterstitialViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHalfInterstitialViewController.h; sourceTree = ""; }; + CEF1718498368EF535C233136C98D138 /* CTSlider.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTSlider.m; sourceTree = ""; }; + D0AA251E8D333CA7A8821F8ED025E60D /* ic_expand@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@3x.png"; sourceTree = ""; }; + D2D3A8C820C331705A297AE9F3B31537 /* CTDismissButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; + D543C5BF50378C1B8A23F6976D478067 /* CTInAppResources.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppResources.h; path = CleverTapSDK/CTInAppResources.h; sourceTree = ""; }; + D5A9DC6C6A7FDC1F1B96185ABE022098 /* CTFooterViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~ipad.xib"; sourceTree = ""; }; + D61F229BD7097404A09463DBF6F7EBC0 /* ic_pause@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_pause@1x.png"; sourceTree = ""; }; D711D2A6369B55CBAD14B9E0BF8F1B2D /* Pods-ObjCStarter-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarter-dummy.m"; sourceTree = ""; }; - D71E44C197693A626C97A48F88294C48 /* CTUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUtils.m; path = CleverTapSDK/CTUtils.m; sourceTree = ""; }; - D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapSyncDelegate.h; path = CleverTapSDK/CleverTapSyncDelegate.h; sourceTree = ""; }; - D7E10ED25B97DEBFB5D37A71103670A0 /* CTCoverImageViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTCoverImageViewController.m; sourceTree = ""; }; + D73DFF5E5060F0EA01EED6CCFA97DB4E /* CTInterstitialImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTInterstitialImageViewController.h; sourceTree = ""; }; + D7BC8D68CD0E1295BCE67A4EAC94CB11 /* CleverTap-iOS-SDK-tvOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap-iOS-SDK-tvOS-umbrella.h"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-umbrella.h"; sourceTree = ""; }; D8C560BD9B4A139571369CEA5F65CDE4 /* Pods-ObjCStarterUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-ObjCStarterUITests-dummy.m"; sourceTree = ""; }; - D8D56AA4B720AB4FB380C3E6A6549EBA /* CTBaseHeaderFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTBaseHeaderFooterViewController.m; sourceTree = ""; }; - D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertSHA2SecureServerCA.crt; path = CleverTapSDK/DigiCertSHA2SecureServerCA.crt; sourceTree = ""; }; - DB2753FB6B139A135E8A8363D6F99DCC /* CTDismissButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTDismissButton.m; sourceTree = ""; }; - DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapUTMDetail.h; path = CleverTapSDK/CleverTapUTMDetail.h; sourceTree = ""; }; - E13DA569FD2A83038236D35479E6367C /* CTFooterViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTFooterViewController~ipad.xib"; sourceTree = ""; }; - E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "CleverTap-iOS-SDK-tvOS.xcconfig"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.xcconfig"; sourceTree = ""; }; - E2B0BB6C138FE83987B28942C39CB8B6 /* CTBaseHeaderFooterViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTBaseHeaderFooterViewControllerPrivate.h; sourceTree = ""; }; - E3DA29E0335821BD64FCEEFF71E7BF3C /* CTAVPlayerControlsViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTAVPlayerControlsViewController.m; sourceTree = ""; }; + D8D7C44097D696CEE74C43DFE1AD4D9F /* CTConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTConstants.h; path = CleverTapSDK/CTConstants.h; sourceTree = ""; }; + DB84FB167B0C3E3F9F4C645511833153 /* CleverTapInstanceConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInstanceConfig.h; path = CleverTapSDK/CleverTapInstanceConfig.h; sourceTree = ""; }; + DC19136B0C1E4689553A5D390651A66E /* CTUtils.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTUtils.m; path = CleverTapSDK/CTUtils.m; sourceTree = ""; }; + DC1A354B989FD32E783116138E5A68B4 /* CTPreferences.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPreferences.m; path = CleverTapSDK/CTPreferences.m; sourceTree = ""; }; + DD445C34E2FFBDBD55D11E062BCABEC7 /* CleverTapSyncDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapSyncDelegate.h; path = CleverTapSDK/CleverTapSyncDelegate.h; sourceTree = ""; }; + DDDA4431D593E23534E0F0B9529763D4 /* CTDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTDeviceInfo.m; path = CleverTapSDK/CTDeviceInfo.m; sourceTree = ""; }; + DDEA93B4380A7DB3FE36D04CAD3CE4BD /* CTCoverImageViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverImageViewController~iphoneport.xib"; sourceTree = ""; }; + DF0EE0328A03BDB05173DA3C27AF9638 /* CTBaseHeaderFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTBaseHeaderFooterViewController.m; sourceTree = ""; }; + E069B9D9C5E39F08226BD77D7ADFACC7 /* CTValidationResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTValidationResult.m; path = CleverTapSDK/CTValidationResult.m; sourceTree = ""; }; + E09FE9E56679DE709F6B24480C23EE1D /* CTCertificatePinning.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTCertificatePinning.m; path = CleverTapSDK/CTCertificatePinning.m; sourceTree = ""; }; + E1AE0962382D63E3BD800F113259D28A /* ic_play@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@2x.png"; sourceTree = ""; }; + E47022E886F10A61A9610F5B4BF81135 /* CTPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPreferences.h; path = CleverTapSDK/CTPreferences.h; sourceTree = ""; }; + E4B52C105964295DFD36A013FD29A697 /* CTPlistInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPlistInfo.m; path = CleverTapSDK/CTPlistInfo.m; sourceTree = ""; }; E5E604C1E447C1A011859B32CEAEA968 /* Pods_ObjCStarterTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_ObjCStarterTests.framework; path = "Pods-ObjCStarterTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapInAppNotificationDelegate.h; path = CleverTapSDK/CleverTapInAppNotificationDelegate.h; sourceTree = ""; }; - E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTPinnedNSURLSessionDelegate.m; path = CleverTapSDK/CTPinnedNSURLSessionDelegate.m; sourceTree = ""; }; - E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTLocationManager.m; path = CleverTapSDK/CTLocationManager.m; sourceTree = ""; }; - EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTLogger.h; path = CleverTapSDK/CTLogger.h; sourceTree = ""; }; - EC1B3E264B6183459C9C900BE3F4411B /* ic_shrink@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_shrink@1x.png"; sourceTree = ""; }; - ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTProfileBuilder.h; path = CleverTapSDK/CTProfileBuilder.h; sourceTree = ""; }; - EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppUtils.h; path = CleverTapSDK/CTInAppUtils.h; sourceTree = ""; }; - F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTValidator.h; path = CleverTapSDK/CTValidator.h; sourceTree = ""; }; - F3F634940130B8147E3A6B8E20E52C5C /* CTHeaderViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHeaderViewController.h; sourceTree = ""; }; - F64EFC9813835D707262642223DCDA2B /* CTConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTConstants.m; path = CleverTapSDK/CTConstants.m; sourceTree = ""; }; - F66F79E86BA5DF15FB45FAE1FE6BF3BB /* CleverTap-iOS-SDK-tvOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CleverTap-iOS-SDK-tvOS-dummy.m"; path = "../CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-dummy.m"; sourceTree = ""; }; - F76D646BBFECD2A87BC4F5EF9C298248 /* CTCoverImageViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTCoverImageViewController.h; sourceTree = ""; }; + E7B097A182A433F871E63ED6A8A53E52 /* CTPlistInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPlistInfo.h; path = CleverTapSDK/CTPlistInfo.h; sourceTree = ""; }; + EADC96D6503F757AEEA9575AC91837F4 /* CleverTapEventDetail.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CleverTapEventDetail.h; path = CleverTapSDK/CleverTapEventDetail.h; sourceTree = ""; }; + EC9C697FCA78C0EC2162488EF7230820 /* DigiCertGlobalRootCA.crt */ = {isa = PBXFileReference; includeInIndex = 1; name = DigiCertGlobalRootCA.crt; path = CleverTapSDK/DigiCertGlobalRootCA.crt; sourceTree = ""; }; + ED99091080FADDCF718061EC1F67E53D /* CTNotificationButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTNotificationButton.m; path = CleverTapSDK/CTNotificationButton.m; sourceTree = ""; }; + EE74DE7CE2CAEF199A4F2E736B5444D6 /* FLAnimatedImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FLAnimatedImageView.m; path = CleverTapSDK/FLAnimatedImageView.m; sourceTree = ""; }; + F100E1C83B1EB518F65C86C210AA68B8 /* CTHeaderViewController~iphoneport.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTHeaderViewController~iphoneport.xib"; sourceTree = ""; }; + F1F213F4BB19D9B0BD3EE682DE52570E /* CTHeaderViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTHeaderViewController.h; sourceTree = ""; }; + F2E38FED1F744E4A2B8D59E388D2FFD3 /* CleverTap+SSLPinning.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CleverTap+SSLPinning.h"; path = "CleverTapSDK/CleverTap+SSLPinning.h"; sourceTree = ""; }; + F70EC8312DD7BF3115BF22DF3BF8202C /* CTCoverViewController~ipad.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; path = "CTCoverViewController~ipad.xib"; sourceTree = ""; }; F7A713B39951B16C13623949106C37BD /* Pods-ObjCStarterUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-ObjCStarterUITests.modulemap"; sourceTree = ""; }; + F95BDEE1CDAAF02059A8F66E87A1A34D /* CTAVPlayerControlsViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = CTAVPlayerControlsViewController.h; sourceTree = ""; }; + F9A6CF69AE466F2A779ACF83EDBE1AE0 /* CTInAppFCManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CTInAppFCManager.m; path = CleverTapSDK/CTInAppFCManager.m; sourceTree = ""; }; + FA50D8E5A8C18EBA0CE4DF069730B2DE /* ic_expand@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_expand@2x.png"; sourceTree = ""; }; FAA418D7D4BFA30C6EEDB1FA24028A1A /* Pods-ObjCStarterTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterTests-resources.sh"; sourceTree = ""; }; FBC5915F32DE4E5C1640B391D3C8E2EC /* Pods-ObjCStarterUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-ObjCStarterUITests-umbrella.h"; sourceTree = ""; }; FCA06466C846332DA5637FCCC5045009 /* Pods-ObjCStarter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-ObjCStarter.debug.xcconfig"; sourceTree = ""; }; - FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTPlistInfo.h; path = CleverTapSDK/CTPlistInfo.h; sourceTree = ""; }; - FD56BD96852774EEC730A46882FA3535 /* ic_play@1x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; path = "ic_play@1x.png"; sourceTree = ""; }; - FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTInAppDisplayViewControllerPrivate.h; path = CleverTapSDK/CTInAppDisplayViewControllerPrivate.h; sourceTree = ""; }; + FDA9A742205E3C9BFDEB898D3CBE3D62 /* CTDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CTDeviceInfo.h; path = CleverTapSDK/CTDeviceInfo.h; sourceTree = ""; }; FEF6550C1E58242F54E9AF428E8D61E2 /* Pods-ObjCStarterUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-ObjCStarterUITests-resources.sh"; sourceTree = ""; }; - FF522D0ABC17D71A5F73720C2BBE729D /* CTFooterViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CTFooterViewController.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -458,19 +460,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7587BCB4E2F1F4E54CEC0E6AE8D2CC0B /* Frameworks */ = { + 3593A6AF19A3064BA50B0246A9E14B5A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */, + 2BD81FEB113E79A5B2AC42FBA78BC581 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 90066114831DCFF4E609F3AC43EADD4A /* Frameworks */ = { + 7587BCB4E2F1F4E54CEC0E6AE8D2CC0B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D51EDB1B46FC146016F28C41BD696C0B /* Foundation.framework in Frameworks */, + 6C8849990CCE3884DF490E57906F28CE /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -501,16 +503,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0C3C2AA58D43C2C255518A434140607D /* Resources */ = { - isa = PBXGroup; - children = ( - 64BFCE68F488AD7C786DE9D6090737F8 /* DigiCertGlobalRootCA.crt */, - D93A19516B0882CD66675831DED7DFD1 /* DigiCertSHA2SecureServerCA.crt */, - AA57A3F05F9A08EDC737689EE808FEA5 /* InApps */, - ); - name = Resources; - sourceTree = ""; - }; 0F1AAA91B6F7DA0268497F3F77589AA5 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -548,12 +540,30 @@ name = tvOS; sourceTree = ""; }; - 2EFA9F5AF9CB60049B3035E5CBD37EAB /* Pod */ = { + 22A8F03AFCC2E17A3CEC6EF1ED73F9C9 /* InApps */ = { isa = PBXGroup; children = ( - 38450ABB140F8BD185FE2AA0F72E0C36 /* CleverTap-iOS-SDK.podspec */, + 40D4581A4A4B7C9BDBAC171A2CC79D7F /* CTAVPlayerControlsViewController.xib */, + C57C9D71D6FF3E199EE0CA62BD69D596 /* CTCoverImageViewController~ipad.xib */, + DDEA93B4380A7DB3FE36D04CAD3CE4BD /* CTCoverImageViewController~iphoneport.xib */, + F70EC8312DD7BF3115BF22DF3BF8202C /* CTCoverViewController~ipad.xib */, + 78FED9B66DB201853EE7677DFF389D7B /* CTCoverViewController~iphoneport.xib */, + D5A9DC6C6A7FDC1F1B96185ABE022098 /* CTFooterViewController~ipad.xib */, + 84280E78531213F9B2AD7DC3250D3CA7 /* CTFooterViewController~iphoneport.xib */, + 6581711E1296F61D5FE08D3C4DA8F3E2 /* CTHalfInterstitialImageViewController~ipad.xib */, + 0A4ABE1ED3A0E08A57B676413A390C69 /* CTHalfInterstitialImageViewController~iphoneport.xib */, + 0325EA533BD6E64A4EC350006AAACA37 /* CTHalfInterstitialViewController~ipad.xib */, + 25C38BB213F87B747D1E560F459247C1 /* CTHalfInterstitialViewController~iphoneport.xib */, + 45431EA0772880AB5904391D43BF921A /* CTHeaderViewController~ipad.xib */, + F100E1C83B1EB518F65C86C210AA68B8 /* CTHeaderViewController~iphoneport.xib */, + 9971A335A4996920FB8B3F4FD0850409 /* CTInterstitialImageViewController~ipad.xib */, + 1D4376416EE1471177BC486DA96D512E /* CTInterstitialImageViewController~iphoneport.xib */, + 3FB139938EEC7D267F6C1DC5F4650FC8 /* CTInterstitialViewController~ipad.xib */, + 6D5D76B445EF5FA681BE76EECC0109C8 /* CTInterstitialViewController~iphoneport.xib */, + D284672B40CF76460C2E62D3B796FA29 /* images */, ); - name = Pod; + name = InApps; + path = CleverTapSDK/InApps; sourceTree = ""; }; 427155A2DD9656E37EC6B13D9B6F120C /* Products */ = { @@ -587,6 +597,14 @@ path = "Target Support Files/Pods-ObjCStarter"; sourceTree = ""; }; + 4E91D3588D6469F41D1C0EAE71EC62E8 /* Pod */ = { + isa = PBXGroup; + children = ( + 0A5EEB21D9290E778E5062E11A51EF16 /* CleverTap-iOS-SDK.podspec */, + ); + name = Pod; + sourceTree = ""; + }; 58996781A54EE964D7111D73083A18A5 /* iOS */ = { isa = PBXGroup; children = ( @@ -599,7 +617,7 @@ isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - BDDD363ED168C449F7E13ABDC80DCD32 /* Development Pods */, + A2B5CAD5091EF0D36C2777C635DA8EF4 /* Development Pods */, A42F72DC1D780481325DD00969B19BB6 /* Frameworks */, 427155A2DD9656E37EC6B13D9B6F120C /* Products */, 0F1AAA91B6F7DA0268497F3F77589AA5 /* Targets Support Files */, @@ -624,186 +642,168 @@ path = "Target Support Files/Pods-ObjCStarterTests"; sourceTree = ""; }; - 8808E2F998BCB9DABCD6D28A0C80239C /* images */ = { + 8DA65038CAEB0F8F9E89F2FA64CFBA16 /* InApps */ = { isa = PBXGroup; children = ( - 1D13BE9CD94ED85D886B9C5B48FAD110 /* ic_expand@1x.png */, - 89D558ADBD2C8048E37BB654B7A938EE /* ic_expand@2x.png */, - 207C907E14C61097232FBDCE89D235F8 /* ic_expand@3x.png */, - 0AD8ED59807D181886EFFAFCB220A19B /* ic_pause@1x.png */, - BC3AEB7181DB5A005C8895FD7B16F6F2 /* ic_pause@2x.png */, - A0F3D5DBCA94E212CF2BE0F6864EF0D1 /* ic_pause@3x.png */, - FD56BD96852774EEC730A46882FA3535 /* ic_play@1x.png */, - 2935AC9AA6387F3C060F912100E27542 /* ic_play@2x.png */, - 97DEC3B26028A84DFF90730C1F5518F8 /* ic_play@3x.png */, - EC1B3E264B6183459C9C900BE3F4411B /* ic_shrink@1x.png */, - 8BAA2D487A5B5A072B1C9C2E16CE7B85 /* ic_shrink@2x.png */, - 01B0B87EF17E6E4B88DE1517C1867377 /* ic_shrink@3x.png */, - 4084144C896F2C3F071CD5490FF3C4DE /* ic_thumb.png */, - 63A7696C003D1C2B628431AD230EFF3E /* sound-wave-headphones.png */, + 69BBF7AA271EC79F64925132ED4ECB31 /* CTAlertViewController.h */, + 0840C9BDE124A93F680EC32D84FB6B2A /* CTAlertViewController.m */, + F95BDEE1CDAAF02059A8F66E87A1A34D /* CTAVPlayerControlsViewController.h */, + 92F5FD5B43281CD40EDFDDE0BFE50E9B /* CTAVPlayerControlsViewController.m */, + 800826EF4ADF3BB9D82B24E88C91E0DC /* CTAVPlayerViewController.h */, + 85CF1030F7DEE65B04947F6E7C0B51CC /* CTAVPlayerViewController.m */, + 995A6677E2991BD72791806C4F9A7FBC /* CTBaseHeaderFooterViewController.h */, + DF0EE0328A03BDB05173DA3C27AF9638 /* CTBaseHeaderFooterViewController.m */, + 3983F73A2985C565EF3062CCC0DEF861 /* CTBaseHeaderFooterViewControllerPrivate.h */, + 42DAD87607037825561E18A00ED625C5 /* CTCoverImageViewController.h */, + 83CE8F87209C65D9F5AB52176593AFBD /* CTCoverImageViewController.m */, + 668094278340A9E53DF66B11F0CD3191 /* CTCoverViewController.h */, + 269AC7FB0C4CED99C25D10B760FAACD4 /* CTCoverViewController.m */, + 4BF77EEE06AF0E52212BE4206B451FF3 /* CTDismissButton.h */, + D2D3A8C820C331705A297AE9F3B31537 /* CTDismissButton.m */, + 6AF23D75FC9BF3A5DDBB77028BC8012E /* CTFooterViewController.h */, + 65026832BA761398F290AE5EA311FA55 /* CTFooterViewController.m */, + 14F941163E688FD29B138F651C992A23 /* CTHalfInterstitialImageViewController.h */, + AD7CCAF8E73FA20B1585DF553A57C5A2 /* CTHalfInterstitialImageViewController.m */, + CE834314A265333D84FD03B767B6DD42 /* CTHalfInterstitialViewController.h */, + 8F73014FC6D0633BC655951F07E5E015 /* CTHalfInterstitialViewController.m */, + F1F213F4BB19D9B0BD3EE682DE52570E /* CTHeaderViewController.h */, + B1F79A33FCF950B21A4C5F785FBF7247 /* CTHeaderViewController.m */, + 73D9D8A160193092345354E99A7EDC60 /* CTInAppHTMLViewController.h */, + A8616DCF6DA7AC23DBA8AF14034CC2B8 /* CTInAppHTMLViewController.m */, + D73DFF5E5060F0EA01EED6CCFA97DB4E /* CTInterstitialImageViewController.h */, + 981824D917EE4453413334C02C4F2168 /* CTInterstitialImageViewController.m */, + B065E877EA908F82722367DFDA6884DC /* CTInterstitialViewController.h */, + AEFD8562C8F427EFCDC8B819A95AD639 /* CTInterstitialViewController.m */, + 96B0A82CBC7A95E64224EE63100BAF63 /* CTSlider.h */, + CEF1718498368EF535C233136C98D138 /* CTSlider.m */, ); - name = images; - path = images; + name = InApps; + path = CleverTapSDK/InApps; sourceTree = ""; }; - A42F72DC1D780481325DD00969B19BB6 /* Frameworks */ = { + A2B5CAD5091EF0D36C2777C635DA8EF4 /* Development Pods */ = { isa = PBXGroup; children = ( - 58996781A54EE964D7111D73083A18A5 /* iOS */, - 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */, + BDD22B82C5B4750CD1D5A28E9DA90220 /* CleverTap-iOS-SDK */, ); - name = Frameworks; + name = "Development Pods"; sourceTree = ""; }; - AA57A3F05F9A08EDC737689EE808FEA5 /* InApps */ = { + A42F72DC1D780481325DD00969B19BB6 /* Frameworks */ = { isa = PBXGroup; children = ( - 1CA6C76E21BCF499209148ED65DB32B4 /* CTAVPlayerControlsViewController.xib */, - 8734DB77EDD6757B151183F4F61741C0 /* CTCoverImageViewController~ipad.xib */, - 89E22A34D4BFAF91C044D0F20B8F2758 /* CTCoverImageViewController~iphoneport.xib */, - 521AE17F02FF133D15599220045160CF /* CTCoverViewController~ipad.xib */, - 293EB57D407F084A744828592CF4C178 /* CTCoverViewController~iphoneport.xib */, - E13DA569FD2A83038236D35479E6367C /* CTFooterViewController~ipad.xib */, - 3C08F421C5AE0B6BF43D6FA5C766EC0C /* CTFooterViewController~iphoneport.xib */, - B1A453D48276FDD1B6CC30EB4C2AB07F /* CTHalfInterstitialImageViewController~ipad.xib */, - 1E7D8C0E52CE0FD629BD5D6B67482AAF /* CTHalfInterstitialImageViewController~iphoneport.xib */, - 9C43E5F32B9B4C51B281C4B038A521C7 /* CTHalfInterstitialViewController~ipad.xib */, - 78B6498DD556C677DF91A4DCAA32688D /* CTHalfInterstitialViewController~iphoneport.xib */, - A7485B9EC9912212D2B59AF1BCC83BC3 /* CTHeaderViewController~ipad.xib */, - 9B42CAC7F3F96EEFE8C6359628419E99 /* CTHeaderViewController~iphoneport.xib */, - C845F911ECAA570E31C29FF154152649 /* CTInterstitialImageViewController~ipad.xib */, - C864580FC7B6F27609F1543E602840BE /* CTInterstitialImageViewController~iphoneport.xib */, - 6F4F038A4D05638A4FAD1ED7F86EC272 /* CTInterstitialViewController~ipad.xib */, - 29FD80ADF71F8D84B8F4B1326C53DDBB /* CTInterstitialViewController~iphoneport.xib */, - 8808E2F998BCB9DABCD6D28A0C80239C /* images */, + 58996781A54EE964D7111D73083A18A5 /* iOS */, + 20F731AE46C73F232AF0C168DC383CF9 /* tvOS */, ); - name = InApps; - path = CleverTapSDK/InApps; + name = Frameworks; sourceTree = ""; }; - ACEE54C513D2105EF8EE48CCD9C550B1 /* InApps */ = { + AFE1A82BC9648FAB15E2E74F9274041D /* Support Files */ = { isa = PBXGroup; children = ( - 41C84398128D4024055564AB635FACFC /* CTAlertViewController.h */, - 5E0CE9AA361FC9A01EC7B82FC8424DDA /* CTAlertViewController.m */, - AAAC39506D2FA822A22D38F0F428AB79 /* CTAVPlayerControlsViewController.h */, - E3DA29E0335821BD64FCEEFF71E7BF3C /* CTAVPlayerControlsViewController.m */, - 1D79FEE54BBD1173558ED82EE655E214 /* CTAVPlayerViewController.h */, - 0837D1B0634780E62A95FD6DCA800D3E /* CTAVPlayerViewController.m */, - 68E7F7E0E31959E42B2EB4A812445876 /* CTBaseHeaderFooterViewController.h */, - D8D56AA4B720AB4FB380C3E6A6549EBA /* CTBaseHeaderFooterViewController.m */, - E2B0BB6C138FE83987B28942C39CB8B6 /* CTBaseHeaderFooterViewControllerPrivate.h */, - F76D646BBFECD2A87BC4F5EF9C298248 /* CTCoverImageViewController.h */, - D7E10ED25B97DEBFB5D37A71103670A0 /* CTCoverImageViewController.m */, - 26E87E4D796D536FC582D411D4ACE3F5 /* CTCoverViewController.h */, - 980C77E9590447D97FAF3D97D103BC14 /* CTCoverViewController.m */, - 86501CAE0614F927948424FC4F958D74 /* CTDismissButton.h */, - DB2753FB6B139A135E8A8363D6F99DCC /* CTDismissButton.m */, - 58D3FCB1231D679F2681EACBEF58ABB3 /* CTFooterViewController.h */, - FF522D0ABC17D71A5F73720C2BBE729D /* CTFooterViewController.m */, - 82153304DABB3BB1B50C8DA08CC49F86 /* CTHalfInterstitialImageViewController.h */, - 33DD8AC68339188F422EB57F2913E0E8 /* CTHalfInterstitialImageViewController.m */, - 1BC394816637D67C99627152CE3797B0 /* CTHalfInterstitialViewController.h */, - CF1D511D3C332452112352871B743EF0 /* CTHalfInterstitialViewController.m */, - F3F634940130B8147E3A6B8E20E52C5C /* CTHeaderViewController.h */, - 5F61991599DB50822AE362B254FEB268 /* CTHeaderViewController.m */, - 8D55AFAAC969D674A8EB476BC99B03F5 /* CTInAppHTMLViewController.h */, - 8FEE96404139CFB165291CDAFD981572 /* CTInAppHTMLViewController.m */, - 7D9614FEFA39B257A0805F70C00DCCDB /* CTInterstitialImageViewController.h */, - 2EABF23D5311F9D66F0E6C19C07FED18 /* CTInterstitialImageViewController.m */, - 4CC45C3A54DE4689DEB1A994269A3AA5 /* CTInterstitialViewController.h */, - D311440C8EE1F878527C73F86C9D21DC /* CTInterstitialViewController.m */, - 7442F4D96390B8A3A85A4351E531AEB8 /* CTSlider.h */, - 16C557CF28EADD35E90EF9CB8D7CBA7C /* CTSlider.m */, - D6A9765C12DB28F8B50A5F5181F8B42F /* FLAnimatedImageView.h */, - B22ABFB7C7C44B664FA01DC6C9394EB9 /* FLAnimatedImageView.m */, + 1BC7CEF8654D75A7AD597BD5B60FE313 /* CleverTap-iOS-SDK-iOS.modulemap */, + 8107BA1260CE21C0A21F8119FC0D8095 /* CleverTap-iOS-SDK-iOS.xcconfig */, + 8DFD1499A9C6494C71D55AFB666C110A /* CleverTap-iOS-SDK-iOS-dummy.m */, + 0E0BEAE127D9CD35932A1C796551FB0E /* CleverTap-iOS-SDK-iOS-prefix.pch */, + 8AD3460503203660A1D872CC947CC2F2 /* CleverTap-iOS-SDK-iOS-umbrella.h */, + 376B695692765017D38B6B7165CA71B4 /* CleverTap-iOS-SDK-tvOS.modulemap */, + 7A897B06A248522C3F268A4BD2C9F8D6 /* CleverTap-iOS-SDK-tvOS.xcconfig */, + BE4FF7D92BDF0E1D568D53C65596AF89 /* CleverTap-iOS-SDK-tvOS-dummy.m */, + B578D16CCCC441532AF206BA826DEAE6 /* CleverTap-iOS-SDK-tvOS-prefix.pch */, + D7BC8D68CD0E1295BCE67A4EAC94CB11 /* CleverTap-iOS-SDK-tvOS-umbrella.h */, + 0918E7E399418A0676DE86AFBF3C5B14 /* Info.plist */, + 193DA46A0F654B10C230EFD1EDE441DB /* Info.plist */, ); - name = InApps; - path = CleverTapSDK/InApps; + name = "Support Files"; + path = "ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS"; sourceTree = ""; }; - BDDD363ED168C449F7E13ABDC80DCD32 /* Development Pods */ = { + BDD22B82C5B4750CD1D5A28E9DA90220 /* CleverTap-iOS-SDK */ = { isa = PBXGroup; children = ( - C11AD6853118D8F84E70A72170C07A3D /* CleverTap-iOS-SDK */, + C71FD0730A6C95382CAEAE8EA6D6C075 /* CleverTap.h */, + B7539C9A641D878ACA3BA5CE9E8E935F /* CleverTap.m */, + F2E38FED1F744E4A2B8D59E388D2FFD3 /* CleverTap+SSLPinning.h */, + BB9F312E74BF39FF075418DA1A21B000 /* CleverTapBuildInfo.h */, + EADC96D6503F757AEEA9575AC91837F4 /* CleverTapEventDetail.h */, + 835627291937792A21124FD4AB4A18DC /* CleverTapEventDetail.m */, + 484888D6574B6AC25D0E4E33CA78B4DE /* CleverTapInAppNotificationDelegate.h */, + DB84FB167B0C3E3F9F4C645511833153 /* CleverTapInstanceConfig.h */, + 3C860F6F466673568602392C80F1FC3D /* CleverTapInstanceConfig.m */, + 2DC25E7418C1C7F3CB29C3D87771977A /* CleverTapInstanceConfigPrivate.h */, + DD445C34E2FFBDBD55D11E062BCABEC7 /* CleverTapSyncDelegate.h */, + 04B24CAE757AD99AE1E15EF7A2566A76 /* CleverTapTrackedViewController.h */, + BD6775DF39FF68998363AF544CCF19DC /* CleverTapTrackedViewController.m */, + 8BD0FDCE50661AA79B4A851D8A873663 /* CleverTapUTMDetail.h */, + A0614CA4BC8D032872F1843DEC4BCFFD /* CleverTapUTMDetail.m */, + C010200A8014573D94479818B25785F4 /* CTCertificatePinning.h */, + E09FE9E56679DE709F6B24480C23EE1D /* CTCertificatePinning.m */, + D8D7C44097D696CEE74C43DFE1AD4D9F /* CTConstants.h */, + C3C975F4DF130B3E7F3A719BA6189696 /* CTConstants.m */, + FDA9A742205E3C9BFDEB898D3CBE3D62 /* CTDeviceInfo.h */, + DDDA4431D593E23534E0F0B9529763D4 /* CTDeviceInfo.m */, + B58A26B633EB1902650D41D076C55DA9 /* CTEventBuilder.h */, + 3095E807A11FB6375FCA4AA260BBA802 /* CTEventBuilder.m */, + 365E913B9862CD84C58F3C93A99AC5C3 /* CTInAppDisplayViewController.h */, + CCB8B1BFEA8A95724A14FE93EE0E0778 /* CTInAppDisplayViewController.m */, + 2C22CD81AB7B7AE5CAE4280B119AA9F7 /* CTInAppDisplayViewControllerPrivate.h */, + B70AE09F30139285706D87B96B514D7F /* CTInAppFCManager.h */, + F9A6CF69AE466F2A779ACF83EDBE1AE0 /* CTInAppFCManager.m */, + 551D5602237989DE6A8582739E068591 /* CTInAppNotification.h */, + CC5D0B8692C53314758FCF655C9DA029 /* CTInAppNotification.m */, + D543C5BF50378C1B8A23F6976D478067 /* CTInAppResources.h */, + 6C2E2044A2F88E9B43BF8386D047D1BF /* CTInAppResources.m */, + 26E0FCF05DDC67CAF4E35DDF4A77DEE6 /* CTInAppUtils.h */, + 7BB62C49A14987C6FC89120F7AB770A9 /* CTInAppUtils.m */, + BBB849FB0102D7377F6D65E8015C997C /* CTKnownProfileFields.h */, + 33C56B9DD164BD1C2F223DD9E57A8D9B /* CTKnownProfileFields.m */, + 931955FA97D3AD073FDC034F68777212 /* CTLocalDataStore.h */, + 2707C7EDD1BE135A727A8CE17C7E3B4B /* CTLocalDataStore.m */, + A36E887DC0B59FF9A9EE45D0E549E860 /* CTLocationManager.h */, + BCC5282D081707857B3A015F9A462C3E /* CTLocationManager.m */, + 56D478D07B27BFFFB796B200CE5B2BA2 /* CTLogger.h */, + 05B0B48AF845DC78378BEF56822A0B5D /* CTLogger.m */, + AAF60C279F13F1DB3A95FC743422A730 /* CTNotificationButton.h */, + ED99091080FADDCF718061EC1F67E53D /* CTNotificationButton.m */, + B4E9FCC817D4B3B2AD7F2014AFD1E4EB /* CTPinnedNSURLSessionDelegate.h */, + 394EBE80516139F64F6FC71DD9B6B23E /* CTPinnedNSURLSessionDelegate.m */, + E7B097A182A433F871E63ED6A8A53E52 /* CTPlistInfo.h */, + E4B52C105964295DFD36A013FD29A697 /* CTPlistInfo.m */, + E47022E886F10A61A9610F5B4BF81135 /* CTPreferences.h */, + DC1A354B989FD32E783116138E5A68B4 /* CTPreferences.m */, + 2F71D8061FA3E0F943E5E4C85DB9EC24 /* CTProfileBuilder.h */, + 3132311D86866710BD636E787EAC5C8E /* CTProfileBuilder.m */, + 9695D83BF46B823360ACAF210134EC68 /* CTSwizzle.h */, + 56A49FBC0EFE520AC706E69F46E001CC /* CTSwizzle.m */, + 8494992EC4204CD25669D9D750A6960D /* CTUriHelper.h */, + 965306BE46850E4476C1EA58AB08EED7 /* CTUriHelper.m */, + 4DD10F967555B9910D22C26C7C80730E /* CTUtils.h */, + DC19136B0C1E4689553A5D390651A66E /* CTUtils.m */, + 49EB62718778444E487FF6AF62CDD169 /* CTValidationResult.h */, + E069B9D9C5E39F08226BD77D7ADFACC7 /* CTValidationResult.m */, + 0D6BD2A41B8236709F497323814CF069 /* CTValidator.h */, + 1A18F6574C9217CDA4A55964C6E6E547 /* CTValidator.m */, + 9870D51A47AC79E23EA87DC4A00244DC /* FLAnimatedImage.h */, + 7018F5597CE34DFCDEF5D795A2796EA9 /* FLAnimatedImage.m */, + 758F33C54F35570FC766C43728CE7B46 /* FLAnimatedImageView.h */, + EE74DE7CE2CAEF199A4F2E736B5444D6 /* FLAnimatedImageView.m */, + 8DA65038CAEB0F8F9E89F2FA64CFBA16 /* InApps */, + 4E91D3588D6469F41D1C0EAE71EC62E8 /* Pod */, + C2D5BC14A57F9DFDE82DF5737204DE82 /* Resources */, + AFE1A82BC9648FAB15E2E74F9274041D /* Support Files */, ); - name = "Development Pods"; + name = "CleverTap-iOS-SDK"; + path = ../..; sourceTree = ""; }; - C11AD6853118D8F84E70A72170C07A3D /* CleverTap-iOS-SDK */ = { + C2D5BC14A57F9DFDE82DF5737204DE82 /* Resources */ = { isa = PBXGroup; children = ( - 913E6BF9858936D220729A4A886ADDDF /* CleverTap.h */, - 36E1C8BB97BE8E5E0F16404804F6490D /* CleverTap.m */, - 6D1139BF67E361FE4E8F86C6853C8655 /* CleverTap+SSLPinning.h */, - 76D8FDF36841CF75B98EB571B08F26AB /* CleverTapBuildInfo.h */, - B6AA90DF09CDE2645DA55083676085CE /* CleverTapEventDetail.h */, - 42BDC52614A8401D311BAF654347359A /* CleverTapEventDetail.m */, - E787498DAB61055EFDFF0102BFEC6E9F /* CleverTapInAppNotificationDelegate.h */, - 1AE8D88255D33D82B86B6DB163AACE46 /* CleverTapInstanceConfig.h */, - 058FCD8B535B77750416C82B57F8714E /* CleverTapInstanceConfig.m */, - 7357EFB636912287F14687718E94FF71 /* CleverTapInstanceConfigPrivate.h */, - D740672155EB03F94946718E46353FA7 /* CleverTapSyncDelegate.h */, - 22AB086CB14C3C942DAF82BA202C60B5 /* CleverTapTrackedViewController.h */, - 2D3EBA9008D8D4681B295D933C1368B0 /* CleverTapTrackedViewController.m */, - DE703D1C06C94F7A648870D21BEC05A4 /* CleverTapUTMDetail.h */, - 817A9E362DBB74AD6381AEDF2D0BA62C /* CleverTapUTMDetail.m */, - 3F2E826FA0D33A8A23F7B94DDB931F91 /* CTCertificatePinning.h */, - 1FB09388F57F315769D53527847EBF77 /* CTCertificatePinning.m */, - 17B52ADBA892C153FDEFBFCDD0EA3A30 /* CTConstants.h */, - F64EFC9813835D707262642223DCDA2B /* CTConstants.m */, - 1CA294926D0BCE20AA813A56705D6935 /* CTDeviceInfo.h */, - 31D24A38A404DD0A2BA778AF60571AEC /* CTDeviceInfo.m */, - 624397B31C679ED9FEC1B263BAB75530 /* CTEventBuilder.h */, - 17BD5829ABD1994CBEDE6E4C460D5A3C /* CTEventBuilder.m */, - 7A5B209FA0902C922FD004E51B703F42 /* CTInAppDisplayViewController.h */, - 15862AD3E28751801BD3F8803B940710 /* CTInAppDisplayViewController.m */, - FED8B5C740AE42923646B8E6FD1615C6 /* CTInAppDisplayViewControllerPrivate.h */, - 1372040E9FBE7BD8998A89212020B1F5 /* CTInAppFCManager.h */, - 497D6BA955960658AC60E6347F751038 /* CTInAppFCManager.m */, - B5A746FBB99D250FA7AA584CA1592883 /* CTInAppNotification.h */, - A94AF122175ED834EF155296AD32320E /* CTInAppNotification.m */, - 486944D9225C76DA1EAA5C74AB72767B /* CTInAppResources.h */, - 35C7AE28E18CA214D2CFBA6A15AA1FF2 /* CTInAppResources.m */, - EEABC106CD307393487F6C87879D7887 /* CTInAppUtils.h */, - 4A1C52EF038C56EB5FE4D7D3C1CCF32F /* CTInAppUtils.m */, - 1221157D3D611B6512E6DDDFF0855A25 /* CTKnownProfileFields.h */, - 262790E7D97B45DD6A1C7E2383D0DE67 /* CTKnownProfileFields.m */, - 4DE1DABA773E75840B6CE4A03D4A4E17 /* CTLocalDataStore.h */, - 7D28E1EDEAD93EC4FE302CE806176AD5 /* CTLocalDataStore.m */, - AD5582B2D1E989BB2D14235CF067F2AE /* CTLocationManager.h */, - E873E30D1010134522BE8199DC8FF013 /* CTLocationManager.m */, - EA9A385B3EDA6B877F169A9281D4EC5A /* CTLogger.h */, - ADCC320AB4A7AA564AA2C99C1334E435 /* CTLogger.m */, - 097700D77DFA5F85DF12A210CFD97C4A /* CTNotificationButton.h */, - 4DC3BC961424025DEF553F68CCD5E8DE /* CTNotificationButton.m */, - 2285808F99F1A8E638C44911FC8E63D6 /* CTPinnedNSURLSessionDelegate.h */, - E81437E2A6489957BE70F4A72D15AC07 /* CTPinnedNSURLSessionDelegate.m */, - FD1129C879A248923AE8EF6181D62F28 /* CTPlistInfo.h */, - 177861FE7867B585927BD6CB1DC92C46 /* CTPlistInfo.m */, - 18FC0DEB7EC0A9E222A2ADD6D47B736E /* CTPreferences.h */, - 595DFB7A6ECBFC0C00637C8EF562004D /* CTPreferences.m */, - ECD4581833320582E85429D7239FFC59 /* CTProfileBuilder.h */, - A355C8EF8CDA9ABBE86A8E24E2EE95AF /* CTProfileBuilder.m */, - 6D3FF12290032D9CFA1DDC0DC172E3EC /* CTSwizzle.h */, - 6BF41A70B5C11D84B82C130626988BA6 /* CTSwizzle.m */, - 1A9BF88599D61CE238BB7ACE6E2C148D /* CTUriHelper.h */, - 7E226A780E89EA2A2CC2EB54EFDD824B /* CTUriHelper.m */, - 75E20284DAE5B0B2CC4C2B234D044C40 /* CTUtils.h */, - D71E44C197693A626C97A48F88294C48 /* CTUtils.m */, - C5109E85EF1D980E3411B2F7471440B3 /* CTValidationResult.h */, - 53505CD4A640E4978A3B0A3205BDC0C5 /* CTValidationResult.m */, - F31CF4B4F9FDBFE3CA4C47BA57FDD182 /* CTValidator.h */, - 847B590F061670C8B3E48AE6BC0BE05D /* CTValidator.m */, - 3DBCF98E0E573C9588B215855E8A754A /* FLAnimatedImage.h */, - 62FCF697F9A0C93A97F7FA1F88F3928B /* FLAnimatedImage.m */, - ACEE54C513D2105EF8EE48CCD9C550B1 /* InApps */, - 2EFA9F5AF9CB60049B3035E5CBD37EAB /* Pod */, - 0C3C2AA58D43C2C255518A434140607D /* Resources */, - E7560CDEE4C6E3427C13E362CF7BE538 /* Support Files */, + EC9C697FCA78C0EC2162488EF7230820 /* DigiCertGlobalRootCA.crt */, + 527BF21FF6FC41547E18EFD6A8F1305F /* DigiCertSHA2SecureServerCA.crt */, + 22A8F03AFCC2E17A3CEC6EF1ED73F9C9 /* InApps */, ); - name = "CleverTap-iOS-SDK"; - path = ../..; + name = Resources; sourceTree = ""; }; CE3F1ED9F110CF0EFDA291EA611CB544 /* Pods-ObjCStarterUITests */ = { @@ -824,86 +824,72 @@ path = "Target Support Files/Pods-ObjCStarterUITests"; sourceTree = ""; }; - E7560CDEE4C6E3427C13E362CF7BE538 /* Support Files */ = { + D284672B40CF76460C2E62D3B796FA29 /* images */ = { isa = PBXGroup; children = ( - 1225942D643B3B9EBD7BD62856107C12 /* CleverTap-iOS-SDK-iOS.modulemap */, - BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */, - 927DBB72AED631D6889D58A89E469529 /* CleverTap-iOS-SDK-iOS-dummy.m */, - 080AA57FB8B098006F2CB8E2EA5183BE /* CleverTap-iOS-SDK-iOS-prefix.pch */, - 9F9F1CD8D8B458B74D68588EF102F740 /* CleverTap-iOS-SDK-iOS-umbrella.h */, - 12F71063123FDFAFAF80A581D558E444 /* CleverTap-iOS-SDK-tvOS.modulemap */, - E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */, - F66F79E86BA5DF15FB45FAE1FE6BF3BB /* CleverTap-iOS-SDK-tvOS-dummy.m */, - C06DEB9C21942DD4242BD76A3013A211 /* CleverTap-iOS-SDK-tvOS-prefix.pch */, - D52AEA4052F82C732A08C552E972F2A1 /* CleverTap-iOS-SDK-tvOS-umbrella.h */, - C4A06661A43FF57B9AF687E06A90E070 /* Info.plist */, - CDA4E418833C3F791EDB4B4F1798DB58 /* Info.plist */, + 136304F58B055F4508F3B3A8DE97C896 /* ic_expand@1x.png */, + FA50D8E5A8C18EBA0CE4DF069730B2DE /* ic_expand@2x.png */, + D0AA251E8D333CA7A8821F8ED025E60D /* ic_expand@3x.png */, + D61F229BD7097404A09463DBF6F7EBC0 /* ic_pause@1x.png */, + 6D58B3FF37F9AFFABD98A10766BDD44D /* ic_pause@2x.png */, + 94807550BD47C9E4AAD8B075C0E3C5B2 /* ic_pause@3x.png */, + A86E965C038024D41C727BCF7FF3A4A0 /* ic_play@1x.png */, + E1AE0962382D63E3BD800F113259D28A /* ic_play@2x.png */, + 38E248FC6D75DB2E42BF0AA88D8B141B /* ic_play@3x.png */, + CDE6846D50B94A5F6CD61BC0AAAFBF8D /* ic_shrink@1x.png */, + 5391BC1322843B8F86EF9763089C1B03 /* ic_shrink@2x.png */, + A8E6B9FAC29A5B3553FCAFDA211AC2AC /* ic_shrink@3x.png */, + 9DB788D44D5BCD075138EB1CA016168A /* ic_thumb.png */, + 0F31D96F4D5B2355EFA3E3D605732B07 /* sound-wave-headphones.png */, ); - name = "Support Files"; - path = "ObjCStarter/Pods/Target Support Files/CleverTap-iOS-SDK-iOS"; + name = images; + path = images; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 1F773AE17355822BED652A9CE5DF4B33 /* Headers */ = { + 0D34EC179BBC2F482B5E35A7E266880E /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 1C748BBEDA47B1BF59E053BD496B9B12 /* CleverTap+SSLPinning.h in Headers */, - 77EC2EBA12A124844065ED387B67EDC8 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */, - 6312FF3C4B0B9DEF5EC7D079CE999DAD /* CleverTap.h in Headers */, - 2FFD0EA57DC433AB764BABEEB252BC29 /* CleverTapBuildInfo.h in Headers */, - D3FFBDB2669A030F65020C0526C41060 /* CleverTapEventDetail.h in Headers */, - 331C2D5437D1D6BAE75E3FFBCBB78C70 /* CleverTapInAppNotificationDelegate.h in Headers */, - BC19103C6668D7EF2C90A2F3CF2F121A /* CleverTapInstanceConfig.h in Headers */, - 6B53E98525827CD38476C2CDB0F91AF4 /* CleverTapInstanceConfigPrivate.h in Headers */, - 0F934E7C674AAEEAD3B4BD442615299F /* CleverTapSyncDelegate.h in Headers */, - 89465443DE5DC74B33ED71D1F2E56B1D /* CleverTapTrackedViewController.h in Headers */, - 61E1464A32493C656A0114F971A94937 /* CleverTapUTMDetail.h in Headers */, - 6C562CCE50DFD012D57962F6C2A60824 /* CTAlertViewController.h in Headers */, - C8767C57D3CACD449C229FD60A7B61F3 /* CTAVPlayerControlsViewController.h in Headers */, - 9712CED289F06E99A03A87D3317CF8A8 /* CTAVPlayerViewController.h in Headers */, - 1A76E743B34E6676732EEFE86ACDA77C /* CTBaseHeaderFooterViewController.h in Headers */, - 9BB0B487B240A3F307E81311E3FB4B43 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, - 8384765D35700C02759D05661DC66262 /* CTCertificatePinning.h in Headers */, - 2FF269B5380A126CCE1FE77303F7232E /* CTConstants.h in Headers */, - 6D7C3D0C1FA0A61E6D561EBB5A10BBBC /* CTCoverImageViewController.h in Headers */, - 096539591AE0664B0F82DEF439953BB6 /* CTCoverViewController.h in Headers */, - 38868897F2C820C53932844E01F20032 /* CTDeviceInfo.h in Headers */, - 1362D217B53E46C5D2AA4EC490F13FB0 /* CTDismissButton.h in Headers */, - 8B02E16866F7F6FB972B54B1BC5BCF41 /* CTEventBuilder.h in Headers */, - E96C664B83CF37446605A8245CF03E47 /* CTFooterViewController.h in Headers */, - C3617B611AD696B0496A7AEE647D8E24 /* CTHalfInterstitialImageViewController.h in Headers */, - 423DD5050D84B5C2E6B39D373F1EBDC2 /* CTHalfInterstitialViewController.h in Headers */, - 629C17695DA178B9A73BE2CAC43140FE /* CTHeaderViewController.h in Headers */, - 5082EE4ABA7BCE3E537BD26DEF005287 /* CTInAppDisplayViewController.h in Headers */, - 1CB1C7F933C7BBBC503F44B7DAB93C69 /* CTInAppDisplayViewControllerPrivate.h in Headers */, - FD395338E5B0F1AFC0486AA009330A10 /* CTInAppFCManager.h in Headers */, - 4DB5064262387E3B55460781A3ABCFC3 /* CTInAppHTMLViewController.h in Headers */, - 4E0483F9EF57A7D87E7B0E3DA0A49F9F /* CTInAppNotification.h in Headers */, - FFD40C88196BBE4E60E4CFAD0D50476E /* CTInAppResources.h in Headers */, - E17577FA3CDC8862D303B44E28664E05 /* CTInAppUtils.h in Headers */, - 354D13CBE3BAE064CDA92331F2B82E7E /* CTInterstitialImageViewController.h in Headers */, - C837A5922E974DC5E1B9EB06A8E81B20 /* CTInterstitialViewController.h in Headers */, - 0DCCC84D84EB50796A605A1653080CAD /* CTKnownProfileFields.h in Headers */, - 1B517D01432F9A00E80DE1CE507815CD /* CTLocalDataStore.h in Headers */, - 90E0BDD6BC2E0947C590D257FA464D77 /* CTLocationManager.h in Headers */, - 8BE0E1322A594060BD8E23F55A38590B /* CTLogger.h in Headers */, - 76EB1D667E5B080F7D4A3AFE697F5564 /* CTNotificationButton.h in Headers */, - 24A3A1DFBF19E8F7CBE525912614ED72 /* CTPinnedNSURLSessionDelegate.h in Headers */, - 760314905F812C7F2600E76AE71A4F93 /* CTPlistInfo.h in Headers */, - 65BAEB6EDCD44499E8B8F1A939C09170 /* CTPreferences.h in Headers */, - 032F61FEC428EE8AF48AD18979028C2A /* CTProfileBuilder.h in Headers */, - 2E8609B263EDAE2C5B29E035900BECD9 /* CTSlider.h in Headers */, - 3D5574464D38C09EA5FB8DF458B557BD /* CTSwizzle.h in Headers */, - C2EBDBE686EE487743E7389F4C71DC14 /* CTUriHelper.h in Headers */, - 664BD277637820E8201EB18FF2D66512 /* CTUtils.h in Headers */, - 093B36E6DCD798AFB817BC00AA546B21 /* CTValidationResult.h in Headers */, - E254A31AF9AA162339AC4B7812F3CE77 /* CTValidator.h in Headers */, - AACB92FCF730A14CE1CE41EA05C5A40E /* FLAnimatedImage.h in Headers */, - 0A68514D02C62AF9163D33AE39A9C9B9 /* FLAnimatedImageView.h in Headers */, + CC59FF7DEB255AF868CEFE686115EA65 /* CleverTap+SSLPinning.h in Headers */, + 1BFCDB17546E2782D2BE747920739658 /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, + B6962AAD6F0AA2C41341635BBC9C71C1 /* CleverTap.h in Headers */, + 0F5EBCE2BC3C3CCE83686E2E0B3BB229 /* CleverTapBuildInfo.h in Headers */, + 5649175CFFDDDFE7EC38B547ABA3A0A4 /* CleverTapEventDetail.h in Headers */, + A05A70956819445A57C123EFA93E9355 /* CleverTapInAppNotificationDelegate.h in Headers */, + F3263D4C18A43009F8A8027716A717C8 /* CleverTapInstanceConfig.h in Headers */, + 32C3A35DE4655CA339093A4540B20966 /* CleverTapInstanceConfigPrivate.h in Headers */, + 67937F0331DDCDBFF9AA3E54A58C1D00 /* CleverTapSyncDelegate.h in Headers */, + 7B5704185C472AE4FDA056BAFE146878 /* CleverTapTrackedViewController.h in Headers */, + 40664B8A0697EF161D85C8AE74F9CECB /* CleverTapUTMDetail.h in Headers */, + F757706DE9BC79D2C9562AACB286CEE9 /* CTCertificatePinning.h in Headers */, + A351370ECBCA236ED79A5C9C19F7794F /* CTConstants.h in Headers */, + 69DB9536707021424F7E28AB25604A9F /* CTDeviceInfo.h in Headers */, + 888EE78D8C760A5A354920848439B301 /* CTEventBuilder.h in Headers */, + E37A133274C9C507FDDFB8386E5AF8F8 /* CTInAppDisplayViewController.h in Headers */, + 3D2507AE9B75F8129E3FF909A48AB372 /* CTInAppDisplayViewControllerPrivate.h in Headers */, + F998A823031990817FFA4414CDD792ED /* CTInAppFCManager.h in Headers */, + 72BBEC03FD3DFBFD5833B750F55D0A24 /* CTInAppNotification.h in Headers */, + 019966732D030AB16972BCCB9CC259F7 /* CTInAppResources.h in Headers */, + 55BCBF03AC573DB45CAF3E1A599294EA /* CTInAppUtils.h in Headers */, + FDD640B97AF0308F2705A23DFD557E88 /* CTKnownProfileFields.h in Headers */, + 2941CD022D8B2CCEA1A6A31727C61042 /* CTLocalDataStore.h in Headers */, + 6510934118D201EF143AF623A0D68547 /* CTLocationManager.h in Headers */, + 2228EA0868EC399661350A546B7FD6E2 /* CTLogger.h in Headers */, + DADC7EA41BDDD0377D3F499CA2D29CDE /* CTNotificationButton.h in Headers */, + D34FC5C385E6E194E6EAD2F83DA4A2D1 /* CTPinnedNSURLSessionDelegate.h in Headers */, + 6F624247548BDDECC5DFD411F4EC99DA /* CTPlistInfo.h in Headers */, + 79F5A7DCBBB01A028C9CDD0BEF570400 /* CTPreferences.h in Headers */, + A07032BA132125D65327FE71E6B97F14 /* CTProfileBuilder.h in Headers */, + 04383408B0ECBDD7A75116AFBD8B850E /* CTSwizzle.h in Headers */, + BBC350487638B71E7A9B9B092A3583EF /* CTUriHelper.h in Headers */, + AD40A5DBDE7FFEF84ACEAFC067A7C6C8 /* CTUtils.h in Headers */, + 076EDBF4B55369F074DABA5C7B83AF92 /* CTValidationResult.h in Headers */, + 616308FB93CF9ACED564092A5D311412 /* CTValidator.h in Headers */, + 90EA6AB5E392F91A37C506E653411F4A /* FLAnimatedImage.h in Headers */, + 4C7AC7B8D45E481EA7327429747D530A /* FLAnimatedImageView.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -931,54 +917,71 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - E31C679DD14CDB04205E8ED0753099E0 /* Headers */ = { + C5EF6DDA144EC0BCF687C03BAD684229 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */, + 45227132853B3293ECC629ABB3032F3B /* CleverTap+SSLPinning.h in Headers */, + E6DDB1EE504627765E67A7BBD99F14C8 /* CleverTap-iOS-SDK-iOS-umbrella.h in Headers */, + 1EA156FB080FC5AAA17DF148BFF48539 /* CleverTap.h in Headers */, + F41E6938C7B782DC21221F54FC3F728D /* CleverTapBuildInfo.h in Headers */, + 72DF403F695F2567C544ADB0319D8E6E /* CleverTapEventDetail.h in Headers */, + A5F0A130541CE11E6D7FDF8FB8B19D93 /* CleverTapInAppNotificationDelegate.h in Headers */, + C0041336E4336AC558C778ED77C83CA2 /* CleverTapInstanceConfig.h in Headers */, + 483D6BBFE052BB6223662C3F32CDCAA0 /* CleverTapInstanceConfigPrivate.h in Headers */, + 5D504EC3775FF00EDEB306A50E6B531B /* CleverTapSyncDelegate.h in Headers */, + EFC5F77BDF9E328568B2B8E7493EAF48 /* CleverTapTrackedViewController.h in Headers */, + 9A6779C68950304A180037F42067B2F0 /* CleverTapUTMDetail.h in Headers */, + C8DF9FB1DA3FE2FCFDECF359CDF5247E /* CTAlertViewController.h in Headers */, + 91F6F789F99F4B1C979253D8926777CA /* CTAVPlayerControlsViewController.h in Headers */, + EE783FDA606E146C5C7D2AB48253059A /* CTAVPlayerViewController.h in Headers */, + 37929862226FBC933E3F29D0F449C7A4 /* CTBaseHeaderFooterViewController.h in Headers */, + E42BAC88B86E51E7B38F0C8AE4105EC5 /* CTBaseHeaderFooterViewControllerPrivate.h in Headers */, + 5FCFC9204F67041BD9EA52F0211B95B0 /* CTCertificatePinning.h in Headers */, + 7D852A54F6E87CBC64B2B9A4C9D34D10 /* CTConstants.h in Headers */, + 7B1EE878A21AA78766C3B301A074C996 /* CTCoverImageViewController.h in Headers */, + A3139F9E7A462B56EF249B2D99CE361B /* CTCoverViewController.h in Headers */, + 68BCACC43B126533207440FCCAD5DC76 /* CTDeviceInfo.h in Headers */, + D30526E561464313871D50B33E087C75 /* CTDismissButton.h in Headers */, + B729BC9D3DA41F1E75A99A1CE368B0E4 /* CTEventBuilder.h in Headers */, + C5B1CA09FBA14E9F1BDC2C9E7DCA6F3A /* CTFooterViewController.h in Headers */, + 4D56362CE17CA396E49E461E13962DDA /* CTHalfInterstitialImageViewController.h in Headers */, + 3ADF561410FB575959611F0EDAE149E3 /* CTHalfInterstitialViewController.h in Headers */, + ACADFF03741D939F8B61BA9E5F5A1EC5 /* CTHeaderViewController.h in Headers */, + 79116F45BD9F69167577A2385D605E6E /* CTInAppDisplayViewController.h in Headers */, + 156CF49F1F7D157635D33387D9AB3835 /* CTInAppDisplayViewControllerPrivate.h in Headers */, + 075DC436FB19AE0C496456FBBBBCA3DC /* CTInAppFCManager.h in Headers */, + 5047CD6AD90B3EEB4419F4ED876E079B /* CTInAppHTMLViewController.h in Headers */, + 1874B74CAA7711561DAE59624B17E435 /* CTInAppNotification.h in Headers */, + 2DF403615FA15E305D4CF8DF3B7FDFB8 /* CTInAppResources.h in Headers */, + 70E3B81E9B80B2C8F05BEC9979B91FC9 /* CTInAppUtils.h in Headers */, + F3021547BA0EF8C310614E2FD6D5DF51 /* CTInterstitialImageViewController.h in Headers */, + FA1F426971F336D0F39AB85B4EE6F07B /* CTInterstitialViewController.h in Headers */, + 9ECA235A95DEF80D54EBCAC5D6CCEEAA /* CTKnownProfileFields.h in Headers */, + 2257DDA5713716047A1287CBC0C3BF43 /* CTLocalDataStore.h in Headers */, + 20EE9A8D8CB60D116193950DDA21D976 /* CTLocationManager.h in Headers */, + 39DCC474DBE62620A15E113CBF4D4048 /* CTLogger.h in Headers */, + 5FAB1F228D9D129C5641A66EC374E6C5 /* CTNotificationButton.h in Headers */, + 95EFC98C1F3A60575647C4858027AF49 /* CTPinnedNSURLSessionDelegate.h in Headers */, + 08B444D113C4688A4AD491C1C0C90CAA /* CTPlistInfo.h in Headers */, + CDD761EF75751FAA1FDB053014E98C68 /* CTPreferences.h in Headers */, + ACF5ED3E237A32F738E4E0705E0432AA /* CTProfileBuilder.h in Headers */, + E97B78D40C6FA6D7C3492F47B96AE062 /* CTSlider.h in Headers */, + 321C8D98A3A70F08356D695DC24E606D /* CTSwizzle.h in Headers */, + 74311CA47AD2492C2E8986626ED39677 /* CTUriHelper.h in Headers */, + 1DE8B5C56C90DDA315D39EAFB2FEC844 /* CTUtils.h in Headers */, + 04A94BBBFC01C559A0252A56C1B29385 /* CTValidationResult.h in Headers */, + BB6B60B7D2640AC505D7AD1712ADC54E /* CTValidator.h in Headers */, + F5017FE1D8695211C12BE86DA2830B77 /* FLAnimatedImage.h in Headers */, + 88ADC992D4EA12209FA9F64E5152F546 /* FLAnimatedImageView.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - FFBBCC43470387F68237A4C41899C882 /* Headers */ = { + E31C679DD14CDB04205E8ED0753099E0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - AD605F0A6950D54A7BD93EC7FE5FA4D8 /* CleverTap+SSLPinning.h in Headers */, - 143069BF170194B2462FA47B6592E0C7 /* CleverTap-iOS-SDK-tvOS-umbrella.h in Headers */, - AC13AE16D65023351598F8D229D6132A /* CleverTap.h in Headers */, - A74CA2403D053D5A579290BFFA87A020 /* CleverTapBuildInfo.h in Headers */, - 3F06EE8DE7521573986D843D1BBB44ED /* CleverTapEventDetail.h in Headers */, - 8A970F670B7822CEE26A48A9E750664D /* CleverTapInAppNotificationDelegate.h in Headers */, - 1E2B64D7A0F71789F93B988952F6675A /* CleverTapInstanceConfig.h in Headers */, - A5F1C869D2ACAFC3AD95E626ED72BAE1 /* CleverTapInstanceConfigPrivate.h in Headers */, - E8EFCD1B143DDEECAC53D07D1B2969EE /* CleverTapSyncDelegate.h in Headers */, - DE3A56E0272559587D566A5C579D6020 /* CleverTapTrackedViewController.h in Headers */, - 3C719BCB68352883700C142168ED054F /* CleverTapUTMDetail.h in Headers */, - 666A7FAF479F330AFF6BB1D7DC0ABD99 /* CTCertificatePinning.h in Headers */, - B8400313E027E56A7F2C15353AE967AB /* CTConstants.h in Headers */, - 8B190A7181EB8EDA272EDD1DED93D7FD /* CTDeviceInfo.h in Headers */, - A68D8644D5F526C894525720F40D9205 /* CTEventBuilder.h in Headers */, - B0F853F718F6EF42E6333A4D5362036F /* CTInAppDisplayViewController.h in Headers */, - 10D1259C931528B422B4FB873FCB242D /* CTInAppDisplayViewControllerPrivate.h in Headers */, - 284A1D052FED86B28FE00AE6CCB1AC02 /* CTInAppFCManager.h in Headers */, - 371E5E614381855F61DB63B05F004DBB /* CTInAppNotification.h in Headers */, - 5E617E1B9A629704C417934BD63A65AB /* CTInAppResources.h in Headers */, - A0EE81EF7FEFE4F21A5DC3BBA5CDAA2B /* CTInAppUtils.h in Headers */, - F269DC78BE206054129E338DA67C49FF /* CTKnownProfileFields.h in Headers */, - C9B6C169289B15F1890DB8D908755CDE /* CTLocalDataStore.h in Headers */, - B29B9849CFC96618ADDA49B566555CC0 /* CTLocationManager.h in Headers */, - 63774FFE217DE5F843611BA552DCCCCA /* CTLogger.h in Headers */, - 90BE53C9F86FC68B144844EF07093731 /* CTNotificationButton.h in Headers */, - D0F3E9F649E41E1A231945E23B5D939A /* CTPinnedNSURLSessionDelegate.h in Headers */, - 241D0E492169E2BC5D9F27236C854842 /* CTPlistInfo.h in Headers */, - 58FB906FB78086C3737AB0A202DDCD49 /* CTPreferences.h in Headers */, - 664DA60F2932F1F3146390BEFDD7B22E /* CTProfileBuilder.h in Headers */, - 031FA0DC27C1FA646F0CAF53531BEC04 /* CTSwizzle.h in Headers */, - 1BB69B2ED08032FBD44D95CC7A1212E7 /* CTUriHelper.h in Headers */, - 54BE8E8954934378FFE02E887485AC07 /* CTUtils.h in Headers */, - 6B209683138FFB0457BDCB0067B90738 /* CTValidationResult.h in Headers */, - 03FD8A83E2221E1FD4C863DA823CE5C8 /* CTValidator.h in Headers */, - C8002F599949AC1BD5C1DEC9BCF8995B /* FLAnimatedImage.h in Headers */, + 9EB468DB842C2BA2C3107B68919E33F2 /* Pods-ObjCTvOS-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1025,9 +1028,9 @@ isa = PBXNativeTarget; buildConfigurationList = F7968B2F653E5140F25B9FD5FBEAA97D /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-iOS" */; buildPhases = ( - 97487FC52ECA3E5EF06FFC87E19E8247 /* Sources */, + 51E7FEF757AA945D714A1D8A2CE6A63E /* Sources */, 2E7F868D17C05D84C8D1A165CE4AF7E3 /* Frameworks */, - 1F773AE17355822BED652A9CE5DF4B33 /* Headers */, + C5EF6DDA144EC0BCF687C03BAD684229 /* Headers */, E058B489A0AB0DA25CFAC66D1455B975 /* Resources */, ); buildRules = ( @@ -1039,24 +1042,6 @@ productReference = 0529C4DD1C416E5E0820C435D8F75C2E /* CleverTapSDK.framework */; productType = "com.apple.product-type.framework"; }; - 9522407642E3706C74D4F73E8424C0C5 /* CleverTap-iOS-SDK-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = D7126035699073EBE2D68E8CE3AA147A /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; - buildPhases = ( - A92A0B683D89BE81ECFEA82E78854C82 /* Sources */, - 90066114831DCFF4E609F3AC43EADD4A /* Frameworks */, - FFBBCC43470387F68237A4C41899C882 /* Headers */, - 8AFF313E6C31960A2E2F6F71EA779FAC /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "CleverTap-iOS-SDK-tvOS"; - productName = "CleverTap-iOS-SDK-tvOS"; - productReference = 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */; - productType = "com.apple.product-type.framework"; - }; C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */ = { isa = PBXNativeTarget; buildConfigurationList = BD292037101A248D8AA3572F408CCA75 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterUITests" */; @@ -1075,6 +1060,24 @@ productReference = A82DF58913D09EA39E314E1A24E023BE /* Pods_ObjCStarterUITests.framework */; productType = "com.apple.product-type.framework"; }; + D232BB786801B0F13E163425C6758475 /* CleverTap-iOS-SDK-tvOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 152F98594A78642C26677AEDF5EC18C7 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */; + buildPhases = ( + 9078B5BA76C33B1A0C00B119FB069E65 /* Sources */, + 3593A6AF19A3064BA50B0246A9E14B5A /* Frameworks */, + 0D34EC179BBC2F482B5E35A7E266880E /* Headers */, + FEEE6AE157CC48A65A448B6449F92837 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "CleverTap-iOS-SDK-tvOS"; + productName = "CleverTap-iOS-SDK-tvOS"; + productReference = 969DC1FB9B3A86BCDCE799B3C7529588 /* CleverTapSDK.framework */; + productType = "com.apple.product-type.framework"; + }; D560E156203438D400C14AEA571513BC /* Pods-ObjCStarterTests */ = { isa = PBXNativeTarget; buildConfigurationList = EF14EE64C278EDE5A0503CA4D73F1882 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterTests" */; @@ -1115,7 +1118,7 @@ projectRoot = ""; targets = ( 82EB401F9EF03080E9CC9290A678FE92 /* CleverTap-iOS-SDK-iOS */, - 9522407642E3706C74D4F73E8424C0C5 /* CleverTap-iOS-SDK-tvOS */, + D232BB786801B0F13E163425C6758475 /* CleverTap-iOS-SDK-tvOS */, 15A2154784E1253CC3BE0FD49723562E /* Pods-ObjCStarter */, D560E156203438D400C14AEA571513BC /* Pods-ObjCStarterTests */, C8B826D62DA9507F60A36408680F297C /* Pods-ObjCStarterUITests */, @@ -1125,15 +1128,6 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 8AFF313E6C31960A2E2F6F71EA779FAC /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 4B5E03B9280EE27BD18965793A6CDDF9 /* DigiCertGlobalRootCA.crt in Resources */, - 1A6CEC7F0FCB64076B1CDE48DBCA7BBF /* DigiCertSHA2SecureServerCA.crt in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; E058B489A0AB0DA25CFAC66D1455B975 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -1174,6 +1168,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FEEE6AE157CC48A65A448B6449F92837 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0356DDAC53D1FF3BB76C2FEF4DE919D8 /* DigiCertGlobalRootCA.crt in Resources */, + 8F0CDD3D32FEE74809D309518CE00D2A /* DigiCertSHA2SecureServerCA.crt in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -1185,109 +1188,110 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 7ACB027E8CF78A716EB05778BA4B345D /* Sources */ = { + 51E7FEF757AA945D714A1D8A2CE6A63E /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D38D5438D495EE1F884D28EEB0792F61 /* Pods-ObjCStarter-dummy.m in Sources */, + 46DEEB62D4DC2734FF6A6DB20BAC98D6 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */, + 5F547C33247713DB7A5930AE38DBF30B /* CleverTap.m in Sources */, + A048D31965D0FAAAFF23C5151625498B /* CleverTapEventDetail.m in Sources */, + B72FF04D2204D25A99D96306F6CC2647 /* CleverTapInstanceConfig.m in Sources */, + F1CF5121C919DAA8A6DB55B308202D36 /* CleverTapTrackedViewController.m in Sources */, + 43DD5DFFD7B75129551B7BF4FA467AD0 /* CleverTapUTMDetail.m in Sources */, + 510A04A1B183505F7BD59C955D8A161E /* CTAlertViewController.m in Sources */, + 20E584334BC490EE9148DDC360F9CCBB /* CTAVPlayerControlsViewController.m in Sources */, + 7DE86E771737F6D9FEA0F30442836914 /* CTAVPlayerViewController.m in Sources */, + FE3E08D0ACA4F2BB8D400F5F16B6B7B6 /* CTBaseHeaderFooterViewController.m in Sources */, + EC1155E313A6F5DB9A6E7EA58D011C9D /* CTCertificatePinning.m in Sources */, + 899B170BD0F4D964092AB4EDC9AF6650 /* CTConstants.m in Sources */, + DCDDE491C770798D138BAD61D631C8EA /* CTCoverImageViewController.m in Sources */, + 2931AC44B9FA8080E78FC5A6CF868E4D /* CTCoverViewController.m in Sources */, + B36808604CC08B314466DB0F428AB5A3 /* CTDeviceInfo.m in Sources */, + 627C156452099451B5FE4A23BB7DA8C1 /* CTDismissButton.m in Sources */, + 2FBBEC07A86FBA7283F22D628D81276E /* CTEventBuilder.m in Sources */, + 555C7939AF6D75A6C6FE7ED073A850B4 /* CTFooterViewController.m in Sources */, + 30BC4CB4CE59D3546E6D71B2461B834C /* CTHalfInterstitialImageViewController.m in Sources */, + 327C0DC095145389EA92CCB4098E3FD4 /* CTHalfInterstitialViewController.m in Sources */, + CA90645B88381F070AAF8B0724587F31 /* CTHeaderViewController.m in Sources */, + 464333947A06BF1A097ECA3571E326E2 /* CTInAppDisplayViewController.m in Sources */, + AB87E3D7675221E6A27B0428B2154A6D /* CTInAppFCManager.m in Sources */, + D2323EEC5925346D09DE2E93245A7FA0 /* CTInAppHTMLViewController.m in Sources */, + 0CEB894A42167717B0DD0B88965BB8B5 /* CTInAppNotification.m in Sources */, + 552F43140AE88F4EBFB859BFB84FCFB9 /* CTInAppResources.m in Sources */, + 32C2095C462E3DF82294822A6D06E52A /* CTInAppUtils.m in Sources */, + D1F990017691B4A56C1EF86433ED3ED4 /* CTInterstitialImageViewController.m in Sources */, + FA76E49B0DEEC43525502122DB457CE9 /* CTInterstitialViewController.m in Sources */, + 4F9E60F5627F08B5DD7A6E2AA9A09999 /* CTKnownProfileFields.m in Sources */, + E5C5B38B151A406926445D1C1B9F43A2 /* CTLocalDataStore.m in Sources */, + 9F8A5988550A83A50B5D62455E78905A /* CTLocationManager.m in Sources */, + 26C3E7B2CDABB8A32E799A5424B02ED8 /* CTLogger.m in Sources */, + 7F5B464BDEC5BD90A0CF04FBAC7B0C3D /* CTNotificationButton.m in Sources */, + 0B9604E8639FC280AFCE5525C0DF72DE /* CTPinnedNSURLSessionDelegate.m in Sources */, + 0EA6497E515BBF774E12927B4F58FE09 /* CTPlistInfo.m in Sources */, + 127DD67C05F173C125D7FB7EA81D97F1 /* CTPreferences.m in Sources */, + 91B81F7091534A75A312209AECACB31C /* CTProfileBuilder.m in Sources */, + 4D97A497E52F42E0025BFB48E47311D4 /* CTSlider.m in Sources */, + 321D7E47128A04961D0BA327BA2CBF3D /* CTSwizzle.m in Sources */, + 26710F78640D6C950D46145F5F71C2EF /* CTUriHelper.m in Sources */, + 84ED2016F470CC060A6F0A587BDD8F30 /* CTUtils.m in Sources */, + 33A40BD65EAD1F62B4A2D378F3A12DB1 /* CTValidationResult.m in Sources */, + 7DAA9ADEF7F2DF6E99138766B9FF8EB8 /* CTValidator.m in Sources */, + AA3BFF4E465154C76F54CFB74428E1DA /* FLAnimatedImage.m in Sources */, + 2B6FC734C6CA2584BB66B4EEA276D076 /* FLAnimatedImageView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97487FC52ECA3E5EF06FFC87E19E8247 /* Sources */ = { + 7ACB027E8CF78A716EB05778BA4B345D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 01D9816FFF850A92F0EF57FBC6648961 /* CleverTap-iOS-SDK-iOS-dummy.m in Sources */, - A9168CA54A15060B1578A181DF7C504B /* CleverTap.m in Sources */, - 0759F3D55DDE04F73CD3097F6FDFE61C /* CleverTapEventDetail.m in Sources */, - 91F16F1B37D29668EAA3DA3B2D500AE3 /* CleverTapInstanceConfig.m in Sources */, - 24E638E9EF98014BF882E43F59CEC304 /* CleverTapTrackedViewController.m in Sources */, - 741162B5B96292C2BD852FAE034B9549 /* CleverTapUTMDetail.m in Sources */, - 77E12C2CC3C8A3EF098E4AD690C457FF /* CTAlertViewController.m in Sources */, - 3AC4A799FE47AA7D0FEC8E5C53726140 /* CTAVPlayerControlsViewController.m in Sources */, - 7690C272C5E33EB39EBED93B5FAFF944 /* CTAVPlayerViewController.m in Sources */, - 639FA8269565E0163F3991CBCD447FE4 /* CTBaseHeaderFooterViewController.m in Sources */, - 373FE79B5178B15347063B86410ECF23 /* CTCertificatePinning.m in Sources */, - F821F026A59CB0B975A252FC4F50B28C /* CTConstants.m in Sources */, - 6C129D50A8377F4307B0DA58F7275323 /* CTCoverImageViewController.m in Sources */, - 7DE6F1C9AE1BB331F2BDA389457C055D /* CTCoverViewController.m in Sources */, - D2E6F3F974AA8B757451119F670198AD /* CTDeviceInfo.m in Sources */, - 2DE5F91E3211011E9485C7FC58454AC7 /* CTDismissButton.m in Sources */, - 76CC5ED8D94D128DB47B828D05A6DFC3 /* CTEventBuilder.m in Sources */, - C19CC2829DB7D756A4968D446D1B090A /* CTFooterViewController.m in Sources */, - 72784A38FBAD36E671C59DDD5B30474C /* CTHalfInterstitialImageViewController.m in Sources */, - 021382EC0A170AD0FE95998A547A9D9C /* CTHalfInterstitialViewController.m in Sources */, - D967306922B723EADFA29A49B1F20E33 /* CTHeaderViewController.m in Sources */, - BD9CB598D48BC3F713AFE68D6179B6E8 /* CTInAppDisplayViewController.m in Sources */, - 20FDF433EECF5AAEF28F5A14B75983BD /* CTInAppFCManager.m in Sources */, - 4A5852F773E335620451FEB5C7EC1A75 /* CTInAppHTMLViewController.m in Sources */, - 6287FB2B8617982D9C6AE8F60D4A37DB /* CTInAppNotification.m in Sources */, - FB7E7BD6E1604F72D03B5C4A04BF1924 /* CTInAppResources.m in Sources */, - 38C5BF09C9E01E5C1BE7662B200C9E10 /* CTInAppUtils.m in Sources */, - 62B3580CDF0B467BAD35F4D312E73F12 /* CTInterstitialImageViewController.m in Sources */, - 2B2D702CF25B04A1D3C06CE08323548C /* CTInterstitialViewController.m in Sources */, - E39E85B7EA4573C058D0825FA61FDD48 /* CTKnownProfileFields.m in Sources */, - BFAC11EB4D9DA7AE809B6FBA2D46BED2 /* CTLocalDataStore.m in Sources */, - F18B2BC5436EE62BED6D5A888DB209FB /* CTLocationManager.m in Sources */, - C90FCD77D05BF6C163467A5657497C2C /* CTLogger.m in Sources */, - 31AB76B508F2CF3F9FD707508EEE2688 /* CTNotificationButton.m in Sources */, - 00CD6B0C2775DD1B2851ECB227777374 /* CTPinnedNSURLSessionDelegate.m in Sources */, - B6F6BB4CC11FE53179CCE47525AEA664 /* CTPlistInfo.m in Sources */, - 3C9F146F332E3452961A11AACEF691F6 /* CTPreferences.m in Sources */, - 14701F7610BD5082250C2EE627027F5D /* CTProfileBuilder.m in Sources */, - 27C534B1A3BB23199808EBB8B4251B06 /* CTSlider.m in Sources */, - 34978968270836ED81BAD85EBF354EAD /* CTSwizzle.m in Sources */, - C15B142D52810FAD1831E36CDF624374 /* CTUriHelper.m in Sources */, - 85602CDC026AA03E513D4272346AF905 /* CTUtils.m in Sources */, - D71DED7AD9591CF1F514AF4E2DE29EA8 /* CTValidationResult.m in Sources */, - 5367C963FBFAF1DFEBD2740163805B06 /* CTValidator.m in Sources */, - 5CF204FFC01A557A2B7D2D81F6AB27A2 /* FLAnimatedImage.m in Sources */, - F48DBD02B59673584A3A835B5193393A /* FLAnimatedImageView.m in Sources */, + D38D5438D495EE1F884D28EEB0792F61 /* Pods-ObjCStarter-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9E5E8D3697F7D23B9627DBAC2AB2F6F1 /* Sources */ = { + 9078B5BA76C33B1A0C00B119FB069E65 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A21387232BA8562F7EB7C84715C15B1D /* Pods-ObjCStarterTests-dummy.m in Sources */, + 411378120CA0A042F812BA05E04A25C1 /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, + 7CF7A8B79A4004282A42EE879411F263 /* CleverTap.m in Sources */, + 32532E93FF9A84C8C9890DC63A3BE318 /* CleverTapEventDetail.m in Sources */, + 6B1BFD349803B8193167AD98F9035057 /* CleverTapInstanceConfig.m in Sources */, + DBE0F67C0718CA0884AD2648A67F91A1 /* CleverTapTrackedViewController.m in Sources */, + 145E734BBC07C74F9683CC957C3AE67D /* CleverTapUTMDetail.m in Sources */, + 26EFE33BA60630AF279DBC79E62B7920 /* CTCertificatePinning.m in Sources */, + 6AD749D5249509F7AD35E5A5FA7F75E2 /* CTConstants.m in Sources */, + 72C4CD62DCE08667D8A3A7EF2D6D50BB /* CTDeviceInfo.m in Sources */, + A1D70D42C84A3D23CD5C9FEAE284726D /* CTEventBuilder.m in Sources */, + 790B802773FBD1D44CA2D6E870462B57 /* CTInAppDisplayViewController.m in Sources */, + 6DBA7B6BDBB696F5C8A075D491414DAE /* CTInAppFCManager.m in Sources */, + 159C0881A84A2B1F2223EC0DB904322A /* CTInAppNotification.m in Sources */, + CB0C8D00CD4D34DAEE1105072C4D6233 /* CTInAppResources.m in Sources */, + C6FD55E7E480098EE7F7D9A44BDFF8DB /* CTInAppUtils.m in Sources */, + 3DE2B72606B061F05488BF535B890223 /* CTKnownProfileFields.m in Sources */, + 4A311153F88D539B6F88D76C743D1552 /* CTLocalDataStore.m in Sources */, + 3ADAE255C58798E4D39115CA1888C516 /* CTLocationManager.m in Sources */, + 2E1B67FA5825CC43873CCCCC9A8C87AB /* CTLogger.m in Sources */, + 74460F5CE98A702959AF4418AA14C686 /* CTNotificationButton.m in Sources */, + C87655F28E553920D7A9FB7415917B43 /* CTPinnedNSURLSessionDelegate.m in Sources */, + 71F8C047665D98024A518822024D9974 /* CTPlistInfo.m in Sources */, + BCEE377821B41AF4001C660D327B79AD /* CTPreferences.m in Sources */, + 47E76CA4E5E8A2008F088EF3E8B339D4 /* CTProfileBuilder.m in Sources */, + 3AB39EB03DF665D6B08BD64BCC9A20FB /* CTSwizzle.m in Sources */, + CE8E188374AE7252235F3F04F30B24BA /* CTUriHelper.m in Sources */, + 56206664BD6EC603AA524EF95CCC11D0 /* CTUtils.m in Sources */, + 4B9E321C86BB8FA4CB1B577078B6DADB /* CTValidationResult.m in Sources */, + DFDD41F32C16925B73BE1D5D3D7638CC /* CTValidator.m in Sources */, + 35A14A069C9FCC9AFE9E3FB2BEC12075 /* FLAnimatedImage.m in Sources */, + 47421FBD8FCEEC460C7F346086DB4B27 /* FLAnimatedImageView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A92A0B683D89BE81ECFEA82E78854C82 /* Sources */ = { + 9E5E8D3697F7D23B9627DBAC2AB2F6F1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F8A3AE3F3FE600C64D928AE85C9562BF /* CleverTap-iOS-SDK-tvOS-dummy.m in Sources */, - 2A6B4251F2A6EA958DCC4C7A374E9006 /* CleverTap.m in Sources */, - ACCE6300DF09F59377853C8883EF2A95 /* CleverTapEventDetail.m in Sources */, - 2F502CCA05B375A1ABC36F6A0F8E0100 /* CleverTapInstanceConfig.m in Sources */, - BA6855E3CA64ED32037C79E646F904D3 /* CleverTapTrackedViewController.m in Sources */, - 2AC49902637D8D4FF3943B25AA2D0C71 /* CleverTapUTMDetail.m in Sources */, - B2BF9DC887721C1D377B81AF5D766EC3 /* CTCertificatePinning.m in Sources */, - B07B09FF68E4CC1581ABCCC9A932A6CE /* CTConstants.m in Sources */, - 7D00CF0EF3DE22523F4848E715DEC01D /* CTDeviceInfo.m in Sources */, - 6819E1D2ED7A86AD6193162D2679F761 /* CTEventBuilder.m in Sources */, - A454DC7AF9BB7A38FE7DFC9DFA48FB23 /* CTInAppDisplayViewController.m in Sources */, - EEE58D704EC4358DD5A489632E54FDE7 /* CTInAppFCManager.m in Sources */, - 0FFDF318AB1AED92A862403346625305 /* CTInAppNotification.m in Sources */, - 9F2E94C0A86BC9D4E42AE230FE11582E /* CTInAppResources.m in Sources */, - 6563E60498568DF50A0D0828FBF0FC98 /* CTInAppUtils.m in Sources */, - 1408048C4B3E30428A43AC7271182FD8 /* CTKnownProfileFields.m in Sources */, - F55A3602A41BE35DEDEB07CD4A01DA6B /* CTLocalDataStore.m in Sources */, - C864E7427F935591D3F9B0814B5787B3 /* CTLocationManager.m in Sources */, - 89D54E506A71AF1A5115FC4A0C54E26C /* CTLogger.m in Sources */, - ECABCB167460316C08B2F3ADA58498E6 /* CTNotificationButton.m in Sources */, - 3D9AE2B99DF9A8C1B30E6E9D51EE6D4B /* CTPinnedNSURLSessionDelegate.m in Sources */, - 56A07117678EEB765548C114F06277E8 /* CTPlistInfo.m in Sources */, - 0B5C00301D54AA94E88D2C0953FE584B /* CTPreferences.m in Sources */, - 2548F0C5A65638676A41E70B82FA2A01 /* CTProfileBuilder.m in Sources */, - B6CF4B85CEE9F9916DB66D4FC9D81BF9 /* CTSwizzle.m in Sources */, - 9509257AF0DC916E3D838DC8225EFB6A /* CTUriHelper.m in Sources */, - BC92DCAF582DE87C2F364FEC75EA00EC /* CTUtils.m in Sources */, - D36EF13A70196F6A9750E5018FA721B9 /* CTValidationResult.m in Sources */, - 2E3155BF4C3540016D1F8BBF6FBF98FC /* CTValidator.m in Sources */, - 999DDF2EF8FD03C2FF27E5C81FA9D178 /* FLAnimatedImage.m in Sources */, + A21387232BA8562F7EB7C84715C15B1D /* Pods-ObjCStarterTests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1311,7 +1315,7 @@ 544025B63D2952CCC4F95480DC296E60 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CleverTap-iOS-SDK-tvOS"; - target = 9522407642E3706C74D4F73E8424C0C5 /* CleverTap-iOS-SDK-tvOS */; + target = D232BB786801B0F13E163425C6758475 /* CleverTap-iOS-SDK-tvOS */; targetProxy = 6355539A8E6B214EB333693782F206D4 /* PBXContainerItemProxy */; }; A8FE32EA9EF5C7EAC7C3DCAEAE63BB8C /* PBXTargetDependency */ = { @@ -1393,9 +1397,40 @@ }; name = Debug; }; + 347D0F679FEC3DCC24A6BD1D3C88BCC5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7A897B06A248522C3F268A4BD2C9F8D6 /* CleverTap-iOS-SDK-tvOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; 4C9F4FE39509B0D6C44610228880F47B /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */; + baseConfigurationReference = 8107BA1260CE21C0A21F8119FC0D8095 /* CleverTap-iOS-SDK-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1493,36 +1528,6 @@ }; name = Release; }; - 7182D52389AAF413F315E4A5571087B3 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 7FF9BABAF6B9E34590C802AF5EB588F8 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1718,10 +1723,12 @@ }; name = Debug; }; - B409AEF3F6F6D9129051A0622C3A4428 /* Release */ = { + E1E09323831AB5BBB8A10408DE68A842 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E2035FAE0EA112583749CF0F118CA503 /* CleverTap-iOS-SDK-tvOS.xcconfig */; + baseConfigurationReference = 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1731,30 +1738,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-ObjCStarterUITests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; - PRODUCT_MODULE_NAME = CleverTapSDK; - PRODUCT_NAME = CleverTapSDK; - SDKROOT = appletvos; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-ObjCStarterUITests/Pods-ObjCStarterUITests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - E1E09323831AB5BBB8A10408DE68A842 /* Release */ = { + E1E4298B42DB30B53CE81501207B2599 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 59586433960972D1F918FB8B690AF0FE /* Pods-ObjCStarterUITests.release.xcconfig */; + baseConfigurationReference = 7A897B06A248522C3F268A4BD2C9F8D6 /* CleverTap-iOS-SDK-tvOS.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1764,25 +1771,22 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-ObjCStarterUITests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-ObjCStarterUITests/Pods-ObjCStarterUITests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; + MODULEMAP_FILE = "Target Support Files/CleverTap-iOS-SDK-tvOS/CleverTap-iOS-SDK-tvOS.modulemap"; + PRODUCT_MODULE_NAME = CleverTapSDK; + PRODUCT_NAME = CleverTapSDK; + SDKROOT = appletvos; SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; E64BE88F1CA90EF96AF9CDAF42F09761 /* Debug */ = { isa = XCBuildConfiguration; @@ -1820,7 +1824,7 @@ }; F60560D5F12C2572DAA289E2D8763065 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BAC4A474DC9FAF2E16348822E0D2BFEA /* CleverTap-iOS-SDK-iOS.xcconfig */; + baseConfigurationReference = 8107BA1260CE21C0A21F8119FC0D8095 /* CleverTap-iOS-SDK-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1860,6 +1864,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 152F98594A78642C26677AEDF5EC18C7 /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E1E4298B42DB30B53CE81501207B2599 /* Debug */, + 347D0F679FEC3DCC24A6BD1D3C88BCC5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -1887,15 +1900,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D7126035699073EBE2D68E8CE3AA147A /* Build configuration list for PBXNativeTarget "CleverTap-iOS-SDK-tvOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7182D52389AAF413F315E4A5571087B3 /* Debug */, - B409AEF3F6F6D9129051A0622C3A4428 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; EF14EE64C278EDE5A0503CA4D73F1882 /* Build configuration list for PBXNativeTarget "Pods-ObjCStarterTests" */ = { isa = XCConfigurationList; buildConfigurations = ( From eed5a7eaa44446abdf24bd040bca6c044b5c28fa Mon Sep 17 00:00:00 2001 From: Aditi3 Date: Fri, 26 Oct 2018 19:09:35 +0530 Subject: [PATCH 5/5] update to 3.3.0 --- CleverTapSDK/CTInAppDisplayViewController.m | 4 +++ CleverTapSDK/FLAnimatedImageView.m | 2 +- .../ObjCStarter.xcodeproj/project.pbxproj | 34 +++++++++---------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/CleverTapSDK/CTInAppDisplayViewController.m b/CleverTapSDK/CTInAppDisplayViewController.m index fcad4491..95a15332 100644 --- a/CleverTapSDK/CTInAppDisplayViewController.m +++ b/CleverTapSDK/CTInAppDisplayViewController.m @@ -31,13 +31,17 @@ - (instancetype)initWithNotification:(CTInAppNotification *)notification { return self; } +#if !(TARGET_OS_TV) - (BOOL)shouldAutorotate { return NO; } +#endif +#if !(TARGET_OS_TV) - (UIInterfaceOrientationMask)supportedInterfaceOrientations { return (UIInterfaceOrientationPortrait | UIInterfaceOrientationPortraitUpsideDown); } +#endif -(void)show:(BOOL)animated { NSAssert(false, @"Override in sub-class"); diff --git a/CleverTapSDK/FLAnimatedImageView.m b/CleverTapSDK/FLAnimatedImageView.m index 26fea1d2..0995186e 100755 --- a/CleverTapSDK/FLAnimatedImageView.m +++ b/CleverTapSDK/FLAnimatedImageView.m @@ -88,7 +88,7 @@ - (void)commonInit { self.runLoopMode = [[self class] defaultRunLoopMode]; - if (@available(iOS 11.0, *)) { + if (@available(iOS 11.0, tvOS 11.0, *)) { self.accessibilityIgnoresInvertColors = YES; } } diff --git a/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj b/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj index 91441e6b..02a758b9 100644 --- a/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj +++ b/ObjCStarter/ObjCStarter.xcodeproj/project.pbxproj @@ -309,7 +309,7 @@ 07E16E82212FF6E700429BDF /* Frameworks */, 07E16E83212FF6E700429BDF /* Resources */, 07E16ED021300A5500429BDF /* Embed App Extensions */, - ACA92C6133375A59E032030D /* [CP] Embed Pods Frameworks */, + C49BF7CD1E4041C3EF91F662 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -366,7 +366,7 @@ 07E16ED121300EE200429BDF /* Sources */, 07E16ED221300EE200429BDF /* Frameworks */, 07E16ED321300EE200429BDF /* Resources */, - 1B697E9396F9C7B1CA9860CC /* [CP] Embed Pods Frameworks */, + 4DBE0A0327463DC9FCF298BB /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -525,7 +525,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1B697E9396F9C7B1CA9860CC /* [CP] Embed Pods Frameworks */ = { + 4DBE0A0327463DC9FCF298BB /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -561,25 +561,25 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - ACA92C6133375A59E032030D /* [CP] Embed Pods Frameworks */ = { + BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Embed Pods Frameworks"; + name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", + "$(DERIVED_FILE_DIR)/Pods-ObjCStarterUITests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BC0631ECDE413CA037DA7257 /* [CP] Check Pods Manifest.lock */ = { + BC41F171308F717C9EC665FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -590,29 +590,29 @@ ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ObjCStarterUITests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-ObjCTvOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BC41F171308F717C9EC665FA /* [CP] Check Pods Manifest.lock */ = { + C49BF7CD1E4041C3EF91F662 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + "${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/CleverTap-iOS-SDK-iOS/CleverTapSDK.framework", ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ObjCTvOS-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CleverTapSDK.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-ObjCStarter/Pods-ObjCStarter-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; D95F8DB8D769D26A010EB076 /* [CP] Check Pods Manifest.lock */ = {