diff --git a/sampleiOS/.DS_Store b/sampleiOS/.DS_Store index 29994a7..9981460 100644 Binary files a/sampleiOS/.DS_Store and b/sampleiOS/.DS_Store differ diff --git a/sampleiOS/Podfile b/sampleiOS/Podfile index ef3d907..fccb5cf 100755 --- a/sampleiOS/Podfile +++ b/sampleiOS/Podfile @@ -6,8 +6,8 @@ target 'sampleiOS' do use_frameworks! # Pods for sampleiOS - pod 'EnxRTCiOS','2.3.16' - pod 'Socket.IO-Client-Swift', '~> 15.2.0' + pod 'EnxRTCiOS' + pod 'Socket.IO-Client-Swift', '~> 16.1.0' pod 'SVProgressHUD' pod 'ReachabilitySwift' pod 'Crashlytics' diff --git a/sampleiOS/Podfile.lock b/sampleiOS/Podfile.lock deleted file mode 100755 index 014438c..0000000 --- a/sampleiOS/Podfile.lock +++ /dev/null @@ -1,48 +0,0 @@ -PODS: - - AMBubbleTableViewController (0.5.4) - - Crashlytics (3.14.0): - - Fabric (~> 1.10.2) - - EnablexWebRTC (1.0.2) - - EnxRTCiOS (2.3.14): - - EnablexWebRTC (= 1.0.2) - - Fabric (1.10.2) - - ReachabilitySwift (5.0.0) - - Socket.IO-Client-Swift (15.2.0): - - Starscream (~> 3.1) - - Starscream (3.1.1) - - SVProgressHUD (2.2.5) - -DEPENDENCIES: - - AMBubbleTableViewController - - Crashlytics - - EnxRTCiOS (= 2.3.14) - - ReachabilitySwift - - Socket.IO-Client-Swift (~> 15.2.0) - - SVProgressHUD - -SPEC REPOS: - trunk: - - AMBubbleTableViewController - - Crashlytics - - EnablexWebRTC - - EnxRTCiOS - - Fabric - - ReachabilitySwift - - Socket.IO-Client-Swift - - Starscream - - SVProgressHUD - -SPEC CHECKSUMS: - AMBubbleTableViewController: f4426cd8d646fbe4ec5f0d821857cca62c2792b2 - Crashlytics: 9220f5bc89e7a618df411b4f639389dbfb0e03d2 - EnablexWebRTC: 05f0d79eb6f133f1b844af9a2b7530dc7c6e2108 - EnxRTCiOS: 61de854eba2b12e747e363c3018a2e622fc453e3 - Fabric: ea977e3cd9c20425516d3dafd3bf8c941c51223f - ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 - Socket.IO-Client-Swift: 1e3e3a1f09f3312a167f0d781eb2f383d477357c - Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0 - SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6 - -PODFILE CHECKSUM: ae16b6ba593a96419ee91dd3ab72d894f5d7104e - -COCOAPODS: 1.12.1 diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleAccessoryView.h b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleAccessoryView.h deleted file mode 100644 index 4c1859e..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleAccessoryView.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// AMBubbleAccessoryView.h -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 06/07/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleGlobals.h" - -@interface AMBubbleAccessoryView : UIView - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleAccessoryView.m b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleAccessoryView.m deleted file mode 100644 index 93b5202..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleAccessoryView.m +++ /dev/null @@ -1,92 +0,0 @@ -// -// AMBubbleAccessoryView.m -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 06/07/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleAccessoryView.h" -#import - -@interface AMBubbleAccessoryView () - -@property (nonatomic, weak) NSDictionary* options; -@property (nonatomic, strong) UILabel* labelTimestamp; -@property (nonatomic, strong) UIImageView* imageCheck; -@property (nonatomic, strong) UIImageView* imageAvatar; - -@end - -@implementation AMBubbleAccessoryView - -- (id)init -{ - self = [super init]; - if (self) { - - [self setClipsToBounds:YES]; - - self.imageAvatar = [[UIImageView alloc] init]; - self.labelTimestamp = [[UILabel alloc] init]; - [self addSubview:self.imageAvatar]; - [self addSubview:self.labelTimestamp]; - - self.imageAvatar.layer.cornerRadius = 5.0; - self.imageAvatar.layer.masksToBounds = YES; - self.imageAvatar.layer.borderColor = [UIColor lightGrayColor].CGColor; - self.imageAvatar.layer.borderWidth = 1.0; - - [self.labelTimestamp setTextColor:[UIColor colorWithRed:100.0f/255.0f green:120.0f/255.0f blue:150.0f/255.0f alpha:1]]; - - self.labelTimestamp.shadowColor = [UIColor whiteColor]; - self.labelTimestamp.shadowOffset = CGSizeMake(0, 1.0); - - } - return self; -} - -- (void)setOptions:(NSDictionary *)options -{ - _options = options; - [self.labelTimestamp setFont:self.options[AMOptionsTimestampShortFont]]; -} - -- (void)setupView:(NSDictionary*)params -{ - // Avatar available - if ([params[@"avatar"] isKindOfClass:[UIImage class]]) { - [self.imageAvatar setImage:params[@"avatar"]]; - } - [self.labelTimestamp setText:params[@"date"]]; - - CGSize sizeTime = CGSizeZero; - if ([self.options[AMOptionsTimestampEachMessage] boolValue]) { - sizeTime = [params[@"date"] sizeWithFont:self.options[AMOptionsTimestampShortFont] - constrainedToSize:CGSizeMake(50, CGFLOAT_MAX) - lineBreakMode:NSLineBreakByWordWrapping]; - } - - [self.imageAvatar setFrame:CGRectMake(0, - 0, - [self.options[AMOptionsAvatarSize] floatValue], - [self.options[AMOptionsAvatarSize] floatValue]) - ]; - - [self.labelTimestamp setFrame:CGRectMake([self.options[AMOptionsAvatarSize] floatValue] - sizeTime.width, - [self.options[AMOptionsAvatarSize] floatValue] - sizeTime.height, - sizeTime.width, - sizeTime.height) - ]; - - [self setFrame:CGRectMake(0, - 0, - MAX(self.labelTimestamp.frame.size.width, self.imageAvatar.frame.size.width), - MAX(self.labelTimestamp.frame.size.height, self.imageAvatar.frame.size.height)) - ]; - -} - - - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleFlatAccessoryView.h b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleFlatAccessoryView.h deleted file mode 100644 index fb62149..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleFlatAccessoryView.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// AMBubbleFlatAccessoryView.h -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 02/08/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleGlobals.h" - -@interface AMBubbleFlatAccessoryView : UIView - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleFlatAccessoryView.m b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleFlatAccessoryView.m deleted file mode 100644 index fd86909..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleFlatAccessoryView.m +++ /dev/null @@ -1,87 +0,0 @@ -// -// AMBubbleFlatAccessoryView.m -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 02/08/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleFlatAccessoryView.h" -#import - -@interface AMBubbleFlatAccessoryView () - -@property (nonatomic, weak) NSDictionary* options; -@property (nonatomic, strong) UILabel* labelTimestamp; -@property (nonatomic, strong) UIImageView* imageCheck; -@property (nonatomic, strong) UIImageView* imageAvatar; - -@end - -@implementation AMBubbleFlatAccessoryView - -- (id)init -{ - self = [super init]; - if (self) { - - [self setClipsToBounds:YES]; - - self.imageAvatar = [[UIImageView alloc] init]; - self.labelTimestamp = [[UILabel alloc] init]; - [self addSubview:self.imageAvatar]; - [self addSubview:self.labelTimestamp]; - - self.imageAvatar.layer.cornerRadius = 2.0; - self.imageAvatar.layer.masksToBounds = YES; - - [self.labelTimestamp setTextColor:[UIColor colorWithRed:0.627 green:0.627 blue:0.627 alpha:1]]; - [self.labelTimestamp setTextAlignment:NSTextAlignmentCenter]; - [self.labelTimestamp setBackgroundColor:[UIColor clearColor]]; - } - return self; -} - -- (void)setOptions:(NSDictionary *)options -{ - _options = options; - [self.labelTimestamp setFont:self.options[AMOptionsTimestampShortFont]]; -} - -- (void)setupView:(NSDictionary*)params -{ - // Avatar available - if ([params[@"avatar"] isKindOfClass:[UIImage class]]) { - [self.imageAvatar setImage:params[@"avatar"]]; - } - [self.labelTimestamp setText:params[@"date"]]; - - CGSize sizeTime = CGSizeZero; - if ([self.options[AMOptionsTimestampEachMessage] boolValue]) { - sizeTime = [params[@"date"] sizeWithFont:self.options[AMOptionsTimestampShortFont] - constrainedToSize:CGSizeMake(50, CGFLOAT_MAX) - lineBreakMode:NSLineBreakByWordWrapping]; - } - - [self.imageAvatar setFrame:CGRectMake(0, - 0, - [self.options[AMOptionsAvatarSize] floatValue], - [self.options[AMOptionsAvatarSize] floatValue]) - ]; - - [self.labelTimestamp setFrame:CGRectMake(0, - [self.options[AMOptionsAvatarSize] floatValue], - [self.options[AMOptionsAvatarSize] floatValue], - sizeTime.height) - ]; - - [self setFrame:CGRectMake(0, - 0, - [self.options[AMOptionsAvatarSize] floatValue], - [self.options[AMOptionsAvatarSize] floatValue] + sizeTime.height + 2) - ]; - -} - - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleGlobals.h b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleGlobals.h deleted file mode 100644 index 6d6f3b4..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleGlobals.h +++ /dev/null @@ -1,159 +0,0 @@ -// -// AMBubbleGlobals.h -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 30/06/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending) - -typedef enum { - AMBubbleTableStyleDefault, - AMBubbleTableStyleSquare, - AMBubbleTableStyleFlat -} AMBubbleTableStyle; - -typedef enum { - AMBubbleCellTimestamp, - AMBubbleCellSent, - AMBubbleCellReceived -} AMBubbleCellType; - -typedef enum { - AMBubbleAccessoryUp, - AMBubbleAccessoryDown -} AMBubbleAccessoryPosition; - -#define kMessageTextWidth (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)) ? 380.0f : 180.0f - -@protocol AMBubbleTableDataSource -@required -- (NSInteger)numberOfRows; -- (AMBubbleCellType)cellTypeForRowAtIndexPath:(NSIndexPath *)indexPath; -- (NSString *)textForRowAtIndexPath:(NSIndexPath *)indexPath; -- (NSDate *)timestampForRowAtIndexPath:(NSIndexPath *)indexPath; -@optional -- (UIImage*)avatarForRowAtIndexPath:(NSIndexPath *)indexPath; -- (NSString*)usernameForRowAtIndexPath:(NSIndexPath *)indexPath; -- (UIColor*)usernameColorForRowAtIndexPath:(NSIndexPath *)indexPath; -@end - -@protocol AMBubbleTableDelegate -- (void)didSendText:(NSString*)text; -@optional -- (void)swipedCellAtIndexPath:(NSIndexPath *)indexPath withFrame:(CGRect)frame andDirection:(UISwipeGestureRecognizerDirection)direction; -- (void)longPressedCellAtIndexPath:(NSIndexPath *)indexPath withFrame:(CGRect)frame; -@end - -@protocol AMBubbleAccessory -@required -- (void)setOptions:(NSDictionary*)options; -- (void)setupView:(NSDictionary*)params; -@end - -/* Options */ - -// Enables the short timestamp for every single message -FOUNDATION_EXPORT NSString *const AMOptionsTimestampEachMessage; - -// Short Timestamp font -FOUNDATION_EXPORT NSString *const AMOptionsTimestampShortFont; - -// Full timestamp font -FOUNDATION_EXPORT NSString *const AMOptionsTimestampFont; - -// Avatar size -FOUNDATION_EXPORT NSString *const AMOptionsAvatarSize; - -// Accessory class. Pass your custom accessory view's name as string -FOUNDATION_EXPORT NSString *const AMOptionsAccessoryClass; - -// Accessory view size. Needed to get the cell height, adjust this when using a custom BubbleAccessory. The default view defaults to the Avatar Size -FOUNDATION_EXPORT NSString *const AMOptionsAccessorySize; - -// Margin height for the bubble accessory view -FOUNDATION_EXPORT NSString *const AMOptionsAccessoryMargin; - -// Full timestamp height -FOUNDATION_EXPORT NSString *const AMOptionsTimestampHeight; - -// Incoming bubble image -FOUNDATION_EXPORT NSString *const AMOptionsImageIncoming; - -// Outgoing bubble image -FOUNDATION_EXPORT NSString *const AMOptionsImageOutgoing; - -// Text bar background image -FOUNDATION_EXPORT NSString *const AMOptionsImageBar; - -// Text bar front image -FOUNDATION_EXPORT NSString *const AMOptionsImageInput; - -// Button image -FOUNDATION_EXPORT NSString *const AMOptionsImageButton; - -// Button higlighted image -FOUNDATION_EXPORT NSString *const AMOptionsImageButtonHighlight; - -// Button text color -FOUNDATION_EXPORT NSString *const AMOptionsButtonTextColor; - -// Button higlighted text color -FOUNDATION_EXPORT NSString *const AMOptionsButtonHighlightedTextColor; - -// Button disabled text color -FOUNDATION_EXPORT NSString *const AMOptionsButtonDisabledTextColor; - -// Textfield background -FOUNDATION_EXPORT NSString *const AMOptionsTextFieldBackground; - -// Textfield font -FOUNDATION_EXPORT NSString *const AMOptionsTextFieldFont; - -// Textfield font color -FOUNDATION_EXPORT NSString *const AMOptionsTextFieldFontColor; - -// Table background -FOUNDATION_EXPORT NSString *const AMOptionsBubbleTableBackground; - -// Accessory position (enum AMBubbleAccessoryPosition) -FOUNDATION_EXPORT NSString *const AMOptionsAccessoryPosition; - -// Button Y offset -FOUNDATION_EXPORT NSString *const AMOptionsButtonOffset; - -// Bubble text color -FOUNDATION_EXPORT NSString *const AMOptionsBubbleTextColor; - -// Bubble text font -FOUNDATION_EXPORT NSString *const AMOptionsBubbleTextFont; - -// Username text font -FOUNDATION_EXPORT NSString *const AMOptionsUsernameFont; - -// Button Font -FOUNDATION_EXPORT NSString *const AMOptionsButtonFont; - -// Enable Swipe gesture -FOUNDATION_EXPORT NSString *const AMOptionsBubbleSwipeEnabled; - -// Enable Long press gesture -FOUNDATION_EXPORT NSString *const AMOptionsBubblePressEnabled; - -// Detection type -FOUNDATION_EXPORT NSString *const AMOptionsBubbleDetectionType; - -@interface AMBubbleGlobals : NSObject - -+ (NSDictionary*)defaultOptions; - -// Styles -+ (NSDictionary*)defaultStyleDefault; -+ (NSDictionary*)defaultStyleSquare; -+ (NSDictionary*)defaultStyleFlat; - -// Utils -+ (UIViewAnimationOptions)animationOptionsForCurve:(UIViewAnimationCurve)curve; - -@end \ No newline at end of file diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleGlobals.m b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleGlobals.m deleted file mode 100644 index 1808f7c..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleGlobals.m +++ /dev/null @@ -1,160 +0,0 @@ -// -// AMBubbleGlobals.m -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 30/06/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleGlobals.h" - -NSString *const AMOptionsTimestampEachMessage = @"AMOptionsTimestampEachMessage"; -NSString *const AMOptionsTimestampShortFont = @"AMOptionsTimestampShortFont"; -NSString *const AMOptionsTimestampFont = @"AMOptionsTimestampFont"; -NSString *const AMOptionsAvatarSize = @"AMOptionsAvatarSize"; -NSString *const AMOptionsAccessoryClass = @"AMOptionsAccessoryClass"; -NSString *const AMOptionsAccessorySize = @"AMOptionsAccessorySize"; -NSString *const AMOptionsAccessoryMargin = @"AMOptionsAccessoryMargin"; -NSString *const AMOptionsTimestampHeight = @"AMOptionsTimestampHeight"; - -NSString *const AMOptionsImageIncoming = @"AMOptionsImageIncoming"; -NSString *const AMOptionsImageOutgoing = @"AMOptionsImageOutgoing"; -NSString *const AMOptionsImageBar = @"AMOptionsImageBar"; -NSString *const AMOptionsImageInput = @"AMOptionsImageInput"; -NSString *const AMOptionsImageButton = @"AMOptionsImageButton"; -NSString *const AMOptionsImageButtonHighlight = @"AMOptionsImageButtonHighlight"; -NSString *const AMOptionsButtonTextColor = @"AMOptionsButtonTextColor"; -NSString *const AMOptionsButtonHighlightedTextColor = @"AMOptionsButtonHighlightedTextColor"; -NSString *const AMOptionsButtonDisabledTextColor = @"AMOptionsButtonDisabledTextColor"; -NSString *const AMOptionsTextFieldBackground = @"AMOptionsTextFieldBackground"; -NSString *const AMOptionsTextFieldFont = @"AMOptionsTextFieldFont"; -NSString *const AMOptionsTextFieldFontColor = @"AMOptionsTextFieldFontColor"; -NSString *const AMOptionsBubbleTableBackground = @"AMOptionsBubbleTableBackground"; -NSString *const AMOptionsAccessoryPosition = @"AMOptionsAccessoryPosition"; -NSString *const AMOptionsButtonOffset = @"AMOptionsButtonOffset"; -NSString *const AMOptionsBubbleTextColor = @"AMOptionsBubbleTextColor"; -NSString *const AMOptionsBubbleTextFont = @"AMOptionsBubbleTextFont"; -NSString *const AMOptionsUsernameFont = @"AMOptionsUsernameFont"; -NSString *const AMOptionsButtonFont = @"AMOptionsButtonFont"; -NSString *const AMOptionsBubbleSwipeEnabled = @"AMOptionsBubbleSwipeEnabled"; -NSString *const AMOptionsBubblePressEnabled = @"AMOptionsBubblePressEnabled"; -NSString *const AMOptionsBubbleDetectionType = @"AMOptionsBubbleDetectionType"; - -@implementation AMBubbleGlobals - -+ (NSDictionary*)defaultOptions -{ - // Default options with default style - NSMutableDictionary* defaults = [@{ - AMOptionsTimestampEachMessage : @YES, - AMOptionsBubbleDetectionType: @(UIDataDetectorTypeNone), - AMOptionsAccessoryClass: @"AMBubbleAccessoryView", - AMOptionsTimestampShortFont: [UIFont boldSystemFontOfSize:11], - AMOptionsTimestampFont: [UIFont boldSystemFontOfSize:13], - AMOptionsAvatarSize: @50, - AMOptionsAccessorySize: @50, - AMOptionsAccessoryMargin: @5, - AMOptionsTimestampHeight: @40, - AMOptionsBubblePressEnabled: @YES, - AMOptionsBubbleSwipeEnabled: @YES - } mutableCopy]; - - // Add default styles - [defaults addEntriesFromDictionary:[AMBubbleGlobals defaultStyleDefault]]; - return defaults; -} - -+ (NSDictionary*)defaultStyleDefault -{ - return @{ - AMOptionsImageIncoming: [[UIImage imageNamed:@"messageBubbleGray"] stretchableImageWithLeftCapWidth:23 topCapHeight:15], - AMOptionsImageOutgoing: [[UIImage imageNamed:@"messageBubbleGreen"] stretchableImageWithLeftCapWidth:15 topCapHeight:13], - AMOptionsImageBar: [[UIImage imageNamed:@"imageBar"] resizableImageWithCapInsets:UIEdgeInsetsMake(19.0f, 3.0f, 19.0f, 3.0f)], - AMOptionsImageInput: [[UIImage imageNamed:@"imageInput"] resizableImageWithCapInsets:UIEdgeInsetsMake(20.0f, 12.0f, 18.0f, 18.0f)], - AMOptionsImageButton: [[UIImage imageNamed:@"buttonSend"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 13.0f, 0.0f, 13.0f)], - AMOptionsButtonTextColor: [UIColor whiteColor], - AMOptionsButtonHighlightedTextColor: [UIColor whiteColor], - AMOptionsButtonDisabledTextColor :[UIColor colorWithWhite:1.0f alpha:0.5f], - AMOptionsImageButtonHighlight: [[UIImage imageNamed:@"buttonSendHighlighted"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 13.0f, 0.0f, 13.0f)], - AMOptionsTextFieldBackground: [UIColor whiteColor], - AMOptionsTextFieldFont: [UIFont systemFontOfSize:15], - AMOptionsTextFieldFontColor: [UIColor blackColor], - AMOptionsBubbleTableBackground: [UIColor colorWithRed:0.859f green:0.886f blue:0.929f alpha:1.0f], - AMOptionsAccessoryPosition: @(AMBubbleAccessoryDown), - AMOptionsButtonOffset: @8, - AMOptionsBubbleTextColor: [UIColor blackColor], - AMOptionsBubbleTextFont: [UIFont systemFontOfSize:15], - AMOptionsUsernameFont: [UIFont boldSystemFontOfSize:13] - }; -} - -+ (NSDictionary*)defaultStyleSquare -{ - return @{ - AMOptionsImageIncoming: [[UIImage imageNamed:@"bubbleSquareIncoming"] stretchableImageWithLeftCapWidth:23 topCapHeight:15], - AMOptionsImageOutgoing: [[UIImage imageNamed:@"bubbleSquareOutgoing"] stretchableImageWithLeftCapWidth:15 topCapHeight:13], - AMOptionsImageBar: [[UIImage imageNamed:@"imageBar"] resizableImageWithCapInsets:UIEdgeInsetsMake(19.0f, 3.0f, 19.0f, 3.0f)], - AMOptionsImageInput: [[UIImage imageNamed:@"imageInput"] resizableImageWithCapInsets:UIEdgeInsetsMake(20.0f, 12.0f, 18.0f, 18.0f)], - AMOptionsImageButton: [[UIImage imageNamed:@"buttonSend"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 13.0f, 0.0f, 13.0f)], - AMOptionsImageButtonHighlight: [[UIImage imageNamed:@"buttonSendHighlighted"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 13.0f, 0.0f, 13.0f)], - AMOptionsButtonTextColor: [UIColor whiteColor], - AMOptionsButtonHighlightedTextColor: [UIColor whiteColor], - AMOptionsButtonDisabledTextColor :[UIColor colorWithWhite:1.0f alpha:0.5f], - AMOptionsTextFieldBackground: [UIColor whiteColor], - AMOptionsTextFieldFont: [UIFont systemFontOfSize:15], - AMOptionsTextFieldFontColor: [UIColor blackColor], - AMOptionsBubbleTableBackground: [UIColor colorWithRed:0.859f green:0.886f blue:0.929f alpha:1.0f], - AMOptionsAccessoryPosition: @(AMBubbleAccessoryDown), - AMOptionsButtonOffset: @8, - AMOptionsBubbleTextColor: [UIColor blackColor], - AMOptionsBubbleTextFont: [UIFont systemFontOfSize:15], - AMOptionsUsernameFont: [UIFont boldSystemFontOfSize:13] - }; -} - -+ (NSDictionary*)defaultStyleFlat -{ - return @{ - AMOptionsTimestampFont: [UIFont boldSystemFontOfSize:11], - AMOptionsImageIncoming: [[UIImage imageNamed:@"bubbleFlatIncoming"] stretchableImageWithLeftCapWidth:23 topCapHeight:15], - AMOptionsImageOutgoing: [[UIImage imageNamed:@"bubbleFlatOutgoing"] stretchableImageWithLeftCapWidth:15 topCapHeight:13], - AMOptionsImageBar: [[UIImage imageNamed:@"imageBarFlat"] resizableImageWithCapInsets:UIEdgeInsetsMake(19.0f, 3.0f, 19.0f, 3.0f)], - AMOptionsImageInput: [[UIImage imageNamed:@"imageInputFlat"] resizableImageWithCapInsets:UIEdgeInsetsMake(20.0f, 12.0f, 18.0f, 18.0f)], - AMOptionsImageButton: [[UIImage imageNamed:@"buttonSendFlat"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 13.0f, 0.0f, 13.0f)], - AMOptionsImageButtonHighlight: [[UIImage imageNamed:@"buttonSendHighlightedFlat"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 13.0f, 0.0f, 13.0f)] , - AMOptionsButtonTextColor: [UIColor whiteColor], - AMOptionsButtonHighlightedTextColor: [UIColor whiteColor], - AMOptionsButtonDisabledTextColor :[UIColor colorWithWhite:1.0f alpha:0.5f], - AMOptionsTextFieldBackground: [UIColor colorWithRed:0.827 green:0.827 blue:0.827 alpha:1], - AMOptionsTextFieldFont: [UIFont systemFontOfSize:15], - AMOptionsTextFieldFontColor: [UIColor darkGrayColor], - AMOptionsBubbleTableBackground: [UIColor colorWithRed:0.913f green:0.913f blue:0.913f alpha:1.0f], - AMOptionsAccessoryPosition: @(AMBubbleAccessoryUp), - AMOptionsAccessoryClass: @"AMBubbleFlatAccessoryView", - AMOptionsAccessorySize: @60, - AMOptionsButtonOffset: @8, - AMOptionsBubbleTextColor: [UIColor colorWithRed:0.36f green:0.36f blue:0.36f alpha:1.0f], - AMOptionsBubbleTextFont: [UIFont systemFontOfSize:13], - AMOptionsUsernameFont: [UIFont boldSystemFontOfSize:11] - }; -} - -+ (UIViewAnimationOptions)animationOptionsForCurve:(UIViewAnimationCurve)curve -{ - switch (curve) { - case UIViewAnimationCurveEaseIn: - return UIViewAnimationOptionCurveEaseIn; - break; - case UIViewAnimationCurveEaseInOut: - return UIViewAnimationOptionCurveEaseInOut; - break; - case UIViewAnimationCurveEaseOut: - return UIViewAnimationOptionCurveEaseOut; - break; - case UIViewAnimationCurveLinear: - return UIViewAnimationOptionCurveLinear; - break; - } -} - -@end \ No newline at end of file diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableCell.h b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableCell.h deleted file mode 100644 index 058be4a..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableCell.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// AMBubbleTableCell.h -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 30/06/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleGlobals.h" - -@interface AMBubbleTableCell : UITableViewCell - -- (id)initWithOptions:(NSDictionary*)options reuseIdentifier:(NSString *)reuseIdentifier; -- (void)setupCellWithType:(AMBubbleCellType)type withWidth:(float)width andParams:(NSDictionary*)params; - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableCell.m b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableCell.m deleted file mode 100644 index 0184213..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableCell.m +++ /dev/null @@ -1,207 +0,0 @@ -// -// AMBubbleTableCell.m -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 30/06/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleTableCell.h" -#import "AMBubbleAccessoryView.h" -#import - -@interface AMBubbleTableCell () - -@property (nonatomic, weak) NSDictionary* options; -@property (nonatomic, strong) UITextView* textView; -@property (nonatomic, strong) UIImageView* imageBackground; -@property (nonatomic, strong) UILabel* labelUsername; -@property (nonatomic, strong) UIView* bubbleAccessory; - -@end - -@implementation AMBubbleTableCell - -- (id)initWithOptions:(NSDictionary*)options reuseIdentifier:(NSString *)reuseIdentifier -{ - self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier]; - if (self) { - self.options = options; - self.backgroundColor = [UIColor clearColor]; - self.selectionStyle = UITableViewCellSelectionStyleNone; - self.accessoryType = UITableViewCellAccessoryNone; - self.textView = [[UITextView alloc] init]; - self.imageBackground = [[UIImageView alloc] init]; - self.labelUsername = [[UILabel alloc] init]; - self.bubbleAccessory = [[NSClassFromString(options[AMOptionsAccessoryClass]) alloc] init]; - [self.bubbleAccessory setOptions:options]; - [self.contentView addSubview:self.imageBackground]; - [self.imageBackground addSubview:self.textView]; - [self.imageBackground addSubview:self.labelUsername]; - [self.contentView addSubview:self.bubbleAccessory]; - [self.textView setUserInteractionEnabled:YES]; - [self.imageBackground setUserInteractionEnabled:YES]; - } - return self; -} - -- (void)setupCellWithType:(AMBubbleCellType)type withWidth:(float)width andParams:(NSDictionary*)params -{ - UIFont* textFont = self.options[AMOptionsBubbleTextFont]; - - CGRect content = self.contentView.frame; - content.size.width = width; - self.contentView.frame = content; - self.frame = content; - // Configure the cell to show the message in a bubble. Layout message cell & its subviews. - CGSize sizeText = [params[@"text"] sizeWithFont:textFont - constrainedToSize:CGSizeMake(kMessageTextWidth, CGFLOAT_MAX) - lineBreakMode:NSLineBreakByWordWrapping]; - - - [self.textView setBackgroundColor:[UIColor clearColor]]; - [self.textView setFont:textFont]; - [self.textView setEditable:NO]; - [self.textView setScrollEnabled:NO]; - [self.textView setDataDetectorTypes:[self.options[AMOptionsBubbleDetectionType] intValue]]; - if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { -#ifdef __IPHONE_7_0 - [self.textView setSelectable:YES]; - [self.textView.textContainer setLineFragmentPadding:0]; - [self.textView setTextContainerInset:UIEdgeInsetsZero]; -#endif - } else { - [self.textView setContentInset:UIEdgeInsetsMake(-8,-8,-8,-8)]; - } - [self.textView setTextColor:self.options[AMOptionsTextFieldFontColor]]; - - [self.bubbleAccessory setupView:params]; - - // Right Bubble - if (type == AMBubbleCellSent) { - - [self.bubbleAccessory setFrame:CGRectMake(width - self.bubbleAccessory.frame.size.width - 2, - 2, - self.bubbleAccessory.frame.size.width, - self.bubbleAccessory.frame.size.height)]; - - - CGRect rect = CGRectMake(width - sizeText.width - 34.0f - self.bubbleAccessory.frame.size.width, - textFont.lineHeight - 13.0f, - sizeText.width + 34.0f, - sizeText.height + 12.0f); - - if (rect.size.height > self.bubbleAccessory.frame.size.height) { - if ([self.options[AMOptionsAccessoryPosition] intValue] == AMBubbleAccessoryDown) { - CGRect frame = self.bubbleAccessory.frame; - frame.origin.y += rect.size.height - self.bubbleAccessory.frame.size.height; - self.bubbleAccessory.frame = frame; - } - } else { - if ([self.options[AMOptionsAccessoryPosition] intValue] == AMBubbleAccessoryDown) { - rect.origin.y += self.bubbleAccessory.frame.size.height - rect.size.height; - } else { - rect.origin.y = 0; - } - } - - [self setupBubbleWithType:type - background:rect - textFrame:CGRectMake(12.0f, - 4.0f, - sizeText.width + 5.0f, - sizeText.height) - andText:params[@"text"]]; - } - - if (type == AMBubbleCellReceived) { - - [self.bubbleAccessory setFrame:CGRectMake(2, - 2, - self.bubbleAccessory.frame.size.width, - self.bubbleAccessory.frame.size.height)]; - CGSize usernameSize = CGSizeZero; - - if (![params[@"username"] isEqualToString:@""]) { - UIFont* fontUsername = self.options[AMOptionsUsernameFont]; - [self.labelUsername setFont:fontUsername]; - usernameSize = [params[@"username"] sizeWithFont:fontUsername - constrainedToSize:CGSizeMake(kMessageTextWidth, self.labelUsername.font.lineHeight) - lineBreakMode:NSLineBreakByWordWrapping]; - [self.labelUsername setNumberOfLines:1]; - [self.labelUsername setFrame:CGRectMake(22.0f, fontUsername.lineHeight - 9.0f, usernameSize.width+5.0f, usernameSize.height)]; - [self.labelUsername setBackgroundColor:[UIColor clearColor]]; - if ([params[@"color"] isKindOfClass:[UIColor class]]) { - [self.labelUsername setTextColor:params[@"color"]]; - } - [self.labelUsername setText:params[@"username"]]; - } - - CGRect rect = CGRectMake(0.0f + self.bubbleAccessory.frame.size.width, - textFont.lineHeight - 13.0f, - MAX(sizeText.width, usernameSize.width) + 34.0f, // Accounts for usernames longer than text - sizeText.height + 12.0f + usernameSize.height); - - if (rect.size.height > self.bubbleAccessory.frame.size.height) { - if ([self.options[AMOptionsAccessoryPosition] intValue] == AMBubbleAccessoryDown) { - CGRect frame = self.bubbleAccessory.frame; - frame.origin.y += rect.size.height - self.bubbleAccessory.frame.size.height; - self.bubbleAccessory.frame = frame; - } - } else { - if ([self.options[AMOptionsAccessoryPosition] intValue] == AMBubbleAccessoryDown) { - rect.origin.y += self.bubbleAccessory.frame.size.height - rect.size.height; - } else { - rect.origin.y = 0; - } - } - - [self setupBubbleWithType:type - background:rect - textFrame:CGRectMake(22.0f, 4.0 + usernameSize.height, sizeText.width + 5.0f, sizeText.height) - andText:params[@"text"]]; - } - - if (type == AMBubbleCellTimestamp) { - [self.textView setDataDetectorTypes:UIDataDetectorTypeNone]; - [self.bubbleAccessory setFrame:CGRectZero]; - - self.textView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height); - [self.textView setTextAlignment:NSTextAlignmentCenter]; - [self.textView setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin]; - [self.textView setFont:self.options[AMOptionsTimestampFont]]; - [self.textView setTextColor:[UIColor colorWithRed:100.0f/255.0f green:120.0f/255.0f blue:150.0f/255.0f alpha:1]]; - [self.textView setText:params[@"text"]]; - [self.imageBackground setFrame:CGRectZero]; - self.textView.text = params[@"date"]; - } - - [self setNeedsLayout]; - -} - -- (void)setupBubbleWithType:(AMBubbleCellType)type background:(CGRect)frame textFrame:(CGRect)textFrame andText:(NSString*)text -{ - [self.imageBackground setFrame:frame]; - - if (type == AMBubbleCellReceived) { - [self.imageBackground setImage:self.options[AMOptionsImageIncoming]]; - } else { - [self.imageBackground setImage:self.options[AMOptionsImageOutgoing]]; - } - - [self.imageBackground setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin]; - - // Dirty fix for ios previous than 7.0 - if (!SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { - textFrame.size.width += 12; - } - [self.textView setFrame:textFrame]; - [self.textView setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin]; - [self.textView setText:nil]; - [self.textView setText:text]; -} - - - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableViewController.h b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableViewController.h deleted file mode 100644 index a145f96..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableViewController.h +++ /dev/null @@ -1,25 +0,0 @@ -// -// AMBubbleTableViewController.h -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 30/06/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -@import UIKit; - -#import "AMBubbleGlobals.h" - -@interface AMBubbleTableViewController : UIViewController - -@property (nonatomic, strong) UITableView* tableView; -@property (nonatomic, strong) UITextView* textView; -@property (nonatomic, assign) id dataSource; -@property (nonatomic, assign) id delegate; - -- (void)reloadTableScrollingToBottom:(BOOL)scroll; -- (void)setBubbleTableOptions:(NSDictionary *)options; -- (void)setTableStyle:(AMBubbleTableStyle)style; -- (void)scrollToBottomAnimated:(BOOL)animated; - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableViewController.m b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableViewController.m deleted file mode 100644 index b27edcd..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/AMBubbleTableViewController.m +++ /dev/null @@ -1,549 +0,0 @@ -// -// AMBubbleTableViewController.m -// AMBubbleTableViewController -// -// Created by Andrea Mazzini on 30/06/13. -// Copyright (c) 2013 Andrea Mazzini. All rights reserved. -// - -#import "AMBubbleTableViewController.h" -#import "AMBubbleTableCell.h" - -#define kInputHeight 40.0f -#define kLineHeight 30.0f -#define kButtonWidth 78.0f - - -@interface AMBubbleTableViewController () - -@property (strong, nonatomic) NSMutableDictionary* options; -@property (nonatomic, strong) UIImageView* imageInput; -@property (nonatomic, strong) UIImageView* imageInputBack; -@property (nonatomic, strong) UIButton* buttonSend; -@property (nonatomic, strong) NSDateFormatter* dateFormatter; -@property (nonatomic, strong) UITextView* tempTextView; -@property (nonatomic, assign) float previousTextFieldHeight; - -@end - -@implementation AMBubbleTableViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - [self setupView]; -} - -- (void)setBubbleTableOptions:(NSDictionary *)options -{ - [self.options addEntriesFromDictionary:options]; -} - -- (NSMutableDictionary*)options -{ - if (_options == nil) { - _options = [[AMBubbleGlobals defaultOptions] mutableCopy]; - } - return _options; -} - -- (void)setTableStyle:(AMBubbleTableStyle)style -{ - switch (style) { - case AMBubbleTableStyleDefault: - [self.options addEntriesFromDictionary:[AMBubbleGlobals defaultStyleDefault]]; - break; - case AMBubbleTableStyleSquare: - [self.options addEntriesFromDictionary:[AMBubbleGlobals defaultStyleSquare]]; - break; - case AMBubbleTableStyleFlat: - [self.options addEntriesFromDictionary:[AMBubbleGlobals defaultStyleFlat]]; - break; - default: - break; - } -} - -- (void)viewWillAppear:(BOOL)animated -{ - [super viewWillAppear:animated]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(handleKeyboardWillShow:) - name:UIKeyboardWillShowNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(handleKeyboardWillHide:) - name:UIKeyboardWillHideNotification - object:nil]; -} - -- (void)viewWillDisappear:(BOOL)animated -{ - [super viewWillDisappear:animated]; - - [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; - [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; -} - -- (void)setupView -{ - UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self - action:@selector(handleTapGesture:)]; - // Table View - CGRect tableFrame = CGRectMake(0.0f, 0.0f, self.view.frame.size.width, self.view.frame.size.height - kInputHeight); - self.tableView = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStylePlain]; - [self.tableView addGestureRecognizer:gestureRecognizer]; - [self.tableView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; - [self.tableView setDataSource:self]; - [self.tableView setDelegate:self]; - [self.tableView setBackgroundColor:self.options[AMOptionsBubbleTableBackground]]; - [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; - [self.view addSubview:self.tableView]; - - // Input background - CGRect inputFrame = CGRectMake(0.0f, self.view.frame.size.height - kInputHeight, self.view.frame.size.width, kInputHeight); - self.imageInput = [[UIImageView alloc] initWithImage:self.options[AMOptionsImageBar]]; - [self.imageInput setFrame:inputFrame]; - [self.imageInput setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin)]; - [self.imageInput setUserInteractionEnabled:YES]; - - [self.view addSubview:self.imageInput]; - - // Input field - CGFloat width = self.imageInput.frame.size.width - kButtonWidth; - - self.textView = [[UITextView alloc] initWithFrame:CGRectMake(6.0f, 3.0f, width, kLineHeight)]; - [self.textView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; - [self.textView setScrollIndicatorInsets:UIEdgeInsetsMake(10.0f, 0.0f, 10.0f, 8.0f)]; - [self.textView setContentInset:UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)]; - [self.textView setScrollsToTop:NO]; - [self.textView setUserInteractionEnabled:YES]; - [self.textView setFont:self.options[AMOptionsTextFieldFont]]; - [self.textView setTextColor:self.options[AMOptionsTextFieldFontColor]]; - [self.textView setBackgroundColor:self.options[AMOptionsTextFieldBackground]]; - [self.textView setKeyboardAppearance:UIKeyboardAppearanceDefault]; - [self.textView setKeyboardType:UIKeyboardTypeDefault]; - [self.textView setReturnKeyType:UIReturnKeyDefault]; - - [self.textView setDelegate:self]; - [self.imageInput addSubview:self.textView]; - - // This text view is used to get the content size - self.tempTextView = [[UITextView alloc] init]; - self.tempTextView.font = self.textView.font; - self.tempTextView.text = @""; - CGSize size = [self.tempTextView sizeThatFits:CGSizeMake(self.textView.frame.size.width, FLT_MAX)]; - self.previousTextFieldHeight = size.height; - - // Input field's background - self.imageInputBack = [[UIImageView alloc] initWithFrame:CGRectMake(self.textView.frame.origin.x - 1.0f, - 0.0f, - self.textView.frame.size.width + 2.0f, - self.imageInput.frame.size.height)]; - [self.imageInputBack setImage:self.options[AMOptionsImageInput]]; - [self.imageInputBack setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; - [self.imageInputBack setBackgroundColor:[UIColor clearColor]]; - [self.imageInputBack setUserInteractionEnabled:NO]; - [self.imageInput addSubview:self.imageInputBack]; - - // Send button - self.buttonSend = [UIButton buttonWithType:UIButtonTypeCustom]; - [self.buttonSend setAutoresizingMask:(UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin)]; - - UIImage *sendBack = self.options[AMOptionsImageButton]; - UIImage *sendBackHighLighted = self.options[AMOptionsImageButtonHighlight]; - [self.buttonSend setBackgroundImage:sendBack forState:UIControlStateNormal]; - [self.buttonSend setBackgroundImage:sendBack forState:UIControlStateDisabled]; - [self.buttonSend setBackgroundImage:sendBackHighLighted forState:UIControlStateHighlighted]; - [self.buttonSend.titleLabel setFont:self.options[AMOptionsButtonFont]]; - - NSString *title = NSLocalizedString(@"Send",); - [self.buttonSend setTitle:title forState:UIControlStateNormal]; - [self.buttonSend setTitle:title forState:UIControlStateHighlighted]; - [self.buttonSend setTitle:title forState:UIControlStateDisabled]; - self.buttonSend.titleLabel.font = [UIFont boldSystemFontOfSize:16.0f]; - - UIColor *titleShadow = [UIColor colorWithRed:0.325f green:0.463f blue:0.675f alpha:1.0f]; - [self.buttonSend setTitleShadowColor:titleShadow forState:UIControlStateNormal]; - [self.buttonSend setTitleShadowColor:titleShadow forState:UIControlStateHighlighted]; - self.buttonSend.titleLabel.shadowOffset = CGSizeMake(0.0f, -1.0f); - - [self.buttonSend setTitleColor:self.options[AMOptionsButtonTextColor] forState:UIControlStateNormal]; - [self.buttonSend setTitleColor:self.options[AMOptionsButtonHighlightedTextColor] forState:UIControlStateHighlighted]; - [self.buttonSend setTitleColor:self.options[AMOptionsButtonDisabledTextColor] forState:UIControlStateDisabled]; - [self.buttonSend setTitleColor:[UIColor colorWithWhite:1.0f alpha:0.5f] forState:UIControlStateDisabled]; - - [self.buttonSend setEnabled:NO]; - [self.buttonSend setFrame:CGRectMake(self.imageInput.frame.size.width - 65.0f, [self.options[AMOptionsButtonOffset] floatValue], 59.0f, 26.0f)]; - [self.buttonSend addTarget:self action:@selector(sendPressed:) forControlEvents:UIControlEventTouchUpInside]; - - [self.imageInput addSubview:self.buttonSend]; -} - -#pragma mark - TableView Delegate - -- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section -{ - return [self.dataSource numberOfRows]; -} - -- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath -{ - AMBubbleCellType type = [self.dataSource cellTypeForRowAtIndexPath:indexPath]; - NSString* cellID = [NSString stringWithFormat:@"cell_%d", type]; - NSString* text = [self.dataSource textForRowAtIndexPath:indexPath]; - NSDate* date = [self.dataSource timestampForRowAtIndexPath:indexPath]; - AMBubbleTableCell* cell = [tableView dequeueReusableCellWithIdentifier:cellID]; - - NSAssert(text != nil || date != nil, @"Text and Date cannot be both nil"); - - UIImage* avatar; - UIColor* color; - - if ([self.dataSource respondsToSelector:@selector(usernameColorForRowAtIndexPath:)]) { - color = [self.dataSource usernameColorForRowAtIndexPath:indexPath]; - } - if ([self.dataSource respondsToSelector:@selector(avatarForRowAtIndexPath:)]) { - avatar = [self.dataSource avatarForRowAtIndexPath:indexPath]; - } - - if (cell == nil) { - cell = [[AMBubbleTableCell alloc] initWithOptions:self.options - reuseIdentifier:cellID]; - - if ([self.options[AMOptionsBubbleSwipeEnabled] boolValue]) { - UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)]; - swipeGesture.direction = UISwipeGestureRecognizerDirectionLeft|UISwipeGestureRecognizerDirectionRight; - [cell addGestureRecognizer:swipeGesture]; - } - if ([self.options[AMOptionsBubblePressEnabled] boolValue]) { - UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPressGesture:)]; - [cell addGestureRecognizer:longPressGesture]; - } - } - - // iPad cells are set by default to 320 pixels, this fixes the quirk - cell.contentView.frame = CGRectMake(cell.contentView.frame.origin.x, - cell.contentView.frame.origin.y, - self.tableView.frame.size.width, - cell.contentView.frame.size.height); - - // Used by the gesture recognizer - cell.tag = indexPath.row; - - NSString* stringDate; - if (type == AMBubbleCellTimestamp) { - [self.dateFormatter setDateStyle:NSDateFormatterMediumStyle]; // Jan 1, 2000 - [self.dateFormatter setTimeStyle:NSDateFormatterShortStyle]; // 1:23 PM - stringDate = [self.dateFormatter stringFromDate:date]; - [cell setupCellWithType:type - withWidth:self.tableView.frame.size.width - andParams:@{ @"date": stringDate }]; - } else { - [self.dateFormatter setDateFormat:@"HH:mm"]; // 13:23 - NSString* username; - if ([self.dataSource respondsToSelector:@selector(usernameForRowAtIndexPath:)]) { - username = [self.dataSource usernameForRowAtIndexPath:indexPath]; - } - stringDate = [self.dateFormatter stringFromDate:date]; - [cell setupCellWithType:type - withWidth:self.tableView.frame.size.width - andParams:@{ - @"text": text, - @"date": stringDate, - @"index": @(indexPath.row), - @"username": (username ? username : @""), - @"avatar": (avatar ? avatar: @""), - @"color": (color ? color: @"") - }]; - } - - return cell; -} - -- (void)handleSwipeGesture:(UISwipeGestureRecognizer *)sender -{ - if ([self.delegate respondsToSelector:@selector(swipedCellAtIndexPath:withFrame:andDirection:)]) { - [self.delegate swipedCellAtIndexPath:[NSIndexPath indexPathForRow:sender.view.tag inSection:0] withFrame:sender.view.frame andDirection:sender.direction]; - } -} - -- (void)handleLongPressGesture:(UILongPressGestureRecognizer *)sender -{ - if ([self.delegate respondsToSelector:@selector(longPressedCellAtIndexPath:withFrame:)]) { - if (sender.state == UIGestureRecognizerStateBegan) { - [self.delegate longPressedCellAtIndexPath:[NSIndexPath indexPathForRow:sender.view.tag inSection:0] withFrame:sender.view.frame]; - } - } -} - -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -{ - AMBubbleCellType type = [self.dataSource cellTypeForRowAtIndexPath:indexPath]; - NSString* text = [self.dataSource textForRowAtIndexPath:indexPath]; - NSString* username = @""; - - if ([self.dataSource respondsToSelector:@selector(usernameForRowAtIndexPath:)]) { - username = [self.dataSource usernameForRowAtIndexPath:indexPath]; - } - - if (type == AMBubbleCellTimestamp) { - return [self.options[AMOptionsTimestampHeight] floatValue]; - } - - // Set MessageCell height. - CGSize size; - if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { -#ifdef __IPHONE_7_0 - size = [text boundingRectWithSize:CGSizeMake(kMessageTextWidth, CGFLOAT_MAX) - options:NSStringDrawingUsesLineFragmentOrigin - attributes:@{NSFontAttributeName:self.options[AMOptionsBubbleTextFont]} - context:nil].size; -#endif - } else { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - size = [text sizeWithFont:self.options[AMOptionsBubbleTextFont] - constrainedToSize:CGSizeMake(kMessageTextWidth, CGFLOAT_MAX) - lineBreakMode:NSLineBreakByWordWrapping]; -#pragma GCC diagnostic pop - } - - CGSize usernameSize = CGSizeZero; - - if (![username isEqualToString:@""] && type == AMBubbleCellReceived) { - if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { -#ifdef __IPHONE_7_0 - usernameSize = [username boundingRectWithSize:CGSizeMake(kMessageTextWidth, CGFLOAT_MAX) - options:NSStringDrawingUsesLineFragmentOrigin - attributes:@{NSFontAttributeName:self.options[AMOptionsTimestampFont]} - context:nil].size; -#endif - } else { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wdeprecated-declarations" - usernameSize = [username sizeWithFont:self.options[AMOptionsTimestampFont] - constrainedToSize:CGSizeMake(kMessageTextWidth, CGFLOAT_MAX) - lineBreakMode:NSLineBreakByWordWrapping]; -#pragma GCC diagnostic pop - } - } - - // Account for either the bubble or accessory size - return MAX(size.height + 17.0f + usernameSize.height, - [self.options[AMOptionsAccessorySize] floatValue] + [self.options[AMOptionsAccessoryMargin] floatValue]); -} - -#pragma mark - Keyboard Handlers - -- (void)handleKeyboardWillShow:(NSNotification *)notification -{ - [self resizeView:notification]; - [self scrollToBottomAnimated:YES]; -} - -- (void)handleKeyboardWillHide:(NSNotification *)notification -{ - [self resizeView:notification]; -} - -- (void)resizeView:(NSNotification*)notification -{ - CGRect keyboardRect = [[notification.userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; - UIViewAnimationCurve curve = [[notification.userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] integerValue]; - double duration = [[notification.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; - - CGFloat viewHeight = (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation) ? MIN(self.view.frame.size.width,self.view.frame.size.height) : MAX(self.view.frame.size.width,self.view.frame.size.height)); - CGFloat keyboardY = [self.view convertRect:keyboardRect fromView:nil].origin.y; - CGFloat diff = keyboardY - viewHeight; - - // This check prevents an issue when the view is inside a UITabBarController - if (diff > 0) { - double fraction = diff/keyboardY; - duration *= (1-fraction); - keyboardY = viewHeight; - } - - // Thanks to Raja Baz (@raja-baz) for the delay's animation fix. - CGFloat delay = 0.0f; - CGRect beginRect = [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue]; - diff = beginRect.origin.y - viewHeight; - if (diff > 0) { - double fraction = diff/beginRect.origin.y; - delay = duration * fraction; - duration -= delay; - } - - void (^completition)(void) = ^{ - CGFloat inputViewFrameY = keyboardY - self.imageInput.frame.size.height; - - self.imageInput.frame = CGRectMake(self.imageInput.frame.origin.x, - inputViewFrameY, - self.imageInput.frame.size.width, - self.imageInput.frame.size.height); - UIEdgeInsets insets = self.tableView.contentInset; - insets.bottom = viewHeight - self.imageInput.frame.origin.y - kInputHeight; - - self.tableView.contentInset = insets; - self.tableView.scrollIndicatorInsets = insets; - }; - - if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { -#ifdef __IPHONE_7_0 - [UIView animateWithDuration:0.5 - delay:0 - usingSpringWithDamping:500.0f - initialSpringVelocity:0.0f - options:UIViewAnimationOptionCurveLinear - animations:completition - completion:nil]; -#endif - } else { - [UIView animateWithDuration:duration - delay:delay - options:[AMBubbleGlobals animationOptionsForCurve:curve] - animations:completition - completion:nil]; - } -} - -- (void)resizeTextViewByHeight:(CGFloat)delta -{ - int numLines = self.textView.contentSize.height / self.textView.font.lineHeight; - - self.textView.contentInset = UIEdgeInsetsMake((numLines >= 6 ? 4.0f : 0.0f), - 0.0f, - (numLines >= 6 ? 4.0f : 0.0f), - 0.0f); - - // Adjust table view's insets - CGFloat viewHeight = (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)) ? self.view.frame.size.width : self.view.frame.size.height; - - UIEdgeInsets insets = self.tableView.contentInset; - insets.bottom = viewHeight - self.imageInput.frame.origin.y - kInputHeight; - - self.tableView.contentInset = insets; - self.tableView.scrollIndicatorInsets = insets; - - // Slightly scroll the table - [self.tableView setContentOffset:CGPointMake(0, self.tableView.contentOffset.y + delta) animated:YES]; -} - -- (void)handleTapGesture:(UIGestureRecognizer*)gesture -{ - [self.textView resignFirstResponder]; -} - -- (void)textViewDidChange:(UITextView *)textView -{ - [self.buttonSend setEnabled:([textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].length > 0)]; - - CGFloat maxHeight = self.textView.font.lineHeight * 5; - CGFloat textViewContentHeight = self.textView.contentSize.height; - - if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { - // Fixes the wrong content size computed by iOS7 - if (textView.text.UTF8String[textView.text.length-1] == '\n') { - textViewContentHeight += textView.font.lineHeight; - } - } - - if ([@"" isEqualToString:textView.text]) { - self.tempTextView = [[UITextView alloc] init]; - self.tempTextView.font = self.textView.font; - self.tempTextView.text = self.textView.text; - - CGSize size = [self.tempTextView sizeThatFits:CGSizeMake(self.textView.frame.size.width, FLT_MAX)]; - textViewContentHeight = size.height; - } - - CGFloat delta = textViewContentHeight - self.previousTextFieldHeight; - BOOL isShrinking = textViewContentHeight < self.previousTextFieldHeight; - - delta = (textViewContentHeight + delta >= maxHeight) ? 0.0f : delta; - - if(!isShrinking) - [self resizeTextViewByHeight:delta]; - - if(delta != 0.0f) { - [UIView animateWithDuration:0.25f - animations:^{ - UIEdgeInsets insets = self.tableView.contentInset; - insets.bottom = self.tableView.contentInset.bottom + delta; - self.tableView.contentInset = insets; - self.tableView.scrollIndicatorInsets = insets; - - [self scrollToBottomAnimated:NO]; - - self.imageInput.frame = CGRectMake(0.0f, - self.imageInput.frame.origin.y - delta, - self.imageInput.frame.size.width, - self.imageInput.frame.size.height + delta); - } - completion:^(BOOL finished) { - if(isShrinking) - [self resizeTextViewByHeight:delta]; - }]; - - self.previousTextFieldHeight = MIN(textViewContentHeight, maxHeight); - } - - // This is a workaround for an iOS7 bug: - // http://stackoverflow.com/questions/18070537/how-to-make-a-textview-scroll-while-editing - if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) { - if([textView.text hasSuffix:@"\n"]) { - double delayInSeconds = 0.2; - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ - CGPoint bottomOffset = CGPointMake(0, self.textView.contentSize.height - self.textView.bounds.size.height); - [self.textView setContentOffset:bottomOffset animated:YES]; - }); - } - } -} - -- (void)scrollToBottomAnimated:(BOOL)animated -{ - NSInteger bottomRow = [self.dataSource numberOfRows] - 1; - if (bottomRow >= 0) { - NSIndexPath *indexPath = [NSIndexPath indexPathForRow:bottomRow inSection:0]; - [self.tableView scrollToRowAtIndexPath:indexPath - atScrollPosition:UITableViewScrollPositionBottom animated:animated]; - } -} - -- (void)sendPressed:(id)sender -{ - [self.delegate didSendText:self.textView.text]; - [self.textView setText:@""]; - [self textViewDidChange:self.textView]; - [self resizeTextViewByHeight:self.textView.contentSize.height - self.previousTextFieldHeight]; - [self.buttonSend setEnabled:NO]; - [self scrollToBottomAnimated:YES]; -} - -- (void)reloadTableScrollingToBottom:(BOOL)scroll -{ - [self.tableView reloadData]; - if (scroll) { - [self scrollToBottomAnimated:YES]; - } -} - -- (NSDateFormatter*)dateFormatter -{ - if (_dateFormatter == nil) { - _dateFormatter = [[NSDateFormatter alloc] init]; - [_dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:[[NSLocale currentLocale] localeIdentifier]]]; - } - return _dateFormatter; -} - -- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation -{ - [self.tableView reloadData]; -} - -@end diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatIncoming.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatIncoming.png deleted file mode 100644 index 29fc223..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatIncoming.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatIncoming@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatIncoming@2x.png deleted file mode 100644 index c9f7afc..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatIncoming@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatOutgoing.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatOutgoing.png deleted file mode 100644 index 38f3bf6..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatOutgoing.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatOutgoing@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatOutgoing@2x.png deleted file mode 100644 index 67da18d..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleFlatOutgoing@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareIncoming.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareIncoming.png deleted file mode 100644 index 148ab38..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareIncoming.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareIncoming@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareIncoming@2x.png deleted file mode 100644 index 472260c..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareIncoming@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareOutgoing.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareOutgoing.png deleted file mode 100644 index bbb1b2e..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareOutgoing.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareOutgoing@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareOutgoing@2x.png deleted file mode 100644 index 24699cf..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/bubbleSquareOutgoing@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSend.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSend.png deleted file mode 100644 index e4d99ee..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSend.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSend@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSend@2x.png deleted file mode 100644 index 02d3d76..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSend@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendFlat.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendFlat.png deleted file mode 100644 index a5dc7d5..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendFlat.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendFlat@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendFlat@2x.png deleted file mode 100644 index 3788649..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendFlat@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlighted.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlighted.png deleted file mode 100644 index 6f65f23..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlighted.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlighted@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlighted@2x.png deleted file mode 100644 index c8962fa..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlighted@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlightedFlat.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlightedFlat.png deleted file mode 100644 index 7b3f1bf..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlightedFlat.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlightedFlat@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlightedFlat@2x.png deleted file mode 100644 index abdb808..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/buttonSendHighlightedFlat@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBar.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBar.png deleted file mode 100644 index 3560ff4..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBar.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBar@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBar@2x.png deleted file mode 100644 index 0a19fb4..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBar@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBarFlat.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBarFlat.png deleted file mode 100644 index 6934b1e..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBarFlat.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBarFlat@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBarFlat@2x.png deleted file mode 100644 index f7d0fd4..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageBarFlat@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInput.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInput.png deleted file mode 100644 index e7cb989..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInput.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInput@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInput@2x.png deleted file mode 100644 index fda7591..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInput@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInputFlat.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInputFlat.png deleted file mode 100644 index 578781f..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInputFlat.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInputFlat@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInputFlat@2x.png deleted file mode 100644 index 524e96b..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/imageInputFlat@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleBlue.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleBlue.png deleted file mode 100644 index 5a9145a..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleBlue.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleBlue@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleBlue@2x.png deleted file mode 100644 index 60dcd8c..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleBlue@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGray.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGray.png deleted file mode 100644 index 7bccf99..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGray.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGray@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGray@2x.png deleted file mode 100644 index 7d5024b..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGray@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGreen.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGreen.png deleted file mode 100755 index a70f1af..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGreen.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGreen@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGreen@2x.png deleted file mode 100755 index 041643f..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleGreen@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleHighlighted.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleHighlighted.png deleted file mode 100644 index 53182a3..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleHighlighted.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleHighlighted@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleHighlighted@2x.png deleted file mode 100644 index fe07829..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleHighlighted@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleTyping.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleTyping.png deleted file mode 100644 index d2545cb..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleTyping.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleTyping@2x.png b/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleTyping@2x.png deleted file mode 100644 index 6774271..0000000 Binary files a/sampleiOS/Pods/AMBubbleTableViewController/AMBubbleTableViewController/Resources/messageBubbleTyping@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/AMBubbleTableViewController/LICENSE b/sampleiOS/Pods/AMBubbleTableViewController/LICENSE deleted file mode 100644 index ee5f4dd..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2012 Andrea Mazzini. All rights reserved. - -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. \ No newline at end of file diff --git a/sampleiOS/Pods/AMBubbleTableViewController/README.md b/sampleiOS/Pods/AMBubbleTableViewController/README.md deleted file mode 100644 index 841bb9e..0000000 --- a/sampleiOS/Pods/AMBubbleTableViewController/README.md +++ /dev/null @@ -1,155 +0,0 @@ -AMBubbleTableViewController -================== - -[![Build Status](https://travis-ci.org/andreamazz/AMBubbleTableView.png)](https://travis-ci.org/andreamazz/AMBubbleTableView) - -Simple implementation of a UITableView styled as chat bubbles. It's strongly based on Jesse Squires' [MessagesTableViewController](https://github.com/jessesquires/MessagesTableViewController), since I needed to deeply customize the view, I decided to spawn a new library. -###Please note -This library is no longer maintained. I strongly suggest to use Jesse's library, linked above. -Want to adopt this library? Contact me in the issue section. - -Screenshot --------------------- -![AMBubbleTableViewController](https://raw.githubusercontent.com/andreamazz/AMBubbleTableView/master/screenshot.gif) - -Setup with Cocoapods --------------------- -* Add ```pod 'AMBubbleTableViewController'``` to your Podfile -* Run ```pod install``` -* Run ```open App.xcworkspace``` -* Import ```AMBubbleTableViewController.h``` in your AppDelegate -* Subclass ```AMBubbleTableViewController``` from your controller -* Provide a ```AMBubbleTableDataSource``` and ```AMBubbleTableDelegate``` - -Setup without Cocoapods --------------------- -* Clone this repo -* Add the ```AMBubbleTableViewController``` folder to your project -* Import ```AMBubbleTableViewController.h``` in your AppDelegate -* Subclass ```AMBubbleTableViewController``` from your controller -* Provide a ```AMBubbleTableDataSource``` and ```AMBubbleTableDelegate``` - -AMBubbleTableDataSource --------------------- -You need to provide an object that implements the AMBubbleTableDataSource with all the data that you want to display. The required calls are: - -```objc -- (NSInteger)numberOfRows; -- (AMBubbleCellType)cellTypeForRowAtIndexPath:(NSIndexPath *)indexPath; -- (NSString *)textForRowAtIndexPath:(NSIndexPath *)indexPath; -- (NSDate *)timestampForRowAtIndexPath:(NSIndexPath *)indexPath; -``` - -You can also optionally specify an avatar image, a username and its color: - -```objc -- (UIImage*)avatarForRowAtIndexPath:(NSIndexPath *)indexPath; -- (NSString*)usernameForRowAtIndexPath:(NSIndexPath *)indexPath; -- (UIColor*)usernameColorForRowAtIndexPath:(NSIndexPath *)indexPath; -``` - -AMBubbleTableDelegate --------------------- -Implement the delegate to receive the user's text: - -```objc -- (void)didSendText:(NSString*)text; -- (void)swipedCellAtIndexPath:(NSIndexPath *)indexPath withFrame:(CGRect)frame andDirection:(UISwipeGestureRecognizerDirection)direction; -- (void)longPressedCellAtIndexPath:(NSIndexPath *)indexPath withFrame:(CGRect)frame; -``` - -Main styles --------------------- -You can change the style of the AMBubbleTableViewController like this: -```objc -// After initialization -[self setTableStyle:AMBubbleTableStyleFlat]; // AMBubbleTableStyleDefault, AMBubbleTableStyleSquare, AMBubbleTableStyleFlat -``` - -Custom accessory view --------------------- -AMBubbleTableViewController uses a second accessory view (it's separate from the standard accessory view) to display the avatar and the timestamp. You can customize this view by passing your accessory class in the options dictionary. Your class just needs to be a UIView's subclass and implement ```AMBubbleAccessory``` protocol: - -```objc -- (id)setOptions:(NSDictionary*)options; -- (void)setupView:(NSDictionary*)params; -``` - -Where params is a dictionary containing the UIImage ```@"avatar"``` and the NSString ```@"date"```. - -Options Dictionary --------------------- -The AMBubbleTableViewController configuration can be handled by passing an NSDictionary to it. The default values can be found in AMBubbleGlobals.m. Here's a brief description of the possible options: - -```objc -AMOptionsTableStyle // @(AMBubbleTableCellStyle), Sets the table style. Defaults to AMBubbleTableCellDefault. -AMOptionsTimestampEachMessage // @(BOOL), Enables the timestamp for each message. Defaults to @YES. -AMOptionsTimestampShortFont // UIFont, Sets the short timestamp font. -AMOptionsTimestampFont // UIFont, Sets the full timestamp font. -AMOptionsAvatarSize // @(float), The avatar size. Defaults to @50. -AMOptionsAccessoryClass // NSString, The accessory view for each cell. Defaults to @"AMBubbleAccessoryView". -AMOptionsAccessorySize // @(float), The accssory view size (used to compute the minimum cell height). Defaults to @50. -AMOptionsAccessoryMargin // @(float), The accessory view margin. Defaults to @5. -AMOptionsTimestampHeight // @(float), The height of the timestamp row. Defaults to @40. -``` - -Styling Options --------------------- -You can also specify other styling options. AMBubbleTableViewController includes three styles, the default values of the following options differs from style to style. Check AMBubbleGlobals.m for more info. - -```objc -AMOptionsImageIncoming // UIImage, the left bubble stretchable image -AMOptionsImageOutgoing // UIImage, the right bubble stretchable image -AMOptionsImageBar // UIImage, the text bar background, resizable with cap insets -AMOptionsImageInput // UIImage, the text view mask, resizable with cap insets -AMOptionsImageButton // UIImage, the button image, resizable with cap insets -AMOptionsImageButtonHighlight // UIImage, the highlighted button image, resizable with cap insets -AMOptionsTextFieldBackground // UIColor, the textView color -AMOptionsTextFieldFont // UIFont, the textView font -AMOptionsTextFieldFontColor // UIColor, the textView font color -AMOptionsBubbleTableBackground // UIColor, the tableView color -AMOptionsAccessoryPosition // @(AMBubbleAccessoryPosition), defines wether the accessory should stay up or down -AMOptionsButtonOffset // @(float), the vertical offset of the send button -AMOptionsBubbleTextColor // UIColor, the main bubble's text color -AMOptionsBubbleTextFont // UIFont, the main bubble's text font -AMOptionsUsernameFont // UIFont, the username's text font -AMOptionsButtonFont // UIFont, the button's text font -AMOptionsBubbleSwipeEnabled // @(BOOL), enables the swipe detection on a cell -AMOptionsBubblePressEnabled // @(BOOL), enables the long press detection on a cell -AMOptionsBubbleDetectionType // @(int), the text detection type, refer to UIDataDetectorTypes. Defaults to UIDataDetectorTypeNone -``` - -Changelog -================== - -0.5 --------------------- -- Added iOS7 compatibility. (Thanks to [Michael James](https://github.com/umjames)) - - -TODO --------------------- -* Add further customizations - -MIT License --------------------- - Copyright (c) 2013 Andrea Mazzini. All rights reserved. - - 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. diff --git a/sampleiOS/Pods/Crashlytics/Crashlytics.framework/README b/sampleiOS/Pods/Crashlytics/Crashlytics.framework/README deleted file mode 100644 index 3ebf767..0000000 --- a/sampleiOS/Pods/Crashlytics/Crashlytics.framework/README +++ /dev/null @@ -1 +0,0 @@ -We've now combined all our supported platforms into a single podspec. As a result, we moved our submit script to a new location for Cocoapods projects: ${PODS_ROOT}/Crashlytics/submit. To avoid breaking functionality that references the old location of the submit, we've placed this dummy script that calls to the correct location, while providing a helpful warning if it is invoked. This bridge for backwards compatibility will be removed in a future release, so please heed the warning! diff --git a/sampleiOS/Pods/Crashlytics/Crashlytics.framework/submit b/sampleiOS/Pods/Crashlytics/Crashlytics.framework/submit deleted file mode 100755 index b7de4e3..0000000 --- a/sampleiOS/Pods/Crashlytics/Crashlytics.framework/submit +++ /dev/null @@ -1,6 +0,0 @@ -if [[ -z $PODS_ROOT ]]; then -echo "error: The submit binary delivered by cocoapods is in a new location, under '$"{"PODS_ROOT"}"/Crashlytics/submit'. This script was put in place for backwards compatibility, but it relies on PODS_ROOT, which does not have a value in your current setup. Please update the path to the submit binary to fix this issue." -else -echo "warning: The submit script is now located at '$"{"PODS_ROOT"}"/Crashlytics/submit'. To remove this warning, update your path to point to this new location." -sh "${PODS_ROOT}/Crashlytics/submit" "$@" -fi diff --git a/sampleiOS/Pods/Crashlytics/README.md b/sampleiOS/Pods/Crashlytics/README.md deleted file mode 100644 index 996af50..0000000 --- a/sampleiOS/Pods/Crashlytics/README.md +++ /dev/null @@ -1,23 +0,0 @@ - -# Crashlytics - -## Overview - -[Crashlytics](https://firebase.google.com/docs/crashlytics/get-started?platform=ios) offers the most powerful, yet lightest weight crash reporting solution for iOS. - - -## Setup - -To start using Crashlytics, there are two options: - -1) The recommended way is to go to the [Firebase Crashlytics Docs](https://firebase.google.com/docs/crashlytics/get-started?platform=ios) and follow the directions there. - -2) If you aren't using Firebase yet, go to [Fabric Kits](https://fabric.io/kits), and follow the directions for Crashlytics. - - -## Resources - -* [API Reference](https://firebase.google.com/docs/reference/ios/crashlytics/api/reference/Classes) -* [Forums](https://stackoverflow.com/questions/tagged/google-fabric) -* [Website](https://firebase.google.com/docs/crashlytics) -* Follow us on Twitter: [@crashlytics](https://twitter.com/crashlytics) diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics deleted file mode 100755 index 214fb90..0000000 Binary files a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Crashlytics and /dev/null differ diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/ANSCompatibility.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/ANSCompatibility.h deleted file mode 100644 index 6ec011d..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/ANSCompatibility.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// ANSCompatibility.h -// AnswersKit -// -// Copyright (c) 2015 Crashlytics, Inc. All rights reserved. -// - -#pragma once - -#if !__has_feature(nullability) -#define nonnull -#define nullable -#define _Nullable -#define _Nonnull -#endif - -#ifndef NS_ASSUME_NONNULL_BEGIN -#define NS_ASSUME_NONNULL_BEGIN -#endif - -#ifndef NS_ASSUME_NONNULL_END -#define NS_ASSUME_NONNULL_END -#endif - -#if __has_feature(objc_generics) -#define ANS_GENERIC_NSARRAY(type) NSArray -#define ANS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary -#else -#define ANS_GENERIC_NSARRAY(type) NSArray -#define ANS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary -#endif diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/Answers.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/Answers.h deleted file mode 100644 index 8deacbe..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/Answers.h +++ /dev/null @@ -1,210 +0,0 @@ -// -// Answers.h -// Crashlytics -// -// Copyright (c) 2015 Crashlytics, Inc. All rights reserved. -// - -#import -#import "ANSCompatibility.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - * This class exposes the Answers Events API, allowing you to track key - * user user actions and metrics in your app. - */ -@interface Answers : NSObject - -/** - * Log a Sign Up event to see users signing up for your app in real-time, understand how - * many users are signing up with different methods and their success rate signing up. - * - * @param signUpMethodOrNil The method by which a user logged in, e.g. Twitter or Digits. - * @param signUpSucceededOrNil The ultimate success or failure of the login - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logSignUpWithMethod:(nullable NSString *)signUpMethodOrNil - success:(nullable NSNumber *)signUpSucceededOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log an Log In event to see users logging into your app in real-time, understand how many - * users are logging in with different methods and their success rate logging into your app. - * - * @param loginMethodOrNil The method by which a user logged in, e.g. email, Twitter or Digits. - * @param loginSucceededOrNil The ultimate success or failure of the login - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logLoginWithMethod:(nullable NSString *)loginMethodOrNil - success:(nullable NSNumber *)loginSucceededOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Share event to see users sharing from your app in real-time, letting you - * understand what content they're sharing from the type or genre down to the specific id. - * - * @param shareMethodOrNil The method by which a user shared, e.g. email, Twitter, SMS. - * @param contentNameOrNil The human readable name for this piece of content. - * @param contentTypeOrNil The type of content shared. - * @param contentIdOrNil The unique identifier for this piece of content. Useful for finding the top shared item. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logShareWithMethod:(nullable NSString *)shareMethodOrNil - contentName:(nullable NSString *)contentNameOrNil - contentType:(nullable NSString *)contentTypeOrNil - contentId:(nullable NSString *)contentIdOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log an Invite Event to track how users are inviting other users into - * your application. - * - * @param inviteMethodOrNil The method of invitation, e.g. GameCenter, Twitter, email. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logInviteWithMethod:(nullable NSString *)inviteMethodOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Purchase event to see your revenue in real-time, understand how many users are making purchases, see which - * items are most popular, and track plenty of other important purchase-related metrics. - * - * @param itemPriceOrNil The purchased item's price. - * @param currencyOrNil The ISO4217 currency code. Example: USD - * @param purchaseSucceededOrNil Was the purchase successful or unsuccessful - * @param itemNameOrNil The human-readable form of the item's name. Example: - * @param itemTypeOrNil The type, or genre of the item. Example: Song - * @param itemIdOrNil The machine-readable, unique item identifier Example: SKU - * @param customAttributesOrNil A dictionary of custom attributes to associate with this purchase. - */ -+ (void)logPurchaseWithPrice:(nullable NSDecimalNumber *)itemPriceOrNil - currency:(nullable NSString *)currencyOrNil - success:(nullable NSNumber *)purchaseSucceededOrNil - itemName:(nullable NSString *)itemNameOrNil - itemType:(nullable NSString *)itemTypeOrNil - itemId:(nullable NSString *)itemIdOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Level Start Event to track where users are in your game. - * - * @param levelNameOrNil The level name - * @param customAttributesOrNil A dictionary of custom attributes to associate with this level start event. - */ -+ (void)logLevelStart:(nullable NSString *)levelNameOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Level End event to track how users are completing levels in your game. - * - * @param levelNameOrNil The name of the level completed, E.G. "1" or "Training" - * @param scoreOrNil The score the user completed the level with. - * @param levelCompletedSuccesfullyOrNil A boolean representing whether or not the level was completed successfully. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logLevelEnd:(nullable NSString *)levelNameOrNil - score:(nullable NSNumber *)scoreOrNil - success:(nullable NSNumber *)levelCompletedSuccesfullyOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log an Add to Cart event to see users adding items to a shopping cart in real-time, understand how - * many users start the purchase flow, see which items are most popular, and track plenty of other important - * purchase-related metrics. - * - * @param itemPriceOrNil The purchased item's price. - * @param currencyOrNil The ISO4217 currency code. Example: USD - * @param itemNameOrNil The human-readable form of the item's name. Example: - * @param itemTypeOrNil The type, or genre of the item. Example: Song - * @param itemIdOrNil The machine-readable, unique item identifier Example: SKU - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logAddToCartWithPrice:(nullable NSDecimalNumber *)itemPriceOrNil - currency:(nullable NSString *)currencyOrNil - itemName:(nullable NSString *)itemNameOrNil - itemType:(nullable NSString *)itemTypeOrNil - itemId:(nullable NSString *)itemIdOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Start Checkout event to see users moving through the purchase funnel in real-time, understand how many - * users are doing this and how much they're spending per checkout, and see how it related to other important - * purchase-related metrics. - * - * @param totalPriceOrNil The total price of the cart. - * @param currencyOrNil The ISO4217 currency code. Example: USD - * @param itemCountOrNil The number of items in the cart. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logStartCheckoutWithPrice:(nullable NSDecimalNumber *)totalPriceOrNil - currency:(nullable NSString *)currencyOrNil - itemCount:(nullable NSNumber *)itemCountOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Rating event to see users rating content within your app in real-time and understand what - * content is most engaging, from the type or genre down to the specific id. - * - * @param ratingOrNil The integer rating given by the user. - * @param contentNameOrNil The human readable name for this piece of content. - * @param contentTypeOrNil The type of content shared. - * @param contentIdOrNil The unique identifier for this piece of content. Useful for finding the top shared item. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logRating:(nullable NSNumber *)ratingOrNil - contentName:(nullable NSString *)contentNameOrNil - contentType:(nullable NSString *)contentTypeOrNil - contentId:(nullable NSString *)contentIdOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Content View event to see users viewing content within your app in real-time and - * understand what content is most engaging, from the type or genre down to the specific id. - * - * @param contentNameOrNil The human readable name for this piece of content. - * @param contentTypeOrNil The type of content shared. - * @param contentIdOrNil The unique identifier for this piece of content. Useful for finding the top shared item. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logContentViewWithName:(nullable NSString *)contentNameOrNil - contentType:(nullable NSString *)contentTypeOrNil - contentId:(nullable NSString *)contentIdOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Search event allows you to see users searching within your app in real-time and understand - * exactly what they're searching for. - * - * @param queryOrNil The user's query. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. - */ -+ (void)logSearchWithQuery:(nullable NSString *)queryOrNil - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -/** - * Log a Custom Event to see user actions that are uniquely important for your app in real-time, to see how often - * they're performing these actions with breakdowns by different categories you add. Use a human-readable name for - * the name of the event, since this is how the event will appear in Answers. - * - * @param eventName The human-readable name for the event. - * @param customAttributesOrNil A dictionary of custom attributes to associate with this event. Attribute keys - * must be NSString and values must be NSNumber or NSString. - * @discussion How we treat NSNumbers: - * We will provide information about the distribution of values over time. - * - * How we treat NSStrings: - * NSStrings are used as categorical data, allowing comparison across different category values. - * Strings are limited to a maximum length of 100 characters, attributes over this length will be - * truncated. - * - * When tracking the Tweet views to better understand user engagement, sending the tweet's length - * and the type of media present in the tweet allows you to track how tweet length and the type of media influence - * engagement. - */ -+ (void)logCustomEventWithName:(NSString *)eventName - customAttributes:(nullable ANS_GENERIC_NSDICTIONARY(NSString *, id) *)customAttributesOrNil; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSAttributes.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSAttributes.h deleted file mode 100644 index 1526b0d..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSAttributes.h +++ /dev/null @@ -1,33 +0,0 @@ -// -// CLSAttributes.h -// Crashlytics -// -// Copyright (c) 2015 Crashlytics, Inc. All rights reserved. -// - -#pragma once - -#define CLS_DEPRECATED(x) __attribute__ ((deprecated(x))) - -#if !__has_feature(nullability) - #define nonnull - #define nullable - #define _Nullable - #define _Nonnull -#endif - -#ifndef NS_ASSUME_NONNULL_BEGIN - #define NS_ASSUME_NONNULL_BEGIN -#endif - -#ifndef NS_ASSUME_NONNULL_END - #define NS_ASSUME_NONNULL_END -#endif - -#if __has_feature(objc_generics) - #define CLS_GENERIC_NSARRAY(type) NSArray - #define CLS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary -#else - #define CLS_GENERIC_NSARRAY(type) NSArray - #define CLS_GENERIC_NSDICTIONARY(key_type,object_key) NSDictionary -#endif diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSLogging.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSLogging.h deleted file mode 100644 index 59590d5..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSLogging.h +++ /dev/null @@ -1,64 +0,0 @@ -// -// CLSLogging.h -// Crashlytics -// -// Copyright (c) 2015 Crashlytics, Inc. All rights reserved. -// -#ifdef __OBJC__ -#import "CLSAttributes.h" -#import - -NS_ASSUME_NONNULL_BEGIN -#endif - - - -/** - * - * The CLS_LOG macro provides as easy way to gather more information in your log messages that are - * sent with your crash data. CLS_LOG prepends your custom log message with the function name and - * line number where the macro was used. If your app was built with the DEBUG preprocessor macro - * defined CLS_LOG uses the CLSNSLog function which forwards your log message to NSLog and CLSLog. - * If the DEBUG preprocessor macro is not defined CLS_LOG uses CLSLog only. - * - * Example output: - * -[AppDelegate login:] line 134 $ login start - * - * If you would like to change this macro, create a new header file, unset our define and then define - * your own version. Make sure this new header file is imported after the Crashlytics header file. - * - * #undef CLS_LOG - * #define CLS_LOG(__FORMAT__, ...) CLSNSLog... - * - **/ -#ifdef __OBJC__ -#ifdef DEBUG -#define CLS_LOG(__FORMAT__, ...) CLSNSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) -#else -#define CLS_LOG(__FORMAT__, ...) CLSLog((@"%s line %d $ " __FORMAT__), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__) -#endif -#endif - -/** - * - * Add logging that will be sent with your crash data. This logging will not show up in the system.log - * and will only be visible in your Crashlytics dashboard. - * - **/ - -#ifdef __OBJC__ -OBJC_EXTERN void CLSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); -OBJC_EXTERN void CLSLogv(NSString *format, va_list ap) NS_FORMAT_FUNCTION(1,0); - -/** - * - * Add logging that will be sent with your crash data. This logging will show up in the system.log - * and your Crashlytics dashboard. It is not recommended for Release builds. - * - **/ -OBJC_EXTERN void CLSNSLog(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); -OBJC_EXTERN void CLSNSLogv(NSString *format, va_list ap) NS_FORMAT_FUNCTION(1,0); - - -NS_ASSUME_NONNULL_END -#endif diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSReport.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSReport.h deleted file mode 100644 index a8ff3b0..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSReport.h +++ /dev/null @@ -1,103 +0,0 @@ -// -// CLSReport.h -// Crashlytics -// -// Copyright (c) 2015 Crashlytics, Inc. All rights reserved. -// - -#import -#import "CLSAttributes.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - * The CLSCrashReport protocol is deprecated. See the CLSReport class and the CrashyticsDelegate changes for details. - **/ -@protocol CLSCrashReport - -@property (nonatomic, copy, readonly) NSString *identifier; -@property (nonatomic, copy, readonly) NSDictionary *customKeys; -@property (nonatomic, copy, readonly) NSString *bundleVersion; -@property (nonatomic, copy, readonly) NSString *bundleShortVersionString; -@property (nonatomic, readonly, nullable) NSDate *crashedOnDate; -@property (nonatomic, copy, readonly) NSString *OSVersion; -@property (nonatomic, copy, readonly) NSString *OSBuildVersion; - -@end - -/** - * The CLSReport exposes an interface to the phsyical report that Crashlytics has created. You can - * use this class to get information about the event, and can also set some values after the - * event has occurred. - **/ -@interface CLSReport : NSObject - -- (instancetype)init NS_UNAVAILABLE; -+ (instancetype)new NS_UNAVAILABLE; - -/** - * Returns the session identifier for the report. - **/ -@property (nonatomic, copy, readonly) NSString *identifier; - -/** - * Returns the custom key value data for the report. - **/ -@property (nonatomic, copy, readonly) NSDictionary *customKeys; - -/** - * Returns the CFBundleVersion of the application that generated the report. - **/ -@property (nonatomic, copy, readonly) NSString *bundleVersion; - -/** - * Returns the CFBundleShortVersionString of the application that generated the report. - **/ -@property (nonatomic, copy, readonly) NSString *bundleShortVersionString; - -/** - * Returns the date that the report was created. - **/ -@property (nonatomic, copy, readonly) NSDate *dateCreated; - -/** - * Returns the os version that the application crashed on. - **/ -@property (nonatomic, copy, readonly) NSString *OSVersion; - -/** - * Returns the os build version that the application crashed on. - **/ -@property (nonatomic, copy, readonly) NSString *OSBuildVersion; - -/** - * Returns YES if the report contains any crash information, otherwise returns NO. - **/ -@property (nonatomic, assign, readonly) BOOL isCrash; - -/** - * You can use this method to set, after the event, additional custom keys. The rules - * and semantics for this method are the same as those documented in Crashlytics.h. Be aware - * that the maximum size and count of custom keys is still enforced, and you can overwrite keys - * and/or cause excess keys to be deleted by using this method. - **/ -- (void)setObjectValue:(nullable id)value forKey:(NSString *)key; - -/** - * Record an application-specific user identifier. See Crashlytics.h for details. - **/ -@property (nonatomic, copy, nullable) NSString * userIdentifier; - -/** - * Record a user name. See Crashlytics.h for details. - **/ -@property (nonatomic, copy, nullable) NSString * userName; - -/** - * Record a user email. See Crashlytics.h for details. - **/ -@property (nonatomic, copy, nullable) NSString * userEmail; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSStackFrame.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSStackFrame.h deleted file mode 100644 index cdb5596..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/CLSStackFrame.h +++ /dev/null @@ -1,38 +0,0 @@ -// -// CLSStackFrame.h -// Crashlytics -// -// Copyright 2015 Crashlytics, Inc. All rights reserved. -// - -#import -#import "CLSAttributes.h" - -NS_ASSUME_NONNULL_BEGIN - -/** - * - * This class is used in conjunction with -[Crashlytics recordCustomExceptionName:reason:frameArray:] to - * record information about non-ObjC/C++ exceptions. All information included here will be displayed - * in the Crashlytics UI, and can influence crash grouping. Be particularly careful with the use of the - * address property. If set, Crashlytics will attempt symbolication and could overwrite other properities - * in the process. - * - **/ -@interface CLSStackFrame : NSObject - -+ (instancetype)stackFrame; -+ (instancetype)stackFrameWithAddress:(NSUInteger)address; -+ (instancetype)stackFrameWithSymbol:(NSString *)symbol; - -@property (nonatomic, copy, nullable) NSString *symbol; -@property (nonatomic, copy, nullable) NSString *rawSymbol; -@property (nonatomic, copy, nullable) NSString *library; -@property (nonatomic, copy, nullable) NSString *fileName; -@property (nonatomic, assign) uint32_t lineNumber; -@property (nonatomic, assign) uint64_t offset; -@property (nonatomic, assign) uint64_t address; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/Crashlytics.h b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/Crashlytics.h deleted file mode 100644 index 7104ca8..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Headers/Crashlytics.h +++ /dev/null @@ -1,288 +0,0 @@ -// -// Crashlytics.h -// Crashlytics -// -// Copyright (c) 2015 Crashlytics, Inc. All rights reserved. -// - -#import - -#import "CLSAttributes.h" -#import "CLSLogging.h" -#import "CLSReport.h" -#import "CLSStackFrame.h" -#import "Answers.h" - -NS_ASSUME_NONNULL_BEGIN - -@protocol CrashlyticsDelegate; - -/** - * Crashlytics. Handles configuration and initialization of Crashlytics. - * - * Note: The Crashlytics class cannot be subclassed. If this is causing you pain for - * testing, we suggest using either a wrapper class or a protocol extension. - */ -@interface Crashlytics : NSObject - -@property (nonatomic, readonly, copy) NSString *APIKey; -@property (nonatomic, readonly, copy) NSString *version; -@property (nonatomic, assign) BOOL debugMode; - -/** - * - * The delegate can be used to influence decisions on reporting and behavior, as well as reacting - * to previous crashes. - * - * Make certain that the delegate is setup before starting Crashlytics with startWithAPIKey:... or - * via +[Fabric with:...]. Failure to do will result in missing any delegate callbacks that occur - * synchronously during start. - * - **/ -@property (nonatomic, assign, nullable) id delegate; - -/** - * The recommended way to install Crashlytics into your application is to place a call to +startWithAPIKey: - * in your -application:didFinishLaunchingWithOptions: or -applicationDidFinishLaunching: - * method. - * - * Note: Starting with 3.0, the submission process has been significantly improved. The delay parameter - * is no longer required to throttle submissions on launch, performance will be great without it. - * - * @param apiKey The Crashlytics API Key for this app - * - * @return The singleton Crashlytics instance - */ -+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey; -+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey afterDelay:(NSTimeInterval)delay CLS_DEPRECATED("Crashlytics no longer needs or uses the delay parameter. Please use +startWithAPIKey: instead."); - -/** - * If you need the functionality provided by the CrashlyticsDelegate protocol, you can use - * these convenience methods to activate the framework and set the delegate in one call. - * - * @param apiKey The Crashlytics API Key for this app - * @param delegate A delegate object which conforms to CrashlyticsDelegate. - * - * @return The singleton Crashlytics instance - */ -+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(nullable id)delegate; -+ (Crashlytics *)startWithAPIKey:(NSString *)apiKey delegate:(nullable id)delegate afterDelay:(NSTimeInterval)delay CLS_DEPRECATED("Crashlytics no longer needs or uses the delay parameter. Please use +startWithAPIKey:delegate: instead."); - -/** - * Access the singleton Crashlytics instance. - * - * @return The singleton Crashlytics instance - */ -+ (Crashlytics *)sharedInstance; - -/** - * The easiest way to cause a crash - great for testing! - */ -- (void)crash; - -/** - * The easiest way to cause a crash with an exception - great for testing. - */ -- (void)throwException; - -/** - * Specify a user identifier which will be visible in the Crashlytics UI. - * - * Many of our customers have requested the ability to tie crashes to specific end-users of their - * application in order to facilitate responses to support requests or permit the ability to reach - * out for more information. We allow you to specify up to three separate values for display within - * the Crashlytics UI - but please be mindful of your end-user's privacy. - * - * We recommend specifying a user identifier - an arbitrary string that ties an end-user to a record - * in your system. This could be a database id, hash, or other value that is meaningless to a - * third-party observer but can be indexed and queried by you. - * - * Optionally, you may also specify the end-user's name or username, as well as email address if you - * do not have a system that works well with obscured identifiers. - * - * Pursuant to our EULA, this data is transferred securely throughout our system and we will not - * disseminate end-user data unless required to by law. That said, if you choose to provide end-user - * contact information, we strongly recommend that you disclose this in your application's privacy - * policy. Data privacy is of our utmost concern. - * - * @param identifier An arbitrary user identifier string which ties an end-user to a record in your system. - */ -- (void)setUserIdentifier:(nullable NSString *)identifier; - -/** - * Specify a user name which will be visible in the Crashlytics UI. - * Please be mindful of your end-user's privacy and see if setUserIdentifier: can fulfil your needs. - * @see setUserIdentifier: - * - * @param name An end user's name. - */ -- (void)setUserName:(nullable NSString *)name; - -/** - * Specify a user email which will be visible in the Crashlytics UI. - * Please be mindful of your end-user's privacy and see if setUserIdentifier: can fulfil your needs. - * - * @see setUserIdentifier: - * - * @param email An end user's email address. - */ -- (void)setUserEmail:(nullable NSString *)email; - -+ (void)setUserIdentifier:(nullable NSString *)identifier CLS_DEPRECATED("Please access this method via +sharedInstance"); -+ (void)setUserName:(nullable NSString *)name CLS_DEPRECATED("Please access this method via +sharedInstance"); -+ (void)setUserEmail:(nullable NSString *)email CLS_DEPRECATED("Please access this method via +sharedInstance"); - -/** - * Set a value for a for a key to be associated with your crash data which will be visible in the Crashlytics UI. - * When setting an object value, the object is converted to a string. This is typically done by calling - * -[NSObject description]. - * - * @param value The object to be associated with the key - * @param key The key with which to associate the value - */ -- (void)setObjectValue:(nullable id)value forKey:(NSString *)key; - -/** - * Set an int value for a key to be associated with your crash data which will be visible in the Crashlytics UI. - * - * @param value The integer value to be set - * @param key The key with which to associate the value - */ -- (void)setIntValue:(int)value forKey:(NSString *)key; - -/** - * Set an BOOL value for a key to be associated with your crash data which will be visible in the Crashlytics UI. - * - * @param value The BOOL value to be set - * @param key The key with which to associate the value - */ -- (void)setBoolValue:(BOOL)value forKey:(NSString *)key; - -/** - * Set an float value for a key to be associated with your crash data which will be visible in the Crashlytics UI. - * - * @param value The float value to be set - * @param key The key with which to associate the value - */ -- (void)setFloatValue:(float)value forKey:(NSString *)key; - -+ (void)setObjectValue:(nullable id)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance"); -+ (void)setIntValue:(int)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance"); -+ (void)setBoolValue:(BOOL)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance"); -+ (void)setFloatValue:(float)value forKey:(NSString *)key CLS_DEPRECATED("Please access this method via +sharedInstance"); - -/** - * This method can be used to record a single exception structure in a report. This is particularly useful - * when your code interacts with non-native languages like Lua, C#, or Javascript. This call can be - * expensive and should only be used shortly before process termination. This API is not intended be to used - * to log NSException objects. All safely-reportable NSExceptions are automatically captured by - * Crashlytics. - * - * @param name The name of the custom exception - * @param reason The reason this exception occurred - * @param frameArray An array of CLSStackFrame objects - */ -- (void)recordCustomExceptionName:(NSString *)name reason:(nullable NSString *)reason frameArray:(CLS_GENERIC_NSARRAY(CLSStackFrame *) *)frameArray; - -/** - * - * This allows you to record a non-fatal event, described by an NSError object. These events will be grouped and - * displayed similarly to crashes. Keep in mind that this method can be expensive. Also, the total number of - * NSErrors that can be recorded during your app's life-cycle is limited by a fixed-size circular buffer. If the - * buffer is overrun, the oldest data is dropped. Errors are relayed to Crashlytics on a subsequent launch - * of your application. - * - * You can also use the -recordError:withAdditionalUserInfo: to include additional context not represented - * by the NSError instance itself. - * - **/ -- (void)recordError:(NSError *)error; -- (void)recordError:(NSError *)error withAdditionalUserInfo:(nullable CLS_GENERIC_NSDICTIONARY(NSString *, id) *)userInfo; - -- (void)logEvent:(NSString *)eventName CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:"); -- (void)logEvent:(NSString *)eventName attributes:(nullable NSDictionary *) attributes CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:"); -+ (void)logEvent:(NSString *)eventName CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:"); -+ (void)logEvent:(NSString *)eventName attributes:(nullable NSDictionary *) attributes CLS_DEPRECATED("Please refer to Answers +logCustomEventWithName:"); - -@end - -/** - * - * The CrashlyticsDelegate protocol provides a mechanism for your application to take - * action on events that occur in the Crashlytics crash reporting system. You can make - * use of these calls by assigning an object to the Crashlytics' delegate property directly, - * or through the convenience +startWithAPIKey:delegate: method. - * - */ -@protocol CrashlyticsDelegate -@optional - - -- (void)crashlyticsDidDetectCrashDuringPreviousExecution:(Crashlytics *)crashlytics CLS_DEPRECATED("Please refer to -crashlyticsDidDetectReportForLastExecution:"); -- (void)crashlytics:(Crashlytics *)crashlytics didDetectCrashDuringPreviousExecution:(id )crash CLS_DEPRECATED("Please refer to -crashlyticsDidDetectReportForLastExecution:"); - -/** - * - * Called when a Crashlytics instance has determined that the last execution of the - * application resulted in a saved report. This is called synchronously on Crashlytics - * initialization. Your delegate must invoke the completionHandler, but does not need to do so - * synchronously, or even on the main thread. Invoking completionHandler with NO will cause the - * detected report to be deleted and not submitted to Crashlytics. This is useful for - * implementing permission prompts, or other more-complex forms of logic around submitting crashes. - * - * Instead of using this method, you should try to make use of -crashlyticsDidDetectReportForLastExecution: - * if you can. - * - * @warning Failure to invoke the completionHandler will prevent submissions from being reported. Watch out. - * - * @warning Just implementing this delegate method will disable all forms of synchronous report submission. This can - * impact the reliability of reporting crashes very early in application launch. - * - * @param report The CLSReport object representing the last detected report - * @param completionHandler The completion handler to call when your logic has completed. - * - */ -- (void)crashlyticsDidDetectReportForLastExecution:(CLSReport *)report completionHandler:(void (^)(BOOL submit))completionHandler; - -/** - * - * Called when a Crashlytics instance has determined that the last execution of the - * application resulted in a saved report. This method differs from - * -crashlyticsDidDetectReportForLastExecution:completionHandler: in three important ways: - * - * - it is not called synchronously during initialization - * - it does not give you the ability to prevent the report from being submitted - * - the report object itself is immutable - * - * Thanks to these limitations, making use of this method does not impact reporting - * reliabilty in any way. - * - * @param report The read-only CLSReport object representing the last detected report - * - */ - -- (void)crashlyticsDidDetectReportForLastExecution:(CLSReport *)report; - -/** - * If your app is running on an OS that supports it (OS X 10.9+, iOS 7.0+), Crashlytics will submit - * most reports using out-of-process background networking operations. This results in a significant - * improvement in reliability of reporting, as well as power and performance wins for your users. - * If you don't want this functionality, you can disable by returning NO from this method. - * - * @warning Background submission is not supported for extensions on iOS or OS X. - * - * @param crashlytics The Crashlytics singleton instance - * - * @return Return NO if you don't want out-of-process background network operations. - * - */ -- (BOOL)crashlyticsCanUseBackgroundSessions:(Crashlytics *)crashlytics; - -@end - -/** - * `CrashlyticsKit` can be used as a parameter to `[Fabric with:@[CrashlyticsKit]];` in Objective-C. In Swift, use Crashlytics.sharedInstance() - */ -#define CrashlyticsKit [Crashlytics sharedInstance] - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Info.plist b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Info.plist deleted file mode 100644 index d86059b..0000000 Binary files a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Info.plist and /dev/null differ diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Modules/module.modulemap b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Modules/module.modulemap deleted file mode 100644 index da0845e..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/Modules/module.modulemap +++ /dev/null @@ -1,14 +0,0 @@ -framework module Crashlytics { - header "Crashlytics.h" - header "Answers.h" - header "ANSCompatibility.h" - header "CLSLogging.h" - header "CLSReport.h" - header "CLSStackFrame.h" - header "CLSAttributes.h" - - export * - - link "z" - link "c++" -} diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/run b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/run deleted file mode 100755 index 736cd2f..0000000 --- a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/run +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -# run -# -# Copyright (c) 2015 Crashlytics. All rights reserved. -# -# -# This script is meant to be run as a Run Script in the "Build Phases" section -# of your Xcode project. It sends debug symbols to symbolicate stacktraces, -# sends build events to track versions, and onboard apps for Crashlytics. -# -# This script calls upload-symbols twice: -# -# 1) First it calls upload-symbols synchronously in "validation" mode. If the -# script finds issues with the build environment, it will report errors to Xcode. -# In validation mode it exits before doing any time consuming work. -# -# 2) Then it calls upload-symbols in the background to actually send the build -# event and upload symbols. It does this in the background so that it doesn't -# slow down your builds. If an error happens here, you won't see it in Xcode. -# -# You can find the output for the background execution in Console.app, by -# searching for "upload-symbols". -# -# If you want verbose output, you can pass the --debug flag to this script -# - -# Figure out where we're being called from -DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) - -# If the first argument is specified without a dash, treat it as the Fabric API -# Key and add it as an argument -if [ -z "$1" ] || [[ $1 == -* ]]; then - API_KEY_ARG="" -else - API_KEY_ARG="-a $1"; shift -fi - -# If a second argument is specified without a dash, treat it as the Build Secret -# and add it as an argument -if [ -z "$1" ] || [[ $1 == -* ]]; then - BUILD_SECRET_ARG="" -else - BUILD_SECRET_ARG="-bs $1"; shift -fi - -# Build up the arguments list, passing through any flags added after the -# API Key and Build Secret -ARGUMENTS="$API_KEY_ARG $BUILD_SECRET_ARG $@" -VALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate" -UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase" - -# Quote the path to handle folders with special characters -COMMAND_PATH="\"$DIR/upload-symbols\" " - -# Ensure params are as expected, run in sync mode to validate, -# and cause a build error if validation fails -eval $COMMAND_PATH$VALIDATE_ARGUMENTS -return_code=$? - -if [[ $return_code != 0 ]]; then - exit $return_code -fi - -# Verification passed, convert and upload cSYMs in the background to prevent -# build delays -# -# Note: Validation is performed again at this step before upload -# -# Note: Output can still be found in Console.app, by searching for -# "upload-symbols" -# -eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 & diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/submit b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/submit deleted file mode 100755 index 3fda5cf..0000000 Binary files a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/submit and /dev/null differ diff --git a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/upload-symbols b/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/upload-symbols deleted file mode 100755 index 5af65de..0000000 Binary files a/sampleiOS/Pods/Crashlytics/iOS/Crashlytics.framework/upload-symbols and /dev/null differ diff --git a/sampleiOS/Pods/Crashlytics/submit b/sampleiOS/Pods/Crashlytics/submit deleted file mode 100755 index 3fda5cf..0000000 Binary files a/sampleiOS/Pods/Crashlytics/submit and /dev/null differ diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioDevice.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioDevice.h deleted file mode 100644 index 09d79c8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioDevice.h +++ /dev/null @@ -1,308 +0,0 @@ -/* - * Copyright 2022 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceGetPlayoutDataBlock))( - AudioUnitRenderActionFlags *_Nonnull actionFlags, - const AudioTimeStamp *_Nonnull timestamp, - NSInteger inputBusNumber, - UInt32 frameCount, - AudioBufferList *_Nonnull outputData); - -typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceRenderRecordedDataBlock))( - AudioUnitRenderActionFlags *_Nonnull actionFlags, - const AudioTimeStamp *_Nonnull timestamp, - NSInteger inputBusNumber, - UInt32 frameCount, - AudioBufferList *_Nonnull inputData, - void *_Nullable renderContext); - -typedef OSStatus (^RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock))( - AudioUnitRenderActionFlags *_Nonnull actionFlags, - const AudioTimeStamp *_Nonnull timestamp, - NSInteger inputBusNumber, - UInt32 frameCount, - const AudioBufferList *_Nullable inputData, - void *_Nullable renderContext, - NS_NOESCAPE RTC_OBJC_TYPE(RTCAudioDeviceRenderRecordedDataBlock) _Nullable renderBlock); - -/** - * Delegate object provided by native ADM during RTCAudioDevice initialization. - * Provides blocks to poll playback audio samples from native ADM and to feed - * recorded audio samples into native ADM. - */ -RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE -(RTCAudioDeviceDelegate) - /** - * Implementation of RTCAudioSource should call this block to feed recorded PCM (16-bit integer) - * into native ADM. Stereo data is expected to be interleaved starting with the left channel. - * Either `inputData` with pre-filled audio data must be provided during block - * call or `renderBlock` must be provided which must fill provided audio buffer with recorded - * samples. - * - * NOTE: Implementation of RTCAudioDevice is expected to call the block on the same thread until - * `notifyAudioInterrupted` is called. When `notifyAudioInterrupted` is called implementation - * can call the block on a different thread. - */ - @property(readonly, nonnull) - RTC_OBJC_TYPE(RTCAudioDeviceDeliverRecordedDataBlock) deliverRecordedData; - -/** - * Provides input sample rate preference as it preferred by native ADM. - */ -@property(readonly) double preferredInputSampleRate; - -/** - * Provides input IO buffer duration preference as it preferred by native ADM. - */ -@property(readonly) NSTimeInterval preferredInputIOBufferDuration; - -/** - * Provides output sample rate preference as it preferred by native ADM. - */ -@property(readonly) double preferredOutputSampleRate; - -/** - * Provides output IO buffer duration preference as it preferred by native ADM. - */ -@property(readonly) NSTimeInterval preferredOutputIOBufferDuration; - -/** - * Implementation of RTCAudioDevice should call this block to request PCM (16-bit integer) - * from native ADM to play. Stereo data is interleaved starting with the left channel. - * - * NOTE: Implementation of RTCAudioDevice is expected to invoke of this block on the - * same thread until `notifyAudioInterrupted` is called. When `notifyAudioInterrupted` is called - * implementation can call the block from a different thread. - */ -@property(readonly, nonnull) RTC_OBJC_TYPE(RTCAudioDeviceGetPlayoutDataBlock) getPlayoutData; - -/** - * Notifies native ADM that some of the audio input parameters of RTCAudioDevice like - * samle rate and/or IO buffer duration and/or IO latency had possibly changed. - * Native ADM will adjust its audio input buffer to match current parameters of audio device. - * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. - */ -- (void)notifyAudioInputParametersChange; - -/** - * Notifies native ADM that some of the audio output parameters of RTCAudioDevice like - * samle rate and/or IO buffer duration and/or IO latency had possibly changed. - * Native ADM will adjust its audio output buffer to match current parameters of audio device. - * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. - */ -- (void)notifyAudioOutputParametersChange; - -/** - * Notifies native ADM that audio input is interrupted and further audio playout - * and recording might happen on a different thread. - * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. - */ -- (void)notifyAudioInputInterrupted; - -/** - * Notifies native ADM that audio output is interrupted and further audio playout - * and recording might happen on a different thread. - * - * NOTE: Must be called within block executed via `dispatchAsync` or `dispatchSync`. - */ -- (void)notifyAudioOutputInterrupted; - -/** - * Asynchronously execute block of code within the context of - * thread which owns native ADM. - * - * NOTE: Intended to be used to invoke `notifyAudioInputParametersChange`, - * `notifyAudioOutputParametersChange`, `notifyAudioInputInterrupted`, - * `notifyAudioOutputInterrupted` on native ADM thread. - * Also could be used by `RTCAudioDevice` implementation to tie - * mutations of underlying audio objects (AVAudioEngine, AudioUnit, etc) - * to the native ADM thread. Could be useful to handle events like audio route change, which - * could lead to audio parameters change. - */ -- (void)dispatchAsync:(dispatch_block_t)block; - -/** - * Synchronously execute block of code within the context of - * thread which owns native ADM. Allows reentrancy. - * - * NOTE: Intended to be used to invoke `notifyAudioInputParametersChange`, - * `notifyAudioOutputParametersChange`, `notifyAudioInputInterrupted`, - * `notifyAudioOutputInterrupted` on native ADM thread and make sure - * aforementioned is completed before `dispatchSync` returns. Could be useful - * when implementation of `RTCAudioDevice` tie mutation to underlying audio objects (AVAudioEngine, - * AudioUnit, etc) to own thread to satisfy requirement that native ADM audio parameters - * must be kept in sync with current audio parameters before audio is actually played or recorded. - */ -- (void)dispatchSync:(dispatch_block_t)block; - -@end - -/** - * Protocol to abstract platform specific ways to implement playback and recording. - * - * NOTE: All the members of protocol are called by native ADM from the same thread - * between calls to `initializeWithDelegate` and `terminate`. - * NOTE: Implementation is fully responsible for configuring application's AVAudioSession. - * An example implementation of RTCAudioDevice: https://github.com/mstyura/RTCAudioDevice - * TODO(yura.yaroshevich): Implement custom RTCAudioDevice for AppRTCMobile demo app. - */ -RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE -(RTCAudioDevice) - - /** - * Indicates current sample rate of audio recording. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate - * notifyAudioParametersChange]`. - */ - @property(readonly) double deviceInputSampleRate; - -/** - * Indicates current size of record buffer. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. - */ -@property(readonly) NSTimeInterval inputIOBufferDuration; - -/** - * Indicates current number of recorded audio channels. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. - */ -@property(readonly) NSInteger inputNumberOfChannels; - -/** - * Indicates current input latency - */ -@property(readonly) NSTimeInterval inputLatency; - -/** - * Indicates current sample rate of audio playback. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. - */ -@property(readonly) double deviceOutputSampleRate; - -/** - * Indicates current size of playback buffer. Changes to this property - * must be notified back to native ADM via `-[RTCAudioDeviceDelegate notifyAudioParametersChange]`. - */ -@property(readonly) NSTimeInterval outputIOBufferDuration; - -/** - * Indicates current number of playback audio channels. Changes to this property - * must be notified back to WebRTC via `[RTCAudioDeviceDelegate notifyAudioParametersChange]`. - */ -@property(readonly) NSInteger outputNumberOfChannels; - -/** - * Indicates current output latency - */ -@property(readonly) NSTimeInterval outputLatency; - -/** - * Indicates if invocation of `initializeWithDelegate` required before usage of RTCAudioDevice. - * YES indicates that `initializeWithDelegate` was called earlier without subsequent call to - * `terminate`. NO indicates that either `initializeWithDelegate` not called or `terminate` called. - */ -@property(readonly) BOOL isInitialized; - -/** - * Initializes RTCAudioDevice with RTCAudioDeviceDelegate. - * Implementation must return YES if RTCAudioDevice initialized successfully and NO otherwise. - */ -- (BOOL)initializeWithDelegate:(id)delegate; - -/** - * De-initializes RTCAudioDevice. Implementation should forget about `delegate` provided in - * `initializeWithDelegate`. - */ -- (BOOL)terminateDevice; - -/** - * Property to indicate if `initializePlayout` call required before invocation of `startPlayout`. - * YES indicates that `initializePlayout` was successfully invoked earlier or not necessary, - * NO indicates that `initializePlayout` invocation required. - */ -@property(readonly) BOOL isPlayoutInitialized; - -/** - * Prepares RTCAudioDevice to play audio. - * Called by native ADM before invocation of `startPlayout`. - * Implementation is expected to return YES in case of successful playout initialization and NO - * otherwise. - */ -- (BOOL)initializePlayout; - -/** - * Property to indicate if RTCAudioDevice should be playing according to - * earlier calls of `startPlayout` and `stopPlayout`. - */ -@property(readonly) BOOL isPlaying; - -/** - * Method is called when native ADM wants to play audio. - * Implementation is expected to return YES if playback start request - * successfully handled and NO otherwise. - */ -- (BOOL)startPlayout; - -/** - * Method is called when native ADM no longer needs to play audio. - * Implementation is expected to return YES if playback stop request - * successfully handled and NO otherwise. - */ -- (BOOL)stopPlayout; - -/** - * Property to indicate if `initializeRecording` call required before usage of `startRecording`. - * YES indicates that `initializeRecording` was successfully invoked earlier or not necessary, - * NO indicates that `initializeRecording` invocation required. - */ -@property(readonly) BOOL isRecordingInitialized; - -/** - * Prepares RTCAudioDevice to record audio. - * Called by native ADM before invocation of `startRecording`. - * Implementation may use this method to prepare resources required to record audio. - * Implementation is expected to return YES in case of successful record initialization and NO - * otherwise. - */ -- (BOOL)initializeRecording; - -/** - * Property to indicate if RTCAudioDevice should record audio according to - * earlier calls to `startRecording` and `stopRecording`. - */ -@property(readonly) BOOL isRecording; - -/** - * Method is called when native ADM wants to record audio. - * Implementation is expected to return YES if recording start request - * successfully handled and NO otherwise. - */ -- (BOOL)startRecording; - -/** - * Method is called when native ADM no longer needs to record audio. - * Implementation is expected to return YES if recording stop request - * successfully handled and NO otherwise. - */ -- (BOOL)stopRecording; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSession.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSession.h deleted file mode 100644 index 0ca137d..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSession.h +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright 2016 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -extern NSString *const kRTCAudioSessionErrorDomain; -/** Method that requires lock was called without lock. */ -extern NSInteger const kRTCAudioSessionErrorLockRequired; -/** Unknown configuration error occurred. */ -extern NSInteger const kRTCAudioSessionErrorConfiguration; - -@class RTC_OBJC_TYPE(RTCAudioSession); -@class RTC_OBJC_TYPE(RTCAudioSessionConfiguration); - -// Surfaces AVAudioSession events. WebRTC will listen directly for notifications -// from AVAudioSession and handle them before calling these delegate methods, -// at which point applications can perform additional processing if required. -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCAudioSessionDelegate) - - @optional -/** Called on a system notification thread when AVAudioSession starts an - * interruption event. - */ -- (void)audioSessionDidBeginInterruption:(RTC_OBJC_TYPE(RTCAudioSession) *)session; - -/** Called on a system notification thread when AVAudioSession ends an - * interruption event. - */ -- (void)audioSessionDidEndInterruption:(RTC_OBJC_TYPE(RTCAudioSession) *)session - shouldResumeSession:(BOOL)shouldResumeSession; - -/** Called on a system notification thread when AVAudioSession changes the - * route. - */ -- (void)audioSessionDidChangeRoute:(RTC_OBJC_TYPE(RTCAudioSession) *)session - reason:(AVAudioSessionRouteChangeReason)reason - previousRoute:(AVAudioSessionRouteDescription *)previousRoute; - -/** Called on a system notification thread when AVAudioSession media server - * terminates. - */ -- (void)audioSessionMediaServerTerminated:(RTC_OBJC_TYPE(RTCAudioSession) *)session; - -/** Called on a system notification thread when AVAudioSession media server - * restarts. - */ -- (void)audioSessionMediaServerReset:(RTC_OBJC_TYPE(RTCAudioSession) *)session; - -// TODO(tkchin): Maybe handle SilenceSecondaryAudioHintNotification. - -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)session - didChangeCanPlayOrRecord:(BOOL)canPlayOrRecord; - -/** Called on a WebRTC thread when the audio device is notified to begin - * playback or recording. - */ -- (void)audioSessionDidStartPlayOrRecord:(RTC_OBJC_TYPE(RTCAudioSession) *)session; - -/** Called on a WebRTC thread when the audio device is notified to stop - * playback or recording. - */ -- (void)audioSessionDidStopPlayOrRecord:(RTC_OBJC_TYPE(RTCAudioSession) *)session; - -/** Called when the AVAudioSession output volume value changes. */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession - didChangeOutputVolume:(float)outputVolume; - -/** Called when the audio device detects a playout glitch. The argument is the - * number of glitches detected so far in the current audio playout session. - */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession - didDetectPlayoutGlitch:(int64_t)totalNumberOfGlitches; - -/** Called when the audio session is about to change the active state. - */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession willSetActive:(BOOL)active; - -/** Called after the audio session sucessfully changed the active state. - */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession didSetActive:(BOOL)active; - -/** Called after the audio session failed to change the active state. - */ -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession - failedToSetActive:(BOOL)active - error:(NSError *)error; - -- (void)audioSession:(RTC_OBJC_TYPE(RTCAudioSession) *)audioSession - audioUnitStartFailedWithError:(NSError *)error; - -@end - -/** This is a protocol used to inform RTCAudioSession when the audio session - * activation state has changed outside of RTCAudioSession. The current known use - * case of this is when CallKit activates the audio session for the application - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCAudioSessionActivationDelegate) - - /** Called when the audio session is activated outside of the app by iOS. */ - - (void)audioSessionDidActivate : (AVAudioSession *)session; - -/** Called when the audio session is deactivated outside of the app by iOS. */ -- (void)audioSessionDidDeactivate:(AVAudioSession *)session; - -@end - -/** Proxy class for AVAudioSession that adds a locking mechanism similar to - * AVCaptureDevice. This is used to that interleaving configurations between - * WebRTC and the application layer are avoided. - * - * RTCAudioSession also coordinates activation so that the audio session is - * activated only once. See `setActive:error:`. - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCAudioSession) : NSObject - -/** Convenience property to access the AVAudioSession singleton. Callers should - * not call setters on AVAudioSession directly, but other method invocations - * are fine. - */ -@property(nonatomic, readonly) AVAudioSession *session; - -/** Our best guess at whether the session is active based on results of calls to - * AVAudioSession. - */ -@property(nonatomic, readonly) BOOL isActive; - -/** If YES, WebRTC will not initialize the audio unit automatically when an - * audio track is ready for playout or recording. Instead, applications should - * call setIsAudioEnabled. If NO, WebRTC will initialize the audio unit - * as soon as an audio track is ready for playout or recording. - */ -@property(nonatomic, assign) BOOL useManualAudio; - -/** This property is only effective if useManualAudio is YES. - * Represents permission for WebRTC to initialize the VoIP audio unit. - * When set to NO, if the VoIP audio unit used by WebRTC is active, it will be - * stopped and uninitialized. This will stop incoming and outgoing audio. - * When set to YES, WebRTC will initialize and start the audio unit when it is - * needed (e.g. due to establishing an audio connection). - * This property was introduced to work around an issue where if an AVPlayer is - * playing audio while the VoIP audio unit is initialized, its audio would be - * either cut off completely or played at a reduced volume. By preventing - * the audio unit from being initialized until after the audio has completed, - * we are able to prevent the abrupt cutoff. - */ -@property(nonatomic, assign) BOOL isAudioEnabled; - -// Proxy properties. -@property(readonly) NSString *category; -@property(readonly) AVAudioSessionCategoryOptions categoryOptions; -@property(readonly) NSString *mode; -@property(readonly) BOOL secondaryAudioShouldBeSilencedHint; -@property(readonly) AVAudioSessionRouteDescription *currentRoute; -@property(readonly) NSInteger maximumInputNumberOfChannels; -@property(readonly) NSInteger maximumOutputNumberOfChannels; -@property(readonly) float inputGain; -@property(readonly) BOOL inputGainSettable; -@property(readonly) BOOL inputAvailable; -@property(readonly, nullable) NSArray *inputDataSources; -@property(readonly, nullable) AVAudioSessionDataSourceDescription *inputDataSource; -@property(readonly, nullable) NSArray *outputDataSources; -@property(readonly, nullable) AVAudioSessionDataSourceDescription *outputDataSource; -@property(readonly) double sampleRate; -@property(readonly) double preferredSampleRate; -@property(readonly) NSInteger inputNumberOfChannels; -@property(readonly) NSInteger outputNumberOfChannels; -@property(readonly) float outputVolume; -@property(readonly) NSTimeInterval inputLatency; -@property(readonly) NSTimeInterval outputLatency; -@property(readonly) NSTimeInterval IOBufferDuration; -@property(readonly) NSTimeInterval preferredIOBufferDuration; - -/** - When YES, calls to -setConfiguration:error: and -setConfiguration:active:error: ignore errors in - configuring the audio session's "preferred" attributes (e.g. preferredInputNumberOfChannels). - Typically, configurations to preferred attributes are optimizations, and ignoring this type of - configuration error allows code flow to continue along the happy path when these optimization are - not available. The default value of this property is NO. - */ -@property(nonatomic) BOOL ignoresPreferredAttributeConfigurationErrors; - -/** Default constructor. */ -+ (instancetype)sharedInstance; -- (instancetype)init NS_UNAVAILABLE; - -/** Adds a delegate, which is held weakly. */ -- (void)addDelegate:(id)delegate; -/** Removes an added delegate. */ -- (void)removeDelegate:(id)delegate; - -/** Request exclusive access to the audio session for configuration. This call - * will block if the lock is held by another object. - */ -- (void)lockForConfiguration; -/** Relinquishes exclusive access to the audio session. */ -- (void)unlockForConfiguration; - -/** If `active`, activates the audio session if it isn't already active. - * Successful calls must be balanced with a setActive:NO when activation is no - * longer required. If not `active`, deactivates the audio session if one is - * active and this is the last balanced call. When deactivating, the - * AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation option is passed to - * AVAudioSession. - */ -- (BOOL)setActive:(BOOL)active error:(NSError **)outError; - -// The following methods are proxies for the associated methods on -// AVAudioSession. `lockForConfiguration` must be called before using them -// otherwise they will fail with kRTCAudioSessionErrorLockRequired. - -- (BOOL)setCategory:(NSString *)category - withOptions:(AVAudioSessionCategoryOptions)options - error:(NSError **)outError; -- (BOOL)setMode:(NSString *)mode error:(NSError **)outError; -- (BOOL)setInputGain:(float)gain error:(NSError **)outError; -- (BOOL)setPreferredSampleRate:(double)sampleRate error:(NSError **)outError; -- (BOOL)setPreferredIOBufferDuration:(NSTimeInterval)duration error:(NSError **)outError; -- (BOOL)setPreferredInputNumberOfChannels:(NSInteger)count error:(NSError **)outError; -- (BOOL)setPreferredOutputNumberOfChannels:(NSInteger)count error:(NSError **)outError; -- (BOOL)overrideOutputAudioPort:(AVAudioSessionPortOverride)portOverride error:(NSError **)outError; -- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort error:(NSError **)outError; -- (BOOL)setInputDataSource:(AVAudioSessionDataSourceDescription *)dataSource - error:(NSError **)outError; -- (BOOL)setOutputDataSource:(AVAudioSessionDataSourceDescription *)dataSource - error:(NSError **)outError; -@end - -@interface RTC_OBJC_TYPE (RTCAudioSession) -(Configuration) - - /** Applies the configuration to the current session. Attempts to set all - * properties even if previous ones fail. Only the last error will be - * returned. - * `lockForConfiguration` must be called first. - */ - - (BOOL)setConfiguration : (RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration error - : (NSError **)outError; - -/** Convenience method that calls both setConfiguration and setActive. - * `lockForConfiguration` must be called first. - */ -- (BOOL)setConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration - active:(BOOL)active - error:(NSError **)outError; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h deleted file mode 100644 index be79920..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSessionConfiguration.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2016 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_EXTERN const int kRTCAudioSessionPreferredNumberOfChannels; -RTC_EXTERN const double kRTCAudioSessionHighPerformanceSampleRate; -RTC_EXTERN const double kRTCAudioSessionLowComplexitySampleRate; -RTC_EXTERN const double kRTCAudioSessionHighPerformanceIOBufferDuration; -RTC_EXTERN const double kRTCAudioSessionLowComplexityIOBufferDuration; - -// Struct to hold configuration values. -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCAudioSessionConfiguration) : NSObject - -@property(nonatomic, strong) NSString *category; -@property(nonatomic, assign) AVAudioSessionCategoryOptions categoryOptions; -@property(nonatomic, strong) NSString *mode; -@property(nonatomic, assign) double sampleRate; -@property(nonatomic, assign) NSTimeInterval ioBufferDuration; -@property(nonatomic, assign) NSInteger inputNumberOfChannels; -@property(nonatomic, assign) NSInteger outputNumberOfChannels; - -/** Initializes configuration to defaults. */ -- (instancetype)init NS_DESIGNATED_INITIALIZER; - -/** Returns the current configuration of the audio session. */ -+ (instancetype)currentConfiguration; -/** Returns the configuration that WebRTC needs. */ -+ (instancetype)webRTCConfiguration; -/** Provide a way to override the default configuration. */ -+ (void)setWebRTCConfiguration:(RTC_OBJC_TYPE(RTCAudioSessionConfiguration) *)configuration; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSource.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSource.h deleted file mode 100644 index f0c469f..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioSource.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCAudioSource) : RTC_OBJC_TYPE(RTCMediaSource) - -- (instancetype)init NS_UNAVAILABLE; - -// Sets the volume for the RTCMediaSource. `volume` is a gain value in the range -// [0, 10]. -// Temporary fix to be able to modify volume of remote audio tracks. -// TODO(kthelgason): Property stays here temporarily until a proper volume-api -// is available on the surface exposed by webrtc. -@property(nonatomic, assign) double volume; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioTrack.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioTrack.h deleted file mode 100644 index 0c73d7d..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCAudioTrack.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RTC_OBJC_TYPE(RTCAudioSource); - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCAudioTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack) - -- (instancetype)init NS_UNAVAILABLE; - -/** The audio source for this audio track. */ -@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCAudioSource) * source; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCVPixelBuffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCVPixelBuffer.h deleted file mode 100644 index b9cd699..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCVPixelBuffer.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** RTCVideoFrameBuffer containing a CVPixelBufferRef */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCCVPixelBuffer) : NSObject - -@property(nonatomic, readonly) CVPixelBufferRef pixelBuffer; -@property(nonatomic, readonly) int cropX; -@property(nonatomic, readonly) int cropY; -@property(nonatomic, readonly) int cropWidth; -@property(nonatomic, readonly) int cropHeight; - -+ (NSSet *)supportedPixelFormats; - -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer; -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - adaptedWidth:(int)adaptedWidth - adaptedHeight:(int)adaptedHeight - cropWidth:(int)cropWidth - cropHeight:(int)cropHeight - cropX:(int)cropX - cropY:(int)cropY; - -- (BOOL)requiresCropping; -- (BOOL)requiresScalingToWidth:(int)width height:(int)height; -- (int)bufferSizeForCroppingAndScalingToWidth:(int)width height:(int)height; - -/** The minimum size of the `tmpBuffer` must be the number of bytes returned from the - * bufferSizeForCroppingAndScalingToWidth:height: method. - * If that size is 0, the `tmpBuffer` may be nil. - */ -- (BOOL)cropAndScaleTo:(CVPixelBufferRef)outputPixelBuffer - withTempBuffer:(nullable uint8_t *)tmpBuffer; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCallbackLogger.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCallbackLogger.h deleted file mode 100644 index 8def162..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCallbackLogger.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef void (^RTCCallbackLoggerMessageHandler)(NSString *message); -typedef void (^RTCCallbackLoggerMessageAndSeverityHandler)(NSString *message, - RTCLoggingSeverity severity); - -// This class intercepts WebRTC logs and forwards them to a registered block. -// This class is not threadsafe. -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCCallbackLogger) : NSObject - -// The severity level to capture. The default is kRTCLoggingSeverityInfo. -@property(nonatomic, assign) RTCLoggingSeverity severity; - -// The callback handler will be called on the same thread that does the -// logging, so if the logging callback can be slow it may be a good idea -// to implement dispatching to some other queue. -- (void)start:(nullable RTCCallbackLoggerMessageHandler)handler; -- (void)startWithMessageAndSeverityHandler: - (nullable RTCCallbackLoggerMessageAndSeverityHandler)handler; - -- (void)stop; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCameraPreviewView.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCameraPreviewView.h deleted file mode 100644 index 710f2e7..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCameraPreviewView.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2015 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -@class AVCaptureSession; - -/** RTCCameraPreviewView is a view that renders local video from an - * AVCaptureSession. - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCCameraPreviewView) : UIView - -/** The capture session being rendered in the view. Capture session - * is assigned to AVCaptureVideoPreviewLayer async in the same - * queue that the AVCaptureSession is started/stopped. - */ -@property(nonatomic, strong) AVCaptureSession* captureSession; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCameraVideoCapturer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCameraVideoCapturer.h deleted file mode 100644 index 5edc75d..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCameraVideoCapturer.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -// Camera capture that implements RTCVideoCapturer. Delivers frames to a -// RTCVideoCapturerDelegate (usually RTCVideoSource). -NS_EXTENSION_UNAVAILABLE_IOS("Camera not available in app extensions.") -@interface RTC_OBJC_TYPE (RTCCameraVideoCapturer) : RTC_OBJC_TYPE(RTCVideoCapturer) - -// Capture session that is used for capturing. Valid from initialization to dealloc. -@property(readonly, nonatomic) AVCaptureSession *captureSession; - -// Returns list of available capture devices that support video capture. -+ (NSArray *)captureDevices; -// Returns list of formats that are supported by this class for this device. -+ (NSArray *)supportedFormatsForDevice:(AVCaptureDevice *)device; - -// Returns the most efficient supported output pixel format for this capturer. -- (FourCharCode)preferredOutputPixelFormat; - -// Starts the capture session asynchronously and notifies callback on completion. -// The device will capture video in the format given in the `format` parameter. If the pixel format -// in `format` is supported by the WebRTC pipeline, the same pixel format will be used for the -// output. Otherwise, the format returned by `preferredOutputPixelFormat` will be used. -- (void)startCaptureWithDevice:(AVCaptureDevice *)device - format:(AVCaptureDeviceFormat *)format - fps:(NSInteger)fps - completionHandler:(nullable void (^)(NSError *_Nullable))completionHandler; -// Stops the capture session asynchronously and notifies callback on completion. -- (void)stopCaptureWithCompletionHandler:(nullable void (^)(void))completionHandler; - -// Starts the capture session asynchronously. -- (void)startCaptureWithDevice:(AVCaptureDevice *)device - format:(AVCaptureDeviceFormat *)format - fps:(NSInteger)fps; -// Stops the capture session asynchronously. -- (void)stopCapture; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCertificate.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCertificate.h deleted file mode 100644 index 31047e4..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCertificate.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCCertificate) : NSObject - -/** Private key in PEM. */ -@property(nonatomic, readonly, copy) NSString *private_key; - -/** Public key in an x509 cert encoded in PEM. */ -@property(nonatomic, readonly, copy) NSString *certificate; - -/** - * Initialize an RTCCertificate with PEM strings for private_key and certificate. - */ -- (instancetype)initWithPrivateKey:(NSString *)private_key - certificate:(NSString *)certificate NS_DESIGNATED_INITIALIZER; - -- (instancetype)init NS_UNAVAILABLE; - -/** Generate a new certificate for 're' use. - * - * Optional dictionary of parameters. Defaults to KeyType ECDSA if none are - * provided. - * - name: "ECDSA" or "RSASSA-PKCS1-v1_5" - */ -+ (nullable RTC_OBJC_TYPE(RTCCertificate) *)generateCertificateWithParams:(NSDictionary *)params; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCodecSpecificInfo.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCodecSpecificInfo.h deleted file mode 100644 index 39f7c18..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCodecSpecificInfo.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Implement this protocol to pass codec specific info from the encoder. - * Corresponds to webrtc::CodecSpecificInfo. - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCCodecSpecificInfo) @end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h deleted file mode 100644 index 25d309c..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCodecSpecificInfoH264.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -/** Class for H264 specific config. */ -typedef NS_ENUM(NSUInteger, RTCH264PacketizationMode) { - RTCH264PacketizationModeNonInterleaved = 0, // Mode 1 - STAP-A, FU-A is allowed - RTCH264PacketizationModeSingleNalUnit // Mode 0 - only single NALU allowed -}; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCCodecSpecificInfoH264) : NSObject - -@property(nonatomic, assign) RTCH264PacketizationMode packetizationMode; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCConfiguration.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCConfiguration.h deleted file mode 100644 index f2e1532..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCConfiguration.h +++ /dev/null @@ -1,268 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -@class RTC_OBJC_TYPE(RTCIceServer); - -/** - * Represents the ice transport policy. This exposes the same states in C++, - * which include one more state than what exists in the W3C spec. - */ -typedef NS_ENUM(NSInteger, RTCIceTransportPolicy) { - RTCIceTransportPolicyNone, - RTCIceTransportPolicyRelay, - RTCIceTransportPolicyNoHost, - RTCIceTransportPolicyAll -}; - -/** Represents the bundle policy. */ -typedef NS_ENUM(NSInteger, RTCBundlePolicy) { - RTCBundlePolicyBalanced, - RTCBundlePolicyMaxCompat, - RTCBundlePolicyMaxBundle -}; - -/** Represents the rtcp mux policy. */ -typedef NS_ENUM(NSInteger, RTCRtcpMuxPolicy) { RTCRtcpMuxPolicyNegotiate, RTCRtcpMuxPolicyRequire }; - -/** Represents the tcp candidate policy. */ -typedef NS_ENUM(NSInteger, RTCTcpCandidatePolicy) { - RTCTcpCandidatePolicyEnabled, - RTCTcpCandidatePolicyDisabled -}; - -/** Represents the candidate network policy. */ -typedef NS_ENUM(NSInteger, RTCCandidateNetworkPolicy) { - RTCCandidateNetworkPolicyAll, - RTCCandidateNetworkPolicyLowCost -}; - -/** Represents the continual gathering policy. */ -typedef NS_ENUM(NSInteger, RTCContinualGatheringPolicy) { - RTCContinualGatheringPolicyGatherOnce, - RTCContinualGatheringPolicyGatherContinually -}; - -/** Represents the encryption key type. */ -typedef NS_ENUM(NSInteger, RTCEncryptionKeyType) { - RTCEncryptionKeyTypeRSA, - RTCEncryptionKeyTypeECDSA, -}; - -/** Represents the chosen SDP semantics for the RTCPeerConnection. */ -typedef NS_ENUM(NSInteger, RTCSdpSemantics) { - // TODO(https://crbug.com/webrtc/13528): Remove support for Plan B. - RTCSdpSemanticsPlanB, - RTCSdpSemanticsUnifiedPlan, -}; - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCConfiguration) : NSObject - -/** If true, allows DSCP codes to be set on outgoing packets, configured using - * networkPriority field of RTCRtpEncodingParameters. Defaults to false. - */ -@property(nonatomic, assign) BOOL enableDscp; - -/** An array of Ice Servers available to be used by ICE. */ -@property(nonatomic, copy) NSArray *iceServers; - -/** An RTCCertificate for 're' use. */ -@property(nonatomic, nullable) RTC_OBJC_TYPE(RTCCertificate) * certificate; - -/** Which candidates the ICE agent is allowed to use. The W3C calls it - * `iceTransportPolicy`, while in C++ it is called `type`. */ -@property(nonatomic, assign) RTCIceTransportPolicy iceTransportPolicy; - -/** The media-bundling policy to use when gathering ICE candidates. */ -@property(nonatomic, assign) RTCBundlePolicy bundlePolicy; - -/** The rtcp-mux policy to use when gathering ICE candidates. */ -@property(nonatomic, assign) RTCRtcpMuxPolicy rtcpMuxPolicy; -@property(nonatomic, assign) RTCTcpCandidatePolicy tcpCandidatePolicy; -@property(nonatomic, assign) RTCCandidateNetworkPolicy candidateNetworkPolicy; -@property(nonatomic, assign) RTCContinualGatheringPolicy continualGatheringPolicy; - -/** If set to YES, don't gather IPv6 ICE candidates on Wi-Fi. - * Only intended to be used on specific devices. Certain phones disable IPv6 - * when the screen is turned off and it would be better to just disable the - * IPv6 ICE candidates on Wi-Fi in those cases. - * Default is NO. - */ -@property(nonatomic, assign) BOOL disableIPV6OnWiFi; - -/** By default, the PeerConnection will use a limited number of IPv6 network - * interfaces, in order to avoid too many ICE candidate pairs being created - * and delaying ICE completion. - * - * Can be set to INT_MAX to effectively disable the limit. - */ -@property(nonatomic, assign) int maxIPv6Networks; - -/** Exclude link-local network interfaces - * from considertaion for gathering ICE candidates. - * Defaults to NO. - */ -@property(nonatomic, assign) BOOL disableLinkLocalNetworks; - -@property(nonatomic, assign) int audioJitterBufferMaxPackets; -@property(nonatomic, assign) BOOL audioJitterBufferFastAccelerate; -@property(nonatomic, assign) int iceConnectionReceivingTimeout; -@property(nonatomic, assign) int iceBackupCandidatePairPingInterval; - -/** Key type used to generate SSL identity. Default is ECDSA. */ -@property(nonatomic, assign) RTCEncryptionKeyType keyType; - -/** ICE candidate pool size as defined in JSEP. Default is 0. */ -@property(nonatomic, assign) int iceCandidatePoolSize; - -/** Prune turn ports on the same network to the same turn server. - * Default is NO. - */ -@property(nonatomic, assign) BOOL shouldPruneTurnPorts; - -/** If set to YES, this means the ICE transport should presume TURN-to-TURN - * candidate pairs will succeed, even before a binding response is received. - */ -@property(nonatomic, assign) BOOL shouldPresumeWritableWhenFullyRelayed; - -/* This flag is only effective when `continualGatheringPolicy` is - * RTCContinualGatheringPolicyGatherContinually. - * - * If YES, after the ICE transport type is changed such that new types of - * ICE candidates are allowed by the new transport type, e.g. from - * RTCIceTransportPolicyRelay to RTCIceTransportPolicyAll, candidates that - * have been gathered by the ICE transport but not matching the previous - * transport type and as a result not observed by PeerConnectionDelegateAdapter, - * will be surfaced to the delegate. - */ -@property(nonatomic, assign) BOOL shouldSurfaceIceCandidatesOnIceTransportTypeChanged; - -/** If set to non-nil, controls the minimal interval between consecutive ICE - * check packets. - */ -@property(nonatomic, copy, nullable) NSNumber *iceCheckMinInterval; - -/** - * Configure the SDP semantics used by this PeerConnection. By default, this - * is RTCSdpSemanticsUnifiedPlan which is compliant to the WebRTC 1.0 - * specification. It is possible to overrwite this to the deprecated - * RTCSdpSemanticsPlanB SDP format, but note that RTCSdpSemanticsPlanB will be - * deleted at some future date, see https://crbug.com/webrtc/13528. - * - * RTCSdpSemanticsUnifiedPlan will cause RTCPeerConnection to create offers and - * answers with multiple m= sections where each m= section maps to one - * RTCRtpSender and one RTCRtpReceiver (an RTCRtpTransceiver), either both audio - * or both video. This will also cause RTCPeerConnection to ignore all but the - * first a=ssrc lines that form a Plan B stream. - * - * RTCSdpSemanticsPlanB will cause RTCPeerConnection to create offers and - * answers with at most one audio and one video m= section with multiple - * RTCRtpSenders and RTCRtpReceivers specified as multiple a=ssrc lines within - * the section. This will also cause RTCPeerConnection to ignore all but the - * first m= section of the same media type. - */ -@property(nonatomic, assign) RTCSdpSemantics sdpSemantics; - -/** Actively reset the SRTP parameters when the DTLS transports underneath are - * changed after offer/answer negotiation. This is only intended to be a - * workaround for crbug.com/835958 - */ -@property(nonatomic, assign) BOOL activeResetSrtpParams; - -/** If the remote side support mid-stream codec switches then allow encoder - * switching to be performed. - */ - -@property(nonatomic, assign) BOOL allowCodecSwitching; - -/** - * Defines advanced optional cryptographic settings related to SRTP and - * frame encryption for native WebRTC. Setting this will overwrite any - * options set through the PeerConnectionFactory (which is deprecated). - */ -@property(nonatomic, nullable) RTC_OBJC_TYPE(RTCCryptoOptions) * cryptoOptions; - -/** - * An optional string that will be attached to the TURN_ALLOCATE_REQUEST which - * which can be used to correlate client logs with backend logs. - */ -@property(nonatomic, nullable, copy) NSString *turnLoggingId; - -/** - * Time interval between audio RTCP reports. - */ -@property(nonatomic, assign) int rtcpAudioReportIntervalMs; - -/** - * Time interval between video RTCP reports. - */ -@property(nonatomic, assign) int rtcpVideoReportIntervalMs; - -/** - * Allow implicit rollback of local description when remote description - * conflicts with local description. - * See: https://w3c.github.io/webrtc-pc/#dom-peerconnection-setremotedescription - */ -@property(nonatomic, assign) BOOL enableImplicitRollback; - -/** - * Control if "a=extmap-allow-mixed" is included in the offer. - * See: https://www.chromestatus.com/feature/6269234631933952 - */ -@property(nonatomic, assign) BOOL offerExtmapAllowMixed; - -/** - * Defines the interval applied to ALL candidate pairs - * when ICE is strongly connected, and it overrides the - * default value of this interval in the ICE implementation; - */ -@property(nonatomic, copy, nullable) NSNumber *iceCheckIntervalStrongConnectivity; - -/** - * Defines the counterpart for ALL pairs when ICE is - * weakly connected, and it overrides the default value of - * this interval in the ICE implementation - */ -@property(nonatomic, copy, nullable) NSNumber *iceCheckIntervalWeakConnectivity; - -/** - * The min time period for which a candidate pair must wait for response to - * connectivity checks before it becomes unwritable. This parameter - * overrides the default value in the ICE implementation if set. - */ -@property(nonatomic, copy, nullable) NSNumber *iceUnwritableTimeout; - -/** - * The min number of connectivity checks that a candidate pair must sent - * without receiving response before it becomes unwritable. This parameter - * overrides the default value in the ICE implementation if set. - */ -@property(nonatomic, copy, nullable) NSNumber *iceUnwritableMinChecks; - -/** - * The min time period for which a candidate pair must wait for response to - * connectivity checks it becomes inactive. This parameter overrides the - * default value in the ICE implementation if set. - */ -@property(nonatomic, copy, nullable) NSNumber *iceInactiveTimeout; - -- (instancetype)init; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCryptoOptions.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCryptoOptions.h deleted file mode 100644 index 6e2e797..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCCryptoOptions.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - * Objective-C bindings for webrtc::CryptoOptions. This API had to be flattened - * as Objective-C doesn't support nested structures. - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCCryptoOptions) : NSObject - -/** - * Enable GCM crypto suites from RFC 7714 for SRTP. GCM will only be used - * if both sides enable it - */ -@property(nonatomic, assign) BOOL srtpEnableGcmCryptoSuites; -/** - * If set to true, the (potentially insecure) crypto cipher - * kSrtpAes128CmSha1_32 will be included in the list of supported ciphers - * during negotiation. It will only be used if both peers support it and no - * other ciphers get preferred. - */ -@property(nonatomic, assign) BOOL srtpEnableAes128Sha1_32CryptoCipher; -/** - * If set to true, encrypted RTP header extensions as defined in RFC 6904 - * will be negotiated. They will only be used if both peers support them. - */ -@property(nonatomic, assign) BOOL srtpEnableEncryptedRtpHeaderExtensions; - -/** - * If set all RtpSenders must have an FrameEncryptor attached to them before - * they are allowed to send packets. All RtpReceivers must have a - * FrameDecryptor attached to them before they are able to receive packets. - */ -@property(nonatomic, assign) BOOL sframeRequireFrameEncryption; - -/** - * Initializes CryptoOptions with all possible options set explicitly. This - * is done when converting from a native RTCConfiguration.crypto_options. - */ -- (instancetype)initWithSrtpEnableGcmCryptoSuites:(BOOL)srtpEnableGcmCryptoSuites - srtpEnableAes128Sha1_32CryptoCipher:(BOOL)srtpEnableAes128Sha1_32CryptoCipher - srtpEnableEncryptedRtpHeaderExtensions:(BOOL)srtpEnableEncryptedRtpHeaderExtensions - sframeRequireFrameEncryption:(BOOL)sframeRequireFrameEncryption - NS_DESIGNATED_INITIALIZER; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDataChannel.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDataChannel.h deleted file mode 100644 index 80b8ad8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDataChannel.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCDataBuffer) : NSObject - -/** NSData representation of the underlying buffer. */ -@property(nonatomic, readonly) NSData *data; - -/** Indicates whether `data` contains UTF-8 or binary data. */ -@property(nonatomic, readonly) BOOL isBinary; - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Initialize an RTCDataBuffer from NSData. `isBinary` indicates whether `data` - * contains UTF-8 or binary data. - */ -- (instancetype)initWithData:(NSData *)data isBinary:(BOOL)isBinary; - -@end - -@class RTC_OBJC_TYPE(RTCDataChannel); -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCDataChannelDelegate) - - /** The data channel state changed. */ - - (void)dataChannelDidChangeState : (RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel; - -/** The data channel successfully received a data buffer. */ -- (void)dataChannel:(RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel - didReceiveMessageWithBuffer:(RTC_OBJC_TYPE(RTCDataBuffer) *)buffer; - -@optional -/** The data channel's `bufferedAmount` changed. */ -- (void)dataChannel:(RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel - didChangeBufferedAmount:(uint64_t)amount; - -@end - -/** Represents the state of the data channel. */ -typedef NS_ENUM(NSInteger, RTCDataChannelState) { - RTCDataChannelStateConnecting, - RTCDataChannelStateOpen, - RTCDataChannelStateClosing, - RTCDataChannelStateClosed, -}; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCDataChannel) : NSObject - -/** - * A label that can be used to distinguish this data channel from other data - * channel objects. - */ -@property(nonatomic, readonly) NSString *label; - -/** Whether the data channel can send messages in unreliable mode. */ -@property(nonatomic, readonly) BOOL isReliable DEPRECATED_ATTRIBUTE; - -/** Returns whether this data channel is ordered or not. */ -@property(nonatomic, readonly) BOOL isOrdered; - -/** Deprecated. Use maxPacketLifeTime. */ -@property(nonatomic, readonly) NSUInteger maxRetransmitTime DEPRECATED_ATTRIBUTE; - -/** - * The length of the time window (in milliseconds) during which transmissions - * and retransmissions may occur in unreliable mode. - */ -@property(nonatomic, readonly) uint16_t maxPacketLifeTime; - -/** - * The maximum number of retransmissions that are attempted in unreliable mode. - */ -@property(nonatomic, readonly) uint16_t maxRetransmits; - -/** - * The name of the sub-protocol used with this data channel, if any. Otherwise - * this returns an empty string. - */ -@property(nonatomic, readonly) NSString *protocol; - -/** - * Returns whether this data channel was negotiated by the application or not. - */ -@property(nonatomic, readonly) BOOL isNegotiated; - -/** Deprecated. Use channelId. */ -@property(nonatomic, readonly) NSInteger streamId DEPRECATED_ATTRIBUTE; - -/** The identifier for this data channel. */ -@property(nonatomic, readonly) int channelId; - -/** The state of the data channel. */ -@property(nonatomic, readonly) RTCDataChannelState readyState; - -/** - * The number of bytes of application data that have been queued using - * `sendData:` but that have not yet been transmitted to the network. - */ -@property(nonatomic, readonly) uint64_t bufferedAmount; - -/** The delegate for this data channel. */ -@property(nonatomic, weak) id delegate; - -- (instancetype)init NS_UNAVAILABLE; - -/** Closes the data channel. */ -- (void)close; - -/** Attempt to send `data` on this data channel's underlying data transport. */ -- (BOOL)sendData:(RTC_OBJC_TYPE(RTCDataBuffer) *)data; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDataChannelConfiguration.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDataChannelConfiguration.h deleted file mode 100644 index b1d8d77..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDataChannelConfiguration.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCDataChannelConfiguration) : NSObject - -/** Set to YES if ordered delivery is required. */ -@property(nonatomic, assign) BOOL isOrdered; - -/** Deprecated. Use maxPacketLifeTime. */ -@property(nonatomic, assign) NSInteger maxRetransmitTimeMs DEPRECATED_ATTRIBUTE; - -/** - * Max period in milliseconds in which retransmissions will be sent. After this - * time, no more retransmissions will be sent. -1 if unset. - */ -@property(nonatomic, assign) int maxPacketLifeTime; - -/** The max number of retransmissions. -1 if unset. */ -@property(nonatomic, assign) int maxRetransmits; - -/** Set to YES if the channel has been externally negotiated and we do not send - * an in-band signalling in the form of an "open" message. - */ -@property(nonatomic, assign) BOOL isNegotiated; - -/** Deprecated. Use channelId. */ -@property(nonatomic, assign) int streamId DEPRECATED_ATTRIBUTE; - -/** The id of the data channel. */ -@property(nonatomic, assign) int channelId; - -/** Set by the application and opaque to the WebRTC implementation. */ -@property(nonatomic) NSString* protocol; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h deleted file mode 100644 index 5d10e47..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDefaultVideoDecoderFactory.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** This decoder factory include support for all codecs bundled with WebRTC. If using custom - * codecs, create custom implementations of RTCVideoEncoderFactory and - * RTCVideoDecoderFactory. - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCDefaultVideoDecoderFactory) : NSObject -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h deleted file mode 100644 index cef7adc..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDefaultVideoEncoderFactory.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** This encoder factory include support for all codecs bundled with WebRTC. If using custom - * codecs, create custom implementations of RTCVideoEncoderFactory and - * RTCVideoDecoderFactory. - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCDefaultVideoEncoderFactory) : NSObject - -@property(nonatomic, retain) RTC_OBJC_TYPE(RTCVideoCodecInfo) *preferredCodec; - -+ (NSArray *)supportedCodecs; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDispatcher.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDispatcher.h deleted file mode 100644 index 9a14c39..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDispatcher.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -typedef NS_ENUM(NSInteger, RTCDispatcherQueueType) { - // Main dispatcher queue. - RTCDispatcherTypeMain, - // Used for starting/stopping AVCaptureSession, and assigning - // capture session to AVCaptureVideoPreviewLayer. - RTCDispatcherTypeCaptureSession, - // Used for operations on AVAudioSession. - RTCDispatcherTypeAudioSession, - // Used for operations on NWPathMonitor. - RTCDispatcherTypeNetworkMonitor, -}; - -/** Dispatcher that asynchronously dispatches blocks to a specific - * shared dispatch queue. - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCDispatcher) : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -/** Dispatch the block asynchronously on the queue for dispatchType. - * @param dispatchType The queue type to dispatch on. - * @param block The block to dispatch asynchronously. - */ -+ (void)dispatchAsyncOnType:(RTCDispatcherQueueType)dispatchType block:(dispatch_block_t)block; - -/** Returns YES if run on queue for the dispatchType otherwise NO. - * Useful for asserting that a method is run on a correct queue. - */ -+ (BOOL)isOnQueueForType:(RTCDispatcherQueueType)dispatchType; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDtmfSender.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDtmfSender.h deleted file mode 100644 index 8c8b1d3..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCDtmfSender.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCDtmfSender) - - /** - * Returns true if this RTCDtmfSender is capable of sending DTMF. Otherwise - * returns false. To be able to send DTMF, the associated RTCRtpSender must be - * able to send packets, and a "telephone-event" codec must be negotiated. - */ - @property(nonatomic, readonly) BOOL canInsertDtmf; - -/** - * Queues a task that sends the DTMF tones. The tones parameter is treated - * as a series of characters. The characters 0 through 9, A through D, #, and * - * generate the associated DTMF tones. The characters a to d are equivalent - * to A to D. The character ',' indicates a delay of 2 seconds before - * processing the next character in the tones parameter. - * - * Unrecognized characters are ignored. - * - * @param duration The parameter indicates the duration to use for each - * character passed in the tones parameter. The duration cannot be more - * than 6000 or less than 70 ms. - * - * @param interToneGap The parameter indicates the gap between tones. - * This parameter must be at least 50 ms but should be as short as - * possible. - * - * If InsertDtmf is called on the same object while an existing task for this - * object to generate DTMF is still running, the previous task is canceled. - * Returns true on success and false on failure. - */ -- (BOOL)insertDtmf:(nonnull NSString *)tones - duration:(NSTimeInterval)duration - interToneGap:(NSTimeInterval)interToneGap; - -/** The tones remaining to be played out */ -- (nonnull NSString *)remainingTones; - -/** - * The current tone duration value. This value will be the value last set via the - * insertDtmf method, or the default value of 100 ms if insertDtmf was never called. - */ -- (NSTimeInterval)duration; - -/** - * The current value of the between-tone gap. This value will be the value last set - * via the insertDtmf() method, or the default value of 50 ms if insertDtmf() was never - * called. - */ -- (NSTimeInterval)interToneGap; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCEAGLVideoView.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCEAGLVideoView.h deleted file mode 100644 index 4e720d3..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCEAGLVideoView.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RTC_OBJC_TYPE(RTCEAGLVideoView); - -/** - * RTCEAGLVideoView is an RTCVideoRenderer which renders video frames - * in its bounds using OpenGLES 2.0 or OpenGLES 3.0. - */ -RTC_OBJC_EXPORT -NS_EXTENSION_UNAVAILABLE_IOS("Rendering not available in app extensions.") -@interface RTC_OBJC_TYPE (RTCEAGLVideoView) : UIView - -@property(nonatomic, weak) id delegate; - -- (instancetype)initWithFrame:(CGRect)frame - shader:(id)shader - NS_DESIGNATED_INITIALIZER; - -- (instancetype)initWithCoder:(NSCoder *)aDecoder - shader:(id)shader - NS_DESIGNATED_INITIALIZER; - -/** @abstract Wrapped RTCVideoRotation, or nil. - */ -@property(nonatomic, nullable) NSValue *rotationOverride; -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCEncodedImage.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCEncodedImage.h deleted file mode 100644 index a025b58..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCEncodedImage.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Represents an encoded frame's type. */ -typedef NS_ENUM(NSUInteger, RTCFrameType) { - RTCFrameTypeEmptyFrame = 0, - RTCFrameTypeAudioFrameSpeech = 1, - RTCFrameTypeAudioFrameCN = 2, - RTCFrameTypeVideoFrameKey = 3, - RTCFrameTypeVideoFrameDelta = 4, -}; - -typedef NS_ENUM(NSUInteger, RTCVideoContentType) { - RTCVideoContentTypeUnspecified, - RTCVideoContentTypeScreenshare, -}; - -/** Represents an encoded frame. Corresponds to webrtc::EncodedImage. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCEncodedImage) : NSObject - -@property(nonatomic, strong) NSData *buffer; -@property(nonatomic, assign) int32_t encodedWidth; -@property(nonatomic, assign) int32_t encodedHeight; -@property(nonatomic, assign) uint32_t timeStamp; -@property(nonatomic, assign) int64_t captureTimeMs; -@property(nonatomic, assign) int64_t ntpTimeMs; -@property(nonatomic, assign) uint8_t flags; -@property(nonatomic, assign) int64_t encodeStartMs; -@property(nonatomic, assign) int64_t encodeFinishMs; -@property(nonatomic, assign) RTCFrameType frameType; -@property(nonatomic, assign) RTCVideoRotation rotation; -@property(nonatomic, strong) NSNumber *qp; -@property(nonatomic, assign) RTCVideoContentType contentType; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFieldTrials.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFieldTrials.h deleted file mode 100644 index 0ddce0f..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFieldTrials.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2016 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -/** The only valid value for the following if set is kRTCFieldTrialEnabledValue. */ -RTC_EXTERN NSString * const kRTCFieldTrialAudioForceNoTWCCKey; -RTC_EXTERN NSString * const kRTCFieldTrialAudioForceABWENoTWCCKey; -RTC_EXTERN NSString * const kRTCFieldTrialSendSideBweWithOverheadKey; -RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03AdvertisedKey; -RTC_EXTERN NSString * const kRTCFieldTrialFlexFec03Key; -RTC_EXTERN NSString * const kRTCFieldTrialH264HighProfileKey; -RTC_EXTERN NSString * const kRTCFieldTrialMinimizeResamplingOnMobileKey; -RTC_EXTERN NSString *const kRTCFieldTrialUseNWPathMonitor; - -/** The valid value for field trials above. */ -RTC_EXTERN NSString * const kRTCFieldTrialEnabledValue; - -/** Initialize field trials using a dictionary mapping field trial keys to their - * values. See above for valid keys and values. Must be called before any other - * call into WebRTC. See: webrtc/system_wrappers/include/field_trial.h - */ -RTC_EXTERN void RTCInitFieldTrialDictionary(NSDictionary *fieldTrials); diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFileLogger.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFileLogger.h deleted file mode 100644 index 84924c5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFileLogger.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -typedef NS_ENUM(NSUInteger, RTCFileLoggerSeverity) { - RTCFileLoggerSeverityVerbose, - RTCFileLoggerSeverityInfo, - RTCFileLoggerSeverityWarning, - RTCFileLoggerSeverityError -}; - -typedef NS_ENUM(NSUInteger, RTCFileLoggerRotationType) { - RTCFileLoggerTypeCall, - RTCFileLoggerTypeApp, -}; - -NS_ASSUME_NONNULL_BEGIN - -// This class intercepts WebRTC logs and saves them to a file. The file size -// will not exceed the given maximum bytesize. When the maximum bytesize is -// reached, logs are rotated according to the rotationType specified. -// For kRTCFileLoggerTypeCall, logs from the beginning and the end -// are preserved while the middle section is overwritten instead. -// For kRTCFileLoggerTypeApp, the oldest log is overwritten. -// This class is not threadsafe. -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCFileLogger) : NSObject - -// The severity level to capture. The default is kRTCFileLoggerSeverityInfo. -@property(nonatomic, assign) RTCFileLoggerSeverity severity; - -// The rotation type for this file logger. The default is -// kRTCFileLoggerTypeCall. -@property(nonatomic, readonly) RTCFileLoggerRotationType rotationType; - -// Disables buffering disk writes. Should be set before `start`. Buffering -// is enabled by default for performance. -@property(nonatomic, assign) BOOL shouldDisableBuffering; - -// Default constructor provides default settings for dir path, file size and -// rotation type. -- (instancetype)init; - -// Create file logger with default rotation type. -- (instancetype)initWithDirPath:(NSString *)dirPath maxFileSize:(NSUInteger)maxFileSize; - -- (instancetype)initWithDirPath:(NSString *)dirPath - maxFileSize:(NSUInteger)maxFileSize - rotationType:(RTCFileLoggerRotationType)rotationType NS_DESIGNATED_INITIALIZER; - -// Starts writing WebRTC logs to disk if not already started. Overwrites any -// existing file(s). -- (void)start; - -// Stops writing WebRTC logs to disk. This method is also called on dealloc. -- (void)stop; - -// Returns the current contents of the logs, or nil if start has been called -// without a stop. -- (nullable NSData *)logData; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFileVideoCapturer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFileVideoCapturer.h deleted file mode 100644 index 38f65f8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCFileVideoCapturer.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2017 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - * Error passing block. - */ -typedef void (^RTCFileVideoCapturerErrorBlock)(NSError *error); - -/** - * Captures buffers from bundled video file. - * - * See @c RTCVideoCapturer for more info on capturers. - */ -RTC_OBJC_EXPORT - -NS_CLASS_AVAILABLE_IOS(10) -@interface RTC_OBJC_TYPE (RTCFileVideoCapturer) : RTC_OBJC_TYPE(RTCVideoCapturer) - -/** - * Starts asynchronous capture of frames from video file. - * - * Capturing is not started if error occurs. Underlying error will be - * relayed in the errorBlock if one is provided. - * Successfully captured video frames will be passed to the delegate. - * - * @param nameOfFile The name of the bundled video file to be read. - * @errorBlock block to be executed upon error. - */ -- (void)startCapturingFromFileNamed:(NSString *)nameOfFile - onError:(__nullable RTCFileVideoCapturerErrorBlock)errorBlock; - -/** - * Immediately stops capture. - */ -- (void)stopCapture; -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCH264ProfileLevelId.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCH264ProfileLevelId.h deleted file mode 100644 index 92ce6f2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCH264ProfileLevelId.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -RTC_OBJC_EXPORT extern NSString *const kRTCVideoCodecH264Name; -RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedHigh; -RTC_OBJC_EXPORT extern NSString *const kRTCLevel31ConstrainedBaseline; -RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedHigh; -RTC_OBJC_EXPORT extern NSString *const kRTCMaxSupportedH264ProfileLevelConstrainedBaseline; - -/** H264 Profiles and levels. */ -typedef NS_ENUM(NSUInteger, RTCH264Profile) { - RTCH264ProfileConstrainedBaseline, - RTCH264ProfileBaseline, - RTCH264ProfileMain, - RTCH264ProfileConstrainedHigh, - RTCH264ProfileHigh, -}; - -typedef NS_ENUM(NSUInteger, RTCH264Level) { - RTCH264Level1_b = 0, - RTCH264Level1 = 10, - RTCH264Level1_1 = 11, - RTCH264Level1_2 = 12, - RTCH264Level1_3 = 13, - RTCH264Level2 = 20, - RTCH264Level2_1 = 21, - RTCH264Level2_2 = 22, - RTCH264Level3 = 30, - RTCH264Level3_1 = 31, - RTCH264Level3_2 = 32, - RTCH264Level4 = 40, - RTCH264Level4_1 = 41, - RTCH264Level4_2 = 42, - RTCH264Level5 = 50, - RTCH264Level5_1 = 51, - RTCH264Level5_2 = 52 -}; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCH264ProfileLevelId) : NSObject - -@property(nonatomic, readonly) RTCH264Profile profile; -@property(nonatomic, readonly) RTCH264Level level; -@property(nonatomic, readonly) NSString *hexString; - -- (instancetype)initWithHexString:(NSString *)hexString; -- (instancetype)initWithProfile:(RTCH264Profile)profile level:(RTCH264Level)level; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCI420Buffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCI420Buffer.h deleted file mode 100644 index 54c3240..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCI420Buffer.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Protocol for RTCYUVPlanarBuffers containing I420 data */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCI420Buffer) @end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceCandidate.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceCandidate.h deleted file mode 100644 index 7ac87b2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceCandidate.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCIceCandidate) : NSObject - -/** - * If present, the identifier of the "media stream identification" for the media - * component this candidate is associated with. - */ -@property(nonatomic, readonly, nullable) NSString *sdpMid; - -/** - * The index (starting at zero) of the media description this candidate is - * associated with in the SDP. - */ -@property(nonatomic, readonly) int sdpMLineIndex; - -/** The SDP string for this candidate. */ -@property(nonatomic, readonly) NSString *sdp; - -/** The URL of the ICE server which this candidate is gathered from. */ -@property(nonatomic, readonly, nullable) NSString *serverUrl; - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Initialize an RTCIceCandidate from SDP. - */ -- (instancetype)initWithSdp:(NSString *)sdp - sdpMLineIndex:(int)sdpMLineIndex - sdpMid:(nullable NSString *)sdpMid NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h deleted file mode 100644 index 80fd1db..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceCandidateErrorEvent.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCIceCandidateErrorEvent) : NSObject - -/** The local IP address used to communicate with the STUN or TURN server. */ -@property(nonatomic, readonly) NSString *address; - -/** The port used to communicate with the STUN or TURN server. */ -@property(nonatomic, readonly) int port; - -/** The STUN or TURN URL that identifies the STUN or TURN server for which the failure occurred. */ -@property(nonatomic, readonly) NSString *url; - -/** The numeric STUN error code returned by the STUN or TURN server. If no host candidate can reach - * the server, errorCode will be set to the value 701 which is outside the STUN error code range. - * This error is only fired once per server URL while in the RTCIceGatheringState of "gathering". */ -@property(nonatomic, readonly) int errorCode; - -/** The STUN reason text returned by the STUN or TURN server. If the server could not be reached, - * errorText will be set to an implementation-specific value providing details about the error. */ -@property(nonatomic, readonly) NSString *errorText; - -- (instancetype)init NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceServer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceServer.h deleted file mode 100644 index e5fbfe8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCIceServer.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -typedef NS_ENUM(NSUInteger, RTCTlsCertPolicy) { - RTCTlsCertPolicySecure, - RTCTlsCertPolicyInsecureNoCheck -}; - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCIceServer) : NSObject - -/** URI(s) for this server represented as NSStrings. */ -@property(nonatomic, readonly) NSArray *urlStrings; - -/** Username to use if this RTCIceServer object is a TURN server. */ -@property(nonatomic, readonly, nullable) NSString *username; - -/** Credential to use if this RTCIceServer object is a TURN server. */ -@property(nonatomic, readonly, nullable) NSString *credential; - -/** - * TLS certificate policy to use if this RTCIceServer object is a TURN server. - */ -@property(nonatomic, readonly) RTCTlsCertPolicy tlsCertPolicy; - -/** - If the URIs in `urls` only contain IP addresses, this field can be used - to indicate the hostname, which may be necessary for TLS (using the SNI - extension). If `urls` itself contains the hostname, this isn't necessary. - */ -@property(nonatomic, readonly, nullable) NSString *hostname; - -/** List of protocols to be used in the TLS ALPN extension. */ -@property(nonatomic, readonly) NSArray *tlsAlpnProtocols; - -/** - List elliptic curves to be used in the TLS elliptic curves extension. - Only curve names supported by OpenSSL should be used (eg. "P-256","X25519"). - */ -@property(nonatomic, readonly) NSArray *tlsEllipticCurves; - -- (nonnull instancetype)init NS_UNAVAILABLE; - -/** Convenience initializer for a server with no authentication (e.g. STUN). */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings; - -/** - * Initialize an RTCIceServer with its associated URLs, optional username, - * optional credential, and credentialType. - */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential; - -/** - * Initialize an RTCIceServer with its associated URLs, optional username, - * optional credential, and TLS cert policy. - */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential - tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy; - -/** - * Initialize an RTCIceServer with its associated URLs, optional username, - * optional credential, TLS cert policy and hostname. - */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential - tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy - hostname:(nullable NSString *)hostname; - -/** - * Initialize an RTCIceServer with its associated URLs, optional username, - * optional credential, TLS cert policy, hostname and ALPN protocols. - */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential - tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy - hostname:(nullable NSString *)hostname - tlsAlpnProtocols:(NSArray *)tlsAlpnProtocols; - -/** - * Initialize an RTCIceServer with its associated URLs, optional username, - * optional credential, TLS cert policy, hostname, ALPN protocols and - * elliptic curves. - */ -- (instancetype)initWithURLStrings:(NSArray *)urlStrings - username:(nullable NSString *)username - credential:(nullable NSString *)credential - tlsCertPolicy:(RTCTlsCertPolicy)tlsCertPolicy - hostname:(nullable NSString *)hostname - tlsAlpnProtocols:(nullable NSArray *)tlsAlpnProtocols - tlsEllipticCurves:(nullable NSArray *)tlsEllipticCurves - NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCLegacyStatsReport.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCLegacyStatsReport.h deleted file mode 100644 index c9ce8e3..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCLegacyStatsReport.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** This does not currently conform to the spec. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCLegacyStatsReport) : NSObject - -/** Time since 1970-01-01T00:00:00Z in milliseconds. */ -@property(nonatomic, readonly) CFTimeInterval timestamp; - -/** The type of stats held by this object. */ -@property(nonatomic, readonly) NSString *type; - -/** The identifier for this object. */ -@property(nonatomic, readonly) NSString *reportId; - -/** A dictionary holding the actual stats. */ -@property(nonatomic, readonly) NSDictionary *values; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCLogging.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCLogging.h deleted file mode 100644 index 36f53d8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCLogging.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -// Subset of rtc::LoggingSeverity. -typedef NS_ENUM(NSInteger, RTCLoggingSeverity) { - RTCLoggingSeverityVerbose, - RTCLoggingSeverityInfo, - RTCLoggingSeverityWarning, - RTCLoggingSeverityError, - RTCLoggingSeverityNone, -}; - -// Wrapper for C++ RTC_LOG(sev) macros. -// Logs the log string to the webrtc logstream for the given severity. -RTC_EXTERN void RTCLogEx(RTCLoggingSeverity severity, NSString* log_string); - -// Wrapper for rtc::LogMessage::LogToDebug. -// Sets the minimum severity to be logged to console. -RTC_EXTERN void RTCSetMinDebugLogLevel(RTCLoggingSeverity severity); - -// Returns the filename with the path prefix removed. -RTC_EXTERN NSString* RTCFileName(const char* filePath); - -// Some convenience macros. - -#define RTCLogString(format, ...) \ - [NSString stringWithFormat:@"(%@:%d %s): " format, RTCFileName(__FILE__), \ - __LINE__, __FUNCTION__, ##__VA_ARGS__] - -#define RTCLogFormat(severity, format, ...) \ - do { \ - NSString* log_string = RTCLogString(format, ##__VA_ARGS__); \ - RTCLogEx(severity, log_string); \ - } while (false) - -#define RTCLogVerbose(format, ...) \ - RTCLogFormat(RTCLoggingSeverityVerbose, format, ##__VA_ARGS__) - -#define RTCLogInfo(format, ...) \ - RTCLogFormat(RTCLoggingSeverityInfo, format, ##__VA_ARGS__) - -#define RTCLogWarning(format, ...) \ - RTCLogFormat(RTCLoggingSeverityWarning, format, ##__VA_ARGS__) - -#define RTCLogError(format, ...) \ - RTCLogFormat(RTCLoggingSeverityError, format, ##__VA_ARGS__) - -#if !defined(NDEBUG) -#define RTCLogDebug(format, ...) RTCLogInfo(format, ##__VA_ARGS__) -#else -#define RTCLogDebug(format, ...) \ - do { \ - } while (false) -#endif - -#define RTCLog(format, ...) RTCLogInfo(format, ##__VA_ARGS__) diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMTLVideoView.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMTLVideoView.h deleted file mode 100644 index 66789d5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMTLVideoView.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - * RTCMTLVideoView is thin wrapper around MTKView. - * - * It has id property that renders video frames in the view's - * bounds using Metal. - */ -NS_CLASS_AVAILABLE_IOS(9) - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMTLVideoView) : UIView - -@property(nonatomic, weak) id delegate; - -@property(nonatomic) UIViewContentMode videoContentMode; - -/** @abstract Enables/disables rendering. - */ -@property(nonatomic, getter=isEnabled) BOOL enabled; - -/** @abstract Wrapped RTCVideoRotation, or nil. - */ -@property(nonatomic, nullable) NSValue* rotationOverride; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMacros.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMacros.h deleted file mode 100644 index 469e3c9..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMacros.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2016 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#ifndef SDK_OBJC_BASE_RTCMACROS_H_ -#define SDK_OBJC_BASE_RTCMACROS_H_ - -#ifdef WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT - -#if defined(WEBRTC_LIBRARY_IMPL) -#define RTC_OBJC_EXPORT __attribute__((visibility("default"))) -#endif - -#endif // WEBRTC_ENABLE_OBJC_SYMBOL_EXPORT - -#ifndef RTC_OBJC_EXPORT -#define RTC_OBJC_EXPORT -#endif - -// Internal macros used to correctly concatenate symbols. -#define RTC_SYMBOL_CONCAT_HELPER(a, b) a##b -#define RTC_SYMBOL_CONCAT(a, b) RTC_SYMBOL_CONCAT_HELPER(a, b) - -// RTC_OBJC_TYPE_PREFIX -// -// Macro used to prepend a prefix to the API types that are exported with -// RTC_OBJC_EXPORT. -// -// Clients can patch the definition of this macro locally and build -// WebRTC.framework with their own prefix in case symbol clashing is a -// problem. -// -// This macro must only be defined here and not on via compiler flag to -// ensure it has a unique value. -#define RTC_OBJC_TYPE_PREFIX - -// RCT_OBJC_TYPE -// -// Macro used internally to declare API types. Declaring an API type without -// using this macro will not include the declared type in the set of types -// that will be affected by the configurable RTC_OBJC_TYPE_PREFIX. -#define RTC_OBJC_TYPE(type_name) RTC_SYMBOL_CONCAT(RTC_OBJC_TYPE_PREFIX, type_name) - -#if defined(__cplusplus) -#define RTC_EXTERN extern "C" RTC_OBJC_EXPORT -#else -#define RTC_EXTERN extern RTC_OBJC_EXPORT -#endif - -#ifdef __OBJC__ -#define RTC_FWD_DECL_OBJC_CLASS(classname) @class classname -#else -#define RTC_FWD_DECL_OBJC_CLASS(classname) typedef struct objc_object classname -#endif - -#endif // SDK_OBJC_BASE_RTCMACROS_H_ diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaConstraints.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaConstraints.h deleted file mode 100644 index f5794a2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaConstraints.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Constraint keys for media sources. */ -/** The value for this key should be a base64 encoded string containing - * the data from the serialized configuration proto. - */ -RTC_EXTERN NSString *const kRTCMediaConstraintsAudioNetworkAdaptorConfig; - -/** Constraint keys for generating offers and answers. */ -RTC_EXTERN NSString *const kRTCMediaConstraintsIceRestart; -RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveAudio; -RTC_EXTERN NSString *const kRTCMediaConstraintsOfferToReceiveVideo; -RTC_EXTERN NSString *const kRTCMediaConstraintsVoiceActivityDetection; - -/** Constraint values for Boolean parameters. */ -RTC_EXTERN NSString *const kRTCMediaConstraintsValueTrue; -RTC_EXTERN NSString *const kRTCMediaConstraintsValueFalse; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMediaConstraints) : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -/** Initialize with mandatory and/or optional constraints. */ -- (instancetype) - initWithMandatoryConstraints:(nullable NSDictionary *)mandatory - optionalConstraints:(nullable NSDictionary *)optional - NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaSource.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaSource.h deleted file mode 100644 index 51ceb60..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaSource.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -typedef NS_ENUM(NSInteger, RTCSourceState) { - RTCSourceStateInitializing, - RTCSourceStateLive, - RTCSourceStateEnded, - RTCSourceStateMuted, -}; - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMediaSource) : NSObject - -/** The current state of the RTCMediaSource. */ -@property(nonatomic, readonly) RTCSourceState state; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaStream.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaStream.h deleted file mode 100644 index cc92242..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaStream.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RTC_OBJC_TYPE(RTCAudioTrack); -@class RTC_OBJC_TYPE(RTCPeerConnectionFactory); -@class RTC_OBJC_TYPE(RTCVideoTrack); - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMediaStream) : NSObject - -/** The audio tracks in this stream. */ -@property(nonatomic, strong, readonly) NSArray *audioTracks; - -/** The video tracks in this stream. */ -@property(nonatomic, strong, readonly) NSArray *videoTracks; - -/** An identifier for this media stream. */ -@property(nonatomic, readonly) NSString *streamId; - -- (instancetype)init NS_UNAVAILABLE; - -/** Adds the given audio track to this media stream. */ -- (void)addAudioTrack:(RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrack; - -/** Adds the given video track to this media stream. */ -- (void)addVideoTrack:(RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrack; - -/** Removes the given audio track to this media stream. */ -- (void)removeAudioTrack:(RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrack; - -/** Removes the given video track to this media stream. */ -- (void)removeVideoTrack:(RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrack; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaStreamTrack.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaStreamTrack.h deleted file mode 100644 index 5265879..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMediaStreamTrack.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -/** - * Represents the state of the track. This exposes the same states in C++. - */ -typedef NS_ENUM(NSInteger, RTCMediaStreamTrackState) { - RTCMediaStreamTrackStateLive, - RTCMediaStreamTrackStateEnded -}; - -NS_ASSUME_NONNULL_BEGIN - -RTC_EXTERN NSString *const kRTCMediaStreamTrackKindAudio; -RTC_EXTERN NSString *const kRTCMediaStreamTrackKindVideo; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMediaStreamTrack) : NSObject - -/** - * The kind of track. For example, "audio" if this track represents an audio - * track and "video" if this track represents a video track. - */ -@property(nonatomic, readonly) NSString *kind; - -/** An identifier string. */ -@property(nonatomic, readonly) NSString *trackId; - -/** The enabled state of the track. */ -@property(nonatomic, assign) BOOL isEnabled; - -/** The state of the track. */ -@property(nonatomic, readonly) RTCMediaStreamTrackState readyState; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMetrics.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMetrics.h deleted file mode 100644 index e184b4a..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMetrics.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -/** - * Enables gathering of metrics (which can be fetched with - * RTCGetAndResetMetrics). Must be called before any other call into WebRTC. - */ -RTC_EXTERN void RTCEnableMetrics(void); - -/** Gets and clears native histograms. */ -RTC_EXTERN NSArray* RTCGetAndResetMetrics(void); diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMetricsSampleInfo.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMetricsSampleInfo.h deleted file mode 100644 index 18afdc0..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMetricsSampleInfo.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMetricsSampleInfo) : NSObject - -/** - * Example of RTCMetricsSampleInfo: - * name: "WebRTC.Video.InputFramesPerSecond" - * min: 1 - * max: 100 - * bucketCount: 50 - * samples: [29]:2 [30]:1 - */ - -/** The name of the histogram. */ -@property(nonatomic, readonly) NSString *name; - -/** The minimum bucket value. */ -@property(nonatomic, readonly) int min; - -/** The maximum bucket value. */ -@property(nonatomic, readonly) int max; - -/** The number of buckets. */ -@property(nonatomic, readonly) int bucketCount; - -/** A dictionary holding the samples . */ -@property(nonatomic, readonly) NSDictionary *samples; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMutableI420Buffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMutableI420Buffer.h deleted file mode 100644 index 3dab3ea..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMutableI420Buffer.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Extension of the I420 buffer with mutable data access */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCMutableI420Buffer) @end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h deleted file mode 100644 index feb7417..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCMutableYUVPlanarBuffer.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Extension of the YUV planar data buffer with mutable data access */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCMutableYUVPlanarBuffer) - - @property(nonatomic, readonly) uint8_t *mutableDataY; -@property(nonatomic, readonly) uint8_t *mutableDataU; -@property(nonatomic, readonly) uint8_t *mutableDataV; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNativeI420Buffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNativeI420Buffer.h deleted file mode 100644 index c5a0ddf..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNativeI420Buffer.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** RTCI420Buffer implements the RTCI420Buffer protocol */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCI420Buffer) : NSObject -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h deleted file mode 100644 index c1bf3f1..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNativeMutableI420Buffer.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Mutable version of RTCI420Buffer */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCMutableI420Buffer) : RTC_OBJC_TYPE(RTCI420Buffer) -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNetworkMonitor.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNetworkMonitor.h deleted file mode 100644 index 21d22f5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCNetworkMonitor.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2020 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Listens for NWPathMonitor updates and forwards the results to a C++ - * observer. - */ -@interface RTCNetworkMonitor : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnection.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnection.h deleted file mode 100644 index 5b06df8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnection.h +++ /dev/null @@ -1,398 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -@class RTC_OBJC_TYPE(RTCConfiguration); -@class RTC_OBJC_TYPE(RTCDataChannel); -@class RTC_OBJC_TYPE(RTCDataChannelConfiguration); -@class RTC_OBJC_TYPE(RTCIceCandidate); -@class RTC_OBJC_TYPE(RTCIceCandidateErrorEvent); -@class RTC_OBJC_TYPE(RTCMediaConstraints); -@class RTC_OBJC_TYPE(RTCMediaStream); -@class RTC_OBJC_TYPE(RTCMediaStreamTrack); -@class RTC_OBJC_TYPE(RTCPeerConnectionFactory); -@class RTC_OBJC_TYPE(RTCRtpReceiver); -@class RTC_OBJC_TYPE(RTCRtpSender); -@class RTC_OBJC_TYPE(RTCRtpTransceiver); -@class RTC_OBJC_TYPE(RTCRtpTransceiverInit); -@class RTC_OBJC_TYPE(RTCSessionDescription); -@class RTC_OBJC_TYPE(RTCStatisticsReport); -@class RTC_OBJC_TYPE(RTCLegacyStatsReport); - -typedef NS_ENUM(NSInteger, RTCRtpMediaType); - -NS_ASSUME_NONNULL_BEGIN - -extern NSString *const kRTCPeerConnectionErrorDomain; -extern int const kRTCSessionDescriptionErrorCode; - -/** Represents the signaling state of the peer connection. */ -typedef NS_ENUM(NSInteger, RTCSignalingState) { - RTCSignalingStateStable, - RTCSignalingStateHaveLocalOffer, - RTCSignalingStateHaveLocalPrAnswer, - RTCSignalingStateHaveRemoteOffer, - RTCSignalingStateHaveRemotePrAnswer, - // Not an actual state, represents the total number of states. - RTCSignalingStateClosed, -}; - -/** Represents the ice connection state of the peer connection. */ -typedef NS_ENUM(NSInteger, RTCIceConnectionState) { - RTCIceConnectionStateNew, - RTCIceConnectionStateChecking, - RTCIceConnectionStateConnected, - RTCIceConnectionStateCompleted, - RTCIceConnectionStateFailed, - RTCIceConnectionStateDisconnected, - RTCIceConnectionStateClosed, - RTCIceConnectionStateCount, -}; - -/** Represents the combined ice+dtls connection state of the peer connection. */ -typedef NS_ENUM(NSInteger, RTCPeerConnectionState) { - RTCPeerConnectionStateNew, - RTCPeerConnectionStateConnecting, - RTCPeerConnectionStateConnected, - RTCPeerConnectionStateDisconnected, - RTCPeerConnectionStateFailed, - RTCPeerConnectionStateClosed, -}; - -/** Represents the ice gathering state of the peer connection. */ -typedef NS_ENUM(NSInteger, RTCIceGatheringState) { - RTCIceGatheringStateNew, - RTCIceGatheringStateGathering, - RTCIceGatheringStateComplete, -}; - -/** Represents the stats output level. */ -typedef NS_ENUM(NSInteger, RTCStatsOutputLevel) { - RTCStatsOutputLevelStandard, - RTCStatsOutputLevelDebug, -}; - -typedef void (^RTCCreateSessionDescriptionCompletionHandler)(RTC_OBJC_TYPE(RTCSessionDescription) * - _Nullable sdp, - NSError *_Nullable error); - -typedef void (^RTCSetSessionDescriptionCompletionHandler)(NSError *_Nullable error); - -@class RTC_OBJC_TYPE(RTCPeerConnection); - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCPeerConnectionDelegate) - - /** Called when the SignalingState changed. */ - - (void)peerConnection - : (RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection didChangeSignalingState - : (RTCSignalingState)stateChanged; - -/** Called when media is received on a new stream from remote peer. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didAddStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream; - -/** Called when a remote peer closes a stream. - * This is not called when RTCSdpSemanticsUnifiedPlan is specified. - */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didRemoveStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream; - -/** Called when negotiation is needed, for example ICE has restarted. */ -- (void)peerConnectionShouldNegotiate:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection; - -/** Called any time the IceConnectionState changes. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didChangeIceConnectionState:(RTCIceConnectionState)newState; - -/** Called any time the IceGatheringState changes. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didChangeIceGatheringState:(RTCIceGatheringState)newState; - -/** New ice candidate has been found. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didGenerateIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate; - -/** Called when a group of local Ice candidates have been removed. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didRemoveIceCandidates:(NSArray *)candidates; - -/** New data channel has been opened. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didOpenDataChannel:(RTC_OBJC_TYPE(RTCDataChannel) *)dataChannel; - -/** Called when signaling indicates a transceiver will be receiving media from - * the remote endpoint. - * This is only called with RTCSdpSemanticsUnifiedPlan specified. - */ -@optional -/** Called any time the IceConnectionState changes following standardized - * transition. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didChangeStandardizedIceConnectionState:(RTCIceConnectionState)newState; - -/** Called any time the PeerConnectionState changes. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didChangeConnectionState:(RTCPeerConnectionState)newState; - -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didStartReceivingOnTransceiver:(RTC_OBJC_TYPE(RTCRtpTransceiver) *)transceiver; - -/** Called when a receiver and its track are created. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didAddReceiver:(RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver - streams:(NSArray *)mediaStreams; - -/** Called when the receiver and its track are removed. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didRemoveReceiver:(RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver; - -/** Called when the selected ICE candidate pair is changed. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didChangeLocalCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)local - remoteCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)remote - lastReceivedMs:(int)lastDataReceivedMs - changeReason:(NSString *)reason; - -/** Called when gathering of an ICE candidate failed. */ -- (void)peerConnection:(RTC_OBJC_TYPE(RTCPeerConnection) *)peerConnection - didFailToGatherIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidateErrorEvent) *)event; - -@end - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCPeerConnection) : NSObject - -/** The object that will be notifed about events such as state changes and - * streams being added or removed. - */ -@property(nonatomic, weak, nullable) id delegate; -/** This property is not available with RTCSdpSemanticsUnifiedPlan. Please use - * `senders` instead. - */ -@property(nonatomic, readonly) NSArray *localStreams; -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * localDescription; -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCSessionDescription) * remoteDescription; -@property(nonatomic, readonly) RTCSignalingState signalingState; -@property(nonatomic, readonly) RTCIceConnectionState iceConnectionState; -@property(nonatomic, readonly) RTCPeerConnectionState connectionState; -@property(nonatomic, readonly) RTCIceGatheringState iceGatheringState; -@property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCConfiguration) * configuration; - -/** Gets all RTCRtpSenders associated with this peer connection. - * Note: reading this property returns different instances of RTCRtpSender. - * Use isEqual: instead of == to compare RTCRtpSender instances. - */ -@property(nonatomic, readonly) NSArray *senders; - -/** Gets all RTCRtpReceivers associated with this peer connection. - * Note: reading this property returns different instances of RTCRtpReceiver. - * Use isEqual: instead of == to compare RTCRtpReceiver instances. - */ -@property(nonatomic, readonly) NSArray *receivers; - -/** Gets all RTCRtpTransceivers associated with this peer connection. - * Note: reading this property returns different instances of - * RTCRtpTransceiver. Use isEqual: instead of == to compare - * RTCRtpTransceiver instances. This is only available with - * RTCSdpSemanticsUnifiedPlan specified. - */ -@property(nonatomic, readonly) NSArray *transceivers; - -- (instancetype)init NS_UNAVAILABLE; - -/** Sets the PeerConnection's global configuration to `configuration`. - * Any changes to STUN/TURN servers or ICE candidate policy will affect the - * next gathering phase, and cause the next call to createOffer to generate - * new ICE credentials. Note that the BUNDLE and RTCP-multiplexing policies - * cannot be changed with this method. - */ -- (BOOL)setConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration; - -/** Terminate all media and close the transport. */ -- (void)close; - -/** Provide a remote candidate to the ICE Agent. */ -- (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate - DEPRECATED_MSG_ATTRIBUTE("Please use addIceCandidate:completionHandler: instead"); - -/** Provide a remote candidate to the ICE Agent. */ -- (void)addIceCandidate:(RTC_OBJC_TYPE(RTCIceCandidate) *)candidate - completionHandler:(void (^)(NSError *_Nullable error))completionHandler; - -/** Remove a group of remote candidates from the ICE Agent. */ -- (void)removeIceCandidates:(NSArray *)candidates; - -/** Add a new media stream to be sent on this peer connection. - * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use - * addTrack instead. - */ -- (void)addStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream; - -/** Remove the given media stream from this peer connection. - * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use - * removeTrack instead. - */ -- (void)removeStream:(RTC_OBJC_TYPE(RTCMediaStream) *)stream; - -/** Add a new media stream track to be sent on this peer connection, and return - * the newly created RTCRtpSender. The RTCRtpSender will be - * associated with the streams specified in the `streamIds` list. - * - * Errors: If an error occurs, returns nil. An error can occur if: - * - A sender already exists for the track. - * - The peer connection is closed. - */ -- (nullable RTC_OBJC_TYPE(RTCRtpSender) *)addTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track - streamIds:(NSArray *)streamIds; - -/** With PlanB semantics, removes an RTCRtpSender from this peer connection. - * - * With UnifiedPlan semantics, sets sender's track to null and removes the - * send component from the associated RTCRtpTransceiver's direction. - * - * Returns YES on success. - */ -- (BOOL)removeTrack:(RTC_OBJC_TYPE(RTCRtpSender) *)sender; - -/** addTransceiver creates a new RTCRtpTransceiver and adds it to the set of - * transceivers. Adding a transceiver will cause future calls to CreateOffer - * to add a media description for the corresponding transceiver. - * - * The initial value of `mid` in the returned transceiver is nil. Setting a - * new session description may change it to a non-nil value. - * - * https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnection-addtransceiver - * - * Optionally, an RtpTransceiverInit structure can be specified to configure - * the transceiver from construction. If not specified, the transceiver will - * default to having a direction of kSendRecv and not be part of any streams. - * - * These methods are only available when Unified Plan is enabled (see - * RTCConfiguration). - */ - -/** Adds a transceiver with a sender set to transmit the given track. The kind - * of the transceiver (and sender/receiver) will be derived from the kind of - * the track. - */ -- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverWithTrack: - (RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track; -- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *) - addTransceiverWithTrack:(RTC_OBJC_TYPE(RTCMediaStreamTrack) *)track - init:(RTC_OBJC_TYPE(RTCRtpTransceiverInit) *)init; - -/** Adds a transceiver with the given kind. Can either be RTCRtpMediaTypeAudio - * or RTCRtpMediaTypeVideo. - */ -- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *)addTransceiverOfType:(RTCRtpMediaType)mediaType; -- (nullable RTC_OBJC_TYPE(RTCRtpTransceiver) *) - addTransceiverOfType:(RTCRtpMediaType)mediaType - init:(RTC_OBJC_TYPE(RTCRtpTransceiverInit) *)init; - -/** Tells the PeerConnection that ICE should be restarted. This triggers a need - * for negotiation and subsequent offerForConstraints:completionHandler call will act as if - * RTCOfferAnswerOptions::ice_restart is true. - */ -- (void)restartIce; - -/** Generate an SDP offer. */ -- (void)offerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - completionHandler:(RTCCreateSessionDescriptionCompletionHandler)completionHandler; - -/** Generate an SDP answer. */ -- (void)answerForConstraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - completionHandler:(RTCCreateSessionDescriptionCompletionHandler)completionHandler; - -/** Apply the supplied RTCSessionDescription as the local description. */ -- (void)setLocalDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp - completionHandler:(RTCSetSessionDescriptionCompletionHandler)completionHandler; - -/** Creates an offer or answer (depending on current signaling state) and sets - * it as the local session description. */ -- (void)setLocalDescriptionWithCompletionHandler: - (RTCSetSessionDescriptionCompletionHandler)completionHandler; - -/** Apply the supplied RTCSessionDescription as the remote description. */ -- (void)setRemoteDescription:(RTC_OBJC_TYPE(RTCSessionDescription) *)sdp - completionHandler:(RTCSetSessionDescriptionCompletionHandler)completionHandler; - -/** Limits the bandwidth allocated for all RTP streams sent by this - * PeerConnection. Nil parameters will be unchanged. Setting - * `currentBitrateBps` will force the available bitrate estimate to the given - * value. Returns YES if the parameters were successfully updated. - */ -- (BOOL)setBweMinBitrateBps:(nullable NSNumber *)minBitrateBps - currentBitrateBps:(nullable NSNumber *)currentBitrateBps - maxBitrateBps:(nullable NSNumber *)maxBitrateBps; - -/** Start or stop recording an Rtc EventLog. */ -- (BOOL)startRtcEventLogWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; -- (void)stopRtcEventLog; - -@end - -@interface RTC_OBJC_TYPE (RTCPeerConnection) -(Media) - - /** Create an RTCRtpSender with the specified kind and media stream ID. - * See RTCMediaStreamTrack.h for available kinds. - * This method is not supported with RTCSdpSemanticsUnifiedPlan. Please use - * addTransceiver instead. - */ - - (RTC_OBJC_TYPE(RTCRtpSender) *)senderWithKind : (NSString *)kind streamId - : (NSString *)streamId; - -@end - -@interface RTC_OBJC_TYPE (RTCPeerConnection) -(DataChannel) - - /** Create a new data channel with the given label and configuration. */ - - (nullable RTC_OBJC_TYPE(RTCDataChannel) *)dataChannelForLabel - : (NSString *)label configuration : (RTC_OBJC_TYPE(RTCDataChannelConfiguration) *)configuration; - -@end - -typedef void (^RTCStatisticsCompletionHandler)(RTC_OBJC_TYPE(RTCStatisticsReport) *); - -@interface RTC_OBJC_TYPE (RTCPeerConnection) -(Stats) - - /** Gather stats for the given RTCMediaStreamTrack. If `mediaStreamTrack` is nil - * statistics are gathered for all tracks. - */ - - (void)statsForTrack - : (nullable RTC_OBJC_TYPE(RTCMediaStreamTrack) *)mediaStreamTrack statsOutputLevel - : (RTCStatsOutputLevel)statsOutputLevel completionHandler - : (nullable void (^)(NSArray *stats))completionHandler; - -/** Gather statistic through the v2 statistics API. */ -- (void)statisticsWithCompletionHandler:(RTCStatisticsCompletionHandler)completionHandler; - -/** Spec-compliant getStats() performing the stats selection algorithm with the - * sender. - */ -- (void)statisticsForSender:(RTC_OBJC_TYPE(RTCRtpSender) *)sender - completionHandler:(RTCStatisticsCompletionHandler)completionHandler; - -/** Spec-compliant getStats() performing the stats selection algorithm with the - * receiver. - */ -- (void)statisticsForReceiver:(RTC_OBJC_TYPE(RTCRtpReceiver) *)receiver - completionHandler:(RTCStatisticsCompletionHandler)completionHandler; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnectionFactory.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnectionFactory.h deleted file mode 100644 index 329cf46..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnectionFactory.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RTC_OBJC_TYPE(RTCAudioSource); -@class RTC_OBJC_TYPE(RTCAudioTrack); -@class RTC_OBJC_TYPE(RTCConfiguration); -@class RTC_OBJC_TYPE(RTCMediaConstraints); -@class RTC_OBJC_TYPE(RTCMediaStream); -@class RTC_OBJC_TYPE(RTCPeerConnection); -@class RTC_OBJC_TYPE(RTCVideoSource); -@class RTC_OBJC_TYPE(RTCVideoTrack); -@class RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions); -@protocol RTC_OBJC_TYPE -(RTCPeerConnectionDelegate); -@protocol RTC_OBJC_TYPE -(RTCVideoDecoderFactory); -@protocol RTC_OBJC_TYPE -(RTCVideoEncoderFactory); -@protocol RTC_OBJC_TYPE -(RTCSSLCertificateVerifier); -@protocol RTC_OBJC_TYPE -(RTCAudioDevice); - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCPeerConnectionFactory) : NSObject - -/* Initialize object with default H264 video encoder/decoder factories and default ADM */ -- (instancetype)init; - -/* Initialize object with injectable video encoder/decoder factories and default ADM */ -- (instancetype) - initWithEncoderFactory:(nullable id)encoderFactory - decoderFactory:(nullable id)decoderFactory; - -/* Initialize object with injectable video encoder/decoder factories and injectable ADM */ -- (instancetype) - initWithEncoderFactory:(nullable id)encoderFactory - decoderFactory:(nullable id)decoderFactory - audioDevice:(nullable id)audioDevice; - -/** Initialize an RTCAudioSource with constraints. */ -- (RTC_OBJC_TYPE(RTCAudioSource) *)audioSourceWithConstraints: - (nullable RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints; - -/** Initialize an RTCAudioTrack with an id. Convenience ctor to use an audio source - * with no constraints. - */ -- (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithTrackId:(NSString *)trackId; - -/** Initialize an RTCAudioTrack with a source and an id. */ -- (RTC_OBJC_TYPE(RTCAudioTrack) *)audioTrackWithSource:(RTC_OBJC_TYPE(RTCAudioSource) *)source - trackId:(NSString *)trackId; - -/** Initialize a generic RTCVideoSource. The RTCVideoSource should be - * passed to a RTCVideoCapturer implementation, e.g. - * RTCCameraVideoCapturer, in order to produce frames. - */ -- (RTC_OBJC_TYPE(RTCVideoSource) *)videoSource; - -/** Initialize a generic RTCVideoSource with he posibility of marking - * it as usable for screen sharing. The RTCVideoSource should be - * passed to a RTCVideoCapturer implementation, e.g. - * RTCCameraVideoCapturer, in order to produce frames. - */ -- (RTC_OBJC_TYPE(RTCVideoSource) *)videoSourceForScreenCast:(BOOL)forScreenCast; - -/** Initialize an RTCVideoTrack with a source and an id. */ -- (RTC_OBJC_TYPE(RTCVideoTrack) *)videoTrackWithSource:(RTC_OBJC_TYPE(RTCVideoSource) *)source - trackId:(NSString *)trackId; - -/** Initialize an RTCMediaStream with an id. */ -- (RTC_OBJC_TYPE(RTCMediaStream) *)mediaStreamWithStreamId:(NSString *)streamId; - -/** Initialize an RTCPeerConnection with a configuration, constraints, and - * delegate. - */ -- (nullable RTC_OBJC_TYPE(RTCPeerConnection) *) - peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration - constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - delegate:(nullable id)delegate; - -- (nullable RTC_OBJC_TYPE(RTCPeerConnection) *) - peerConnectionWithConfiguration:(RTC_OBJC_TYPE(RTCConfiguration) *)configuration - constraints:(RTC_OBJC_TYPE(RTCMediaConstraints) *)constraints - certificateVerifier: - (id)certificateVerifier - delegate:(nullable id)delegate; - -/** Set the options to be used for subsequently created RTCPeerConnections */ -- (void)setOptions:(nonnull RTC_OBJC_TYPE(RTCPeerConnectionFactoryOptions) *)options; - -/** Start an AecDump recording. This API call will likely change in the future. */ -- (BOOL)startAecDumpWithFilePath:(NSString *)filePath maxSizeInBytes:(int64_t)maxSizeInBytes; - -/* Stop an active AecDump recording */ -- (void)stopAecDump; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h deleted file mode 100644 index 1c7a10d..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCPeerConnectionFactoryOptions.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCPeerConnectionFactoryOptions) : NSObject - -@property(nonatomic, assign) BOOL disableEncryption; - -@property(nonatomic, assign) BOOL disableNetworkMonitor; - -@property(nonatomic, assign) BOOL ignoreLoopbackNetworkAdapter; - -@property(nonatomic, assign) BOOL ignoreVPNNetworkAdapter; - -@property(nonatomic, assign) BOOL ignoreCellularNetworkAdapter; - -@property(nonatomic, assign) BOOL ignoreWiFiNetworkAdapter; - -@property(nonatomic, assign) BOOL ignoreEthernetNetworkAdapter; - -- (instancetype)init NS_DESIGNATED_INITIALIZER; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtcpParameters.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtcpParameters.h deleted file mode 100644 index 8449500..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtcpParameters.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtcpParameters) : NSObject - -/** The Canonical Name used by RTCP. */ -@property(nonatomic, readonly, copy) NSString *cname; - -/** Whether reduced size RTCP is configured or compound RTCP. */ -@property(nonatomic, assign) BOOL isReducedSize; - -- (instancetype)init; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpCodecParameters.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpCodecParameters.h deleted file mode 100644 index 4af6bb2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpCodecParameters.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_EXTERN const NSString *const kRTCRtxCodecName; -RTC_EXTERN const NSString *const kRTCRedCodecName; -RTC_EXTERN const NSString *const kRTCUlpfecCodecName; -RTC_EXTERN const NSString *const kRTCFlexfecCodecName; -RTC_EXTERN const NSString *const kRTCOpusCodecName; -RTC_EXTERN const NSString *const kRTCIsacCodecName; -RTC_EXTERN const NSString *const kRTCL16CodecName; -RTC_EXTERN const NSString *const kRTCG722CodecName; -RTC_EXTERN const NSString *const kRTCIlbcCodecName; -RTC_EXTERN const NSString *const kRTCPcmuCodecName; -RTC_EXTERN const NSString *const kRTCPcmaCodecName; -RTC_EXTERN const NSString *const kRTCDtmfCodecName; -RTC_EXTERN const NSString *const kRTCComfortNoiseCodecName; -RTC_EXTERN const NSString *const kRTCVp8CodecName; -RTC_EXTERN const NSString *const kRTCVp9CodecName; -RTC_EXTERN const NSString *const kRTCH264CodecName; - -/** Defined in https://www.w3.org/TR/webrtc/#idl-def-rtcrtpcodecparameters */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpCodecParameters) : NSObject - -/** The RTP payload type. */ -@property(nonatomic, assign) int payloadType; - -/** - * The codec MIME subtype. Valid types are listed in: - * http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-2 - * - * Several supported types are represented by the constants above. - */ -@property(nonatomic, readonly, nonnull) NSString *name; - -/** - * The media type of this codec. Equivalent to MIME top-level type. - * - * Valid values are kRTCMediaStreamTrackKindAudio and - * kRTCMediaStreamTrackKindVideo. - */ -@property(nonatomic, readonly, nonnull) NSString *kind; - -/** The codec clock rate expressed in Hertz. */ -@property(nonatomic, readonly, nullable) NSNumber *clockRate; - -/** - * The number of channels (mono=1, stereo=2). - * Set to null for video codecs. - **/ -@property(nonatomic, readonly, nullable) NSNumber *numChannels; - -/** The "format specific parameters" field from the "a=fmtp" line in the SDP */ -@property(nonatomic, readonly, nonnull) NSDictionary *parameters; - -- (instancetype)init; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpEncodingParameters.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpEncodingParameters.h deleted file mode 100644 index 7bd4394..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpEncodingParameters.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Corresponds to webrtc::Priority. */ -typedef NS_ENUM(NSInteger, RTCPriority) { - RTCPriorityVeryLow, - RTCPriorityLow, - RTCPriorityMedium, - RTCPriorityHigh -}; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpEncodingParameters) : NSObject - -/** The idenfifier for the encoding layer. This is used in simulcast. */ -@property(nonatomic, copy, nullable) NSString *rid; - -/** Controls whether the encoding is currently transmitted. */ -@property(nonatomic, assign) BOOL isActive; - -/** The maximum bitrate to use for the encoding, or nil if there is no - * limit. - */ -@property(nonatomic, copy, nullable) NSNumber *maxBitrateBps; - -/** The minimum bitrate to use for the encoding, or nil if there is no - * limit. - */ -@property(nonatomic, copy, nullable) NSNumber *minBitrateBps; - -/** The maximum framerate to use for the encoding, or nil if there is no - * limit. - */ -@property(nonatomic, copy, nullable) NSNumber *maxFramerate; - -/** The requested number of temporal layers to use for the encoding, or nil - * if the default should be used. - */ -@property(nonatomic, copy, nullable) NSNumber *numTemporalLayers; - -/** Scale the width and height down by this factor for video. If nil, - * implementation default scaling factor will be used. - */ -@property(nonatomic, copy, nullable) NSNumber *scaleResolutionDownBy; - -/** The SSRC being used by this encoding. */ -@property(nonatomic, readonly, nullable) NSNumber *ssrc; - -/** The relative bitrate priority. */ -@property(nonatomic, assign) double bitratePriority; - -/** The relative DiffServ Code Point priority. */ -@property(nonatomic, assign) RTCPriority networkPriority; - -/** Allow dynamic frame length changes for audio: - https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime */ -@property(nonatomic, assign) BOOL adaptiveAudioPacketTime; - -- (instancetype)init; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpHeaderExtension.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpHeaderExtension.h deleted file mode 100644 index d3f1fda..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpHeaderExtension.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpHeaderExtension) : NSObject - -/** The URI of the RTP header extension, as defined in RFC5285. */ -@property(nonatomic, readonly, copy) NSString *uri; - -/** The value put in the RTP packet to identify the header extension. */ -@property(nonatomic, readonly) int id; - -/** Whether the header extension is encrypted or not. */ -@property(nonatomic, readonly, getter=isEncrypted) BOOL encrypted; - -- (instancetype)init; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpParameters.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpParameters.h deleted file mode 100644 index 54fdbae..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpParameters.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Corresponds to webrtc::DegradationPreference. */ -typedef NS_ENUM(NSInteger, RTCDegradationPreference) { - RTCDegradationPreferenceDisabled, - RTCDegradationPreferenceMaintainFramerate, - RTCDegradationPreferenceMaintainResolution, - RTCDegradationPreferenceBalanced -}; - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpParameters) : NSObject - -/** A unique identifier for the last set of parameters applied. */ -@property(nonatomic, copy) NSString *transactionId; - -/** Parameters used for RTCP. */ -@property(nonatomic, readonly, copy) RTC_OBJC_TYPE(RTCRtcpParameters) * rtcp; - -/** An array containing parameters for RTP header extensions. */ -@property(nonatomic, readonly, copy) - NSArray *headerExtensions; - -/** The currently active encodings in the order of preference. */ -@property(nonatomic, copy) NSArray *encodings; - -/** The negotiated set of send codecs in order of preference. */ -@property(nonatomic, copy) NSArray *codecs; - -/** - * Degradation preference in case of CPU adaptation or constrained bandwidth. - * If nil, implementation default degradation preference will be used. - */ -@property(nonatomic, copy, nullable) NSNumber *degradationPreference; - -- (instancetype)init; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpReceiver.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpReceiver.h deleted file mode 100644 index 30f204a..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpReceiver.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Represents the media type of the RtpReceiver. */ -typedef NS_ENUM(NSInteger, RTCRtpMediaType) { - RTCRtpMediaTypeAudio, - RTCRtpMediaTypeVideo, - RTCRtpMediaTypeData, - RTCRtpMediaTypeUnsupported, -}; - -@class RTC_OBJC_TYPE(RTCRtpReceiver); - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCRtpReceiverDelegate) - - /** Called when the first RTP packet is received. - * - * Note: Currently if there are multiple RtpReceivers of the same media type, - * they will all call OnFirstPacketReceived at once. - * - * For example, if we create three audio receivers, A/B/C, they will listen to - * the same signal from the underneath network layer. Whenever the first audio packet - * is received, the underneath signal will be fired. All the receivers A/B/C will be - * notified and the callback of the receiver's delegate will be called. - * - * The process is the same for video receivers. - */ - - (void)rtpReceiver - : (RTC_OBJC_TYPE(RTCRtpReceiver) *)rtpReceiver didReceiveFirstPacketForMediaType - : (RTCRtpMediaType)mediaType; - -@end - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCRtpReceiver) - - /** A unique identifier for this receiver. */ - @property(nonatomic, readonly) NSString *receiverId; - -/** The currently active RTCRtpParameters, as defined in - * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. - * - * The WebRTC specification only defines RTCRtpParameters in terms of senders, - * but this API also applies them to receivers, similar to ORTC: - * http://ortc.org/wp-content/uploads/2016/03/ortc.html#rtcrtpparameters*. - */ -@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpParameters) * parameters; - -/** The RTCMediaStreamTrack associated with the receiver. - * Note: reading this property returns a new instance of - * RTCMediaStreamTrack. Use isEqual: instead of == to compare - * RTCMediaStreamTrack instances. - */ -@property(nonatomic, readonly, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track; - -/** The delegate for this RtpReceiver. */ -@property(nonatomic, weak) id delegate; - -@end - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpReceiver) : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpSender.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpSender.h deleted file mode 100644 index edea5d8..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpSender.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCRtpSender) - -/** A unique identifier for this sender. */ -@property(nonatomic, readonly) NSString *senderId; - -/** The currently active RTCRtpParameters, as defined in - * https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters. - */ -@property(nonatomic, copy) RTC_OBJC_TYPE(RTCRtpParameters) * parameters; - -/** The RTCMediaStreamTrack associated with the sender. - * Note: reading this property returns a new instance of - * RTCMediaStreamTrack. Use isEqual: instead of == to compare - * RTCMediaStreamTrack instances. - */ -@property(nonatomic, copy, nullable) RTC_OBJC_TYPE(RTCMediaStreamTrack) * track; - -/** IDs of streams associated with the RTP sender */ -@property(nonatomic, copy) NSArray *streamIds; - -/** The RTCDtmfSender accociated with the RTP sender. */ -@property(nonatomic, readonly, nullable) id dtmfSender; - -@end - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpSender) : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpTransceiver.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpTransceiver.h deleted file mode 100644 index 9d8cfe1..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCRtpTransceiver.h +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -extern NSString *const kRTCRtpTransceiverErrorDomain; - -/** https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverdirection */ -typedef NS_ENUM(NSInteger, RTCRtpTransceiverDirection) { - RTCRtpTransceiverDirectionSendRecv, - RTCRtpTransceiverDirectionSendOnly, - RTCRtpTransceiverDirectionRecvOnly, - RTCRtpTransceiverDirectionInactive, - RTCRtpTransceiverDirectionStopped -}; - -/** Structure for initializing an RTCRtpTransceiver in a call to - * RTCPeerConnection.addTransceiver. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiverinit - */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpTransceiverInit) : NSObject - -/** Direction of the RTCRtpTransceiver. See RTCRtpTransceiver.direction. */ -@property(nonatomic) RTCRtpTransceiverDirection direction; - -/** The added RTCRtpTransceiver will be added to these streams. */ -@property(nonatomic) NSArray *streamIds; - -/** TODO(bugs.webrtc.org/7600): Not implemented. */ -@property(nonatomic) NSArray *sendEncodings; - -@end - -@class RTC_OBJC_TYPE(RTCRtpTransceiver); - -/** The RTCRtpTransceiver maps to the RTCRtpTransceiver defined by the - * WebRTC specification. A transceiver represents a combination of an RTCRtpSender - * and an RTCRtpReceiver that share a common mid. As defined in JSEP, an - * RTCRtpTransceiver is said to be associated with a media description if its - * mid property is non-nil; otherwise, it is said to be disassociated. - * JSEP: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24 - * - * Note that RTCRtpTransceivers are only supported when using - * RTCPeerConnection with Unified Plan SDP. - * - * WebRTC specification for RTCRtpTransceiver, the JavaScript analog: - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCRtpTransceiver) - - /** Media type of the transceiver. The sender and receiver will also have this - * type. - */ - @property(nonatomic, readonly) RTCRtpMediaType mediaType; - -/** The mid attribute is the mid negotiated and present in the local and - * remote descriptions. Before negotiation is complete, the mid value may be - * nil. After rollbacks, the value may change from a non-nil value to nil. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-mid - */ -@property(nonatomic, readonly) NSString *mid; - -/** The sender attribute exposes the RTCRtpSender corresponding to the RTP - * media that may be sent with the transceiver's mid. The sender is always - * present, regardless of the direction of media. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-sender - */ -@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpSender) * sender; - -/** The receiver attribute exposes the RTCRtpReceiver corresponding to the RTP - * media that may be received with the transceiver's mid. The receiver is - * always present, regardless of the direction of media. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-receiver - */ -@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCRtpReceiver) * receiver; - -/** The isStopped attribute indicates that the sender of this transceiver will - * no longer send, and that the receiver will no longer receive. It is true if - * either stop has been called or if setting the local or remote description - * has caused the RTCRtpTransceiver to be stopped. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stopped - */ -@property(nonatomic, readonly) BOOL isStopped; - -/** The direction attribute indicates the preferred direction of this - * transceiver, which will be used in calls to createOffer and createAnswer. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction - */ -@property(nonatomic, readonly) RTCRtpTransceiverDirection direction; - -/** The currentDirection attribute indicates the current direction negotiated - * for this transceiver. If this transceiver has never been represented in an - * offer/answer exchange, or if the transceiver is stopped, the value is not - * present and this method returns NO. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-currentdirection - */ -- (BOOL)currentDirection:(RTCRtpTransceiverDirection *)currentDirectionOut; - -/** The stop method irreversibly stops the RTCRtpTransceiver. The sender of - * this transceiver will no longer send, the receiver will no longer receive. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-stop - */ -- (void)stopInternal; - -/** An update of directionality does not take effect immediately. Instead, - * future calls to createOffer and createAnswer mark the corresponding media - * descriptions as sendrecv, sendonly, recvonly, or inactive. - * https://w3c.github.io/webrtc-pc/#dom-rtcrtptransceiver-direction - */ -- (void)setDirection:(RTCRtpTransceiverDirection)direction error:(NSError **)error; - -@end - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCRtpTransceiver) : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSSLAdapter.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSSLAdapter.h deleted file mode 100644 index a0da827..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSSLAdapter.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -/** - * Initialize and clean up the SSL library. Failure is fatal. These call the - * corresponding functions in webrtc/rtc_base/ssladapter.h. - */ -RTC_EXTERN BOOL RTCInitializeSSL(void); -RTC_EXTERN BOOL RTCCleanupSSL(void); diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h deleted file mode 100644 index d5acafa..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSSLCertificateVerifier.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT @protocol RTC_OBJC_TYPE -(RTCSSLCertificateVerifier) - - /** The certificate to verify */ - - (BOOL)verify : (NSData *)derCertificate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSessionDescription.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSessionDescription.h deleted file mode 100644 index 250dea5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCSessionDescription.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -/** - * Represents the session description type. This exposes the same types that are - * in C++, which doesn't include the rollback type that is in the W3C spec. - */ -typedef NS_ENUM(NSInteger, RTCSdpType) { - RTCSdpTypeOffer, - RTCSdpTypePrAnswer, - RTCSdpTypeAnswer, - RTCSdpTypeRollback, -}; - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCSessionDescription) : NSObject - -/** The type of session description. */ -@property(nonatomic, readonly) RTCSdpType type; - -/** The SDP string representation of this session description. */ -@property(nonatomic, readonly) NSString *sdp; - -- (instancetype)init NS_UNAVAILABLE; - -/** Initialize a session description with a type and SDP string. */ -- (instancetype)initWithType:(RTCSdpType)type sdp:(NSString *)sdp NS_DESIGNATED_INITIALIZER; - -+ (NSString *)stringForType:(RTCSdpType)type; - -+ (RTCSdpType)typeForString:(NSString *)string; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCStatisticsReport.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCStatisticsReport.h deleted file mode 100644 index f8453ca..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCStatisticsReport.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2019 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -@class RTC_OBJC_TYPE(RTCStatistics); - -NS_ASSUME_NONNULL_BEGIN - -/** A statistics report. Encapsulates a number of RTCStatistics objects. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCStatisticsReport) : NSObject - -/** The timestamp of the report in microseconds since 1970-01-01T00:00:00Z. */ -@property(nonatomic, readonly) CFTimeInterval timestamp_us; - -/** RTCStatistics objects by id. */ -@property(nonatomic, readonly) NSDictionary *statistics; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -/** A part of a report (a subreport) covering a certain area. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCStatistics) : NSObject - -/** The id of this subreport, e.g. "RTCMediaStreamTrack_receiver_2". */ -@property(nonatomic, readonly) NSString *id; - -/** The timestamp of the subreport in microseconds since 1970-01-01T00:00:00Z. */ -@property(nonatomic, readonly) CFTimeInterval timestamp_us; - -/** The type of the subreport, e.g. "track", "codec". */ -@property(nonatomic, readonly) NSString *type; - -/** The keys and values of the subreport, e.g. "totalFramesDuration = 5.551". - The values are either NSNumbers or NSStrings or NSArrays encapsulating NSNumbers - or NSStrings, or NSDictionary of NSString keys to NSNumber values. */ -@property(nonatomic, readonly) NSDictionary *values; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCTracing.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCTracing.h deleted file mode 100644 index 899a570..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCTracing.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2016 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -RTC_EXTERN void RTCSetupInternalTracer(void); -/** Starts capture to specified file. Must be a valid writable path. - * Returns YES if capture starts. - */ -RTC_EXTERN BOOL RTCStartInternalCapture(NSString* filePath); -RTC_EXTERN void RTCStopInternalCapture(void); -RTC_EXTERN void RTCShutdownInternalTracer(void); diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCapturer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCapturer.h deleted file mode 100644 index c307a71..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCapturer.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RTC_OBJC_TYPE(RTCVideoCapturer); - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoCapturerDelegate) - - (void)capturer : (RTC_OBJC_TYPE(RTCVideoCapturer) *)capturer didCaptureVideoFrame - : (RTC_OBJC_TYPE(RTCVideoFrame) *)frame; -@end - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoCapturer) : NSObject - -@property(nonatomic, weak) id delegate; - -- (instancetype)initWithDelegate:(id)delegate; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCodecConstants.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCodecConstants.h deleted file mode 100644 index 0277bfc..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCodecConstants.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -RTC_EXTERN NSString* const kRTCVideoCodecVp8Name; -RTC_EXTERN NSString* const kRTCVideoCodecVp9Name; -RTC_EXTERN NSString* const kRTCVideoCodecAv1Name; diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCodecInfo.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCodecInfo.h deleted file mode 100644 index f32c861..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoCodecInfo.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Holds information to identify a codec. Corresponds to webrtc::SdpVideoFormat. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoCodecInfo) : NSObject - -- (instancetype)init NS_UNAVAILABLE; - -- (instancetype)initWithName:(NSString *)name; - -- (instancetype)initWithName:(NSString *)name - parameters:(nullable NSDictionary *)parameters - NS_DESIGNATED_INITIALIZER; - -- (BOOL)isEqualToCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; - -@property(nonatomic, readonly) NSString *name; -@property(nonatomic, readonly) NSDictionary *parameters; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoder.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoder.h deleted file mode 100644 index 9ffde99..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoder.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Callback block for decoder. */ -typedef void (^RTCVideoDecoderCallback)(RTC_OBJC_TYPE(RTCVideoFrame) * frame); - -/** Protocol for decoder implementations. */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoDecoder) - - - (void)setCallback : (RTCVideoDecoderCallback)callback; -- (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores; -- (NSInteger)releaseDecoder; -- (NSInteger)decode:(RTC_OBJC_TYPE(RTCEncodedImage) *)encodedImage - missingFrames:(BOOL)missingFrames - codecSpecificInfo:(nullable id)info - renderTimeMs:(int64_t)renderTimeMs; -- (NSString *)implementationName; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderAV1.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderAV1.h deleted file mode 100644 index a71cce5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderAV1.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2021 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoDecoderAV1) : NSObject - -/* This returns a AV1 decoder that can be returned from a RTCVideoDecoderFactory injected into - * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be - * used independently from the RTCPeerConnectionFactory. - */ -+ (id)av1Decoder; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderFactory.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderFactory.h deleted file mode 100644 index d06188f..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderFactory.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** RTCVideoDecoderFactory is an Objective-C version of webrtc::VideoDecoderFactory. - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoDecoderFactory) - - - (nullable id)createDecoder - : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; -- (NSArray *) - supportedCodecs; // TODO(andersc): "supportedFormats" instead? - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h deleted file mode 100644 index cbdfc85..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderFactoryH264.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoDecoderFactoryH264) : NSObject -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderH264.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderH264.h deleted file mode 100644 index 79c337a..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderH264.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoDecoderH264) : NSObject -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderVP8.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderVP8.h deleted file mode 100644 index 97b19b2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderVP8.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoDecoderVP8) : NSObject - -/* This returns a VP8 decoder that can be returned from a RTCVideoDecoderFactory injected into - * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be - * used independently from the RTCPeerConnectionFactory. - */ -+ (id)vp8Decoder; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderVP9.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderVP9.h deleted file mode 100644 index b8782a5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoDecoderVP9.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoDecoderVP9) : NSObject - -/* This returns a VP9 decoder that can be returned from a RTCVideoDecoderFactory injected into - * RTCPeerConnectionFactory. Even though it implements the RTCVideoDecoder protocol, it can not be - * used independently from the RTCPeerConnectionFactory. - */ -+ (id)vp9Decoder; - -+ (bool)isSupported; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoder.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoder.h deleted file mode 100644 index 2e92154..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoder.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Callback block for encoder. */ -typedef BOOL (^RTCVideoEncoderCallback)(RTC_OBJC_TYPE(RTCEncodedImage) * frame, - id info); - -/** Protocol for encoder implementations. */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoEncoder) - -- (void)setCallback:(nullable RTCVideoEncoderCallback)callback; -- (NSInteger)startEncodeWithSettings:(RTC_OBJC_TYPE(RTCVideoEncoderSettings) *)settings - numberOfCores:(int)numberOfCores; -- (NSInteger)releaseEncoder; -- (NSInteger)encode:(RTC_OBJC_TYPE(RTCVideoFrame) *)frame - codecSpecificInfo:(nullable id)info - frameTypes:(NSArray *)frameTypes; -- (int)setBitrate:(uint32_t)bitrateKbit framerate:(uint32_t)framerate; -- (NSString *)implementationName; - -/** Returns QP scaling settings for encoder. The quality scaler adjusts the resolution in order to - * keep the QP from the encoded images within the given range. Returning nil from this function - * disables quality scaling. */ -- (nullable RTC_OBJC_TYPE(RTCVideoEncoderQpThresholds) *)scalingSettings; - -/** Resolutions should be aligned to this value. */ -@property(nonatomic, readonly) NSInteger resolutionAlignment; - -/** If enabled, resolution alignment is applied to all simulcast layers simultaneously so that when - scaled, all resolutions comply with 'resolutionAlignment'. */ -@property(nonatomic, readonly) BOOL applyAlignmentToAllSimulcastLayers; - -/** If YES, the receiver is expected to resample/scale the source texture to the expected output - size. */ -@property(nonatomic, readonly) BOOL supportsNativeHandle; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderAV1.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderAV1.h deleted file mode 100644 index 34db9a5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderAV1.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2021 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderAV1) : NSObject - -/* This returns a AV1 encoder that can be returned from a RTCVideoEncoderFactory injected into - * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be - * used independently from the RTCPeerConnectionFactory. - */ -+ (id)av1Encoder; - -+ (bool)isSupported; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderFactory.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderFactory.h deleted file mode 100644 index 579a04a..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderFactory.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** RTCVideoEncoderFactory is an Objective-C version of - webrtc::VideoEncoderFactory::VideoEncoderSelector. - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoEncoderSelector) - - - (void)registerCurrentEncoderInfo : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBitrate:(NSInteger)bitrate; -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForBrokenEncoder; - -@optional -- (nullable RTC_OBJC_TYPE(RTCVideoCodecInfo) *)encoderForResolutionChangeBySize:(CGSize)size; - -@end - -/** RTCVideoEncoderFactory is an Objective-C version of webrtc::VideoEncoderFactory. - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoEncoderFactory) - - - (nullable id)createEncoder - : (RTC_OBJC_TYPE(RTCVideoCodecInfo) *)info; -- (NSArray *) - supportedCodecs; // TODO(andersc): "supportedFormats" instead? - -@optional -- (NSArray *)implementations; -- (nullable id)encoderSelector; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h deleted file mode 100644 index c699def..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderFactoryH264.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderFactoryH264) : NSObject -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderH264.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderH264.h deleted file mode 100644 index dc9f619..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderH264.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderH264) : NSObject - -- (instancetype)initWithCodecInfo:(RTC_OBJC_TYPE(RTCVideoCodecInfo) *)codecInfo; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h deleted file mode 100644 index f422c34..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderQpThresholds.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** QP thresholds for encoder. Corresponds to webrtc::VideoEncoder::QpThresholds. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderQpThresholds) : NSObject - -- (instancetype)initWithThresholdsLow:(NSInteger)low high:(NSInteger)high; - -@property(nonatomic, readonly) NSInteger low; -@property(nonatomic, readonly) NSInteger high; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderSettings.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderSettings.h deleted file mode 100644 index efbdb5e..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderSettings.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM(NSUInteger, RTCVideoCodecMode) { - RTCVideoCodecModeRealtimeVideo, - RTCVideoCodecModeScreensharing, -}; - -/** Settings for encoder. Corresponds to webrtc::VideoCodec. */ -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderSettings) : NSObject - -@property(nonatomic, strong) NSString *name; - -@property(nonatomic, assign) unsigned short width; -@property(nonatomic, assign) unsigned short height; - -@property(nonatomic, assign) unsigned int startBitrate; // kilobits/sec. -@property(nonatomic, assign) unsigned int maxBitrate; -@property(nonatomic, assign) unsigned int minBitrate; - -@property(nonatomic, assign) uint32_t maxFramerate; - -@property(nonatomic, assign) unsigned int qpMax; -@property(nonatomic, assign) RTCVideoCodecMode mode; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderVP8.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderVP8.h deleted file mode 100644 index 84ad197..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderVP8.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderVP8) : NSObject - -/* This returns a VP8 encoder that can be returned from a RTCVideoEncoderFactory injected into - * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be - * used independently from the RTCPeerConnectionFactory. - */ -+ (id)vp8Encoder; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderVP9.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderVP9.h deleted file mode 100644 index 3559dbd..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoEncoderVP9.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoEncoderVP9) : NSObject - -/* This returns a VP9 encoder that can be returned from a RTCVideoEncoderFactory injected into - * RTCPeerConnectionFactory. Even though it implements the RTCVideoEncoder protocol, it can not be - * used independently from the RTCPeerConnectionFactory. - */ -+ (id)vp9Encoder; - -+ (bool)isSupported; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoFrame.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoFrame.h deleted file mode 100644 index 01294f5..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoFrame.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM(NSInteger, RTCVideoRotation) { - RTCVideoRotation_0 = 0, - RTCVideoRotation_90 = 90, - RTCVideoRotation_180 = 180, - RTCVideoRotation_270 = 270, -}; - -@protocol RTC_OBJC_TYPE -(RTCVideoFrameBuffer); - -// RTCVideoFrame is an ObjectiveC version of webrtc::VideoFrame. -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoFrame) : NSObject - -/** Width without rotation applied. */ -@property(nonatomic, readonly) int width; - -/** Height without rotation applied. */ -@property(nonatomic, readonly) int height; -@property(nonatomic, readonly) RTCVideoRotation rotation; - -/** Timestamp in nanoseconds. */ -@property(nonatomic, readonly) int64_t timeStampNs; - -/** Timestamp 90 kHz. */ -@property(nonatomic, assign) int32_t timeStamp; - -@property(nonatomic, readonly) id buffer; - -- (instancetype)init NS_UNAVAILABLE; -- (instancetype) new NS_UNAVAILABLE; - -/** Initialize an RTCVideoFrame from a pixel buffer, rotation, and timestamp. - * Deprecated - initialize with a RTCCVPixelBuffer instead - */ -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs - DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); - -/** Initialize an RTCVideoFrame from a pixel buffer combined with cropping and - * scaling. Cropping will be applied first on the pixel buffer, followed by - * scaling to the final resolution of scaledWidth x scaledHeight. - */ -- (instancetype)initWithPixelBuffer:(CVPixelBufferRef)pixelBuffer - scaledWidth:(int)scaledWidth - scaledHeight:(int)scaledHeight - cropWidth:(int)cropWidth - cropHeight:(int)cropHeight - cropX:(int)cropX - cropY:(int)cropY - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs - DEPRECATED_MSG_ATTRIBUTE("use initWithBuffer instead"); - -/** Initialize an RTCVideoFrame from a frame buffer, rotation, and timestamp. - */ -- (instancetype)initWithBuffer:(id)frameBuffer - rotation:(RTCVideoRotation)rotation - timeStampNs:(int64_t)timeStampNs; - -/** Return a frame that is guaranteed to be I420, i.e. it is possible to access - * the YUV data on it. - */ -- (RTC_OBJC_TYPE(RTCVideoFrame) *)newI420VideoFrame; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoFrameBuffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoFrameBuffer.h deleted file mode 100644 index 7efbd2b..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoFrameBuffer.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol RTC_OBJC_TYPE -(RTCI420Buffer); - -// RTCVideoFrameBuffer is an ObjectiveC version of webrtc::VideoFrameBuffer. -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoFrameBuffer) - - @property(nonatomic, readonly) int width; -@property(nonatomic, readonly) int height; - -- (id)toI420; - -@optional -- (id)cropAndScaleWith:(int)offsetX - offsetY:(int)offsetY - cropWidth:(int)cropWidth - cropHeight:(int)cropHeight - scaleWidth:(int)scaleWidth - scaleHeight:(int)scaleHeight; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoRenderer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoRenderer.h deleted file mode 100644 index 3a5b77b..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoRenderer.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#if TARGET_OS_IPHONE -#import -#endif - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class RTC_OBJC_TYPE(RTCVideoFrame); - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoRenderer) - - /** The size of the frame. */ - - (void)setSize : (CGSize)size; - -/** The frame to be displayed. */ -- (void)renderFrame:(nullable RTC_OBJC_TYPE(RTCVideoFrame) *)frame; - -@end - -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoViewDelegate) - - - (void)videoView : (id)videoView didChangeVideoSize - : (CGSize)size; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoSource.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoSource.h deleted file mode 100644 index c7dea6e..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoSource.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -RTC_OBJC_EXPORT - -@interface RTC_OBJC_TYPE (RTCVideoSource) : RTC_OBJC_TYPE(RTCMediaSource) - -- (instancetype)init NS_UNAVAILABLE; - -/** - * Calling this function will cause frames to be scaled down to the - * requested resolution. Also, frames will be cropped to match the - * requested aspect ratio, and frames will be dropped to match the - * requested fps. The requested aspect ratio is orientation agnostic and - * will be adjusted to maintain the input orientation, so it doesn't - * matter if e.g. 1280x720 or 720x1280 is requested. - */ -- (void)adaptOutputFormatToWidth:(int)width height:(int)height fps:(int)fps; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoTrack.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoTrack.h deleted file mode 100644 index 1836816..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoTrack.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2015 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -@protocol RTC_OBJC_TYPE -(RTCVideoRenderer); -@class RTC_OBJC_TYPE(RTCPeerConnectionFactory); -@class RTC_OBJC_TYPE(RTCVideoSource); - -RTC_OBJC_EXPORT -@interface RTC_OBJC_TYPE (RTCVideoTrack) : RTC_OBJC_TYPE(RTCMediaStreamTrack) - -/** The video source for this video track. */ -@property(nonatomic, readonly) RTC_OBJC_TYPE(RTCVideoSource) *source; - -- (instancetype)init NS_UNAVAILABLE; - -/** Register a renderer that will render all frames received on this track. */ -- (void)addRenderer:(id)renderer; - -/** Deregister a renderer. */ -- (void)removeRenderer:(id)renderer; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoViewShading.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoViewShading.h deleted file mode 100644 index aeb49e2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCVideoViewShading.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2017 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - * RTCVideoViewShading provides a way for apps to customize the OpenGL(ES shaders - * used in rendering for the RTCEAGLVideoView/RTCNSGLVideoView. - */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCVideoViewShading) - - /** Callback for I420 frames. Each plane is given as a texture. */ - - (void)applyShadingForFrameWithWidth : (int)width height : (int)height rotation - : (RTCVideoRotation)rotation yPlane : (GLuint)yPlane uPlane : (GLuint)uPlane vPlane - : (GLuint)vPlane; - -/** Callback for NV12 frames. Each plane is given as a texture. */ -- (void)applyShadingForFrameWithWidth:(int)width - height:(int)height - rotation:(RTCVideoRotation)rotation - yPlane:(GLuint)yPlane - uvPlane:(GLuint)uvPlane; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h deleted file mode 100644 index f737702..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/RTCYUVPlanarBuffer.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2018 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/** Protocol for RTCVideoFrameBuffers containing YUV planar data. */ -RTC_OBJC_EXPORT -@protocol RTC_OBJC_TYPE -(RTCYUVPlanarBuffer) - - @property(nonatomic, readonly) int chromaWidth; -@property(nonatomic, readonly) int chromaHeight; -@property(nonatomic, readonly) const uint8_t *dataY; -@property(nonatomic, readonly) const uint8_t *dataU; -@property(nonatomic, readonly) const uint8_t *dataV; -@property(nonatomic, readonly) int strideY; -@property(nonatomic, readonly) int strideU; -@property(nonatomic, readonly) int strideV; - -- (instancetype)initWithWidth:(int)width - height:(int)height - dataY:(const uint8_t *)dataY - dataU:(const uint8_t *)dataU - dataV:(const uint8_t *)dataV; -- (instancetype)initWithWidth:(int)width height:(int)height; -- (instancetype)initWithWidth:(int)width - height:(int)height - strideY:(int)strideY - strideU:(int)strideU - strideV:(int)strideV; - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/UIDevice+RTCDevice.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/UIDevice+RTCDevice.h deleted file mode 100644 index ab477e2..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/UIDevice+RTCDevice.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 2016 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import - -typedef NS_ENUM(NSInteger, RTCDeviceType) { - RTCDeviceTypeUnknown, - RTCDeviceTypeIPhone1G, - RTCDeviceTypeIPhone3G, - RTCDeviceTypeIPhone3GS, - RTCDeviceTypeIPhone4, - RTCDeviceTypeIPhone4Verizon, - RTCDeviceTypeIPhone4S, - RTCDeviceTypeIPhone5GSM, - RTCDeviceTypeIPhone5GSM_CDMA, - RTCDeviceTypeIPhone5CGSM, - RTCDeviceTypeIPhone5CGSM_CDMA, - RTCDeviceTypeIPhone5SGSM, - RTCDeviceTypeIPhone5SGSM_CDMA, - RTCDeviceTypeIPhone6Plus, - RTCDeviceTypeIPhone6, - RTCDeviceTypeIPhone6S, - RTCDeviceTypeIPhone6SPlus, - RTCDeviceTypeIPhone7, - RTCDeviceTypeIPhone7Plus, - RTCDeviceTypeIPhoneSE, - RTCDeviceTypeIPhone8, - RTCDeviceTypeIPhone8Plus, - RTCDeviceTypeIPhoneX, - RTCDeviceTypeIPhoneXS, - RTCDeviceTypeIPhoneXSMax, - RTCDeviceTypeIPhoneXR, - RTCDeviceTypeIPhone11, - RTCDeviceTypeIPhone11Pro, - RTCDeviceTypeIPhone11ProMax, - RTCDeviceTypeIPhone12Mini, - RTCDeviceTypeIPhone12, - RTCDeviceTypeIPhone12Pro, - RTCDeviceTypeIPhone12ProMax, - RTCDeviceTypeIPhoneSE2Gen, - RTCDeviceTypeIPhone13, - RTCDeviceTypeIPhone13Mini, - RTCDeviceTypeIPhone13Pro, - RTCDeviceTypeIPhone13ProMax, - - RTCDeviceTypeIPodTouch1G, - RTCDeviceTypeIPodTouch2G, - RTCDeviceTypeIPodTouch3G, - RTCDeviceTypeIPodTouch4G, - RTCDeviceTypeIPodTouch5G, - RTCDeviceTypeIPodTouch6G, - RTCDeviceTypeIPodTouch7G, - RTCDeviceTypeIPad, - RTCDeviceTypeIPad2Wifi, - RTCDeviceTypeIPad2GSM, - RTCDeviceTypeIPad2CDMA, - RTCDeviceTypeIPad2Wifi2, - RTCDeviceTypeIPadMiniWifi, - RTCDeviceTypeIPadMiniGSM, - RTCDeviceTypeIPadMiniGSM_CDMA, - RTCDeviceTypeIPad3Wifi, - RTCDeviceTypeIPad3GSM_CDMA, - RTCDeviceTypeIPad3GSM, - RTCDeviceTypeIPad4Wifi, - RTCDeviceTypeIPad4GSM, - RTCDeviceTypeIPad4GSM_CDMA, - RTCDeviceTypeIPad5, - RTCDeviceTypeIPad6, - RTCDeviceTypeIPadAirWifi, - RTCDeviceTypeIPadAirCellular, - RTCDeviceTypeIPadAirWifiCellular, - RTCDeviceTypeIPadAir2, - RTCDeviceTypeIPadMini2GWifi, - RTCDeviceTypeIPadMini2GCellular, - RTCDeviceTypeIPadMini2GWifiCellular, - RTCDeviceTypeIPadMini3, - RTCDeviceTypeIPadMini4, - RTCDeviceTypeIPadPro9Inch, - RTCDeviceTypeIPadPro12Inch, - RTCDeviceTypeIPadPro12Inch2, - RTCDeviceTypeIPadPro10Inch, - RTCDeviceTypeIPad7Gen10Inch, - RTCDeviceTypeIPadPro3Gen11Inch, - RTCDeviceTypeIPadPro3Gen12Inch, - RTCDeviceTypeIPadPro4Gen11Inch, - RTCDeviceTypeIPadPro4Gen12Inch, - RTCDeviceTypeIPadMini5Gen, - RTCDeviceTypeIPadAir3Gen, - RTCDeviceTypeIPad8, - RTCDeviceTypeIPad9, - RTCDeviceTypeIPadMini6, - RTCDeviceTypeIPadAir4Gen, - RTCDeviceTypeIPadPro5Gen11Inch, - RTCDeviceTypeIPadPro5Gen12Inch, - RTCDeviceTypeSimulatori386, - RTCDeviceTypeSimulatorx86_64, -}; - -@interface UIDevice (RTCDevice) - -+ (RTCDeviceType)deviceType; -+ (BOOL)isIOS11OrLater; - -@end diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/WebRTC.h b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/WebRTC.h deleted file mode 100644 index cfcf8ee..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Headers/WebRTC.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright 2022 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import -#import diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Info.plist b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Info.plist deleted file mode 100644 index 1e71940..0000000 Binary files a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Info.plist and /dev/null differ diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Modules/module.modulemap b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Modules/module.modulemap deleted file mode 100644 index cd485a4..0000000 --- a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module WebRTC { - umbrella header "WebRTC.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/WebRTC b/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/WebRTC deleted file mode 100755 index 8ee4b8c..0000000 Binary files a/sampleiOS/Pods/EnablexWebRTC/EnablexWebRTC/WebRTC.framework/WebRTC and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/.DS_Store b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/.DS_Store deleted file mode 100644 index f7b4744..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/.DS_Store and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxCustomEvent.txt b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxCustomEvent.txt deleted file mode 100644 index 8a76e09..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxCustomEvent.txt +++ /dev/null @@ -1,472 +0,0 @@ -{ - "event_ice_failed": { - "event_code": "4000", - "severity": "critical", - "event_name": "ice-failed" - }, - "event_ice_success": { - "event_code": "40001", - "severity": "success", - "event_name": "ice-success" - }, - "event_stream_subscribe_failed": { - "event_code": "4001", - "severity": "high", - "event_name": "stream-subscribe-failed" - }, - "event_stream_subscribe_success": { - "event_code": "40011", - "severity": "success", - "event_name": "stream-subscribe-success" - }, - "event_stream_unsubscribe_failed": { - "event_code": "4002", - "severity": "high", - "event_name": "stream-unsubscribe-failed" - }, - "event_stream_unsubscribe_success": { - "event_code": "40021", - "severity": "success", - "event_name": "stream-unsubscribe-success" - }, - "event_socket_connect_failed": { - "event_code": "4003", - "severity": "critical", - "event_name": "socket-connect-failed" - }, - "event_socket_connect_success": { - "event_code": "40031", - "severity": "success", - "event_name": "socket-connect-success" - }, - "event_stream_publish_failed": { - "event_code": "4004", - "severity": "high", - "event_name": "stream-publish-failed" - }, - "event_stream_publish_success": { - "event_code": "40041", - "severity": "success", - "event_name": "stream-publish-success" - }, - "event_stream_unpublish_failed": { - "event_code": "4005", - "severity": "high", - "event_name": "stream-unpublish-failed" - }, - "event_stream_unpublish_success": { - "event_code": "40051", - "severity": "success", - "event_name": "stream-unpublish-success" - }, - "event_start_recording_failed": { - "event_code": "4006", - "severity": "high", - "event_name": "start-recording-failed" - }, - "event_start_recording_success": { - "event_code": "40061", - "severity": "success", - "event_name": "start-recording-success" - }, - "event_stop_recording_failed": { - "event_code": "4007", - "severity": "high", - "event_name": "stop-recording-failed" - }, - "event_stop_recording_success": { - "event_code": "40071", - "severity": "success", - "event_name": "stop-recording-success" - }, - "event_start_screenshare_failed": { - "event_code": "4008", - "severity": "high", - "event_name": "start-screenshare-failed" - }, - "event_start_screenshare_success": { - "event_code": "40081", - "severity": "success", - "event_name": "start-screenshare-success" - }, - "event_agent_start_screenshare_failed": { - "event_code": "40081", - "severity": "high", - "event_name": "agent-start-screenshare-failed" - }, - "event_stop_screenshare_failed": { - "event_code": "4009", - "severity": "high", - "event_name": "stop-screenshare-failed" - }, - "event_stop_screenshare_success": { - "event_code": "40091", - "severity": "success", - "event_name": "stop-screenshare-success" - }, - "event_start_canvas_failed": { - "event_code": "4010", - "severity": "high", - "event_name": "start-canvas-failed" - }, - "event_start_canvas_success": { - "event_code": "40101", - "severity": "success", - "event_name": "start-canvas-success" - }, - "event_stop_canvas_failed": { - "event_code": "4011", - "severity": "high", - "event_name": "stop-canvas-failed" - }, - "event_stop_canvas_success": { - "event_code": "40111", - "severity": "success", - "event_name": "stop-canvas-success" - }, - "event_remote_canvas_stream_success": { - "event_code": "000", - "severity": "success", - "event_name": "remote-canvas-stream-success" - }, - "event_capture_canvas_stream_success": { - "event_code": "000", - "severity": "success", - "event_name": "capture-canvas-stream-success" - }, - "event_network_reconnect_timeout_failed": { - "event_code": "4012", - "severity": "high", - "event_name": "network-reconnect-timeout-failed" - }, - "event_send_message_failed": { - "event_code": "4013", - "severity": "high", - "event_name": "send-message-failed" - }, - "event_send_message_success": { - "event_code": "40131", - "severity": "success", - "event_name": "send-message-success" - }, - "event_reconnect_socket_failed": { - "event_code": "4014", - "severity": "high", - "event_name": "reconnect-socket-failed" - }, - "event_reconnect_socket_error_failed": { - "event_code": "4015", - "severity": "high", - "event_name": "reconnect-socket-error-failed" - }, - "event_reconnecting_socket_failed": { - "event_code": "4016", - "severity": "high", - "event_name": "reconnecting-socket-failed" - }, - "event_reconnected_socket_failed": { - "event_code": "4017", - "severity": "high", - "event_name": "reconnected-socket-failed" - }, - "event_send_data_failed": { - "event_code": "4018", - "severity": "high", - "event_name": "send-data-failed" - }, - "event_send_data_success": { - "event_code": "40181", - "severity": "success", - "event_name": "send-data-success" - }, - "event_media_access_denied": { - "event_code": "4019", - "severity": "high", - "event_name": "media-access-denied-failed" - }, - "event_media_access_success": { - "event_code": "40191", - "severity": "success", - "event_name": "media-access-allowed-success" - }, - "event_agent_media_access_denied": { - "event_code": "40191", - "severity": "high", - "event_name": "agent-media-access-denied-failed" - }, - "event_gum_failed": { - "event_code": "4020", - "severity": "critical", - "event_name": "gum-failed" - }, - "event_gum_success": { - "event_code": "40201", - "severity": "success", - "event_name": "gum-success" - }, - "event_agent_gum_failed": { - "event_code": "40201", - "severity": "critical", - "event_name": "agent-gum-failed" - }, - "event_audio_device_access_failed": { - "event_code": "4021", - "severity": "high", - "event_name": "audio-device-access-failed" - }, - "event_audio_device_access_success": { - "event_code": "40211", - "severity": "success", - "event_name": "audio-device-access-success" - }, - "event_agent_audio_device_access_failed": { - "event_code": "40211", - "severity": "high", - "event_name": "agent-audio-device-access-failed" - }, - "event_video_device_access_failed": { - "event_code": "4022", - "severity": "high", - "event_name": "video-device-access-failed" - }, - "event_video_device_access_success": { - "event_code": "40221", - "severity": "success", - "event_name": "video-device-access-success" - }, - "event_agent_video_device_access_failed": { - "event_code": "40221", - "severity": "high", - "event_name": "agent-video-device-access-failed" - }, - "event_remote_canvas_stream_failed": { - "event_code": "4023", - "severity": "high", - "event_name": "agent-remote-canvas-stream-failed" - }, - "event_capture_canvas_stream_failed": { - "event_code": "4024", - "severity": "high", - "event_name": "agent-capture-canvas-stream-failed" - }, - "event_set_local_description": { - "event_code": "4025", - "severity": "high", - "event_name": "set-local-description-failed" - }, - "event_set_local_description_success": { - "event_code": "40251", - "severity": "success", - "event_name": "set-local-description-success" - }, - "event_set_remote_description": { - "event_code": "4026", - "severity": "high", - "event_name": "set-remote-description-failed" - }, - "event_set_remote_description_success": { - "event_code": "40261", - "severity": "success", - "event_name": "set-remote-description-success" - }, - "event_reconnect_subscribe_failed": { - "event_code": "4027", - "severity": "high", - "event_name": "reconnect-subscribe-failed" - }, - "event_reconnect_publish_failed": { - "event_code": "4028", - "severity": "high", - "event_name": "reconnect-publish-failed" - }, - "event_agent_incompatible_browser_failed": { - "event_code": "4029", - "severity": "high", - "event_name": "agent-incompatible-browser-failed" - }, - "event_start_annotation_success": { - "event_code": "40121", - "severity": "success", - "event_name": "start-annotation-success" - }, - "event_stop_annotation_success": { - "event_code": "40131", - "severity": "success", - "event_name": "stop-annotation-success" - }, - "event_start_annotation_failed": { - "event_code": "4012", - "severity": "high", - "event_name": "start-annotation-failed" - }, - "event_stop_annotation_failed": { - "event_code": "4013", - "severity": "high", - "event_name": "stop-annotation-failed" - }, - "event_reconnect_socket_failed": { - "event_code": "4014", - "severity": "critical", - "event_name": "reconnect-socket-failed" - }, - "event_reconnect_socket_success": { - "event_code": "40141", - "severity": "success", - "event_name": "reconnect-socket-success" - }, - "event_room_connection_success": { - "event_code": "40301", - "severity": "success", - "event_name": "room-connection-success" - }, - "event_room_connection_failed": { - "event_code": "4030", - "severity": "critical", - "event_name": "room-connection-failed" - }, - "event_room_reconnection_failed": { - "event_code": "4031", - "severity": "high", - "event_name": "room-reconnection-failed" - }, - "event_room_reconnection_success": { - "event_code": "4031", - "severity": "success", - "event_name": "room-reconnection- success" - }, - "event_room_disconnection_failed": { - "event_code": "4032", - "severity": "critical", - "event_name": "room-disconnection-failed" - }, - "event_room_disconnection_success": { - "event_code": "40321", - "severity": "success", - "event_name":"room-disconnection-success" - }, - "event_mute_self_audio_failed": { - "event_code": "4033", - "severity": "high", - "event_name": "mute-self-audio-failed" - }, - "event_mute_self_audio_success": { - "event_code": "40331", - "severity": "success", - "event_name": "mute-self-audio-success" - }, - "event_unmute_self_audio_failed": { - "event_code": "4034", - "severity": "high", - "event_name": "unmute-self-audio-failed" - }, - "event_unmute_self_audio_success": { - "event_code": "40431", - "severity": "success", - "event_name": "unmute-self-audio-success" - }, - "event_room_mute_failed": { - "event_code": "4035", - "severity": "high", - "event_name": "room-mute-failed" - }, - "event_room_mute_success": { - "event_code": "40351", - "severity": "success", - "event_name": "room-mute-success" - }, - "event_room_unmute_failed": { - "event_code": "4036", - "severity": "high", - "event_name": "room-unmute-failed" - }, - "event_room_unmute_success": { - "event_code": "40361", - "severity": "success", - "event_name": "room-unmute-success" - }, - "event_file_shared_failed": { - "event_code": "4037", - "severity": "high", - "event_name": "file-shared-failed" - }, - "event_file_shared_success": { - "event_code": "40371", - "severity": "success", - "event_name": "file-shared-success" - }, - "event_file_downlod_failed": { - "event_code": "4038", - "severity": "high", - "event_name": "file-downlod-failed" - }, - "event_file_downlod_success": { - "event_code": "40381", - "severity": "success", - "event_name": "file-downlod-success" - }, - "event_mute_self_video_failed": { - "event_code": "4039", - "severity": "high", - "event_name": "mute-self-video-failed" - }, - "event_mute_self_video_success": { - "event_code": "40391", - "severity": "success", - "event_name": "mute-self-video-success" - }, - "event_unmute_self_video_failed": { - "event_code": "4040", - "severity": "high", - "event_name": "unmute-self-video-failed" - }, - "event_unmute_self_video_success": { - "event_code": "40401", - "severity": "success", - "event_name": "unmute-self-video-success" - }, - "event_low_bandwidth_update": { - "event_code": "4042", - "severity": "high", - "event_name": "low-bandwidth-update" - }, - "event_network_changes": { - "event_code": "4043", - "severity": "high", - "event_name": "network-changes" - }, - "event_current_connected_network": { - "event_code": "4044", - "severity": "high", - "event_name": "current-connected-network" - }, - "event_connection_lost": { - "event_code": "4045", - "severity": "high", - "event_name": "connection-lost" - }, - "event_make_outbound_call_failed": { - "event_code": "4044", - "severity": "high", - "event_name": "make-outbound-call-failed" - }, - "event_make_outbound_call_success": { - "event_code": "40441", - "severity": "high", - "event_name": "make-outbound-call-success" - }, - "event_make_outbound_call_state": { - "event_code": "4045", - "severity": "high", - "event_name": "make-outbond-call-state" - }, - "event_page_talker": { - "event_code": "4046", - "severity": "high", - "event_name": "page_talker" - }, - "event_Live_recording": { - "event_code": "4047", - "severity": "high", - "event_name": "live_recording" - } -} diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxEventFormate.txt b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxEventFormate.txt deleted file mode 100644 index dbd8ce5..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxEventFormate.txt +++ /dev/null @@ -1,33 +0,0 @@ - { - "eventLog" : { - "key" : { - "logID" : "Token has logID", - "endpointType" : "iOS", - "instanceID" : "Token has logID", - "uniqueSequence" : 1, - "sdkVersion": "1.0.0", - "osVersion" : "10.0.0", - "deviceName": "Iphone" - }, - "eventLevel" : [ - "error", - "stream-event" - ], - "eventMeta" : { - "event" : { - "event_code" : "000", - "severity" : "critical", - "event_name" : "gum-failed" - }, - "meta" : { - "error" : { - "result" : 1145, - "error" : "Could not start video source", - "desc" : "NotReadableError: Could not start video source" - } - } - }, - "isAnonymousInfo" : true, - "sourceTimeStamp" : "2019-11-05T07:31:05.110Z" - } - } diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxLog.txt b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxLog.txt deleted file mode 100644 index 163b4d3..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxLog.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxRTCiOS b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxRTCiOS deleted file mode 100755 index 348a72b..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/EnxRTCiOS and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxATListView.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxATListView.h deleted file mode 100644 index fd1a5a8..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxATListView.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// EnxATListView.h -// EnxRTCiOS -// -// Created by VCX-LP-11 on 27/05/20. -// Copyright © 2020 Enablex. All rights reserved. -// - -#import -#import "EnxStream.h" - -NS_ASSUME_NONNULL_BEGIN - -@protocol EnxTalkerStreamDelegate - -(void)didSelectedStreamAtIndex:(EnxStream*)stream; -@end -@interface EnxATListView : UIView -@property (weak, nonatomic) id playerDelegate; -@property(weak,nonatomic) id delegate; - - --(id)initWithFrame:(CGRect)frame; --(void)updateView:(NSArray* _Nonnull)array; --(void)preapareATView:(NSArray * _Nonnull)list; --(void)updateLoayout; --(void)switchATView:(BOOL)isList; --(void)forceUpdate; --(EnxStream*)getStream:(NSString* _Nonnull)clientID; --(void)highlightBorderColorForClient:(NSArray*_Nonnull)clientIDs; --(void)chnageBGColorForClient:(NSArray*_Nonnull)clientIDs withColor:(UIColor* _Nonnull)color; - - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClient+Internal.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClient+Internal.h deleted file mode 100644 index 49ef7c5..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClient+Internal.h +++ /dev/null @@ -1,12 +0,0 @@ -#import "EnxClient.h" -#import "EnxSignalingMessage.h" -#import "EnxRoom.h" -@interface EnxClient () - -@property(nonatomic, strong) RTCPeerConnection *peerConnection; -@property(nonatomic, assign) BOOL hasReceivedSdp; -@property(nonatomic, assign) BOOL isInitiator; - - -@end - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClient.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClient.h deleted file mode 100644 index d22d536..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClient.h +++ /dev/null @@ -1,87 +0,0 @@ -@import WebRTC; -#import -#import "EnxSignalingChannel.h" -#import "EnxClientDelegate.h" -#import "EnxClientState.h" -#import "EnxRoom.h" - -typedef RTCSessionDescription * (^SDPHackCallback)(RTCSessionDescription *description); - -static SDPHackCallback sdpHackCallback; -static NSString *preferredVideoCodec; - - -/** - Returns *EnxClientState* stringified. - - @param state EnxClientState. - - @return NSString* - */ -extern NSString* clientStateToString(EnxClientState state); - -@class EnxClient; -@class EnxRoom; - -///----------------------------------- -/// @name EnxClient Interface -///----------------------------------- - -@interface EnxClient : NSObject - -///----------------------------------- -/// @name Properties -///----------------------------------- -@property(weak,nonatomic)EnxRoom *enxRoom; -/// EnxClientDelegate instance. -@property (weak, nonatomic) id delegate; -/// Local Stream assigned to this client. -//@property (weak, nonatomic) RTCMediaStream *localStream; -/// Max bitrate allowed for this client to use. -@property NSNumber *maxBitrate; -/// Should bitrate be limited to `maxBitrate` value? -@property BOOL limitBitrate; -/// Peer socket id assigned by Enx for signaling P2P connections. -@property NSString *peerSocketId; -/// The streamId -@property NSString *streamId; -@property (nonatomic,readonly) int maxNumberOfLayers; -@property (nonatomic,readonly) int maxbandWidth; -@property (nonatomic,strong) NSString *peerId; -@property (nonatomic,strong) NSString *subscriberLayout; -@property (nonatomic,strong) NSMutableArray *iceArray; -///----------------------------------- -/// @name Initializers -///----------------------------------- - --(void)getPara; - -//- (instancetype)initWithDelegate:(id)delegate; -// for Publisger Stream -- (instancetype)initPublishClientWithDelegate:(id)delegate withEnxRoom:(EnxRoom *)room withMaxVideoLayers:(int)layer withMaxBandWidth:(int)bandWidth; - -// for Subscriber Stream --(instancetype)initSubscriberClientWithDelegate:(id)delegate withEnxRoom:(EnxRoom *)room withLayout:(NSString*)layout; - -// for CanVas Stream --(instancetype)initCanvasClientWithDelegate:(id)delegate withEnxRoom:(EnxRoom *)room; - -// for Screen Share Stream --(instancetype)initScreenShareClientWithDelegate:(id)delegate withEnxRoom:(EnxRoom *)room; - -///----------------------------------- -/// @name Instance Methods -///----------------------------------- - -- (void)disconnect; - -///----------------------------------- -/// @name Class Methods -///----------------------------------- - -+ (void)setPreferredVideoCodec:(NSString *)codec; -+ (NSString *)getPreferredVideoCodec; -+ (void)hackSDPWithBlock:(SDPHackCallback)callback; --(void)resetSDPonClient:(NSString *)mediaConfigurationCodec bandWidth:(NSInteger)bandWidth; --(void)setClientBitrate; -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClientDelegate.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClientDelegate.h deleted file mode 100644 index e2862d3..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClientDelegate.h +++ /dev/null @@ -1,32 +0,0 @@ -@import WebRTC; -#import "EnxClientState.h" - -@class EnxClient; - -///----------------------------------- -/// @protocol EnxClientDelegate Protocol -///----------------------------------- - -/** - @protocol EnxClientDelegate - - Classes that implement this protocol will be called for RTC Client - event notification. - - */ -@protocol EnxClientDelegate - -- (void)appClient:(EnxClient *)client didChangeState:(EnxClientState)state; -- (void)appClient:(EnxClient *)client didChangeConnectionState:(RTCIceConnectionState)state; -- (void)appClient:(EnxClient *)client didReceiveRemoteStream:(RTCMediaStream *)remoteStream - withStreamId:(NSString *)streamId; -- (void)appClient:(EnxClient *)client didError:(NSError *)error; -- (RTCMediaStream *)streamToPublishByAppClient:(EnxClient *)client; -- (RTCMediaStream *)streamToCanvasPublishByAppClient:(EnxClient *)client; -- (RTCMediaStream *)canVasStreamToPublishByAppClient:(EnxClient *)client; -- (NSDictionary *)appClientRequestICEServers:(EnxClient *)client; --(void)ICEConnectionFailed:(NSString *)streamID; --(void)networkSwitched; -- (RTCMediaStream *)streamToShareScreenPublishByAppClient:(EnxClient *)client; - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClientState.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClientState.h deleted file mode 100644 index f312796..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxClientState.h +++ /dev/null @@ -1,13 +0,0 @@ -/** - @enum EnxClientState - */ -typedef NS_ENUM(NSInteger, EnxClientState) { - /// Disconnected - EnxClientStateDisconnected, - /// Ready to signaling - EnxClientStateReady, - /// Signaling proccess - EnxClientStateConnecting, - /// Signlaning done - EnxClientStateConnected, -}; diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxContants.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxContants.h deleted file mode 100644 index c6f814a..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxContants.h +++ /dev/null @@ -1,318 +0,0 @@ -// -// EnxContants.h -// EnxiOS_SampleApp -// -// Created by Enablex on 06/07/18. -// Copyright © 2018 Vcloudx. All rights reserved. -// - -#ifndef EnxContants_h -#define EnxContants_h - -/* EnxStream */ -#define kEnxAudioLabel @"LCMSa0" -#define kEnxVideoLabel @"LCMSv0" - -/// Video option -#define kStreamOptionVideo @"video" -/// Audio option -#define kStreamOptionAudio @"audio" -/// Data option -#define kStreamOptionData @"data" -/// minVideoBW -#define kStreamOptionMinVideoBW @"minVideoBW" -/// maxVideoBW -#define kStreamOptionMaxVideoBW @"maxVideoBW" -/// scheme -#define kStreamOptionScheme @"scheme" -/// maxHeight -#define kStreamOptionMaxHeight @"maxHeight" -/// maxWidth -#define kStreamOptionMaxWidth @"maxWidth" -/// minHeight -#define kStreamOptionMinHeight @"minHeight" -/// minWidth -#define kStreamOptionMinWidth @"minWidth" - -// Simulcast -#define ksimulcastOption @"maxVideoLayers" - -// AudioMuted -#define kAudioMuted @"audioMuted" - -//VideoMuted -#define kVideoMuted @"videoMuted" - -//Audio Only -#define kaudio_only @"audio_only" - - - -/* EnxRoom */ -#define kRTCStatsTypeSSRC @"ssrc" -#define kRTCStatsBytesSent @"bytesSent" -#define kRTCStatsLastDate @"lastDate" -#define kRTCStatsMediaTypeKey @"mediaType" -#define kRTCStatsTypegoogCandidatePair @"googCandidatePair" -#define kRTCStatsgoogActiveConnection @"googActiveConnection" -#define kRTCStatsgoogLocalAddress @"googLocalAddress" -#define kRTCStatsgoogRemoteAddress @"googRemoteAddress" -#define kRTCStatsgoogCodecName @"googCodecName" -#define kRTCStatslocalcandidate @"localcandidate" -#define kRTCStatsnetworkType @"networkType" -#define kRTCStatsipAddress @"ipAddress" -#define kSteamMuteAudio @"streamAudioMute" -#define kSteamUnMuteAudio @"streamAudioUnMute" -#define kSteamMuteVideo @"streamVideoMute" -#define kSteamUnMuteVideo @"streamVideoUnMute" -#define kAudioAccessDeny @"audioAccessDeny" -#define kVideoAccessDeny @"videoAccessDeny" -#define kAudioVideoAccessDeny @"AudiovideoAccessDeny" -#define kcameraSwitchDeny @"CameraSwitchDeny" -#define kCameraOpenDeny @"CameraOpenDeny" -#define kNoNetworkConnection @"No internet" -#define kwifiNetworkConnection @"wifi" -#define k4gNetworkConnection @"4G" -#define k3gNetworkConnection @"3G" -#define k2gNetworkConnection @"2G" -#define kFaildNetworkConnection @"Faild to get connection on Simulator" - -#define kswitchedNetwork @"NetworkChange" -#define kmaxVideoDeny @"MaxVideoDeny" - -#define kFrameRate @"framerate" -//#define kMinWidthResolution (1280) -//#define kMaxWidthResolution (1280) -//#define kMinHeightResolution (720) -//#define kMaxHeightResolution (720) - -#define kMinWidthResolution (320) -#define kMaxWidthResolution (640) -#define kMinHeightResolution (180) -#define kMaxHeightResolution (480) -#define kMaxBW (1500) -#define kMinBW (150) -//size.width = 1280; -//size.height = 720; -/// Event State Mechanism - -//******Publish*****// - - #define kPublish @"publish" - #define kPublish_In_Progress @"publish_in_progress" - #define kPublished @"published" -//******UnPublish*****// - #define kUnPublish @"unPublish" - #define kUnPublish_In_Progress @"unPublish_in_progress" -//******Subscribe*****// - - #define kSubscribe @"subscribe" - #define kSubscribing @"subscribing" - #define kSubscribed @"subscribed" -//******UnSubscribe*****// - #define kUnSubscribe @"unSubscribe" - #define kUnSubscribe_In_Progress @"unSubscribe_in_progress" - -//******Disconnect*****// - #define kDisconnect @"disconnect" - #define kDisconnect_In_Progress @"disconnecting" - #define kDisconnected @"disconnected" - -//******Recording*****// - #define kRecord @"startrecord" - #define kRecording_In_Progress @"recording_in_progress" - #define kRecording @"recording" - #define kRecording_Stopping @"recordingstopping" - -//******Mute/Unmute Room*****// - #define kMuteRoom @"muteroom" - #define kMuteRoom_In_Progress @"muteroom_in_progress" - #define kMutedRoom @"mutedroom" - #define kUnMuteRoom_In_Progress @"unmuteroom_in_progress" - -//******Floor Request *****// - #define kRequestFloor @"requestfloor" - #define kRequestFloor_In_Progress @"requestfloor_in_progress" - #define kRequestedFloor @"requestedfloor" - #define kRequestFloorAccepted @"requestflooraccepted" - -//******Floor Grant *****// - #define kGrant_Floor_Request @"grantfloorrequest" - #define kGrant_Floor_Request_In_Progress @"grantingfloorrequest" - #define kGranted_Floor_Request @"grantedfloorrequest" - -//******Floor Deny *****// -// #define kDeny_Floor_Request @"denyfloorrequest" -// #define kDeny_Floor_Request_In_Progress @"deningfloorrequest" -// #define kDenied_Floor_Request @"deniedfloorrequest" - -//******Floor Release *****// - // #define kRelease_Floor_Request_In_Progress @"deningfloorrequest" - - -//******Floor Cancle *****// - #define kCancle_Floor_Request @"cancelfloor" - #define kCancle_Floor_Request_In_Progress @"cancelfloor_in_progress" - -//******Floor Finished *****// - #define kFinish_Floor_Request @"finishfloor" - #define kFinish_Floor_Request_In_Progress @"finishfloor_in_progress" -//******Change to audio only*****// - - #define kChange_To_Audio @"change_to_audio" - #define kChange_To_Audio_In_Progress @"change_to_audio_in_progress" - #define kChanged_To_Audio @"changed_to_audio" - #define kChanged_To_AudioVideo_In_Progress @"changed_to_audiovideo_in_progress" - -//******Set active talker*****// - - #define kSet_Active_Talker @"set_active_talker" - #define kSet_Active_Talker_In_Progress @"activetalker_in_progress" - -//******Send Logs*****// - #define kSendLog @"sendlogs" - #define kSendLog_In_Progress @"sendlogs_in_progress" - -//******Self Mute Audio*****// - #define kSelf_Mute_Audio @"self_mute_audio" - #define kSelf_Mute_Audio_Request_In_Progress @"self_mute_audio_in_progress" - #define kSelf_Muted_Audio @"self_muted_audio" - #define kSelf_Not_muted @"selfnotmuted" - #define kHARD_MUTE_AUDIO @"hard_mute_audio" - -//******Self UnMute Audio*****// - #define kSelf_UnMute_Audio @"self_unmute_audio" - #define kSelf_UnMute_Audio_Request_In_Progress @"self_unmute_audio_in_progress" - #define kSelf_UnMuted_Audio @"self_unmuted_audio" - - -//******Self Mute Video*****// - #define kSelf_Mute_Video @"selfmutevideo" - #define kSelf_Mute_Video_Request_In_Progress @"self_mute_video_in_progress" - #define kSelf_Muted_Video @"self_muted_video" - #define kSelf_Not_muted_Video @"selfnotmutedVideo" - #define kHARD_MUTE_Video @"single_hardmute_video" - #define kAudioOnly_Room @"AudioOnlyRoom" - -//******Self UnMute Audio*****// - #define kSelf_UnMute_Video @"self_unmute_video" - #define kSelf_UnMute_Video_Request_In_Progress @"self_unmute_video_in_progress" - #define kSelf_UnMuted_Video @"self_unmuted_video" - -//******Canvas Observer*****// - -#define kIsCanvasStarted @"IsCanvasStarted" -#define kTextEditDone @"EditDone" -#define kTextOption @"DoenSelection" -#define kreannotatePoint @"reannotatePoint" -#define kfinishreannotate @"finishreannotate" -#define kSingleUndo @"singleAnnotationundo" -#define kfinishedUndo @"finishedUndo" -#define kUndoAll @"undoAll" -#define kfinishedAllUndo @"finishedAllUndo" - -//******Player Observer*****// - -#define kIsStatsUnable @"isStatsUnable" - -/*** Stats State ***/ - -#define kSubscribeStats @"subscribeStats" -#define kSubscribeStatsinProgress @"subscribeStatsInProgress" -#define kSubscribedStats @"subscribedStats" -#define kStopSubscribeStatsinProgress @"StopsubsubscribeStatsInProgress" - -/*** Reconnect State ***/ -#define kReconnect @"reconnect" -#define kReconnectInProgress @"reconnectInProgress" - - -/*** Reconnect State ***/ -#define kCaptchaOn @"startcaptcha" -#define kCaptchaOff @"stopcaptcha" - -/* - Outbound Call - */ -#define kStartOutBoundCall @"startCall" -#define kOutBoundCallInProgress @"callInProgress" -#define kOutBoundCallEnd @"callEnd" -/* Annotation*/ -#define kStartAnnotation @"StartAnnotation" -#define kStartAnnotationInProgress @"StartAnnotationInProgress" -#define kStartAnnotationStartted @"StartAnnotationStarted" - -//******Lock/Unlock Room*****// -#define kLockRoom @"lockroom" -#define kLockRoom_In_Progress @"Lockroom_in_progress" -#define kLockdRoom @"Lockdroom" -#define kUnLockRoom_In_Progress @"unLockroom_in_progress" - -/* Canvas*/ -#define kStartCanvas @"StartCanvas" -#define kStartCanvasInProgress @"StartCanvasInProgress" -#define kStartCanvasStartted @"StartCanvasStarted" - - -/*Live Streaming*/ -#define kStartStreaming @"StartStreaming" -#define kStartStreamingInProgress @"StartStreamingInProgress" -#define kStartStreamingStarted @"StartStreamingStarted" -#define kStreamingStopping @"Streamingstopping" - -/* Screen Share*/ -#define kStartScreenShare @"StartScreenShare" -#define kStartScreenShareInProgress @"StartScreenShareInProgress" -#define kStartScreenShareStartted @"StartScreenShareStarted" -#define kStopScreenShareInProgress @"StopScreenShareInProgress" - -/* Speaker- Notification*/ -#define kStartSpeakerNotification @"StartSpeaker-Notification" -#define kStartSpeakerNotificationInProgress @"StartSpeaker-NotificationInProgress" -#define kStartSpeakerNotificationStartted @"StartSpeaker-NotificationStarted" -#define kStopSpeakerNotificationInProgress @"StopSpeaker-NotificationInProgress" - -/* Live- Recording*/ -#define kStartliveRecording @"startliverecording" -#define kStartliveRecordingInProgress @"startliverecordingInProgress" -#define kStartliveRecordingStartted @"startliverecordingStarted" -#define kStopliveRecordingInProgress @"stopliverecordingInProgress" - - -/* Pause/Resume Room*/ -#define kpauseRoom @"PauseRoom" -#define kpauseRoomInProgress @"pauseRoomInProgress" -#define kRoomPaused @"roomPaused" -#define kRoomResumeInProgress @"roomResumeInProgress" - - -/* Mute/unMute Room*/ -#define kRoomMute @"roommute" -#define kRoomMuteInProgress @"roommuteInProgress" -#define kRoomMuted @"roommuted" -#define kRoomUnMuteInProgress @"roomUnMuteInProgress" - - -/* Subscribe Unsubscribe Page Video*/ - #define kSubscribePageVideo @"subscribePageVideo" - #define kSubscribePageVideoInProgress @"SubscribePageVideoInProgress" - #define kSubscribedPageVideo @"SubscribedPageVideo " - #define kUnSubscribePageVideoProgress @"UnSubscribePageVideoProgress" - -/* PSTN call*/ - - #define kCallStarted @"callStarted" - #define kCallInProgress @"CallInProgress" - #define kCancelCallInProgress @"CancelCallInProgress" - -/*Speach to Text **/ - -#define kStartLiveTranscription @"startLiveTranscription" -#define kStartLiveTranscriptionInProgress @"startLiveTranscriptionInProgress" -#define kStartedLiveTranscription @"startedLiveTranscription " -#define kStopLiveTranscriptionInProgress @"stopLiveTranscriptionInProgress" - -#endif /* EnxContants_h */ - - - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxLogParser.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxLogParser.h deleted file mode 100644 index e7a7c36..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxLogParser.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// EnxLogParser.h -// EnxRTCiOS -// -// Created by Enablex on 09/01/19. -// Copyright © 2019 Vcloudx. All rights reserved. -// - -#import -#import "EnxRoom.h" -#import "EnxStream.h" -NS_ASSUME_NONNULL_BEGIN - -@interface EnxLogParser : NSObject - -+(NSDictionary *)connectionSuccessLog:(EnxRoom *)room logId:(NSString *)logId ipAddress:(NSString *)ipAddress; -+(NSDictionary *)connectionFailureLog:(EnxRoom *)room logId:(NSString *)logId error:(NSString *)errorMessage; - -+(NSDictionary *)publishStreamSuccessLog:(EnxRoom *)room logId:(NSString *)logId streamId:(NSString*)streamId negotiatedCodec:(NSDictionary *)negotiatedCodec selectedCandidateDict:(NSDictionary *)selectedCandidateDict ipAddress:(NSString *)ipAddress; -+(NSDictionary *)publishStreamFailureLog:(EnxRoom *)room logId:(NSString *)logId error:(NSString *)errorMessage negotiatedCodec:(NSDictionary *)negotiatedCodec selectedCandidateDict:(NSDictionary *)selectedCandidateDict; - -+(NSDictionary *)subscribeStreamSuccessLog:(EnxRoom *)room logId:(NSString *)logId streamId:(NSString*)streamId negotiatedCodec:(NSDictionary *)negotiatedCodec selectedCandidateDict:(NSDictionary *)selectedCandidateDict ipAddress:(NSString *)ipAddress; -+(NSDictionary *)subscribeStreamFailureLog:(EnxRoom *)room logId:(NSString *)logId error:(NSString *)errorMessage negotiatedCodec:(NSDictionary *)negotiatedCodec selectedCandidateDict:(NSDictionary *)selectedCandidateDict forSteamId:(NSString*)streamID; - - -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxPlayerView.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxPlayerView.h deleted file mode 100755 index 9d0804b..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxPlayerView.h +++ /dev/null @@ -1,202 +0,0 @@ -#import -#import -@import WebRTC; -#import "EnxStream.h" -#import "EnxContants.h" - -@class EnxStream; - -//typedef NS_ENUM(BOOL , ViewType) { -// isLocal = 0 , -// isRemote, -//}; - - -/** - @enum EnxRoomStatus - */ -typedef NS_ENUM(NSInteger, TextPosition) { - TOP, - CENTER, - BOTTOM -}; -/* - EnxPlayer delegate methods for user. - these method will help you get stats for individual EnxPlayer, and capture image for individual EnxPlayer. - */ - -@protocol EnxPlayerDelegate -@optional -/** - This delegate method for getting stats for the EnxPlayer - @param data will carry player stats details. - @details To get the stats for the individual player , User need to set EnxPlayerDelegate player delegates and listen their -didPlayerStats: call back method. didPlayerStats: will keep notify about stats of that player. - */ --(void)didPlayerStats:(NSDictionary * _Nonnull)data; -/** - This delegate method for give player image to user - @param snapShot will carry image of player. - @details To get thesnap shot for the individual player , User need to set EnxPlayerDelegate player delegates and listen their -didCapturedView: call back method. didCapturedView: will keep notify about snapshot image whenever user demand. - */ --(void)didCapturedView:(UIImage*_Nonnull)snapShot; -@end - - -@interface EnxPlayerView : UIView -///----------------------------------- -/// @name Initializers -///----------------------------------- -/* - These method has blocked , so that client can not call these method to create instance of EnxPlayer through these method, Enxplayer instance will possible only wth SDK define method. - */ --(instancetype _Nonnull)init UNAVAILABLE_ATTRIBUTE; --(instancetype _Nonnull )initWithCoder:(NSCoder *_Nonnull)aDecoder UNAVAILABLE_ATTRIBUTE; -- (instancetype _Nonnull)initWithFrame:(CGRect)frame UNAVAILABLE_ATTRIBUTE; -/** - This API will help client to creale local player, to display self video. - @param frame is the preedefine CGRect value to set x,y coordiante and width,height of local player. - @return its will give instance of local player - */ --(instancetype _Nonnull)initLocalView:(CGRect)frame; -/** - This API will help client to creale remote player, to display remote video. - @param frame is the preedefine CGRect value to set x,y coordiante and width,height of remote player. - @return its will give instance of remote player - */ --(instancetype _Nonnull)initRemoteView:(CGRect)frame; - -// To set UIViewContentMode of playerView -//Note: Works only with devices which supports metal. --(void)setContentMode:(UIViewContentMode)contentMode; -//This property is used to set a flag to check if all ready stats on/off -@property(readonly) BOOL staTsFlag; -//This property is used to on/off pin icon on player. -@property (nonatomic) BOOL isPinUSer; -/// EnxPlayerDelegate were this Player will invoke methods as events. -@property (weak, nonatomic) id _Nullable delegate; -@property (nonatomic) int playIndex; -/** - Enable player Stats. - @param flag its a bool value to enable/disable stats - @details this API will help customer to enable/disable player stats, while sending true/false value. - trur for enable , false for desable. - */ --(void)enablePlayerStats:(BOOL)flag; -/** - update Stats. - @param data will have stats information - @details this API will used By EnxRoom class to update latest stats value after stats enable, and new stats value arrive in EnxRoom Class. - */ --(void)setUpdateStats:(NSDictionary * _Nonnull)data; -/** - Snap shot - @details this API will used By customer, its will help them to take snap shot of player (Either Local or remote) - */ --(void)captureScreenShot; -/** - Over lay - @param message will has information which user wanted to display on player - @details this API will used By customer, its will help them to create an overlay on player and show some randome text. - */ --(void)createOverLayView:(NSString *_Nonnull)message; -/** - remove over lay - @details this API will used By customer, its will help them to remove created overlay from player. - */ --(void)removeOverLayView; -/** - Configure option - @param options will has information about player overlay - @details this API used by customer , where customer can set configuration about overlay - */ --(void)setConfigureOption:(NSDictionary *_Nonnull)options; -/** - get remote view - @return UIView of remote player - @details this API used by self/EnxStream to get all ready created remote player. so that sdk will not required to create new if needed by public. - */ --(UIView*_Nullable)getremoteView; -/** - get local view - @return UIView of local player - @details this API used by self/EnxStream to get all ready created local player. so that sdk will not required to create new if needed by public. - */ --(UIView*_Nullable)getlocalView; -/** - overlay icon - @param playerConfiguartion has information about overlay Icon - @details this API used by customer/ENxroom to set playerConfiguration like mute/unmute icon details,avatra icon details etc... - */ --(void)createOverlayIcons:(NSDictionary *_Nullable)playerConfiguartion; -/** - show video mute icon - @param playerConfiguartion has information about video icon - @details this API used by customer/Enxroom to show video icon on playerView if video muted by user. - */ --(void)videoMutedByUser:(NSDictionary *_Nullable)playerConfiguartion; -/** - hide/remove video mute icon - @details this API used by customer/Enxroom to hide/remove video icon on playerView. - */ --(void)videoUnMutedByUser; -/** - video mute due to low bandwidth - @param playerConfiguartion has information about video icon - @details this API used by Enxroom to show video icon on playerView if video muted or low bandwidth icon due to low bandwidth. - */ --(void)videoMutedByBW:(NSDictionary *_Nullable)playerConfiguartion; -/** - bandwidth recover - @details this API used by Enxroom to to update enxplayer about bandwidth recover, so that bandwidth icon or if video mute due to this will remove - */ --(void)bandWidthRecovered; -/** - show audio mute icon - @param playerConfiguartion has information about audio icon - @details this API used by customer/Enxroom to show audio icon on playerView if audio muted by user. - */ --(void)audioMuted:(NSDictionary *_Nullable)playerConfiguartion; -/** - hide/remove audio mute icon - @details this API used by Enxroom to hide/remove audio icon on playerView. - */ --(void)audioUnmuted; -/** - show/hide stats icon - @param flag true/false - @details this API used by customer/Enxroom to show/hide stats icon based on flag. - */ --(void)showAndHideStats:(BOOL)flag; -/** - collection video flar - @details this API used by EnxPlayer/EnxATListView to rearrange collection view size based on enxPlayer size - */ --(void)updateCollectionViewFrame; -/** - show/hide Pin icon - @param flag true/false - @details this API used by customer/Enxroom to show/hide Pin icon based on flag. - */ --(void)showAndHidePinged:(BOOL)flag; - -/** - show/hide Speaker Notification icon - @param flag true/false - @details this API used by customer/Enxroom to show/hide Speaker Notification icon based on flag. - */ --(void)showAndHideSpeakerNotification:(BOOL)flag; - - -/** - Bandwodth Update - @param playerConfiguartion has information about BW icon - @param type Uplaod/Downlow - @param isLB - low bandwidth/restore - @details this API used by Enxroom to show video icon on playerView if video muted or low bandwidth icon due to low bandwidth. - */ --(void)updateBW:(NSString *_Nullable)type isLowBN:(BOOL)isLB withConfiguration:(NSDictionary *_Nullable)playerConfiguartion; - --(void)addRemoveLocalViewAvatara:(BOOL)isAdd; - - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRTCiOS.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRTCiOS.h deleted file mode 100644 index 0ea7933..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRTCiOS.h +++ /dev/null @@ -1,22 +0,0 @@ -// EnxRTCiOS.h -// EnxRTCiOS -// Created by Enablex on 28/02/18. -// Copyright © 2018 Vcloudx. All rights reserved. -// - -#import - -//! Project version number for EnxRTCiOS. -FOUNDATION_EXPORT double EnxiOSVersionNumber; - -//! Project version string for EnxRTCiOS. -FOUNDATION_EXPORT const unsigned char EnxiOSVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - -#import -#import -#import -#import -#import -#import diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRoom.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRoom.h deleted file mode 100644 index 93eccf3..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRoom.h +++ /dev/null @@ -1,2602 +0,0 @@ -@import WebRTC; -#import -#import -#import "EnxClient.h" -#import "EnxSignalingChannel.h" -#import "EnxStream.h" -#import "EnxPlayerView.h" -#import "EnxATListView.h" -@class EnxRoom; -@class Client; - -/** - @enum EnxRoomStatus - Description :- These @enum, use to validate connected room state - */ - -typedef NS_ENUM(NSInteger, EnxRoomStatus) { - EnxRoomStatusReady, - EnxRoomStatusConnected, - EnxRoomStatusDisconnected, - EnxRoomStatusError, - EnxConferenceExprired, - EnxDisconnectedByModerator -}; -/** - @enum EnxOutBoundCallState - Description :- These @enum, use to validate current outbond call state - */ - -typedef NS_ENUM(NSInteger, EnxOutBoundCallState) { - Initiated, - Ringing, - Connected, - Failed, - Disconnected, - Timeout -}; - -typedef NSString * EnxCustomDataScope; - #define EnxCustomDataScopeuser @"user" - #define EnxCustomDataScopeowner @"owner" - #define EnxCustomDataScoperoom @"room" - #define EnxCustomDataScopesession @"session" - -//typedef NS_ENUM(NSInteger, EnxCustomDataScope) { -// user, -// owner, -// room, -// session -//}; - - -typedef enum EnxPubType { - Screen, - Canvas, -} EnxPubType; -extern NSString * _Nonnull const EnxPubType_toString[]; -typedef enum EnxPubMode { - All, - Authorize, - Moderators, -} EnxPubMode; -extern NSString * _Nonnull const EnxPubMode_toString[]; - - - -///----------------------------------- -/// @name Protocols -///----------------------------------- -/** - EnxRoomDelegate - Will fire events related with EnxRoom state change. - */ -@protocol EnxRoomDelegate -@optional -/** - Fired when server sent the streamId of the subscribed stream. - @param room Instance of the room where event happen. - @param stream The subscribed Stream object. - @Details This room event will notify to the user, who has subscribed any stream after connected to room - */ -- (void)room:(EnxRoom *_Nullable)room didSubscribeStream:(EnxStream *_Nullable)stream; - -/** - Fired when server has succesfully unsubscribed a stream. - @param room Instance of the room where event happen. - @param stream The unSubscribed Stream object. - @Details This room event will notify to the user, who has unsubscribed any stream after connected to room and has all ready subscribe that stream - */ -- (void)room:(EnxRoom *_Nullable)room didUnSubscribeStream:(EnxStream *_Nullable)stream; - -/** - Fired when server sent the streamId of the published stream. - @param room Instance of the room where event happen. - @param stream EnxStream being published. - @Details This room event will notify to the user, who has published their owne stream after connected to room - */ -- (void)room:(EnxRoom *_Nullable)room didPublishStream:(EnxStream *_Nullable)stream; - -/** - Fired when server ACK to unpublish the requested stream by EnxRoom:unpublish. - After this method is called the Room will close and nilify the publishing - client. You need to unreference the publishing stream from your side to let - the object be deallocated. - @param room Instance of the room where event happen. - @param stream The stream being unpublished. - @Details This room event will notify to the user, who has unpublished their owne stream after connected to room, and has all ready published their stream - */ -- (void)room:(EnxRoom *_Nullable)room didUnpublishStream:(EnxStream *_Nullable)stream; - -/** - Fired when server sent the recordingId of a stream being published and - recorded. - @param room Instance of the room where event happen. - @param stream String representing the Id of the stream being recorded. - @param recordingId String representing the Id of the recording of the stream. - @param recordingDate moment when the server started to record the stream. - */ - -//Currentaly this delegate method not in used -- (void)room:(EnxRoom *_Nullable)room didStartRecordingStream:(EnxStream *_Nullable)stream withRecordingId:(NSString *_Nullable)recordingId recordingDate:(NSDate *_Nullable)recordingDate; -/** - Fired when server failed to start recording the stream. - @param room Instance of the room where event happen. - @param stream String representing the Id of the stream being recorded. - @param errorMsg The error message sent by the server. - */ - -/** - Fired when recording start successful - @param response Instance of the room where event happen. - @Details This delegate method will notify to all end users, once room recording has started successfully. - */ --(void)startRecordingEvent:(NSArray *_Nullable)response; - -/** - Fired when recording stop successful - @param response Instance of the room where event happen. - @Details This delegate method will notify to all end users, once room recording has stopped successfully. - */ --(void)stopRecordingEvent:(NSArray *_Nullable)response; - -/** - Fired when signaling channel connected with Enx Room. - @param room Instance of the room where event happen. - @param roomMetadata has all information about connected room , Example as below - roomMetadata sample: - { - defaultVideoBW = 300; - iceServers = ( - { - url = "stun:stun.l.google.com:19302"; - }, - { - credential = secret; - url = "turn:xxx.xxx.xxx.xxx:443"; - username = me; - } - ); - id = 591df649e29e562067143117; - maxAudioBW = 64; - maxVideoBW = 300; - streams =( - { - audio = 1; - id = 208339986973492030; - video = 1; - } - ); - } - @Details This delegate method will notify to current user after room connected success ,who is trying to connect with available room. This method will give roomMetadata which has all details of connected room. - */ -- (void)room:(EnxRoom *_Nullable)room didConnect:(NSDictionary *_Nullable)roomMetadata; -/** - Fired when used will disconnect room by hem self or by modiatore - @param response has all information about disconnect room - @Details This delegate method will notify to current user after room disconnect success , Disconnect happen either by self or by modiatore or by room duration exrire. - Here "response" will carry information about disconnection of room. - */ -- (void)didRoomDisconnect:(NSArray * _Nullable)response; -/** - Fired each time there is an error with the room. - It doesn't mean the room has been disconnected. For example you could receive - this message when one of the streams subscribed did fail for some reason. - @param room Instance of the room where event happen. - @param reason Text explaining the error. (Not always available) - @Details This delegate method will notify to the user , who try to connect with any confrence but its has failed due to any resion like- token not valid, room full, not a valid user to join etc.. - Here reason has details about failure of room connect. - */ -- (void)room:(EnxRoom *_Nullable)room didError:(NSArray *_Nullable)reason; - -/** - Fired each time whenever user will do some action and its failed due to invalide action type or action state. - @param room Instance of the room where event happen. - @param reason Its will give an Array of dictonary with cause of failure with their error code. - @Details This delegate method will notify to the user , who try to consume any EnxRoom API or EnxStream API again and again with invalid sate, as sdk will maintain all event state. For example- User will do video mute and after successfully mute video or in progress to mute video, he is try agin to mute video. - */ -- (void)room:(EnxRoom *_Nullable)room didEventError:(NSArray *_Nullable)reason; - -/** - Fired to pass info related to any event if required. - @param room Instance of the room where event happen. - @param infoData Its will give a dictonary with details of events - @Details This delegate method will notify to the user , who try to consume any EnxRoom API or EnxStream API with details for the events - */ -// called pass info related to any event if required. -- (void)room:(EnxRoom *_Nullable)room didEventInfo:(NSDictionary *_Nullable)infoData; - -/** - Fired to inform user once reconnect happen. - @param room Instance of the room where event happen. - @param reason Its will give a NSString with cause of reconnect - @Details This delegate method will notify to the user, with cause of reconnect, reconnect can happen if network connect got disconnect or ice connection has failed etc.... - */ -- (void)room:(EnxRoom *_Nullable)room didReconnect:(NSString *_Nullable)reason; - -/** - Fired each time the room changed his state. - @param room Instance of the room where event happen. - @param status EnxRoomStatus value. - @Details This delegate method will notify to the user with room current state or if state has changed. - */ -- (void)room:(EnxRoom *_Nullable)room didChangeStatus:(EnxRoomStatus)status; - -/** - Event fired once a new stream has been added to the room. - It is up to you to subscribe that stream or not. - It is worth to notice that your published stream will not be notified - by this method, use EnxRoomDelegate:didPublishStream: instead. - @param room Instance of the room where event happen. - @param stream EnxStream object (not subscribed yet), that were just added - to the room. - */ -- (void)room:(EnxRoom *_Nullable)room didAddedStream:(EnxStream *_Nullable)stream; - -/** - Fired when a data stream is received. - @param room Instance of the room where event happen. - @param stream The EnxStream received from. - @param data stream message received. - */ -- (void)room:(EnxRoom *_Nullable)room didReceiveData:(NSDictionary *_Nullable)data - fromStream:(EnxStream *_Nullable)stream; - -/** - Fired when a user did zoom for remote user stream - @param room Instance of the room where event happen. - @param data has the information of zoom coordinate - @Details This delegate method will notify to end user about zoom of their stream, for example- in room there are 4 participent like p1,p2,p3,p4 now p1 try to zoom p4 , so p4 will get a signaling notification and zoom their local scream. - */ -- (void)room:(EnxRoom *_Nullable)room didStreamZoom:(NSDictionary *_Nullable)data; - -/** - Fired when stream attribute updated. - @param room Instance of the room where event happen. - @param stream The stream that updated his attributes. - @Details Look EnxStream:streamAttributes to know which. - */ -- (void)room:(EnxRoom *_Nullable)room didUpdateAttributesOfStream:(EnxStream *_Nullable)stream; - - -/** - Fired when user will uplaod their sdk logs to server - @param data has detail informtion of upload logs - @Details This delegate method will inform to self user , who is uploading their sdk logs to server. - */ --(void)didLogUpload:(NSArray *_Nullable)data; - -#pragma mark- ChairControl -#pragma mark- CC -/** - Here, Data is result form EnxServer on requestFloor event. - - Response: - { - "msg" : "Floor Request Received", - "result" : 1701 - } - */ -/** - Fired when any participent will will request for floor access@ - @param Data has detail informtion about floor - @Details- This delegate method for participent who requested for floor access. - */ -- (void)didFloorRequested:(NSArray *_Nullable)Data; - -/** - This ACK method for Participent , When he/she will cancle their request floor - @param Data has detail informtion about floor - @Details This ACK method for Participent only, When he/she will cancle their request floor - - Response will be - { - msg = Success; - request = { - id = processFloorRequest; - params = { - action = cancelFloor; - clientId = "ClentID"; - }; - }; - result = 0; - } - */ -- (void)didFloorCancelled:(NSArray *_Nullable)Data; -/** - Fired when any participent will finished their floor access. - Response will be - { - msg = Success; - request = { - id = processFloorRequest; - params = { - action = finishFloor; - clientId = "ClentID"; - }; - }; - result = 0; - } - @param Data has detail informtion about floor - @Details This ACK method for Participent , When he/she will finished their request floor - after request floor accepted by any modiatore - */ -- (void)didFloorFinished:(NSArray *_Nullable)Data; - -/** - This delegate invoke when Moderator accepts the floor request. - Participant Delegate: - - Here, Data is result form EnxServer on receiving grantFloor event. - - Response: - - { - "msg" : "Floor Request Granted" - } - @param Data has detail informtion about floor - @Details This delegate invoke when Moderator accepts the floor request. - */ -- (void)didGrantedFloorRequest:(NSArray *_Nullable)Data; -/** - This delegate methos will invoke , when moderator will diny any participent floor access request - Here, Data is result form EnxServer on receiving denyFloor event. - - Participant Delegate: Denied: - - Response: - - { - "msg" : "Floor Request Denied" - } - */ -- (void)didDeniedFloorRequest:(NSArray *_Nullable)Data; -/** - This delegate methos will invoke , when moderator will release/finished any participent whover floor request has approved. - Here, Data is result form EnxServer on releaseFloor event. - - Participant Delegate: Releases: - - Here, Data is result form EnxServer on receiving releaseFloor event. - - Response: - - { - "msg" : "Floor Released" - } - */ - -- (void)didReleasedFloorRequest:(NSArray *_Nullable)Data; - -/** - Fired when moderator will cancle any floor access , requested by participent - @param Data has detail informtion about moderator , who has cancle the floor access. - @Details This delegate method will notify to all available modiatore, Once any participent has cancled there floor request - */ - -- (void)didCancelledFloorRequest:(NSArray *_Nullable)Data; - -/** - Fired when moderator will finished any floor access , requested by participent - @param Data has detail informtion about moderator , who has finished the floor access. - @Details This delegate method will notify to all available modiatore, Once any participent has finished there floor request - */ - -- (void)didFinishedFloorRequest:(NSArray *_Nullable)Data; - - -#pragma mark- ChairControl - Moderator Delegate -/** - - There would be listener for participant and moderator when participant request floor. For this delegates are: - - Moderator Delegates: - - Here, Data is result form EnxServer on receiving requestFloor event. - - Response: - - { - "clientId" : "720aa92f-193f-4e9e-a62b-48b72cd196a8", - "name" : "iOS" - } - - */ -- (void)didFloorRequestReceived:(NSArray *_Nullable)Data; -/** - - Here, Data is result form EnxServer on grantFloor,releaseFloor and denyFloor event. - - Moderator Delegate: - - Response: - - Here, Data is result form EnxServer on grantFloor event. - - { - "msg" : "Floor Granted", - "result" : 1708 - } - - Here, Data is result form EnxServer on releaseFloor event. - - { - "msg": "Floor Released", - "result": "1712" - } - - Here, Data is result form EnxServer on denyFloor event. - { - "msg": "Floor Denied", - "result": "1709" - } - - */ -- (void)didProcessFloorRequested:(NSArray *_Nullable)Data; - -/* - This is an acknowledgment method for the inviteToFloor to the moderator. - */ --(void)didACKInviteToFloorRequested:(NSArray *_Nullable)Data; -/* - This event method will notify to all moderator in the same session (including the owner of the event), that invitation received by participant - **/ --(void)didInviteToFloorRequested:(NSArray *_Nullable)Data; -/* - This delegate method for Participant , How or she will receive handover floor access. - */ --(void)didInvitedForFloorAccess:(NSArray *_Nullable)Data; - -/* - This is an event method for the all moderator including owner of the API and participant which has received handover floor request . - */ --(void)didCanceledFloorInvite:(NSArray *_Nullable)Data; - -/* - This is an event method for the all moderator including owner of the API and participant which has received handover floor request . - */ --(void)didRejectedInviteFloor:(NSArray *_Nullable)Data; -/* - This is an event method for the all moderator including owner of the API and invitee participant, once invitee has accept the invite floor . - */ --(void)didAcceptedFloorInvite:(NSArray *_Nullable)Data; - -#pragma mark- HardMute Delegate - -/** - Fired when any modiatore in confrence will do room mute -@param Data has detail informtion about room mute - @Details This delegate method for all modiatores in room including owner of hard mute room will got notify*/ -/** - Moderator Delegates - There would be listener for moderator when hardmute used by moderator. For this delegates are: - */ -- (void)didhardMute:(NSArray *_Nullable)Data; - -/** - Fired when any modiatore in confrence will do room unmute -@param Data has detail informtion about room unmute - @Details This delegate method for all modiatores in room including owner of hard unmute room will got notify*/ -/** - Moderator Delegates - There would be listener for moderator when hardunmute used by moderator. For this delegates are: - */ -- (void)didhardUnMute:(NSArray *_Nullable)Data; - -/** - Fired when any modiatore in confrence will do room mute -@param Data has detail informtion about room mute - @Details This delegate method for all participent in room once any moderator will do room mute in same confrence - */ -/** - Paricipant Delegates - There would be listener for paricipant when hardunmute used by moderator. For this delegates are: - - */ -- (void)didHardMuteReceived:(NSArray *_Nullable)Data; - -/** - Fired when any modiatore in confrence will do room unmute -@param Data has detail informtion about room unmute - @Details This delegate method for all participent in room once any moderator will do room unmute in same confrence - */ -/** - Paricipant Delegates - There would be listener for paricipant when hardunmute used by moderator. For this delegates are: - - */ -- (void)didHardunMuteReceived:(NSArray *_Nullable)Data; - -/** - Fired when any modiatore in confrence will do mute to any participent/other modiatore audio in same room - @param Data has detail informtion about room mute - @Details This ack delegate method for the modiatore in room who did user hardmute audio - */ -/** - There would be listener for owner of the event - Moderator Delegates - */ -- (void)didAckHardMuteUserAudio:(NSArray *_Nullable)Data; - -/** - Fired when any modiatore in confrence will do unmute to any participent/other modiatore audio in same room - @param Data has detail informtion about room mute - @Details This ack delegate method for the modiatore in room who did user hardunmute audio - */ -/** - There would be listener for owner of the event - Moderator Delegates - */ - -- (void)didAckHardunMuteUserAudio:(NSArray *_Nullable)Data; - -/** - Fired when any modiatore in confrence will do mute to any participent/other modiatore video in same room -@param Data has detail informtion about room mute - @Details :- This ack delegate method for the modiatore in room who did user hardmute video - */ -/** - There would be listener for owner of the event - Moderator Delegates - */ -- (void)didAckHardMuteUserVideo:(NSArray *_Nullable)Data; -/** - Fired when any modiatore in confrence will do unmute to any participent/other modiatore video in same room -@param Data has detail informtion about room mute - @Details This ack delegate method for the modiatore in room who did user hardunmute video - */ -/** - There would be listener for owner of the event - */ -- (void)didAckHardUnMuteUserVideo:(NSArray *_Nullable)Data; -/** - Fired when any modiatore in confrence will do unmute to any participent/other video modiatore in same room. -@param Data has detail informtion about room mute - @Details This delegate method for all participent in room once any moderator will do unmute to any participent/moderator in same room - */ -/** - - There would be listener for paricipant when hardmute used by moderator. For this delegates are: - Paricipant Delegates - - */ -- (void)didHardUnMuteSingleUser:(NSArray *_Nullable)Data; - -/** - This API is designed to return a JSON Structure containing the user information who connected to the Room. - @param room Instance of the room where event happen. - @param Data has full information of participent who has join in same confrence. - @Details This delegate method will inform to all partipient/moderator in same confrence with details information about the user who has just join the room. - */ --(void)room:(EnxRoom *_Nullable)room userDidJoined:(NSArray *_Nullable)Data; - -/** - This API is designed to return a JSON Structure containing the user disconnected to the Room. - This delegate call when any user leave the room. - @param room Instance of the room where event happen. - @param Data has full information of participent who has disconencted from same confrence. - @Details This delegate method will inform to all partipient/moderator in same confrence with details information about the user who has just disconnected from confrence. - - */ --(void)room:(EnxRoom *_Nullable)room userDidDisconnected:(NSArray *_Nullable)Data; - -/** - Moderator get raish hand and approve hand list - @param room Instance of the room where event happen.\ - @param data has contain current state of room. - @Details This methods will inform to all user in confrence about current state of floor request - */ -- (void)room:(EnxRoom *_Nullable)room ChairControlStates:(NSMutableDictionary *_Nullable)data; - -#pragma mark- recording Participant delegate - -/** - To start Recording Participant delegate - Paricipant delegate - @param Data has contain information about recording. - @Details All particpents/Moderator in room will receive this delegate method once recoding has started in same confrence - */ --(void)roomRecordOn:(NSArray *_Nullable)Data; - -/** - To stop Recording Participant delegate - Paricipant delegate - @param Data has contain information about recording. - @Details All particpents/Moderator in room will receive this delegate method once recoding has stopped in same confrence - */ - --(void)roomRecordOff:(NSArray *_Nullable)Data; - -//Active Talker Delegate - -/** - A Participant get of active talker list - @param room Instance of the room where event happen. - @param Data will contain list of EnxStream. - @Details once any participent successfully completed subscription of all avaialble stream in same confrence will receive available active talker list. - By default its will give list of EnxStream, if user want complete view of active talker in that case he/she will pass a parameter "activeviews" = @"view" in "roominfo" duringb join room. - - */ -//This delegate methods will return list of EnxStream --(void)room:(EnxRoom *_Nullable)room didActiveTalkerList:(NSArray *_Nullable)Data; - -/** - A Participant get of active talker list - @param room Instance of the room where event happen. - @param view will contain full view of active talker list - @Details once any participent successfully completed subscription of all avaialble stream in same confrence will receive available active talker list. - By default its will give list of EnxStream, if user want complete view of active talker in that case he/she will pass a parameter "activeviews" = @"view" in "roominfo" duringb join room. - */ -//This delegate methods will return collectionView of EnxStream --(void)room:(EnxRoom *_Nullable)room didActiveTalkerView:(UIView *_Nullable)view; - -/** - - A Participant get of max number of talker count . - @param room Instance of the room where event happen. - @param Data will contain information about max possible talker in same confrence. - @details this delegate method will give information about max possible active talker in same confrence. so that user can change any number of active talker which is less than possible active talkers in room. User can request to know max possible AT in room at any time after join room. - */ --(void)room:(EnxRoom *_Nullable)room didGetMaxTalkers:(NSArray *_Nullable)Data; -/** - A Participant get of number of talker count . - @param room Instance of the room where event happen. - @param Data will contain number of current active talker in room. - @Details with the help of this delegate methoder, use can check current number of active taker in same confrence. - */ --(void)room:(EnxRoom *_Nullable)room didGetTalkerCount:(NSArray *_Nullable)Data; - -/** - A Participant set of number of talker count . - @param room Instance of the room where event happen. - @param Data will contain information about set active talker - @details - this delegate method will fired once user will request to set active talker in same confrence. -*/ --(void)room:(EnxRoom *_Nullable)room didSetTalkerCount:(NSArray *_Nullable)Data; - -#pragma mark - ACK/start/stop screen share delegates -/** - A Participant listens to this delegate to know about a screen shared started by a user. - @param room Instance of the room where event happen. - @param stream has list of required information to display screen share stream - @details all participants (Except owner of screen share) in same confrence will get this delegate method, whenever screen share has stared by any participent in same confrence. - */ --(void)room:(EnxRoom *_Nullable)room didScreenShareStarted:(EnxStream *_Nullable)stream; -/** - A Participant listens to this delegate to know about a screen shared by a user has stopped. - @param room Instance of the room where event happen. - @param stream has list of required information to remove screen share stream - @details all participants (Except owner of screen share) in same confrence will get this delegate method, whenever screen share has stopped by any participent in same confrence. - */ - --(void)room:(EnxRoom *_Nullable)room didScreenShareStopped:(EnxStream *_Nullable)stream; - -//Screen Share Start/Stop ACK Delegate for Self User -/** - A user will receive this ack delegate, when he/she will start screen share. - @param room Instance of the room where event happen. - @param Data ACK list of start Annotation - @details This delegate method will receive the owner of screen share , means who has started screen share. - */ --(void)room:(EnxRoom *_Nullable)room didStartScreenShareACK:(NSArray *_Nullable)Data; -/** - A user will receive this ack delegate, when he/she will stop screen share. - @param room Instance of the room where event happen. - @param Data ACK list of Stop Annotation - @details This delegate method will receive the owner of screen share , means who has stopped screen share. - */ --(void)room:(EnxRoom *_Nullable)room didStoppedScreenShareACK:(NSArray *_Nullable)Data; -/** - Owner of the method will received this call back - @param room Instance of the room where event happen. - @param Data ACK list of Stop screen share - @details This delegate method will Acknowledge to the owner of screen share , means who has stopped screen share. - */ --(void)room:(EnxRoom *_Nullable)room didExitScreenShareACK:(NSArray *_Nullable)Data; - -/** - Owner of the method will received this call back - @param room Instance of the room where event happen. - @param data ACK list of Stop share - @details This delegate method will Acknowledge to the owner of API , means who has requested for stop Share. - */ --(void)room:(EnxRoom *_Nullable)room didStopAllSharingACK:(NSArray *_Nullable)data; - -/** - Owner of the method will received this call back - @param room Instance of the room where event happen. - @param data ACK list of override screen share - @details This delegate method will Acknowledge to the owner of API , means who has requested for stop Share. - */ --(void)room:(EnxRoom *_Nullable)room didOverrideScreenShareACK:(NSArray *_Nullable)data; - - -#pragma mark - ACK/start/stop canvas delegates - -/** - A Participant listens to this delegate to know about a Canvas started by a user. - @param room Instance of the room where event happen. - @param stream has list of required information to display canvas stream - @details all participants (Except owner of start canvas) in same confrence will get this delegate method, whenever canvashas stared by any participent in same confrence. - */ --(void)room:(EnxRoom *_Nullable)room didCanvasStarted:(EnxStream *_Nullable)stream; -/** - A Participant listens to this delegate to know about that Canvas has stopped by user. - @param room Instance of the room where event happen. - @param stream list of required information to remove canvas - @details all participants (Except owner of stop canvas) in same confrence will get this delegate method, whenever canvas has stopped by any participent in same confrence. - */ --(void)room:(EnxRoom *_Nullable)room didCanvasStopped:(EnxStream *_Nullable)stream; - -/** - Canvas Start/Stop Delegate for Self User - @param room Instance of the room where event happen. - @param Data ACK list of start canvas - @details - This delegate method will receive the owner of strart canvas , means who has started Canvas only receive this delegate method. - */ --(void)room:(EnxRoom *_Nullable)room didStartCanvasACK:(NSArray *_Nullable)Data; -/** - A Participant listens to this delegate to know about that Canvas has stopped by user. - @param room Instance of the room where event happen. - @param Data ACK list of Stop Canvas - @details - This delegate method will receive the owner of stopped canvas , means who has stopped Canvas, only receive this delegate method. - */ --(void)room:(EnxRoom *_Nullable)room didStoppedCanvasACK:(NSArray *_Nullable)Data; - -#pragma mark - ACK/start/stop Annotation delegates -/** - A Participant listens to this delegate to know about a Anotation started by a user. - @param room Instance of the room where event happen. - @param stream EnxStream of Annotation - @details all participants (Except owner of start annotation) in same confrence will get this delegate method, whenever Annotation has started by any participent in same confrence. - */ --(void)room:(EnxRoom *_Nullable)room didAnnotationStarted:(EnxStream *_Nullable)stream; -/** - A Participant listens to this delegate to know about that Annotation has stopped by user. - - @param room Instance of the room where event happen. - @param stream EnxStream of Annotation - @details all participants (Except owner of stop annotation) in same confrence will get this delegate method, whenever Annotation has stopped by any participent in same confrence. - */ --(void)room:(EnxRoom *_Nullable)room didAnnotationStopped:(EnxStream *_Nullable)stream; - -//Annotation Start/Stop Delegate for Self User -/** - A Participant listens to this delegate to know about a Anotation started by a user. - @param room Instance of the room where event happen. - @param Data ACK list of start Annotation - @details - This delegate method will receive the owner of strart annotation , means who has started annotation only receive this delegate method. - */ --(void)room:(EnxRoom *_Nullable)room didStartAnnotationACK:(NSArray *_Nullable)Data; -/** - A Participant listens to this delegate to know about that Annotation has stopped by user. - - @param room Instance of the room where event happen. - @param Data ACK list of Stop Annotation - @details - This delegate method will receive the owner of stopped annotation , means who has stopped annotation, only receive this delegate method. - */ --(void)room:(EnxRoom *_Nullable)room didStoppedAnnotationACK:(NSArray *_Nullable)Data; - -/** - Fired when a bandWidth alert received from server. - @param room Instance of the room where event happen. - @param data bandWidthAlert info on a stream. - @details this delegate method will inform to all use in confrence, whenever any bandwidth update hapen by server in same room. - */ -- (void)room:(EnxRoom *_Nullable)room didBandWidthUpdated:(NSArray *_Nullable)data; - - -/** - Fired when a canvas stream state change due to bandwidth change. - @param room Instance of the room where event happen. - @param data CanvasStateEvent info on a stream. - - */ -- (void)room:(EnxRoom *_Nullable)room didCanvasStreamEvent:(NSArray *_Nullable)data; - - -/** - Fired when a share stream state change due to bandwidth change. - @param room Instance of the room where event happen. - @param data ShareStateEvent info on a stream. - @details this delegate method will inform to the current user , share screen state changes due to any cause like low bandwidth. - */ -- (void)room:(EnxRoom *_Nullable)room didShareStreamEvent:(NSArray *_Nullable)data; - - -/** - This delegate for response on setting video quality of remote streams. - @param room Instance of the room where event happen. - @param data has details about remote stream video resolution information. - @details this delegate method will update about remote stream video quality. - */ --(void)room:(EnxRoom *_Nullable)room didSetVideoQuality:(NSArray *_Nullable)data; -/** - Audio media changed. - @param updates carry information about current audio media - @details This delegate Method Will Notify app user for any Audio media changes happen recentally(Like :- New device connected/Doisconnected). - */ --(void)didNotifyDeviceUpdate:(NSString*_Nonnull)updates; - -#pragma -mark Network Connection intrupted -/** - Fired when a network clunch receive. - @param room Instance of the room where event happen. - @param data network intruption alert info. - @details this delegate method will inform to user, if he/she has network clunch during call. - */ --(void)room:(EnxRoom*_Nonnull)room didConnectionInterrupted:(NSArray*_Nonnull)data; - -#pragma -mark Network Connection Lost -/** - Fired when a Network lost - @param room Instance of the room where event happen. - @param data network Time Out alert info. - @details this delegate method will call when network will not resume within given time out time. - */ --(void)room:(EnxRoom*_Nonnull)room didConnectionLost:(NSArray*_Nonnull)data; - -#pragma -mark Reconnect Success -/** - Fired when a reconnect success . - @param room Instance of the room where event happen. - @param data Inform user for reconnect success. - @details this delegate method will get called when reconnect get successfully resume. - */ --(void)room:(EnxRoom*_Nonnull)room didUserReconnectSuccess:(NSDictionary*_Nonnull)data; - -/** - Fired when a user enable stats - @param statsData has all stats information. - @details this delegate method will get called when request for stats and stats receive in room. - */ --(void)didReceiveStats:(NSArray * _Nonnull)statsData; - -/** - Fired when a user enable/desable stats - @param subUnSubResponse has all stats information. - @details this delegate method will get called when request for subscribe/unsubscribe stats in room - */ --(void)didAcknowledgeStats:(NSArray * _Nonnull)subUnSubResponse; - -/** - Fired when message received in room - @param room Instance of the room where event happen. - @param data information of message. - @details this delegates methods get called, when any participent will exchanges chat message in same room. - */ -- (void)room:(EnxRoom *_Nonnull)room didMessageReceived:(NSArray *_Nullable)data; - -/** - Fired when receive custom signalingmessage in room - @param room Instance of the room where event happen. - @param data information of custom signalling message. - @details This delegate method called to receive custom signaling event message at room Level. - */ -- (void)room:(EnxRoom *_Nonnull)room didUserDataReceived:(NSArray *_Nullable)data; - -/** - Fired when start file sharing - @param room Instance of the room where event happen. - @param data information file. - @details This delegate method called When any of the user in same room will start sharing file. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileUploadStarted:(NSArray *_Nullable)data; -/** - Fired when user will initiate file sharing - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When self user will start sharing file. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didInitFileUpload:(NSArray *_Nullable)data; - -/** - Fired when user will isuccessfully upload file - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When any user will share file successfully and now File available to download for other participent. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileAvailable:(NSArray *_Nullable)data; - -/** - Fired when user will isuccessfully upload file - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called upload file is success. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileUploaded:(NSArray *_Nullable)data; - -/** - Fired when user will upload file failed - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called upload file is failed. - */ -- (void)room:(EnxRoom *_Nonnull)room -didFileUploadFailed:(NSArray *_Nullable)data; - -/** - Fired when file download done - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When download of file success. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileDownloaded:(NSString *_Nullable)data; - -/** - Fired when file download failed - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When file download failed. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileDownloadFailed:(NSArray *_Nullable)data; - -/** - Fired when file download started - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When file download initiated. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didInitFileDownload:(NSArray *_Nullable)data; - -/** - Fired when file download Cancle - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When file download Cancel. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileDownloadCancelled:(NSArray *_Nullable)data; - -/** - Fired when file upload Cancle - @param room Instance of the room where event happen. - @param data information of file. - @details This delegate method called When file Upload Cancel. - */ - -- (void)room:(EnxRoom *_Nonnull)room -didFileUploadCancelled:(NSArray *_Nullable)data; - -#pragma mark- Advance Option CallBacks -/** - Fired for ACK advance option - @param room Instance of the room where event happen. - @param data ACK information of advance options. - @details This delegate called for advance options updates. - */ - -- (void)room:(EnxRoom *_Nullable)room didAcknowledgementAdvanceOption:(NSDictionary *_Nullable)data; - -/** - Fired for battery update - @param room Instance of the room where event happen. - @param data information of device batter energy. - @details This delegate called once user will set advance option and after that better energy lable getting low. - */ -- (void)room:(EnxRoom *_Nullable)room didBatteryUpdates:(NSDictionary *_Nullable)data; - -/** - Fired for resolution update - @param room Instance of the room where event happen. - @param data information of device stream resolution update. - @details This delegate called once user will set advance option and request to know about aspect retion update during call. - */ -- (void)room:(EnxRoom *_Nullable)room didAspectRatioUpdates:(NSArray *_Nullable)data; - -/** - Fired for video resolution update - @param room Instance of the room where event happen. - @param data information of device stream video resolution update. - @details This delegate called once user will set advance option and request to know about video resolution update during call. - */ -- (void)room:(EnxRoom *_Nullable)room didVideoResolutionUpdates:(NSArray *_Nullable)data; - -/** - Fired for advance opt update - @param room Instance of the room where event happen. - @param data information of advanceoption update. - @details This delegate called once user will set advance option and request to know about advance option update during call. - */ -- (void)room:(EnxRoom *_Nullable)room didGetAdvanceOptions:(NSArray *_Nullable)data; -/** - Fired for advance opt update of Privacy Mode - @param room Instance of the room where event happen. - @param data information of advanceoption update. - @details This delegate mothed notify to all the user, once Moderator will set privacy mode advance option l. - */ -- (void)room:(EnxRoom *_Nullable)room didPrivacyModeUpDated:(NSArray *_Nullable)data; -/** - Fired for confrence duration update - @param room Instance of the room where event happen. - @param data information about confrence duration - @details This delegate called for all participent in same confrence, 5mint before confrence duration. - */ - -- (void)room:(EnxRoom *_Nullable)room didConferenceRemainingDuration:(NSArray *_Nullable)data; -/** - Fired for confrence duration extended - @param room Instance of the room where event happen. - @param data information about confrence duration extended - @details This delegate called for all participent in same confrence, once any of moderatore has exted the confrence duration. - */ - -- (void)room:(EnxRoom *_Nullable)room didConferencessExtended:(NSArray *_Nullable)data; -#pragma mark- Switch user role Delegate - -/** - Fired when switch user role happen - @param room Instance of the room where event happen. - @param data information about user role when switched - @details This delegate called, when any moderatore has switched their role or hand over their role to any of the participent in same room. - */ -- (void)room:(EnxRoom *_Nullable)room didSwitchUserRole:(NSArray *_Nullable)data; -/** - Fired when current role changed - @param room Instance of the room where event happen. - @param data information about user role - @details This delegate called, when any moderatore has switched their role or hand over their role to any of the participent in same room. - */ -- (void)room:(EnxRoom *_Nullable)room didUserRoleChanged:(NSArray *_Nullable)data; - -#pragma mark- Send Data Delegate - -/** - Fired Acknowledgment for send data - @param room Instance of the room where event happen. - @param data information about send data - @details This is an acknowledgment delegate method for send data, when any of participent will send their data to other participent, - */ -- (void)room:(EnxRoom *_Nullable)room didAcknowledgSendData:(NSArray *_Nullable)data; - -#pragma mark- Out Bond Call for App User -/** - Fired when outbond call initiated - @param room Instance of the room where event happen. - @param data information about outbond call - @details This delegate method will called, when any of user will initiate for botbond call in same room. - */ -- (void)room:(EnxRoom *_Nullable)room didOutBoundCallInitiated:(NSArray *_Nullable)data; -/** - Fired when outbond call state changed - @param room Instance of the room where event happen. - @param state information about outbond call state - @details This delegate method will called, when any of user will initiate for botbond call and call state has changed. - */ -- (void)room:(EnxRoom *_Nullable)room didDialStateEvents:(EnxOutBoundCallState)state; -//Handle Json Response -- (void)didDialStateEvents:(NSArray *_Nullable)data; -//Cancel Outbond call -- (void)room:(EnxRoom *_Nullable)room didOutBoundCallCancel:(NSArray *_Nullable)data; -/** - Fired when outbond call started - @param room Instance of the room where event happen. - @param dtmfCollected information about DTMF number - @details This delegate method will called, when any of user will initiate for outbound call and end user will press any DTMF number - */ -- (void)room:(EnxRoom *_Nullable)room didDTMFCollected:(NSString*_Nullable)dtmfCollected; - -#pragma mark- Lock/Unlock Room Delegate - -/** - Fired when locked room called - @param room Instance of the room where event happen. - @param data information about lookroom event - @details this is an acklodgment method for lockroom, whenever any moderatore will call lock room method. - */ -- (void)room:(EnxRoom *_Nullable)room didAckLockRoom:(NSArray *_Nullable)data; -/** - Fired when unlocked room called - @param room Instance of the room where event happen. - @param data information about unlookroom event - @details this is an acklodgment method for unlockroom, whenever any moderatore will call unlock room method. - */ -- (void)room:(EnxRoom *_Nullable)room didAckUnlockRoom:(NSArray *_Nullable)data; -/** - Fired when room locked - @param room Instance of the room where event happen. - @param data information about lookroom event - @details this delegate method will call, when moderatore will lock the room, other participent will receive this method. - */ -- (void)room:(EnxRoom *_Nullable)room didLockRoom:(NSArray *_Nullable)data; - -/** - Fired when room unlocked - @param room Instance of the room where event happen. - @param data information about unlookroom event - @details this delegate method will call, when moderatore will unlock the room, other participent will receive this method. - */ -- (void)room:(EnxRoom *_Nullable)room didUnlockRoom:(NSArray *_Nullable)data; - -#pragma mark- dropuser/destroy Room Delegate - -/** - Fired when drop user called - @param room Instance of the room where event happen. - @param data information about drop user event - @details this is an acklodgment method for dropuser, Moderatore can drop any user at any time. - */ - -- (void)room:(EnxRoom *_Nullable)room didAckDropUser:(NSArray *_Nullable)data; - -/** - Fired when destroy room called - @param room Instance of the room where event happen. - @param data information about destroy room event - @details this is an acklodgment method for destroy room, Moderatore can destroy room at any time. - */ -- (void)room:(EnxRoom *_Nullable)room didAckDestroy:(NSArray *_Nullable)data; - -#pragma mark- Room Live Streaming Events - -/** - Fired when start streaning event called - @param room Instance of the room where event happen. - @param data information about streaming event - @details this is an acklodgment method for streaming in room, Moderatore can start streaming at any time in confrence. - */ -- (void)room:(EnxRoom *_Nullable)room didAckStartStreaming:(NSArray *_Nullable)data; -/** - Fired when stop streaning event called - @param room Instance of the room where event happen. - @param data information about streaming event - @details this is an acklodgment method for streaming in room, Moderatore can stop streaming at any time in confrence. - */ -- (void)room:(EnxRoom *_Nullable)room didAckStopStreaming:(NSArray *_Nullable)data; -/** - Fired when streaning started in room - @param room Instance of the room where event happen. - @param data information about streaming event - @details This delegate method will called, when any modiatore will started streaming in room. - */ -- (void)room:(EnxRoom *_Nullable)room didStreamingStarted:(NSArray *_Nullable)data; -/** - Fired when streaning Stopped in room - @param room Instance of the room where event happen. - @param data information about streaming event - @details This delegate method will called, when any modiatore will Stopped streaming in room. - */ -- (void)room:(EnxRoom *_Nullable)room didStreamingStopped:(NSArray *_Nullable)data; -/** - Fired when streaning failed in room - @param room Instance of the room where event happen. - @param data information about streaming event - @details This delegate method will called, when any modiatore will failed streaming in room. - */ -- (void)room:(EnxRoom *_Nullable)room didStreamingFailed:(NSArray *_Nullable)data; -/** - Fired when streaning update in room - @param room Instance of the room where event happen. - @param data information about streaming event - @details This delegate method will called, when any modiatore will update streaming in room. - */ -- (void)room:(EnxRoom *_Nullable)room didStreamingUpdated:(NSArray *_Nullable)data; - -#pragma mark - BreakOut Room Delegates - -/** - Fired when create breakout room event called - @param room Instance of the room where event happen. - @param data information about create breakout room event - @details this is an acklodgment method for create breakout room, Moderatore/Participent can create a breakout room at any time in running confrence. - */ -- (void)room:(EnxRoom *_Nullable)room didAckCreateBreakOutRoom:(NSArray *_Nullable)data; -/** - Fired when create and nvite breakout room event called - @param room Instance of the room where event happen. - @param data information about createand invite breakout room event - @details this is an acklodgment method for create room, Moderatore/Participent can create and invite a breakout room at any time in running confrence. - */ -- (void)room:(EnxRoom *_Nullable)room didAckCreateAndInviteBreakOutRoom:(NSArray *_Nullable)data; -/** - Fired when join breakout room failed - @param room Instance of the room where event happen. - @param data information about failure to join breakoutroom - @details this delegate method will called when any user will try to join breakout room and failed. - */ -- (void)room:(EnxRoom *_Nullable)room didFailedJoinBreakOutRoom:(NSArray *_Nullable)data; -/** - Fired when invite breakout room event called - @param room Instance of the room where event happen. - @param data information about invite breakout room event - @details this is an acklodgment method for invite brealout room, Moderatore/Participent can intite to any user to join any breakout room. - */ -- (void)room:(EnxRoom *_Nullable)room didAckInviteBreakOutRoom:(NSArray *_Nullable)data; -/** - Fired when breakout room connected - @param room Instance of the room where event happen. - @param roomMetadata information of room after join breakout room - @details this delegate method will called, when user joined breakout room successfully. - */ -- (void)room:(EnxRoom *_Nullable)room didConnectedBreakoutRoom:(NSDictionary *_Nullable)roomMetadata; - -/** - Fired when user disconnect from breakout room - @param room Instance of the room where event happen. - @param respons information of breakout room disconnection - @details This delegate method will called, when user will disconnected from breakout room either self or due to any cause. - */ -- (void)room:(EnxRoom *_Nullable)room didDisconnectedBreakoutRoom:(NSArray *_Nullable)respons; -/** - Fired when user joined from breakout room - @param room Instance of the room where event happen. - @param data information of user who has joined breakout room. - @details This delegate method will called, when user will joined any breakout room. - */ -- (void)room:(EnxRoom *_Nullable)room didUserJoinedBreakoutRoom:(NSArray *_Nullable)data; -/** - Fired when joined from breakout room - @param room Instance of the room where event happen. - @param data information of user for join breakout room - @details This delegate method will called, when user will joined any breakout room. - */ -- (void)room:(EnxRoom *_Nullable)room didInvitationForBreakoutRoom:(NSArray *_Nullable)data; - -/** - Event fired when user will disconnect from breakout room - @param room Instance of the room where event happen. - @param data details user , which got disconnected from breakout room. - @details this is the Room on listrener method, Which will inform to owner of breakout room that all user has disconencted and room get destroied. - */ -- (void)room:(EnxRoom *_Nullable)room didDestroyedBreakoutRoom:(NSArray *_Nullable)data; - -/** - Event fired when user will disconnect from breakout room - @param room Instance of the room where event happen. - @param data details user , which got disconnected from breakout room. - @details this is the socket on listrener method for all use in parents room will get notify about user disconnected from breakout room resently. - */ -- (void)room:(EnxRoom *_Nullable)room didUserDisconnectedFromBreakoutRoom:(NSArray *_Nullable)data; -/** - Event fired when invitee user will reject breakout room invitation - @param room Instance of the room where event happen. - @param data details user , acknoledgmet details for reject breakout room invitation - @details this is the socket emit acknowledgment listrener method for the user who has rejected to join breakout room. - */ - -- (void)room:(EnxRoom *_Nullable)room didAckRejectBreakoutRoom:(NSArray *_Nullable)data; - -/** - Event fired for all available moderator in room - @param room Instance of the room where event happen. - @param data details of breakout room , - @details this is the socket on room managment listrener method for all moderator , once breakout room created. - */ -- (void)room:(EnxRoom *_Nullable)room didBreakoutRoomCreated:(NSArray *_Nullable)data; -/** - Event fired for all available moderator in room - @param room Instance of the room where event happen. - @param data details of user who has intivet in breakout room - @details this is the socket on room managment listrener method, will be sent to all the moderators about a participant being invited to breakout room - */ -- (void)room:(EnxRoom *_Nullable)room didBreakoutRoomInvited:(NSArray *_Nullable)data; - -/** - Event fired for all available moderator in room - @param room Instance of the room where event happen. - @param data details user , How has rejected for breakout room invitation. - @details this is the socket on room managment listrener method, event will be sent to the invitee and all the moderator if the breakout invite is rejected. The message will contain the room_id and rejected client id. - */ -- (void)room:(EnxRoom *_Nullable)room didBreakoutRoomInviteRejected:(NSArray *_Nullable)data; - -/** - Event fired when participent get force join to breakout room - @param data details user , Who has invited for force join - @details this notification for the participent user , whoi going to ve force joining in a breakout room. - */ --(void)didBreakoutroomjoining:(NSArray*_Nullable)data; - -#pragma mark- Puase/Resume/Mute/Unmute -/** - Fired when user pause room - @param room Instance of the room where event happen. - @param data information of room pause event - @details this is an ackniwledgment method for pause room, Any participent in room can pause the main room after join breakout room. - */ - -- (void)room:(EnxRoom *_Nullable)room didAckPause:(NSArray *_Nullable)data; -/** - Fired when user resume room - @param room Instance of the room where event happen. - @param data information of room resume event - @details this is an ackniwledgment method for resume room, Any participent in room can resume a paused main room after join/disconnect breakout room. - */ -- (void)room:(EnxRoom *_Nullable)room didAckResume:(NSArray *_Nullable)data; - -/** - Fired when user pause hem self - @param room Instance of the room where event happen. - @param data information of room pause information - @details this is an callback method for remote user available in room, once any of the user will call pause room apis - */ -- (void)room:(EnxRoom *_Nullable)room didUserPaused:(NSArray *_Nullable)data; -/** - Fired when user resume hem self - @param room Instance of the room where event happen. - @param data information of room resume event - @details this is an callback method for remote user available in room, once any of the user will call resume room apis - */ -- (void)room:(EnxRoom *_Nullable)room didUserResumed:(NSArray *_Nullable)data; - -/** - Fired when user mute room - @param room Instance of the room where event happen. - @param data information of room mute event - @details this is an ackniwledgment method for mute room, Any participent can mute an individua behaviour of room like audio,video after join breakout room. - */ -- (void)room:(EnxRoom *_Nullable)room didAckMuteRoom:(NSArray *_Nullable)data; -/** - Fired when user unmute room - @param room Instance of the room where event happen. - @param data information of room unmute event - @details this is an ackniwledgment method for unmute room, Any participent can unmute an individua behaviour of room like audio,video after mute such bahaviour after join/disconnect from breakout room - */ -- (void)room:(EnxRoom *_Nullable)room didAckUnmuteRoom:(NSArray *_Nullable)data; - -#pragma mark - Acknowledgment for Add/Remove ping user -/** - Fired when a Moderator request for add Ping user . - @param room Instance of the room where event happen. - @param data Inform user for pinged success/failure. - @details this is an acknowledgment method for pinUser events done by any modiatore. - */ -- (void)room:(EnxRoom *_Nullable)room didAckPinUsers:(NSArray *_Nullable)data; -/** - Fired when a Moderator request for remove Ping user . - @param room Instance of the room where event happen. - @param data Inform user for pinged success/failure. - @details this is an acknowledgment method for UnpinUsers events done by any modiatore. - */ -- (void)room:(EnxRoom *_Nullable)room didAckUnpinUsers:(NSArray *_Nullable)data; -/** - Fired when a any user has pinned by any moderatore . - @param room Instance of the room where event happen. - @param data Inform user for pinged user list. - @details this delegate method will update the list of pinned user list in same confrence. - */ -- (void)room:(EnxRoom *_Nullable)room didPinnedUsers:(NSArray *_Nullable)data; - -#pragma mark - Knock-Knock Room /wait for moderator -/** - Fired when your have join knock knoc room or wait for moderatore enable room. - @param room Instance of the room where event happen. - @param reason Inform user regarding why room waited - @details this delegate method will inform to a participent , who is going to join a knock-knock room or wait for moderatore enable room. - This API will inform either its knock-knoc room or wait for moderatore room. - This API only for participent. - */ --(void)room:(EnxRoom *_Nullable)room didRoomAwated:(NSArray *_Nullable)reason; -/** - Fired when a modiatore will approve any awaited user in knock - kock room - @param room Instance of the room where event happen. - @param data Inform about approved awated user. - @details this acknowledgment method for modeator, when he/she will approved awated user in knock knock room. - */ --(void)room:(EnxRoom *_Nullable)room didAckForApproveAwaitedUser:(NSArray *_Nullable)data; - -/** - Fired when a any user has pinned by any moderatore . - @param room Instance of the room where event happen. - @param data Inform about deny awated user. - @details this acknowledgment method for modeator, when he/she will deny awated user in knock knock room. - */ --(void)room:(EnxRoom *_Nullable)room didAckForDenyAwaitedUser:(NSArray *_Nullable)data; - -/** - Fired when a any participent waiting in lobby of knock knock room - @param room Instance of the room where event happen. - @param data Inform about waited user - @details this callback method for modeartor , when any user user join after modeartor join and waiting in lobby. - */ --(void)room:(EnxRoom *_Nullable)room diduserAwaited:(NSArray *_Nullable)data; - -/** - Fired for ACK for Talker subscribe notification option - @param room Instance of the room where event happen. - @param data ACK information of Talker notification. - @details This delegate called for Talker notification subscribe - */ - -- (void)room:(EnxRoom *_Nullable)room didAckSubscribeTalkerNotification:(NSArray *_Nullable)data; -/** - Fired for ACK for Talker unsubscribe notification option - @param room Instance of the room where event happen. - @param data ACK information of Talker notification. - @details This delegate called for Talker notification unsubscribe updates. - */ -- (void)room:(EnxRoom *_Nullable)room didAckUnsubscribeTalkerNotification:(NSArray *_Nullable)data; -/** - Fired for giving all list of active speaker details - @param room Instance of the room where event happen. - @param data information of active speker. - @details This delegate called for Talker notification subscribe/unsubscribeupdates. - */ - --(void)room:(EnxRoom *_Nullable)room didTalkerNotification:(NSArray *_Nullable)data; - -/** - Fired to notify user for his/her subscriber bandwidth alart - @param room Instance of the room where event happen. - @param data information about subscriber bandwidth. - @details This delegate notify to the user incase of subscriber bandwidth goes low - */ - --(void)room:(EnxRoom *_Nullable)room didRoomBandwidthAlert:(NSArray *_Nullable)data; - - - -#pragma mark - delegate for Add/Remove sportLight user -/** - Fired when a Moderator request for add Spotlight user . - @param room Instance of the room where event happen. - @param data Inform user for Spotlight success/failure. - @details this is an acknowledgment method for add Spotlight events done by any modiatore. - */ -- (void)room:(EnxRoom *_Nullable)room didAckAddSpotlightUsers:(NSArray *_Nullable)data; -/** - Fired when a Moderator request for remove Spotlight user . - @param room Instance of the room where event happen. - @param data Inform user for Spotlight success/failure. - @details this is an acknowledgment method for remove Spotlight events done by any modiatore. - */ -- (void)room:(EnxRoom *_Nullable)room didAckRemoveSpotlightUsers:(NSArray *_Nullable)data; -/** - Fired when a any user has Spotlight by any moderatore . - @param room Instance of the room where event happen. - @param data Inform user for pinged user list. - @details this delegate method will update the list of Spotlight user list in same confrence. - */ -- (void)room:(EnxRoom *_Nullable)room didUpdatedSpotlightUsers:(NSArray *_Nullable)data; - -#pragma mark - delegate for Switch Room Mode - -/** - This is an acknolagement for switch room - - @param room Instance of the room where event happen. - @param data Acknowldgement details. - @details this is an acknowladgement owner of the method . - */ - - -- (void)room:(EnxRoom *_Nullable)room didAckSwitchedRoom:(NSArray *_Nullable)data; - -/** - This is notification for switch room - - @param room Instance of the room where event happen. - @param data details of the new room details. - @details this is notification for all participants or moderator . - */ - --(void)room:(EnxRoom *_Nullable)room didRoomModeSwitched:(NSArray *_Nullable)data; - -#pragma mark- Live Recording Callbacks -/** - Acknowledgment for Live Recording on - @param room Instance of the room where event happen. - @param data details of the live recording - @details this acknowledgment notification will notify to the user who start live recording - */ --(void)room:(EnxRoom* _Nullable)room didACKStartLiveRecording:(NSArray *_Nullable)data; -/** - Acknowledgment for Live Recording off - @param room Instance of the room where event happen. - @param data details of the live recording - @details this acknowledgment notification will notify to the user who stop live recording - */ --(void)room:(EnxRoom* _Nullable)room didACKStopLiveRecording:(NSArray *_Nullable)data; -/** - This is the event for Start live recording in room - @param room Instance of the room where event happen. - @param data details of the live recording - @details this CAllback to all users available in room including the owner of the methos also, about live reecording started - */ --(void)room:(EnxRoom* _Nullable)room didRoomLiveRecordingOn:(NSArray *_Nullable)data; -/** - This is the event for Stop live recording in room - @param room Instance of the room where event happen. - @param data details of the live recording - @details this CAllback to all users available in room including the owner of the methos also, about live reecording Stop - */ --(void)room:(EnxRoom* _Nullable)room didRoomLiveRecordingOff:(NSArray *_Nullable)data; -/** - This is the event for failed to Start/Stop live recording in room - @param room Instance of the room where event happen. - @param data details of the live recording - @details this CAllback to all users available in room including the owner of the methos also, about live reecording failed to Start/Stop - */ --(void)room:(EnxRoom* _Nullable)room didRoomLiveRecordingFailed:(NSArray *_Nullable)data; -/** - This is the event for Update current status of live recording in room - @param room Instance of the room where event happen. - @param data details of the live recording - @details this Callback to all users available in room including the owner of the methos also, about live reecording update - */ --(void)room:(EnxRoom* _Nullable)room didRoomLiveRecordingUpdated:(NSArray *_Nullable)data; - -/** - This is notification for layout update to the event owner - @param room Instance of the room where event happen. - @param data status Acknowledgment for events - @details this acknowledgment will notify to the owner of the event - */ --(void)room:(EnxRoom* _Nullable)room didACKUpdateLayout:(NSArray *_Nullable)data; -/** - This is event callback for all user in room for layout update in room - @param room Instance of the room where event happen. - @param data details about new purposed layout - @details this is layout update for all users in room - */ --(void)room:(EnxRoom* _Nullable)room didLayoutupdated:(NSArray *_Nullable)data; -/** - This is event callback for all user in room for typing inidicator - @param isTryping true/false - @details this is indicate that user start typing **/ --(void)didUserStartTyping:(BOOL)isTryping; - -#pragma mark - Customer Data Update -/** - This is event callback for the owner of the event - @param data update about save custom data - @details update about save custom data to the event owner **/ --(void)didCustomDataSaved:(NSArray *_Nullable)data; -/** - This is event callback for the owner of the event - @param data update about Updated custom data - @details update about Updated custom data to the event owner **/ --(void)didCustomDataUpdated:(NSArray *_Nullable)data; -/** - This is event callback for the owner of the event - @param data information about custome data - @details notify list of getdata **/ --(void)didGetCustomData:(NSArray *_Nullable)data; --(void)didACKCustomDataUpdated:(NSArray *_Nullable)data; - -#pragma mark - Page Talker --(void)room:(EnxRoom* _Nullable)room didACKSubscribePageVideo:(NSArray *_Nullable)data; --(void)room:(EnxRoom* _Nullable)room didACKUnsubscribePageVideo:(NSArray *_Nullable)data; --(void)room:(EnxRoom* _Nullable)room didACKGetPageVideo:(NSArray *_Nullable)data; --(void)room:(EnxRoom* _Nullable)room didPageTalkerList:(NSArray *_Nullable)data; - -#pragma mark - Speech to Text - -- (void)room:(EnxRoom* _Nullable)room didACKStartLiveTranscription:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKStopLiveTranscription:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKSubscribeForLiveTranscription:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didTranscriptionEvents:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didRoomTranscriptionOn:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didRoomTranscriptionOff:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didSelfTranscriptionOn:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didSelfTranscriptionOff:(NSArray *_Nonnull)data; - - -#pragma mark - HLS Stream -- (void)room:(EnxRoom* _Nullable)room didHlsStarted:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didHlsStopped:(NSArray *_Nonnull)data; -//In Feature if need -- (void)room:(EnxRoom* _Nullable)room didHlsFailed:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didHlsWaiting:(NSArray *_Nonnull)data; - -#pragma mark- Speaker Volume --(void)didSpeakerMuted; --(void)didSpeakerUnmuted; -#pragma mark - Share premission -- (void)room:(EnxRoom* _Nullable)room didSharePermissionsModeChanged:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKSetSharePermissionMode:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKGrantSharePermission:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKDenySharePermission:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKReleaseSharePermission:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKRequestSharePermission:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didACKCancelSharePermission:(NSArray *_Nonnull)data; - -//Share Events -- (void)room:(EnxRoom* _Nullable)room didSharePermissionRequested:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didSharePermissionReleased:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didSharePermissionDeny:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didSharePermissionCancled:(NSArray *_Nonnull)data; -- (void)room:(EnxRoom* _Nullable)room didSharePermissionGranted:(NSArray *_Nonnull)data; - - - -@end -@protocol EnxRoomFaceXDelegate -@optional -#pragma mark - FaceX Events - -/** - Fired when a pingBack event called - @param data Information pingback event - @details this delegate method when faceX process will start. - */ --(void)didPingBack:(NSArray*_Nullable)data; -/** - Fired when a StartedClientUsage event called - @param data Information StartClientUsage event - @details this delegate method when faceX process will start and StartedClientUsage fired. - */ --(void)didStartedClientUsage:(NSArray*_Nullable)data; -/** - Fired when a StoppedClientUsage event called - @param data Information StoppedClientUsage event - @details this delegate method when faceX process will start and StoppedClientUsage fired. - */ --(void)didStoppedClientUsage:(NSArray*_Nullable)data; -@end - -@protocol EnxBroadCastDelegate -@optional -#pragma mark - EnxBroadCast Delegates -/** - Fired when a broadcased started - @param data Information broadcast event - @details This delegate method will called when user will add replaykit breadcast and start shreen shared - */ --(void)didStartBroadCast:(NSArray*_Nullable)data; -/** - Fired when a broadcased stopped - @param data Information broadcast event - @details This delegate method will called when user will add replaykit breadcast and stopped shreen shared - */ --(void)didStoppedBroadCast:(NSArray*_Nullable)data; -/** - Fired when a broadcased disconnected - @details This delegate method will called when user will stopped screen shared - */ --(void)broadCastDisconnected; -/** - Fired when a broadcased disconnected - @details This delegate method will called when user will start screen shared - */ --(void)broadCastConnected; -/** - Fired when a broadcased disconnected - @param reason Information about failure to start screen share - @details This delegate method will called when user will start screen and failed - */ --(void)failedToConnectWithBroadCast:(NSArray*_Nonnull)reason; - -/** - Fired when a broadcased disconnected failed - @param reason Information about failure to start screen share - @details This delegate method will called when user will start screen and failed - */ --(void)failedToDisconnectWithBroadCast:(NSArray*_Nonnull)reason; - -/** - Fired when disconnectedByOwner - @details This delegate method will called when user will start screen shared and main room disconnected. - */ --(void)disconnectedByOwner; -/** - The chield will get notify to exist from breakout room - @param Data ACK list of Stop Annotation - @details This delegate method will notify to the child client . - */ --(void)didRequestedExitRoom:(NSArray *_Nullable)Data; -@end - -#pragma mark- Breakout Internal ClassUpdate -//This delegate class used for Internal Update to EnxBreakOutRoomClass -@protocol EnxBreakoutInternalClassDelegate --(void)room:(EnxRoom *_Nullable)room didBreackoutRoomConnected:(NSDictionary*_Nullable)roomMetadata; --(void)didbreakoutRoomDisconencted:(EnxRoom *_Nullable)room; -@end - -///----------------------------------- -/// @name Interface Declaration -///----------------------------------- - -/* - Interface responsable of publshing/consuming streams in a given EnxRoom. - */ -@interface EnxRoom : NSObject - - -///----------------------------------- -/// @name Initializers -///----------------------------------- - -/** - Create an EnxRoom with the given EnxRoomDelegate. - - Notice that if initialize EnxRoom like this, you will never be able to - publish/subscribe streams without first call method connect: - method. - @see connect: - @param roomDelegate EnxRoomDelegate instance for this room. - @return instancetype - @details this method is used to create a refrence of room and set room delegate - */ -- (instancetype _Nonnull )initWithDelegate:(id_Nonnull)roomDelegate; - -///----------------------------------- -/// @name Properties -///----------------------------------- -/// EnxRoomDelegate were this room will invoke methods as events. -@property (weak, nonatomic) id _Nullable delegate; -/// EnxFaceXDelegate were this room will invoke methods as events. -@property (weak, nonatomic) id _Nullable broadCastDelegate; -/// EnxFaceXDelegate were this room will invoke methods as events. -@property (weak, nonatomic) id _Nullable faceXRoomDelegate; -/// EnxBreakoutInternalClassDelegate were this room will invoke methods as events. This protocal method for sdk internal used. -@property(weak,nonatomic) id _Nullable breakOutDelegate; -///Here i am storing playerDelegate when join room called and set this playerDelegate to player when we create player internally. -@property (weak, nonatomic) id _Nullable playerDelegate; -/// EnxSignalingChannel signaling delegate instance associtated with this room. -/// Is not required for you to set this property manually. -@property EnxSignalingChannel * _Nullable signalingChannel; -/// The status of this Room. -@property (nonatomic, readonly) EnxRoomStatus status; -/// Enx Local stream options. -@property (readonly, nonatomic) NSDictionary * _Nullable streamOptions; -/// Enx Screen Share/Canvas stream options. -@property (readonly, nonatomic) NSDictionary * _Nullable options_screen; -/// Full response after signalling channel connect the server. -@property (nonatomic, readonly) NSMutableDictionary * _Nullable roomMetadata; -/// The Enx room id for this room instance. -@property (nonatomic, readonly) NSString * _Nullable roomId; -/// EnxStream referencing the stream being published. -@property (readonly) EnxStream * _Nullable publishStream; -/// EnxStream streams in the room. -@property (readonly) NSMutableDictionary * _Nullable streamsByStreamId; -/// List of remote EnxStream streams available in this room. -/// They might be subscribed or not. -@property (readonly) NSArray * _Nullable remoteStreams; -/// BOOL set/get enable recording of the stream being published. -@property BOOL recordEnabled; -/// BOOL to check active talker enable or not -@property (readonly) BOOL isRoomActiveTalker; -/// BOOL is P2P kind of room. -@property (readonly) BOOL peerToPeerRoom; -/// RTC Factory shared by streams of this room. -@property RTCPeerConnectionFactory * _Nullable peerFactory; -/// BOOL enable/disable log publishing stats. -/// Stats are collected each 2 seconds max, having this flag on produces -/// console output, take a look to EnxRoomStatsDelegate to being able -/// to receive events when stats are collected. -@property BOOL publishingStats; - -//Mantain a flag when moderatore will do room mute/unmute -@property (nonatomic,readonly) BOOL moderatorHardMuteActiveState; -//Mantain a flag when moderatore will do single participent mute/unmute -@property (nonatomic,readonly) BOOL participantHardMuteActiveState; -//Mantain a flag when room has all ready hard muted by any modiatore. -@property (nonatomic,readonly) BOOL isHardMuteRoom; -//Mantain a flag when participent has all ready hard muted by any modiatore. -@property (nonatomic, readonly) BOOL isHardMuteUser; -//Mantain a flag when video muted in room. -@property (nonatomic,readonly) BOOL isVideoUserHardMute; -//Mantain a flag when stream has audio only. -@property (nonatomic,readonly) BOOL isAudioOnlyStreams; -//Mantain a flag when room has audio only. -@property (nonatomic) BOOL isAudioOnlyRoom; -//Mantain a flag when room has Chat only. -@property(nonatomic,readonly)BOOL chatOnlyRoom; -//Mantain a flag to check if reconnect all ready in progress. -@property(nonatomic)BOOL isReconnectingAttampted; -// connected clientId -@property (readonly,weak) NSString * _Nullable clientId; -// connected clientName -@property (readonly,weak) NSString * _Nullable clientName; -// connected user role -@property (readonly,nonatomic) NSString * _Nonnull userRole; -// max frame limit -@property(readonly) int maxFrameLimits; -// NSDictonary who carry all room information. -@property (readonly) NSDictionary * _Nullable roomInfo; -//Mantain a flag to check joined room as parents room or breakout room. -@property (nonatomic)BOOL isBreakOutRoom; -//store delegate refrence of parents room. -@property(nonatomic) id _Nullable delegateRef; -@property(nonatomic)BOOL isLobby; -//Custome Data locally Storage -@property(nonatomic,readonly)NSMutableDictionary * _Nullable customRoomData; - -///----------------------------------- -/// @name Public Methods -///----------------------------------- - -/** - This method is required if you have instanciated EnxRoom class without providing a token. - @param token The auth token for room access. See initWithEncodedToken: - for token composition details. - @param roomInfo will a required argument, this will contain about room delais, for example - is reconnect allowed, number of attamped, time out, palayer icons , Activetalker type etc.... - @advanceOption this is an optional argument, this will contain information about subscription of advance option during join room - @see EnxRoomDelegate:room:didConnect: - @see EnxRoomDelegate:room:didError: - */ - -- (void)connect:(NSString *_Nonnull)token roomInfo:(NSDictionary * _Nullable)roomInfo advanceOptions:(NSArray *_Nullable)advanceOption; - -/** - Publishes a given EnxStream with given options. - @param stream The stream from where we will be publishing. - @see EnxRoomDelegate:room:didPublishStream: - */ -- (void)publish:(EnxStream *_Nonnull)stream; -/** - Un-Publish the stream being published. - */ -- (void)unpublish; -/** - Subscribe to a remote stream. - @param stream EnxStream object containing a valid streamId. - You should be connected to the room before subscribing to a stream. - To know how to get streams ids take a look at the following methods: - @see EnxRoomDelegate:room:didAddedStream: - @returns Boolean indicating if started to signaling to subscribe the - given stream. - */ -- (BOOL)subscribe:(EnxStream *_Nonnull)stream; - -/** - Unsubscribe from a remote stream. - @param stream The stream you want to unsubscribe. - @see EnxRoomDelegate:room:didUnSubscribeStream: - */ -- (void)unsubscribe:(EnxStream *_Nonnull)stream; - -/** - Leave the room. - RTC and WS connections will be closed. - To close the Enx and WC connection use method: - @see EnxRoomDelegate:didRoomDisconnect: - */ -- (void)disconnect; -/** - To post Enx client SDK logs to server use the below method. - Note: To post client logs, first developer needs to enable the logs. - @see EnxRoomDelegate:room:logsUploadedSuccess: - @see EnxRoomDelegate:room:logsUploadedFailure: - */ --(void)postClientLogs; - -/** - To start Recording - @see EnxRoomDelegate:room:startRecordingEvent: - */ --(void)startRecord; - -/** - To stop Recording - @see EnxRoomDelegate:room:stopRecordingEvent: - */ --(void)stopRecord; - -#pragma mark - CC -/** - This API is only available during Lecture Mode of a Session. Each Participant Raise hand Control can individually be asked to Join the floor using this API Call. This API calls are only available to users with role “Participant” - */ - -- (void)requestFloor; -/** - This API is only available during Lecture Mode of a Session. Each Participant can cancle their floor request individually any time after reise hand request success using this API Call. This API calls are only available to users with role “Participant” - */ -- (void)cancelFloor; -/** - This API is only available during Lecture Mode of a Session. Each Participant can Finish Floor request individually after floor request accepted by any of the modiatore in same room using this API Call. This API calls are only available to users with role “Participant” - */ -- (void)finishFloor; -/** - This API is only available during Lecture Mode. Each Participant requested Floor Control can individually be granted access to the Floor using this API Call. These API calls are only available to users with role “Moderator”. - @param clientId It’s the Client ID for the participant whom access is being granted. - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - Moderator delegate - @see EnxRoomDelegate:didProcessFloorRequested:data: - Paricipant delegate - @see EnxRoomDelegate:didGrantFloorRequested:data: - */ --(void)grantFloor:(NSString *_Nonnull)clientId; - -/** - - This API is only available during Lecture Mode of a Session. Each Participant granted Floor Control can individually be asked to release the floor Control using this API Call. This API calls are only available to users with role “Moderator”. - @param clientId It’s the Client ID for the participant who is being denied access to the floor. - Status Developer pass status as a "releaseFloor". - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - Moderator delegate - @see EnxRoomDelegate:didProcessFloorRequested:data: - Paricipant delegate - @see EnxRoomDelegate:didReleaseFloorRequested:data: - */ --(void)releaseFloor:(NSString *_Nonnull)clientId; -/** - This API is only available during Lecture Mode of a Session. Each Participant requested Floor Control can individually be denied access to the Floor using this API Call. This API calls are only available to users with role “Moderator”. - - @param clientId It’s the Client ID for the participant who is being denied access to the floor. - - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - - Moderator delegate - @see EnxRoomDelegate:didProcessFloorRequested:data: - - Paricipant delegate - @see EnxRoomDelegate:didDenyFloorRequested:data: - - */ --(void)denyFloor:(NSString *_Nonnull)clientId; -/** - This API is only available during Lecture Mode of a Session and for the moderator. where moderator can handover the floor request to any random participent and that participent will either accept or deny. - Once participant will accept will pubish their stream. - - @param clientId It’s the Client ID for the participant to whom giving floor access. - - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - - Moderator delegate - @see EnxRoomDelegate:didInviteToFloorRequested:data: - */ --(void)inviteToFloor:(NSString* _Nonnull)clientId; - -/** - This API is only available during Lecture Mode of a Session and for the participant. where moderator can handover the floor request to any random participent, Now its chooice of participent either he is accepting or deny - - @param clientId It’s the Client ID for the participant to whom giving floor access. - - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - - Moderator delegate - @see EnxRoomDelegate:didProcessFloorRequested:data: - */ --(void)acceptInviteFloorRequest:(NSString* _Nonnull)clientId; - -/** - This API is only available during Lecture Mode of a Session and for the moderator. where moderator can handover the floor request to any random participent and he/she can cancle that request at any time before accept. - - @param clientId It’s the Client ID for the participant to whom giving floor access. - - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - - Moderator delegate - @see EnxRoomDelegate:didProcessFloorRequested:data: - */ --(void)cancelFloorInvite:(NSString* _Nonnull)clientId; - -/** - This API is only available during Lecture Mode of a Session and for the participant. where moderator can invite the floor request to any random participent, Now its chooice of participent either he is accepting or deny - - @param clientId It’s the Client ID for the participant to whom giving floor access. - - Delegate (Optional). If you need to handle the success or failure of the action, then pass a function name here to which you look to receive call back. - - Moderator delegate - @see EnxRoomDelegate:didProcessFloorRequested:data: - */ - --(void)rejectInviteFloor:(NSString* _Nonnull)clientId; - - -#pragma mark- Hard Mute -/** - mute all audio stream. - Note: Hardmute functionality is only applicable to moderator. - @see EnxRoomDelegate:didMutedAllUser::data: - */ -- (void)hardMute; - -/** - unmute all audio stream. - Note: Hardmute functionality is only applicable to moderator. - @see EnxRoomDelegate:didUnMutedAllUser:data: - */ -- (void)hardUnMute; - -/** - mute single audio stream. - Note: Hardmute functionality is only applicable to moderator. - @param clientId is the participant who is being mute to the floor. - @see EnxRoomDelegate:didAckHardMuteUserAudio:::data: - - */ -- (void)hardMuteUserAudio:(NSString*_Nonnull)clientId; -/** - unmute single audio stream. - Note: Hardmute functionality is only applicable to moderator. - @param clientId is the participant who is being mute to the floor. - @see EnxRoomDelegate:didAckHardunMuteUserAudio:::data: - */ -- (void)hardUnmuteUserAudio:(NSString*_Nonnull)clientId; -/** - mute single user video . - Note: Hardmute functionality is only applicable to moderator. - @param clientId is the participant who is being mute to the floor. - @see EnxRoomDelegate:didAckHardMuteUserVideo:::data: - - */ - - (void)hardMuteUserVideo:(NSString*_Nonnull)clientId; - /** - unmute single user video stream. - - Note: Hardunmute functionality is only applicable to moderator. - @param clientId is the participant who is being mute to the floor. - @see EnxRoomDelegate:didAckHardUnMuteUserVideo:::data: - */ - - (void)hardUnmuteUserVideo:(NSString*_Nonnull)clientId; - /** - - A Stream carries different type of media . Audio, Video and/or Data. This stream gets transferred towards remote end points through EnableX Media Servers where it’s played and interacted with. - - @param publishStreamInfo - - Where publishStreamInfo is: - { - "audio": true, - "video": true, - "data": true, - "name": "iOS", - "type" : "public" - - } - - @returns EnxStream. - - */ - --(EnxStream *_Nullable)getLocalStream:(NSDictionary *_Nonnull)publishStreamInfo; - - -/** - Speaker set active or not active - - @param state set true or false - - */ - -//- (void)speakerActive :(BOOL)state; - -/** - This method returns user-meta information about the user connected on a End-POint. - - @returns NSDictionary. - - */ - --(NSDictionary *_Nullable)Whoami; - -#pragma mark- AT -/** - This method is available for all users during Active Talker Mode. Using this method, you can get maximum number of allowed Active Talkers in the room. - - @see EnxRoomDelegate:didGetMaxTalkers:data: - - */ --(void)getMaxTalkers; -/** - - The getTalkerCount method is used to know opted streams in Active Talker. - - @see EnxRoomDelegate:didGetTalkerCount:data: - - - */ --(void)getTalkerCount; -/** - - The setTalkerCount method is used to opt total number of streams to receive at a Client End point in Active Talkers. - - @param number to set total number of streams opted to receive in Active Talker. - - @see EnxRoomDelegate:didSetTalkerCount:data: - - */ --(void)setTalkerCount:(NSInteger)number; - -/** - This methgod will used to switchged audiovideo call to audio only call. - @param audioOnly is a flag to switch over audiovideo to audioonly or vise versa - */ --(void)setAudioOnlyMode:(BOOL)audioOnly; - -/** - This API use to request server to set the remote video stream in different quality. - @param opt which should be "Auto, HD , SD, LD and talker/canvas" - - */ --(void)setReceiveVideoQuality:(NSDictionary*_Nonnull)opt; - -/** - This API use to return the remote video stream quality. - @param streamType which should be "talker/canvas" - @return its will return as NSString which has stream video quality information like "Auto, HD , SD, LD" - */ --(NSString *_Nonnull)getReceiveVideoQuality:(NSString*_Nonnull)streamType; - -/** - This method for get event from stream if any unauthrozed event get called - @param eventName will carry name of enent. - */ - --(void)getEnxSteamEventError:(NSString *_Nonnull)eventName; - -/** - This method Will return all list of connected Audio Device - @return list of audio device - **/ --(NSArray*_Nonnull)getDevices; - -/** - This method Will return Current selected Audio device - @return as NSString of current stelected audio device. - **/ --(NSString*_Nonnull)getSelectedDevice; - -/** - This method Will Switch to selected media device - @param mediaName as NSString of new audio media name on which we overwride the audio media - **/ --(void)switchMediaDevice:(NSString*_Nonnull)mediaName; - - -/** - Client endpoint will call this method to a mute/unmute remote stream while application in the background. - @param flag will carry a flag value for mute/unmute remote stream during background - */ --(void)stopVideoTracksOnApplicationBackground:(BOOL)flag; - -/** - Client endpoint will call this method to a mute/unmute remote stream while application in the foreground. - @param flag will carry a flag value for mute/unmute remote stream during forground - */ --(void)startVideoTracksOnApplicationForeground:(BOOL)flag; - -/** - Client End point will call this method to enable/disable stats by passing flag = true/false - @param flag true/false - 'True' for enable stats and 'False' for desable Stats - */ --(void)enableStats:(BOOL)flag; - -/** - Client end point use this method to active/inactive audio of all subcribe streams. - @param flag true/false - */ --(void)muteSubscribeStreamsAudio:(BOOL)flag; -/** - client end point will used this method for sending chat message in same confrent either private or publically. - @param message contain actual chat message. its can't be null - @param broadcast true/false if breadcast true means this message will sent to all user in confrence false mesan only listed participent - @param clientIds here will maintain list of client id who going to receive chat message. it can be nil if broadcast true. - */ - --(void)sendMessage:(NSString *_Nonnull)message isBroadCast:(BOOL)broadcast recipientIDs:(NSArray *_Nullable)clientIds; -/** - client end point will used this method for sending custome event message in same confrent either private or publically. - @param message contain actual chat message. its can't be null - @param broadcast true/false if breadcast true means this message will sent to all user in confrence false mesan only listed participent - @param clientIds here will maintain list of client id who going to receive chat message. it can be nil if broadcast true. - */ --(void)sendUserData:(NSDictionary *_Nonnull)message isBroadCast:(BOOL)broadcast recipientIDs:(NSArray *_Nullable)clientIds; -#pragma mark- Advance Option Method -/** - Client endpoint can set options at room level. to set adavance option after join room -@param data contain list of advance option going to subscribe, data can't be nill - */ --(void)setAdvanceOptions:(NSArray *_Nonnull)data; - -/** - To get list Advance options set by client endpoint. */ --(void)getAdvanceOptions; - -/** - Client endpoint can use this method to switch their role or handover their authority to any of the participent - @param clientId here user will pass a string of clientID, this clientId must not be nill. - */ --(void)switchUserRole:(NSString *_Nullable)clientId; -#pragma mark - File upload/download/Cancle -/** - Client endpoint can use this method to send any type of file in confrence. - @param isBroadcast true/false true for public share and false fro private share - @param clientIds list of client id who going to receive a private files, its is a required only if user will send a private file. - */ --(void)sendFiles:(BOOL)isBroadcast clientIds:(NSArray *_Nullable)clientIds; -/** - Client endpoint can use this method to download any file shared in confrence. - @param file It is a NSDictonary with contaion all information about files, its is a required property. - @param flag true/false, if true the file will auto save phone galary and if false file will not save - */ --(void)downloadFile:(NSDictionary *_Nonnull)file autoSave:(BOOL)flag; -/** - Client endpoint can use this method to know all list of available files which he/she can download. - @return its will return list of available file to be download for the participent - */ --(NSArray*_Nullable)getAvailableFiles; -/** - Client endpoint can use this method to Cancle on going upload file. - @param jobID a Int value which contain cancle file jobID, it is a required property. - */ --(void)cancelUpload:(int)jobID; -/** - Client endpoint can use this method to Cancle all on going upload files. - */ --(void)cancelAllUploads; -/** - Client endpoint can use this method to Cancle on going download file. - @param jobID a Int value which contain cancle file jobID, it is a required property. - */ --(void)cancelDownload:(int)jobID; -/** - Client endpoint can use this method to Cancle all on going downlod file. - */ --(void)cancelAllDownloads; -#pragma mark- outbound call -/** - Old APIs for Client endpoint can use this method to connect through outbond call, - @param number it is a NSString value which contain end user mobile number, its is a required property which can't be nil. - @param callerId this is a NSString which carry callerID, its is a required property which can't be nil. - This method for initiating outbound call -*/ --(void)makeOutboundCall:(NSString*_Nonnull)number callerId:(NSString *_Nonnull)callerId; -/** - New APIs for Client endpoint can use this method to connect through outbond call, here in this apis user can pass their aditional dailer information - @param number it is a NSString value which contain end user mobile number, its is a required property which can't be nil. - @param callerId this is a NSString which carry callerID, its is a required property which can't be nil. - This method for initiating outbound call - @param dialOptions - this is an optional argment for user needs -*/ --(void)makeOutboundCall:(NSString*_Nonnull)number callerId:(NSString *_Nonnull)callerId withDialOptions:(NSDictionary* _Nonnull)dialOptions; -/** - New APIs for Client endpoint can use this method to connect through outbond call, here in this apis user can pass their aditional dailer information - @param numberList it is a NSArray value which contain end users mobile number, its is a required property which can't be nil. - @param callerId this is a NSString which carry callerID, its is a required property which can't be nil. - This method for initiating outbound call - @param dialOptions - this is an optional argment for user needs -*/ --(void)makeOutboundCalls:(NSArray*_Nonnull)numberList callerId:(NSString *_Nonnull)callerId withDialOptions:(NSDictionary* _Nonnull)dialOptions; - -//Cancel out bond call for the any number --(void)cancelOutboundCall:(NSString*_Nonnull)number; - -#pragma mark- zoonin/zoomout on remote stream -/** - Client endpoint can use this method to zoom remote stream, - @param value it is a CGFloat value which contain range form 0.1 to 1.0 scall to zoom - @param clientIds this is a list of clientids which streams are going to zoom. its is a required property , its can't be nil. -*/ --(void)setZoomFactor:(CGFloat)value clientId:(NSArray *_Nonnull)clientIds; - -#pragma mark- annotation/canvas start/stop methods -/** - Client endpoint can use this method to start Annotations on given stream. - @param stream it is a EnxStream on which annotation going to be done. its is a required property which can't be nil. -*/ - --(void)startAnnotation:(EnxStream*_Nonnull)stream; -/** - Client endpoint can use this method to stop ongoing Annotations , this method only excute if all ready annotation is running in confrence and only owner of annotation can stop annotation. - -*/ --(void)stopAnnotation; -/** - Client endpoint can use this method to start Canvas on given UIview. - @param view it is a UIview on which canvas is running. its is a required property which can't be nil. -*/ --(void)startCanvas:(UIView*_Nonnull)view; - -/** - Client endpoint can use this method to stop ongoing canvas , this method only excute if all ready canvas is running in confrence and only owner of annotation can stop annotation. -*/ --(void)stopCanvas; - -#pragma mark- extend confrence and update configuration -/* - Client endpoint can use this method to Extend Confrence Duration. - */ --(void)extendConferenceDuration; -/** - Client endpoint can use this method to update Configuration in ongoing confrence , - @param data it is a NSDictonary which contaion information about update configuration, its is a required property ,its can't be nil. -*/ --(void)updateConfiguration:(NSDictionary *_Nonnull)data; - -#pragma mark- lock/unlock room -/** - Client endpoint can use this method to lock the ongoing confrence. -*/ --(void)lockRoom; -/** - Client endpoint can use this method to unlock the ongoing confrence. -*/ --(void)unlockRoom; -/** - Client endpoint can use this method to enable/disable proximitry Sensor , - @param value true/false , ture for unable proximitry Sensor and false for diasable proximitry Sensor -*/ --(void)enableProximitySensor:(BOOL)value; - -#pragma mark- drop user or destroy room -/** - Client endpoint can use this method to drop any user from ongoing confrence, - @param clientIds its contain list of clientID who going to be dropped from ongoing confrence, Its is a required property, can't be nil. -*/ --(void)dropUser:(NSArray *_Nonnull)clientIds; -/** - Client endpoint can use this method to destroy ongoing confrence at any time, -*/ --(void)destroy; -/** - Client endpoint can use this method to get list of update available users in room. - @return its will return list of available users in room. -*/ --(NSArray*_Nonnull)getUserList; -/** - Client endpoint can use this method to adjust Layout of activetalker View, This method will valid only if user has requested for complete view of activetalker -*/ --(void)adjustLayout; - - -#pragma mark- start/stop steaming -/** - Client endpoint can use this method to start startStreaming in ongoing confrence. - @param streamingConfig it is a NSDictonary which contain information about streaming, it is a required parameter, its can't be nil -*/ - -//Live broadcast Streaming API --(void)startStreaming:(NSDictionary *_Nonnull)streamingConfig; -/** - Client endpoint can use this method to start stopStreaming in ongoing confrence. - @param streamingConfig it is a NSDictonary which contain information about streaming, it is a required parameter, its can't be nil -*/ --(void)stopStreaming:(NSDictionary *_Nonnull)streamingConfig; -#pragma mark- strat/stop screen share -//Start Screen Share -/** - This method is required instance of EnxScreenshareDelegate along with token - @param token The auth token for room access. See initWithEncodedToken: - for token composition details. - */ --(void)connectWithScreenshare:(NSString *_Nonnull)token withScreenDelegate:(id _Nonnull)delegate; -/** - Client endpoint can use this method to start screen share in ongoing confrence. -*/ --(void)startScreenShare; -/** - Client endpoint can use this method to start screen share in ongoing confrence with custome information. -*/ --(void)startScreenShare:(NSDictionary*_Nonnull)option; - -/** - Client endpoint can use this method to send video buffer after screen shared started. - @param sampleBuffer it is a required property, can't be nil. -*/ --(void)sendVideoBuffer:(CVPixelBufferRef _Nonnull )sampleBuffer withTimeStamp:(int64_t)timeStampNs; -/** - Client endpoint can use this method to stop screen share, this method only work when screen shared all ready running. -*/ --(void)stopScreenShare; -/** - Client endpoint can use this method to infoirm chiled user to exit from room, this method only work when screen shared all ready running. -*/ --(void)exitScreenShare; -/** - Client endpoint - Moderator can use this method to stop all sharing in the room. -*/ --(void)stopAllSharing; - -/* - this api will used to override the running screen share in same confrence. Any participant can used this when he and she wanted to override. - */ --(void)overrideScreenShare; - -#pragma mark- FaceX Methods -//FaceX Methods -//Currentally this method not in used, will be implement this method later. --(void)initFaceX:(NSDictionary * _Nonnull)roomMeta room:(EnxRoom * _Nonnull)room stream:(EnxStream *)stream delegate:(id _Nonnull )delegate; - --(void)pingBack:(id_Nullable)faceXDelegate; --(void)startClientUsage:(NSDictionary *_Nonnull)data; --(void)stopClientUsage:(NSDictionary *_Nonnull)data; - -#pragma mark- Breakout room -//BreakOut Room API -/** - Client endpoint can use this method to create breakout room after join parents room only. - @param data - this is a NSDictionary which contain information about create breakout room. - this is a required property , can't be nil. -*/ --(void)createBreakOutRoom:(NSDictionary* _Nonnull)data; -/** - Client endpoint can use this method to create and invite breakout room after join parents room only. - @param data - this is a NSDictionary which contain information about create breakout room. - this is a required property , can't be nil. -*/ --(void)createAndInviteBreakoutRoom:(NSDictionary* _Nonnull)data; -/** - Client endpoint can use this method to join breakout room after join parents room only. - @param data - this is a NSDictionary which contain information about create breakout room. - this is a required property , can't be nil. - @param streamInfo this is a NSDictionary which contain information about stream like video : true/false, audio : true/false etc..... -*/ --(void)joinBreakOutRoom:(NSDictionary* _Nonnull)data withStreamInfo:(NSDictionary* _Nullable)streamInfo; -/** - Client endpoint can use this method to invite any participent which has connected in parent room - @param data - this is a NSDictionary which contain information about create breakout room. - this is a required property , can't be nil. -*/ --(void)inviteToBreakOutRoom:(NSDictionary * _Nonnull)data; -/** - Client endpoint can use this method to pause the parent room after join breakout room -*/ --(void)pause; -/** - Client endpoint can use this method to resume the parent room after disconnect from breakout room -*/ --(void)resume; -/** - Client endpoint can use this method to mute the parent room after connected to breakout room. - @param data its a NSDictonary which contain information about mute room , for example audio : true/false, video true/false -*/ --(void)muteRoom:(NSDictionary * _Nonnull)data; -/** - Client endpoint can use this method to unmute the parent room after disconnect from breakout room. - @param data its a NSDictonary which contain information about mute room , for example audio : true/false, video true/false -*/ --(void)unmuteRoom:(NSDictionary * _Nonnull)data; - -/** - Client endpoint can use this method to reject/cancel to join breakout room. - @param roomId its a NSString which contain information about reject room -*/ --(void)rejectBreakOutRoom:(NSString *_Nonnull)roomId; - -/** - Client endpoint can use this method to disconenct from breakoutRoom and clear all breakout room instance. -*/ --(void)clearAllBreakOutSession; -/** - Client endpoint can use this method to destroy all breakoutRoom and clear all breakout room instance. - this method only for moderator -*/ --(void)destroyAllBreakOutSession; - - -#pragma mark- Pin/unpin user -/** - Client endpoint can use this method to pin any of the available user in room , while pass their clientIDs - @param clientIds - this is list of clientID who going to be pinged - this is a required property , can't be nil. -*/ -//pin user --(void)pinUsers:(NSArray *_Nonnull)clientIds; -/** - Client endpoint can use this method to unpin any of the pingged user in room , while pass their clientIDs of pinned user - @param clientIds - this is list of pingged clientID who going to be unpinned - this is a required property , can't be nil. -*/ --(void)unpinUsers:(NSArray *_Nonnull)clientIds; - - -#pragma mark- Knock- knock room -/** - Room API to allowed user in knock knock room - @param clientId - NSString _Nonnull client Id for the participent who going to get approved in knock- knock room - @details App user will used this method to allowed to get in any user in knock -knock based room - */ --(void)approveAwaitedUser:(NSString *_Nonnull)clientId; -/** - Room API to deny user in knock knock room - @param clientId - NSString _Nonnull client Id for the participent who going to get deny in knock- knock room - @details App user will used this method to deny to get in any user in knock -knock based room - */ --(void)denyAwaitedUser:(NSString *_Nonnull)clientId; - - -/** - Client endpoint can set options at room level. to set Talker Event option after join room -@param enable contain the details information for either subscribe and unsubicribe Talker Events - */ - --(void)subscribeForTalkerNotification:(BOOL)enable; - - -#pragma mark- add/remove spotlight -/** - Client endpoint can use this method to add Spotlight for any of the available user in room , while pass their clientIDs - @param clientIds - this is list of clientID who going to be pinged - this is a required property , can't be nil. -*/ -//pin user --(void)addSpotlightUsers:(NSArray *_Nonnull)clientIds; -/** - Client endpoint can use this method to remove Spotlight any of the added Spotlight user in room , while pass their clientIDs of pinned user - @param clientIds - this is list of pingged clientID who going to be unpinned - this is a required property , can't be nil. -*/ --(void)removeSpotlightUsers:(NSArray *_Nonnull)clientIds; - - -#pragma mark- switch room mode - -/** - Client endpoint can use this method to switch room mode for any of the available user in room , while pass their room mode - @param roomMode - this is room mode lecture /group - this is a required property , can't be nil. -*/ - --(void)switchRoomMode:(NSString *_Nonnull)roomMode; - - -/** - Client endpoint can use this method to set delegate from talver view, this delegate will notify user for selected EnxStream -*/ --(void)setActiveTalkerDelegate:(id_Nullable)delegate; - -#pragma mark - LiveRecording --(void)startLiveRecording:(NSDictionary *_Nonnull)streamingConfig; --(void)stopLiveRecording; - -#pragma mark - Switch AT View --(void)switchATView:(NSString * _Nonnull)viewString; --(void)forceUpdateATList; --(EnxPlayerView *_Nullable)getPlayer:(NSString*_Nonnull)clientID; --(void)highlightBorderForClient:(NSArray*_Nonnull)clientIDs; --(void)changeBgColorForClients:(NSArray*_Nonnull)clientIDs withColor:(UIColor *_Nonnull)color; -#pragma mark - LoyouUpdate -//Update Loyout for liveRecording’, ‘streaming’, ‘screenShare’,’all’ --(void)updateLayout:(NSDictionary* _Nonnull)layoutOptions; - -#pragma mark - Typing indicator -//Show and hide typing indicator --(void)typingIndicator:(BOOL)isShow toClientId:(NSArray* _Nullable)clientIds; - -#pragma mark - Customer Data Update -//Save Data --(void)saveCustomData:(NSDictionary* _Nonnull)dataOption withData:(NSDictionary* _Nonnull)data; -//set Custome Data --(void)setCustomData:(NSDictionary*_Nonnull)dataOption withData:(NSDictionary* _Nonnull)data; -//get Data --(void)getCustomData:(NSDictionary* _Nonnull)dataOption; - -#pragma mark - Page Talker -//Subscripe Page Talker --(void)subscribePagedVideos:(NSDictionary* _Nonnull)info; -//Unsubscripe Page Talker --(void)unsubscribePagedVideos; -//get Page Talker --(void)getPagedVideos:(NSString* _Nonnull)pageInfo; - -#pragma mark - Speech to Text --(void)subscribeForLiveTranscription:(BOOL)enable; --(void)startLiveTranscriptionForRoom:(NSString* _Nullable)languge; --(void)stopLiveTranscription; - -// Checking Video subscription --(BOOL)checkvideoSubscription; - --(EnxStream* _Nullable)getPreviewStream; -//Speaker Volume --(void)setSpeakerVolume:(float)volume; - -#pragma mark - Share premission -//Participant Request --(void)requestSharePermission:(EnxPubType)pubType; --(void)cancelSharePermission:(EnxPubType)pubType; - -//Moderator Request --(void)setSharePermissionMode:(EnxPubType)pubType withmode:(EnxPubMode)pubMode; --(void)grantSharePermission:(EnxPubType)pubType requestyId:(NSString * _Nonnull)clientID; --(void)denySharePermission:(EnxPubType)pubType requestyId:(NSString * _Nonnull)clientID; --(void)releaseSharePermission:(EnxPubType)pubType requestyId:(NSString * _Nonnull)clientID; - -//Generice Apis for app Participants, who wanted to know what is the current premission available --(NSDictionary * _Nonnull)getSharePermissions; - --(NSString*)getRoomMode; - -@end - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRtc.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRtc.h deleted file mode 100644 index 05ac7f5..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxRtc.h +++ /dev/null @@ -1,34 +0,0 @@ -#import -@import WebRTC; -#import "EnxRtc.h" -#import "EnxRoom.h" -#import "EnxStream.h" - -@protocol EnxTroubleShooterDelegate --(void)didClientDiagnosisFinished:(NSArray * _Nullable)data; --(void)didClientDiagnosisFailed:(NSArray * _Nullable)data; --(void)didClientDiagnosisStatus:(NSArray * _Nullable)data; --(void)didClientDiagnosisStopped:(NSArray * _Nullable)data; -@end - -@interface EnxRtc : NSObject{ - -} -@property(nonatomic,weak) id _Nullable delegate; -/** - To quick start and join the room. - @param token it is encoded token string received from Enx application server. - @param delegate ). If developer looks to handle the success or failure of the action, then they can implement delegates methods for the same. - @param publishStreamInfo JSON - - @return EnxRoom object - */ - --(EnxStream *_Nullable)joinRoom:(NSString *_Nonnull)token delegate:(id _Nonnull )delegate PublishStreamInfo:(NSDictionary *_Nonnull)publishStreamInfo roomInfo:(NSDictionary * _Nullable)roomInfo advanceOptions:(NSArray *_Nullable)advanceOption; - - -/*PreCall Test API*/ --(void)clientDiagnostics:(NSDictionary *_Nonnull)options; - -@end - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSDPUtils.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSDPUtils.h deleted file mode 100644 index 5a4df12..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSDPUtils.h +++ /dev/null @@ -1,39 +0,0 @@ -#import - -@class RTCSessionDescription; - -@interface EnxSDPUtils : NSObject - -/// Updates the original SDP description to instead prefer the specified video -/// codec. We do this by placing the specified codec at the beginning of the -/// codec list if it exists in the sdp. -//+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description preferredVideoCodec:(NSString *)codec; -+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description preferredVideoCodec:(NSString *)codec forStreamID:(NSString *)streamID withBandWidth:(int)bandWidth; - - -/// Appends an SDP line after a regex matching existing line. -+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description - appendingLine:(NSString *)line - afterRegexString:(NSString *)regexStr; - -/// If `b=` is not defined adds `b=AS:{bandwidthLimit}` for the given media type. -+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description - bandwidthLimit:(NSInteger)bandwidthLimit - forMediaType:(NSString *)mediaType; - -/// Replace a matching SDP string regex template with a given new line string. -+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description - matchingPatternStr:(NSString *)matchingPatternStr - replaceWithLine:(NSString *)replacementLine; - -+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description - codecMimeType:(const NSString *)codec - fmtpString:(NSString *)fmtpString - preserveExistent:(BOOL)preserveExistent; - -+ (RTCSessionDescription *)descriptionForDescription:(RTCSessionDescription *)description - mediaConfigurationCodec:(NSString *)mediaConfigurationCodec mediaCodecsInfoInSDP:(NSDictionary *)mediaCodecsInfoInSDP bandWidth:(NSString *)bandWidth; - - - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingChannel.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingChannel.h deleted file mode 100644 index b40d627..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingChannel.h +++ /dev/null @@ -1,1835 +0,0 @@ - -/** - This class will be responsible for all socket event either for parent room connection or reconnect or breakout room connect, - To initiate this class -initWithEncodedToken:roomDelegate:clientDelegate: - @param roomDelegate - is the refrence of EnxRoom instance, which help to delegate with room and inform room through callback methods. - @param clientDelegate - this is also a refrence of EnxRoom instance, which help to delegate with EnxRoom and from EnxRoom to EnxClient through callback methods. - */ - -@import WebRTC; -@import SocketIO; -#import "EnxSignalingMessage.h" -#import "EnxSignalingEvent.h" - -#import "EnxClientDelegate.h" - - - -@class EnxSignalingChannel; - -///----------------------------------- -/// @protocol EnxSignalingChannelDelegate -/// This delegate method used for EnxClient, its will update to Enxclient with all publisher/subscriber behaviour -///----------------------------------- - -@protocol EnxSignalingChannelDelegate -// This variable will carry publisher stream ID -@property NSString * _Nullable streamId; -// This variable will carry socket peer ID -@property NSString * _Nullable peerSocketId; - -/** - Event fired when Enx server has validated our token. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - */ -- (void)signalingChannelDidOpenChannel:(EnxSignalingChannel * _Nullable)signalingChannel; - -/** - Event fired each time EnxSignalingChannel has received a new EnxSignalingMessage. - @param channel EnxSignalingChannel the channel that emit the message. - @param message EnxSignalingMessage received by channel. - */ -- (void)signalingChannel:(EnxSignalingChannel * _Nullable)channel didReceiveMessage:(EnxSignalingMessage * _Nonnull)message mediaConfigurationCodec:(NSString *_Nonnull)mediaConfigurationCodec mediaCodecsInfoInSDP:(NSDictionary *_Nonnull)mediaCodecsInfoInSDP; - -/** - Event fired when Enx is ready to receive a publishing stream. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - @param peerSocketId Id of the socket in a p2p publishing without MCU. Pass nil if - you are not setting a P2P room. - @param streamId id of the publish stream - @details this is a callback method for EnxClient to inform about publisher stream has published with their valid stresm ID - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)signalingChannel - readyToPublishStreamId:(NSString *_Nonnull)streamId - peerSocketId:(NSString *_Nullable)peerSocketId; - -/** - Event fired when Enx failed to publishing stream. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - @details this callback event for EnxClient, to inform about publisher stream getting failed to published due to some reson. - */ -- (void)signalingChannelPublishFailed:(EnxSignalingChannel *_Nullable)signalingChannel; - -/** - Event fired each time EnxSignalingChannel has received a confirmation from the server - to subscribe a stream. - This event is fired to let Client know that it can start signaling to subscribe the stream. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId Id of the stream that will be subscribed. - @param peerSocketId pass nil if is MCU being used. - @details this is a callback method for EnxClient to inform about subscriber stream bas subscriped with their valid stresm ID - */ -- (void)signalingChannel:(EnxSignalingChannel * _Nullable)channel -readyToSubscribeStreamId:(NSString *_Nonnull)streamId - peerSocketId:(NSString *_Nullable)peerSocketId; - -#pragma mark- Canvas portocal -/** - Event fired when Enx failed to publishing canvas stream. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - @details this callback event for EnxClient, to inform about canvas stream getting failed to published due to some reson. - */ -- (void)signalingChannelCanvasPublishFailed:(EnxSignalingChannel * _Nullable)signalingChannel; -/** - Event fired when Enx is ready to receive a canvas publishing stream. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - @param peerSocketId Id of the socket in a p2p publishing without MCU. Pass nil if - you are not setting a P2P room. - @param streamId Id of canvas stream that will be publish. - @details this is a callback method for EnxClient to inform about canvas stream has published with their valid stresm ID - */ -- (void)signalingChannel:(EnxSignalingChannel * _Nullable)signalingChannel - canvasReadyToPublishStreamId:(NSString *_Nonnull)streamId - peerSocketId:(NSString *_Nullable)peerSocketId; - -#pragma mark- Share Screen portocal -/** - Event fired when Enx failed to publishing canvas stream. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - @details this callback event for EnxClient, to inform about share screen stream getting failed to published due to some reson. - */ -- (void)signalingChannelShareScreenPublishFailed:(EnxSignalingChannel *_Nullable)signalingChannel; -/** - Event fired when Enx is ready to receive a canvas publishing stream. - @param signalingChannel EnxSignalingChannel the channel that emit the message. - @param peerSocketId Id of the socket in a p2p publishing without MCU. Pass nil if - you are not setting a P2P room. - @param streamId Id of share screen stream that will be publish. - @details this is a callback method for EnxClient to inform about share screen stream has published with their valid stresm ID - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)signalingChannel - shareScreenReadyToPublishStreamId:(NSString *_Nonnull)streamId - peerSocketId:(NSString *_Nullable)peerSocketId; -@end - -///----------------------------------- -/// @protocol EnxSignalingChannelRoomDelegate -/// /// This delegate method used for EnxRoom, its will update to EnxRoom with all valid behariour of room events -///----------------------------------- - -@protocol EnxSignalingChannelRoomDelegate -/** - This event is fired when a Socket error was Occured. - @param channel EnxSignalingChannel the channel that emit the message. - @param reason Cause of error returned by the server. - @details this callback method will inform to EnxRoom that server connection has stablished with valid cause of connection failure. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didError:(NSArray *_Nonnull)reason; -/** - This event is fired when a socket failed to subscribe/publish for any stream. - @param channel EnxSignalingChannel the channel that emit the message. - @param reason Cause of error returned by the server. - @param eventType what type of event was like local stream publish canvas publish, screen share publish,annotation publish or remote stream subscribe - @details this callback method will inform to EnxRoom that server has failed to either publish or subscriber or both has failed. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didEventError:(NSString *_Nonnull)reason type:(NSString *_Nonnull)eventType streamId:(NSString *_Nullable)streamId; - -/** - This event is fired when a Reconnect attamped. - @param channel EnxSignalingChannel the channel that emit the message. - @param reason message for reconnect. - @details this socket on listener method will inform to EnxRoom about cause of reconnect. - **/ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didReconnect:(NSString *_Nonnull)reason; -/** - This event is fired when a Reconnect with same room success attamped. - @param channel EnxSignalingChannel the channel that emit the message. - @param Data reconnected room meta data. - @details this is the socket on listener method for EnxRoom to inform about reconnect has successfully done with room. - **/ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didConnect:(NSArray *_Nonnull)Data; -/** - This event is fired when a token was not successfuly used. - @param channel EnxSignalingChannel the channel that emit the message. - @param reason cause for failure of reconnect. - @details this is the socket emit method for EnxRoom to validate token and its failed. -**/ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel tokenValidationFailed:(NSArray *_Nonnull)reason; - -/** - This event is fired when a token was not successfuly used. - @param channel EnxSignalingChannel the channel that emit the message. - @param reason cause for failure of room metadata. - @details this is the socket on listener method for EnxRoom to inform about failure to get room metadate after connect success. - **/ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel failedToloadRoomMetadata:(NSArray *_Nonnull)reason; - -/** - Event fired as soon a client connect to a room. - @param channel EnxSignalingChannel the channel that emit the message. - @param roomMeta Metadata associated to the room that the client just connect. - @details this is the socket on listener method for EnxRoom to inform room connection successfully stablished and roommetadat also available - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didConnectToRoom:(NSDictionary *_Nonnull)roomMeta; - -/** - Event fired as soon a client connect to a room. - @param channel EnxSignalingChannel the channel that emit the message. - @param roomMeta Metadata associated to the room that the client just connect. - @details this is the socket on listener method for EnxRoom to inform room reconnection successfully stablished with same room and roommetadat also available. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didReConnectToRoom:(NSDictionary *_Nonnull)roomMeta; - -/** - Event fired as soon as rtc channels were disconnected and websocket - connection is about to be closed. - @param channel EnxSignalingChannel the channel that emit the message. - @param roomMeta Metadata associated to the room that the client just disconnected. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel roomDidDisconnected:(NSDictionary *_Nonnull)roomMeta; -/** - Event fired as soon as rtc channels were disconnected and websocket - connection is about to be closed. - @param channel EnxSignalingChannel the channel that emit the message. - @param roomMeta Metadata associated to the room that the client just disconnected. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel roomDidDisconnectedByServer:(NSDictionary *_Nonnull)roomMeta; -/** - Event fired when a new stream id has been created and server is ready - to start publishing it. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream that will be published. - @details this is socket emit method for EnxRoom to inform the local stream has started publish it. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didReceiveStreamIdReadyToPublish:(NSString *_Nonnull)streamId; -/** - Event Fired when unpublish called - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray Response of the stream that will be Unpublished. - @details this is socket emit method for EnxRoom to inform the local stream has started unpublish it. -*/ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didOnUnPublish:(NSArray *_Nonnull)data; - -/** - Event fired when a new stream id has been created and server is ready - to start subscribing it. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream that will be subscribe. - @details this is socket emit method for EnxRoom to inform about the remote stream has started subscribe it. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didReceiveStreamIdReadyToSubscribe:(NSString *_Nonnull)streamId; - - -/** - Event fired when a recording of a stream has started. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream being recorded. - @param recordingId NSString id of the recording id on Enx server. - @param recordingDate NSDate when the server start to recording the stream. - @details this is socket emit method for EnxRoom to inform about recording for stream has started. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didStartRecordingStreamId:(NSString *_Nonnull)streamId - withRecordingId:(NSString *_Nonnull)recordingId - recordingDate:(NSDate *_Nonnull)recordingDate; -/** - Event fired when a recording of a stream has failed. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream being recorded. - @param errorMsg Error string sent from the server. - @details this is socket emit method for EnxRoom to inform about recording for stream has failed to start. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didFailStartRecordingStreamId:(NSString *_Nonnull)streamId - withErrorMsg:(NSString *_Nonnull)errorMsg; - -/** - Event fired when recording start successful - @param response about recording start. - @details this is socket on listener method for EnxRoom to inform about recording started successful. - */ --(void)signalingRecordingDidStart:(NSArray *_Nonnull)response; - -/** - Event fired when recording stop successful - @param response about recording start. - @details this is socket on listener method for EnxRoom to inform about recording stop successful. - */ --(void)signalingRecordingDidStop:(NSArray *_Nonnull)response; - -/** - Event fired when a new StreamId has been added to a room. - - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString added to the room. - @param event Event name and data carried - @details this is the socket emit method for EnxRoom to update about subscribe stream with their stream ID has added - */ -- (void)signalingChannel:(EnxSignalingChannel * _Nullable)channel - didStreamAddedWithId:(NSString *_Nonnull)streamId - event:(EnxSignalingEvent *_Nonnull)event; - -/** - Event fired when a StreamId previously subscribed has been unsubscribed. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString of the unsubscribed stream. - @details this is the socket emit method for EnxRoom to update about unsubscribe stream with their stream ID has added - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUnsubscribeStreamWithId:(NSString *_Nonnull)streamId; - -/** -Event fired when a StreamId previously subscribed has been failed to unsubscribed. -@param channel EnxSignalingChannel the channel that emit the message. -@param streamId NSString of the unsubscribed stream. - @details this is the socket emit method for EnxRoom to update about unsubscribe stream with their stream ID has failed -*/ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUnsubscribeFailedStreamWithId:(NSString *_Nonnull)streamId; - -/** - Event fired when a published stream is being unpublished. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString of the stream being unpublished - @details this is the socket emit method for EnxRoom to update about unpublished stream with their stream ID has done. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUnpublishStreamWithId:(NSString *_Nonnull)streamId; - -/** - Event fired when a published stream is faild to unpublished. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString of the stream being unpublished - @details this is the socket emit method for EnxRoom to update about unpublished stream with their stream ID has failed. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUnpublishStreamfailed:(NSString *_Nonnull)streamId; - -/** - Method called when the signaling channels needs a new client to operate a connection. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamID Id of stream. - @returns EnxClientDelegate instance. - */ --(id)clientDelegateRequiredForSignalingChannel:(EnxSignalingChannel *_Nullable)channel forStream:(NSString *_Nonnull)streamID; - -/** - Event fired when data stream received. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream received from. - @param dataStream NSDictionary having message and timestamp. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - fromStreamId:(NSString *_Nonnull)streamId - receivedDataStream:(NSDictionary *_Nonnull)dataStream; - - -/** - Event fired when data received room. - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSarray having message and timestamp. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - receivedDataRoom:(NSArray *_Nonnull)data withCallBackEmiter:(SocketAckEmitter * _Nonnull) emitter; - -/** - Event fired when bandwidth update. - @param channel EnxSignalingChannel the channel that emit the message. - @param data having message and bandwidth. - @details bandwidth update for publisher stream. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - didBandWidthUpdated:(NSArray *_Nonnull)data; -/** - Event fired when bandwidth update canvas. - @param channel EnxSignalingChannel the channel that emit the message. - @param data having message and bandwidth. - @details bandwidth update for canvas stream. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - didCanvasStreamEvent:(NSArray *_Nonnull)data; -/** - Event fired when bandwidth update share screen. - @param channel EnxSignalingChannel the channel that emit the message. - @param data having message and bandwidth. - @details bandwidth update for screen share stream. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - didShareStreamEvent:(NSArray *_Nonnull)data; - -/** - Event fired when video hard Mute . - @param channel EnxSignalingChannel the channel that emit the message. - @param data having message about hard mute. - @details this is the socket emit method for EnxRoom about video hard unmute - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - didHardVideoMute:(NSArray *_Nonnull)data; -/** - Event fired when video hard unMute . - @param channel EnxSignalingChannel the channel that emit the message. - @param data having message about hard unmute. - @details this is the socket emit method for EnxRoom about video hard unmute - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - didHardVideoUnMute:(NSArray *_Nonnull)data; -/** - Event fired when video hard Mute . - @param channel EnxSignalingChannel the channel that emit the message. - @param dataStream having message about hard mute. - @details this is the socket on listener method for EnxRoom about video hard mute by any of the modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didReciveHardMuteVideo:(NSArray *_Nonnull)dataStream; -/** - Event fired when video hard unMute . - @param channel EnxSignalingChannel the channel that emit the message. - @param dataStream having message about hard unmute. - @details this is the socket on listener method for EnxRoom about video hard unmute by any of the modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didReciveHardUnmuteVideo:(NSArray *_Nonnull)dataStream; - -/** - Event fired when self mute video . - @param channel EnxSignalingChannel the channel that emit the message. - @param dataStream having message about video mute. - @details this is the socket emit method for EnxRoom about user has muted their video - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSelfMuteVideo:(NSArray *_Nonnull)dataStream; -/** - Event fired when self unmute video . - @param channel EnxSignalingChannel the channel that emit the message. - @param dataStream having message about video unmute. - @details this is the socket emit method for EnxRoom about user has unmuted their video - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSelfUnmuteVideo:(NSArray *_Nonnull)dataStream; -/** - Event fired when self mute audio . - @param channel EnxSignalingChannel the channel that emit the message. - @param dataStream having message about audio mute. - @details this is the socket emit method for EnxRoom about user has muted their audio - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSelfMuteAudio:(NSArray *_Nonnull)dataStream; -/** - Event fired when self unmute audio . - @param channel EnxSignalingChannel the channel that emit the message. - @param dataStream having message about audio unmute. - @details this is the socket emit method for EnxRoom about user has unmuted their audio - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSelfUnmuteAudio:(NSArray *_Nonnull)dataStream; - -//recive by Moderator -/** - Event fired when any modeator mute . - @param channel EnxSignalingChannel the channel that emit the message. - @param Data having message about mute. - @details this is the socket emit method for EnxRoom about modeator has muted any participent - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didResponsesSelfMute:(NSArray *_Nonnull)Data; -/** - Event fired when any modeator unmute . - @param channel EnxSignalingChannel the channel that emit the message. - @param Data having message about unmute. - @details this is the socket emit method for EnxRoom about modeator has unmuted any participent - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didResponsesSelfUnMute:(NSArray *_Nonnull)Data; - -/** - Event fired when stream atrribute updated. - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream received from. - @param attributes NSDictionary having custom attribute. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel - fromStreamId:(NSString *_Nonnull)streamId - updateStreamAttributes:(NSDictionary *_Nonnull)attributes; - -/** - Event fired when Logs upload - @param data list of logs - @details this is the socket emit method for logs upload to server. - */ --(void)signalingLogsUpLoaded:(NSArray *_Nonnull)data; - -#pragma mark - ChairControl -/** - Event fired for Floor Manage On Event - @param channel EnxSignalingChannel the channel that emit the message. - @param Data list for floor request - @details this is the socket emit method for EnxRoom about floor managment - */ --(void)signalingChannel:(EnxSignalingChannel*_Nullable)channel didFloorManagmentEvents:(NSArray *_Nonnull)Data; -/** - Event fired for Floor process Emit Event - @param channel EnxSignalingChannel the channel that emit the message. - @param Data list for floor request - @details this is the socket emit method for EnxRoom about process floor request - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didProcessFloorRequest:(NSArray *_Nonnull)Data; - -/** - Event fired for Moderator who give direct access to any participent - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about floor access event - @details this is the socket emit method for EnxRoom about mederator giving direct access to any participent with floor request - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKHandOverFloorRequest:(NSArray *_Nonnull)Data; - -/** - Event fired hard mute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about hard mute - @details this is the socket on listener method for EnxRoom about hard muted by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didResponseMuteAllUser:(NSArray *_Nonnull)Data; -/** - Event fired hard Unmute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about hard Unmute - @details this is the socket on listener method for EnxRoom about hard Unmuted by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didResponseUnMuteAllUser:(NSArray *_Nonnull)Data; -/** - Event fired single user mute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about single user mute - @details this is the socket on listener method for EnxRoom about single user mute by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didResponseMuteSingleUser:(NSArray *_Nonnull)Data; -/** - Event fired single user unmute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about single user unmute - @details this is the socket on listener method for EnxRoom about single user unmute by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didResponseUnMuteSingleUser:(NSArray *_Nonnull)Data; - -//lisner -/** - Event fired alll user mute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about alll user mute - @details this is the socket on listener method for EnxRoom about all user mute by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel receivedHardMuteAll:(NSArray *_Nonnull)Data; -/** - Event fired alll user unmute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about alll user unmute - @details this is the socket on listener method for EnxRoom about all user unmute by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel receivedHardUnmuteAll:(NSArray *_Nonnull)Data; -/** - Event fired alll user mute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about alll user unmute - @details this is the socket on listener method for EnxRoom about all user mute by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel receivedHardMuteUser:(NSArray *_Nonnull)Data; -/** - Event fired alll user unmute - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about alll user unmute - @details this is the socket on listener method for EnxRoom about all user unmute by any of modeator - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel receivedHardUnMuteUser:(NSArray *_Nonnull)Data; -/** - Event fired when any user has joined - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about new user - @details this is the socket on listener method for EnxRoom ,which inform whenever any new user has joined to the room. - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel userDidJoined:(NSArray *_Nonnull)Data; -/** - Event fired when any user has disconnected - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about disconnected user - @details this is the socket on listener method for EnxRoom ,which inform whenever any new user has disconnected from room. - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel userDidDisconnected:(NSArray *_Nonnull)Data; - - #pragma mark- recording Participant -/** - Event fired when recording has started in room - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about start recording - @details this is the socket on listener method for EnxRoom ,which inform to room whenever recording has started in room. - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel roomRecordOn:(NSArray *_Nonnull)Data; -/** - Event fired when recording has stopped in room - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about stopped recording - @details this is the socket on listener method for EnxRoom ,which inform to room whenever recording has stopped in room. - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel roomRecordOff:(NSArray *_Nonnull)Data; - -/** - Event fired for Active talker - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about list of active talker - @details this is the socket on listener method for EnxRoom ,which inform to room whenever active talket list change - */ - --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel activeTalkerList:(NSArray *_Nonnull)Data; -/** - Event fired for Max talker - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about max talker - @details this is the socket on listener method for EnxRoom ,which inform to room about what will be the possible max talker in room. - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didGetMaxTalkersFromSignaling:(NSArray *_Nonnull)Data; -/** - Event fired to get available taker count - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about available talker - @details this is the socket on listener method for EnxRoom ,which inform to room about current active takler in room - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didGetTalkerCountFromSignaling:(NSArray *_Nonnull)Data; -/** - Event fired to set talker count - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about set talker - @details this is the socket on listener method for EnxRoom ,which inform to room about set takler in room - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSetTalkerCountFromSignaling:(NSArray *_Nonnull)Data; -/** - Event fired when screen share started - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about screen shared - @details this is the socket on listener method for EnxRoom ,which inform to room about start screen shared - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel screenShareStartedSignaling:(NSArray *_Nonnull)Data; -/** - Event fired when screen share stopped - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about screen shared - @details this is the socket on listener method for EnxRoom ,which inform to room about stopped screen shared - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel screenShareStoppedSignaling:(NSArray *_Nonnull)Data; - -//Canvas Delegate -/** - Event fired when Canvas started - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about Canvas - @details this is the socket on listener method for EnxRoom ,which inform to room about start Canvas - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel canvasStartedSignaling:(NSArray *_Nonnull)Data; -/** - Event fired when Canvas stopped - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details about Canvas - @details this is the socket on listener method for EnxRoom ,which inform to room about stopped Canvas - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel canvasStoppedSignaling:(NSArray *_Nonnull)Data; -/** - Event fired when publisher codec change - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details publisher codec - @details this is the socket on listener method for EnxRoom ,which inform to room about publisher codec - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel publishMediaCodecChange:(NSArray *_Nonnull)Data; -/** - Event fired when publisher Bandwidth - @param channel EnxSignalingChannel the channel that emit the message. - @param Data details publisher bandwidth - @details this is the socket on listener method for EnxRoom ,which inform to room about publisher bandwidth - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel publisherBandWidthAlert:(NSArray *_Nonnull)Data; -//Unifide BW alert --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel roomBandWidthAlert:(NSArray *_Nonnull)Data; -//SimulCast -/** - Event fired when remote stream video quality update - @param channel EnxSignalingChannel the channel that emit the message. - @param data details SimulCast - @details this is the socket on listener method for EnxRoom ,which inform to room about SimulCast upate - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSignallingVideoQualityUpdated:(NSArray *_Nonnull)data; - -//delegate method when to get connectedIp --(void)signalingGetConnectedIp:(NSString *_Nonnull)connectedIp; - -#pragma mark- Stats Degegate -//on Enable/diasable Stats -/** - Event fired when rstats enable - @param data details about stats - @details this is the socket emit method for EnxRoom ,which inform troom stats. - */ --(void)signalingEnableDesableStats:(NSArray *_Nonnull)data; -/** - Event fired when rstats enable - @param statsData details about stats - @details this is the socket emit method for EnxRoom ,which inform troom stats. - */ --(void)signalingReciveStastData:(NSArray *_Nonnull)statsData; - -#pragma mark- Advance Options Degegate -/** - Event fired when emit advance option - @param channel EnxSignalingChannel the channel that emit the message. - @param data ACK about advance option - @details this is the socket emit method for advance option - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAcknowledgementAdvanceOption:(NSArray *_Nonnull)data; -/** - Event fired when generic event for socket - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about generic events - @details this is the socket on listener method for generic events - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didGenericEvents:(NSArray *_Nonnull)data; - -/** - Event fired when advance option set - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about advance option - @details this is the socket emit method for advance option - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didGetAdvanceOptions:(NSArray *_Nonnull)data; - -#pragma mark- Switch user role Degegate -/** - Event fired for Switch User Role - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about Switch User - @details this is the socket emit method for switch user - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSwitchUserRole:(NSArray *_Nonnull)data; -/** - Event fired for Role changed - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about role changed - @details this is the socket emit method for role changed. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUserRoleChanged:(NSArray *_Nonnull)data; - -#pragma mark- Send Data Delegate -/** - Event fired for send data acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about send data - @details this is the socket emit Acknowledgment method for send data. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAcknowledgSendData:(NSArray *_Nonnull)data; - -#pragma mark - OutBound Call -/** - Event fired for outbound call - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about outbound call - @details this is the socket emit method for outbound call. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didOutBoundCallInitiated:(NSArray *_Nonnull)data; -//Cancel OutbondCall -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didOutBoundCallCancel:(NSArray *_Nonnull)data; -/** - Event fired to update state about outbound call - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about outbound call state - @details this is the socket on listener method for outbound call state update. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didDialStateEvents:(NSArray *_Nonnull)data; - - -#pragma mark- Canvas Room Delegate -/** - Event fired when a new stream id has been created and server is ready - to start publishing it. - - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream that will be published. - */ -- (void)signalingChannel:(EnxSignalingChannel * _Nullable)channel didReceiveCanvasStreamIdReadyToPublish:(NSString *_Nonnull)streamId; - -/** - Event fired when a Canvas published stream is being unpublished. - - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString of the stream being unpublished - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didCanvasUnpublishStreamWithId:(NSString *_Nonnull)streamId; - -#pragma mark- Screen Share Room Delegate -/** - Event fired when a new stream id has been created and server is ready - to start publishing it screen share. - - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString id of the stream that will be published. - */ -- (void)signalingChannel:(EnxSignalingChannel * _Nullable)channel didReceiveScreenShareStreamIdReadyToPublish:(NSString *_Nonnull)streamId; -/** - Event fired when a screen share unpublished stream is being unpublished. - - @param channel EnxSignalingChannel the channel that emit the message. - @param streamId NSString of the stream being unpublished - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didScreenShareUnpublishStreamWithId:(NSString *_Nonnull)streamId; - -/** - Event fired when a parement client disconnect , ongoing screen share confrence. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didParentRoomDisconnected:(NSArray *_Nonnull)data; - -/** - Event fired when a Clied Connected , ongoing confrence to shart screen share - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didChildRoomConnecteded:(NSArray *_Nonnull)data; - -/** - Event fired when a parement client disconnect , ongoing screen share confrence. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didScreenShareDisconnected:(NSArray *_Nonnull)data; - -/** - Event fired when a Clied Connected , ongoing confrence to shart screen share - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didScreenShareConnecteded:(NSArray *_Nonnull)data; - -/** - Event fired when a Clield client disconnect , ongoing screen share confrence. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didChildRoomDisconnected:(NSArray *_Nonnull)data; - -/** - Event fired to exit screen share , ongoing screen share confrence. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didRequestedExitRoom:(NSArray *_Nonnull)data; - -/** - Event fired to exit screen share , ongoing screen share confrence. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data NSArray of the parent client details - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKExitScreenShare:(NSArray *_Nonnull)data; - -/** - Event fired to stop all share in room. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data details ack of the API - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKStopAllSharing:(NSArray *_Nonnull)data; - -/** - Event fired to stop on going share in the room - - @param channel EnxSignalingChannel the channel that on the message. - @param data is on request method to stop on going share in confrence. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didStopAllSharing:(NSArray *_Nonnull)data; - - -/** - Event fired to stop all share in room. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data details ack of the API - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKOverrideScreenShare:(NSArray *_Nonnull)data; - -/** - Event fired to stop all share in room. - - @param channel EnxSignalingChannel the channel that emit the message. - @param data details update of the API - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didOverrideScreenShare:(NSArray *_Nonnull)data; - -#pragma mark- Room Expire Events -/** - Event fired for confrence duration update - @param channel EnxSignalingChannel the channel that emit the message. - @param data about confrence duration - @details this is the socket on listner method for confrence duration update - */ -//Timing Alert -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didRoomManagmentEvent:(NSArray *_Nonnull)data; -//TimeExtend -/** - Event fired for confrence duration update - @param channel EnxSignalingChannel the channel that emit the message. - @param data about confrence duration extend - @details this is the socket emit method for confrence duration extend - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didConferencessDurationExtend:(NSArray *_Nonnull)data; - -//Lock/Unlock Delegates -/** - Event fired for locked room - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about lock room - @details this is the socket on listner method for locked room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckLockRoom:(NSArray *_Nonnull)data; -/** - Event fired for locked room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about lock room acknowledgment - @details this is the socket emit acknowledgment method for locked room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckUnlockRoom:(NSArray *_Nullable)data; -/** - Event fired for drop user - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about ldrop user - @details this is the socket emit acknowledgment method for drop user. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckDropUser:(NSArray *_Nonnull)data; -/** - Event fired for destroy room - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about destroy room - @details this is the socket emit acknowledgment method for destroy room. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckDestroy:(NSArray *_Nonnull)data; - -#pragma mark- Room Live Streaming Events -/** - Event fired for streaming - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about streaming - @details this is the socket emit acknowledgment method for start streaming. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckStartStreaming:(NSArray *_Nonnull)data; -/** - Event fired for streaming - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about streaming - @details this is the socket emit acknowledgment method for stop streaming. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckStopStreaming:(NSArray *_Nonnull)data; -/** - Event fired for streaming - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about streaming - @details this is the socket on listiner notification method for stop streaming. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didStreamingNotification :(NSArray *_Nonnull)data; - -#pragma mark- Room FaceX Events -/** - Event fired for streaming - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about PingBack - @details this is the socket emit method for faceX - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAcknowledgePingBackInRoom:(NSArray *_Nonnull)data; -/** - Event fired for FaceX Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about faceX - @details this is the socket emit acknowledgment method for Start faceX - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAcknowledgeStartClientUsageInRoom:(NSArray *_Nonnull)data; -/** - Event fired for FaceX Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about faceX - @details this is the socket emit acknowledgment method for Stopped faceX - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAcknowledgeStopClientUsageInRoom:(NSArray *_Nonnull)data; - -#pragma mark- BreakOut Room -/** - Event fired for creat breakout room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details breakout room - @details this is the socket emit acknowledgment method for create breakout room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForCreateBreakOutRoom:(NSArray *_Nonnull)data; -/** - Event fired for join breakout room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about join breakout room - @details this is the socket emit acknowledgment method for join breakout room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForJoinBreakOutRoom:(NSArray *_Nonnull)data; -/** - Event fired for Invite breakout room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about Invite breakout room - @details this is the socket emit acknowledgment method for Invite breakout room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForInviteBreakOutRoom:(NSArray *_Nonnull)data; -/** - Event fired for mute room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about mute room - @details this is the socket emit acknowledgment method for mute room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForMuteRoom:(NSArray *_Nonnull)data; -/** - Event fired for unmute room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details about unmute room - @details this is the socket emit acknowledgment method for unmute room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForUnMuteRoom:(NSArray *_Nonnull)data; -/** - Event fired for creat and invite breakout room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details create and invite breakout room - @details this is the socket emit acknowledgment method for create and invite breakout room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForCreateAndInviteBreakOutRoom:(NSArray *_Nonnull)data; -/** - Event fired for pause room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details pause room - @details this is the socket emit acknowledgment method for pause room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForPauseRoom:(NSArray *_Nonnull)data; -/** - Event fired for resume room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details resume room - @details this is the socket emit acknowledgment method for resume room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKForResumeRoom:(NSArray *_Nonnull)data; -/** - Event fired for join breakout room - @param channel EnxSignalingChannel the channel that emit the message. - @param data details join break room - @details this is the socket emit acknowledgment method for join breakout room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didJoinBreakoutRoom:(NSArray *_Nonnull)data; -/** - Event fired for user joined breakout room - @param channel EnxSignalingChannel the channel that emit the message. - @param data details joined break room - @details this is the socket on listrener method for user joined breakout room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUserJoinedBreakoutRoom:(NSArray *_Nonnull)data; - -/** - Event fired when all user disconnect from breakoutroom and breakout room will Destroyed - @param channel EnxSignalingChannel the channel that emit the message. - @param data details breakout Room - @details this is the socket on listrener method, Which will inform to owner of breakout room that all user has disconencted and room get Destroyed - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didBreakoutRoomDestroyed:(NSArray *_Nonnull)data; - -/** - Event fired when user will disconnect from breakout room - @param channel EnxSignalingChannel the channel that emit the message. - @param data details user , which got disconnected from breakout room. - @details this is the socket on listrener method for all use in parents room will get notify about user disconnected from breakout room resently. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUserDisconnectedFromBreakoutRoom:(NSArray *_Nonnull)data; -/** - Event fired for resume room Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details resume room - @details this is the socket emit acknowledgment method for resume room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckRejectBreakoutRoom:(NSArray *_Nonnull)data; - -#pragma mark- knock-knock room or wait for modeator -/** - Event fired when any modeator will approved and user from knock knock room. - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details of allowed awaited user _Nonnull - @details this is the socket on listrener method for modeator , who going to allowed and user in knock knock room - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckForApproveAwaitedUser:(NSArray * _Nonnull)data; -/** - Event fired when any modeat_Nonnullor will deny and user from knock knock room. - @param channel EnxSignalingChannel__Nullable the channel that emit the message. - @param data details for deny awaied _Nonnull - @details this is the socket on listrener method for modeator , who going to deny and user in knock knock room - */ - -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckForDenyAwaitedUser:(NSArray *_Nonnull)data; - -/** - Event fired for modeartor when any participent join a konok knock room - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about user who knocking the room _Nonnull - @details this is the socket on listrener method for modeartor , this event will fair when any user knocking a room. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didUserAwated:(NSArray *_Nonnull)data; - - - -#pragma mark- Switch Room Mode -/** - Event fired for switch room mode Acknowledgment - @param channel EnxSignalingChannel the channel that emit the message. - @param data details switch room mode - @details this is the socket emit acknowledgment method for switch room mode - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAckSwitchedRoom:(NSArray *_Nonnull)data; - -/** - Event fired for Switched room - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about user who knocking the room _Nonnull - @details this is the socket on listrener method for participants , this event will fair when any moderator switched room a room. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSwitchedRoom:(NSArray *_Nonnull)data; - -#pragma mark - Live Recording Notification -/** - Event fired for Strat Live Recording in room Acknowledgment - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about user who knocking the room _Nonnull - @details this is the socket emit acknowledgment method for the event owner - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKStartLiveRecording:(NSArray *_Nonnull)data; - -/** - Event fired for Stop Live Recording in room Acknowledgment - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about user who knocking the room _Nonnull - @details this is the socket emit acknowledgment method for the event owner - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKStopLiveRecording:(NSArray *_Nonnull)data; - -/** - Event fired for liveRecording room - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about user who knocking the room _Nonnull - @details this is the socket on listrener method for participants including owner of the event , this event will fair when any moderator will start liveRecording. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didLiveRecordingNotification:(NSArray *_Nonnull)data; - -/** - Event fired for liveRecording room - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about user who knocking the room _Nonnull - @details this is the socket on listrener method for the user who has joined after live Recording has started - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didRoomliverecordOn:(NSArray *_Nonnull)data; - -/** - Event fired for layout update in room Acknowledgment - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data details about method process ack - @details this is the socket emit acknowledgment method for the event owner - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKUpdateLayout:(NSArray *_Nonnull)data; - -/** - Event fired for layout update in room for all participant - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data update about what layout moderator demanding for users - @details this is the socket on method for all the users in room - */ - -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didLayoutupdated:(NSArray *_Nonnull)data; -#pragma mark - Customer Data Update -/** - Event fired forcustome Data Update - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data update custome data - @details this is the socket on method for the owner of event - */ - -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didCustomDataUpdated:(NSArray *_Nonnull)data; -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKCustomDataUpdated:(NSArray *_Nonnull)data; -/** - Event fired for custome Data save - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data save custome data - @details this is the socket on method to the owner of event - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didCustomDataSaved:(NSArray *_Nonnull)data; -/** - Event fired for get custome Data save - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket on method to the owner of event - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didGetCustomData:(NSArray *_Nonnull)data; - -#pragma mark - Page Video -/** - Event fired for get ACK to subscribe page video - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket ACK event method for subscribe page talker , this is only for owner of the method - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKSubscribePageVideo:(NSArray *_Nonnull)data; -/** - Event fired for unsubscribe page video - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket ACK method for unsubscribe page video - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKUnsubscribePageVideo:(NSArray *_Nonnull)data; - -/** - Event fired for get page video - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket ACK method for get page video - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKGetPageVideo:(NSArray *_Nonnull)data; -/** - Event on method for get page - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket on method for page talker - */ --(void)signalingChannel:(EnxSignalingChannel *_Nullable)channel pageTalkerList:(NSArray *_Nonnull)data; -#pragma mark - Speach to Text -/** - Event on ACK method for StartLiveTranscription - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket ACK on method for the owner of the event - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKStartLiveTranscription:(NSArray *_Nonnull)data; - -/** - Event on ACK method for SubscribeForLiveTranscription - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket ACK on method for the owner of the event - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKSubscribeForLiveTranscription:(NSArray *_Nonnull)data; - -/** - Event on ACK method for StopLiveTranscription - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket ACK on method for the owner of the event - */ - -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didACKStopLiveTranscription:(NSArray *_Nonnull)data; - -/** - Event on notification for the user how start StartLiveTranscription - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket on method for StartLiveTranscription - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didTranscriptionEvents:(NSArray *_Nonnull)data; - - -/** - Event on notification all the user. - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details When the room transcription on, the following event is being sent to all the participant details. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didRomTranscriptionOn:(NSArray *_Nonnull)data; - -/** - Event Off notification all the user - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details Once the transcription is off, the following events will be sent. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didRoomTranscriptionOff:(NSArray *_Nonnull)data; - -/** - Event on notification for the user how start StartLiveTranscription - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details For a client level transcription, once it is started, the following event is sent. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSelfTranscriptionOn:(NSArray *_Nonnull)data; - -/** - Event Off notification for the user how Stop StartLiveTranscription - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details For the client level transcription, the following event is sent once the transcription is turned off. - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didSelfTranscriptionOff:(NSArray *_Nonnull)data; - - -/** - Event to notification for the audiance once HLS- Started - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket Notiufication method for all audiances , once HLS stream has been stared - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didHLSStreamingNotification:(NSArray *_Nonnull)data; -/** - Event to notification for the audiance once HLS- Stopped - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket Notiufication method for all audiances , once HLS stream has been Stopped - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didHLSStreamingNotificationToPublisher:(NSArray *_Nonnull)data; - -#pragma mark- auxilaryPublishRequests -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didauxilaryPublishResponse:(NSArray *_Nonnull)data; - -#pragma mark- Share premission Request -/** - Event to notification for the clients in room based on requested - @param channel EnxSignalingChannel _Nullable the channel that emit the message. - @param data related to customer - @details this is the socket Notiufication method for all participent , it will be responsible for all share premission and update premission request - */ -- (void)signalingChannel:(EnxSignalingChannel *_Nullable)channel didAuxilaryPublishEvent:(NSArray *_Nonnull)data; - -@end - -/** - @interface EnxSignalingChannel - - */ -@interface EnxSignalingChannel : NSObject - -///----------------------------------- -/// @name Initializers -///----------------------------------- - -/** - Creates an instance of EnxSignalingChannel. - - @param token The encoded token to access a room. - @param roomDelegate EnxSignalingChannelRoomDelegate instance that will receive - events related to stream addition, recording started, etc. - - @return instancetype - */ -- (instancetype)initWithEncodedToken:(NSString *)token - roomDelegate:(id)roomDelegate - clientDelegate:(id)clientDelegate; - -///----------------------------------- -/// @name Properties -///----------------------------------- - -/// EnxSignalingChannelRoomDelegate reference -@property (strong, nonatomic) id _Nullable roomDelegate; -@property(nonatomic) int reconnectAttamped; -@property (nonatomic,copy,readonly) NSString * _Nonnull roomSigMediaConfiguration; -@property(strong,nonatomic) SocketIOClient * _Nonnull socketIO; - -///----------------------------------- -/// @name Public Methods -///----------------------------------- -/** - Socket API to connect with main room - @param advanceOptions this is the list of advance option seting during room connect - this is an option parameter. - @details EnxRoom will used this method for connect user with main room. - */ -- (void)connect:(NSArray *_Nullable)advanceOptions; -/** - Socket API to disconnect with main room - @details EnxRoom will used this method to disconnect user from main room. - */ -- (void)disconnect; -/** - Socket API to get signaling message - @param message details about EnxSignalingMessage - @details EnxClient will used this method to send signaling message to socket after connected from room. - */ -- (void)enqueueSignalingMessage:(EnxSignalingMessage *_Nonnull)message; -/** - Socket API to get signaling message - @param message details about EnxSignalingMessage - @details EnxClient will used this method to send signaling message to socket after connected from room. - */ -- (void)sendSignalingMessage:(EnxSignalingMessage *_Nonnull)message; -/** - Socket API to get Drain message queue - @param streamId stream ID which going to drain - @param peerSocketId which going to drain - @details EnxClient will used this method to drain message queue with streamID and peerSocketID - */ -- (void)drainMessageQueueForStreamId:(NSString *_Nonnull)streamId - peerSocketId:(NSString *_Nonnull)peerSocketId; -/** - Socket API to publish local stream - @param options publisher stream option - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to publish local stream - */ -- (void)publish:(NSDictionary *_Nonnull)options - signalingChannelDelegate:(id)delegate; -/** - Socket API to unpublish local stream - @param streamId publisher stream ID - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to unpublish local stream - */ -- (void)unpublish:(NSString *_Nonnull)streamId - signalingChannelDelegate:(id)delegate; -/** - Socket API to publish local to peerID - @param peerSocketId publisher stream peerID - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to publish local stream with peerSocketId - */ - -- (void)publishToPeerID:(NSString *_Nonnull)peerSocketId - signalingChannelDelegate:(id)delegate; -/** - Socket API to subscribe remote stream - @param streamId id of subscrib stream - @param streamOptions stream option for subscribe stream - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to subscribe remote Stream - */ -- (void)subscribe:(NSString *_Nonnull)streamId - streamOptions:(NSDictionary *_Nonnull)streamOptions -signalingChannelDelegate:(id)delegate; -/** - Socket API to unsubscribe remote stream - @param streamId id of subscrib stream - @details EnxRoom will used this method to unsubscribe remote Stream - */ -- (void)unsubscribe:(NSString *_Nonnull)streamId; -/** - Socket API to start recording - @param streamId id for start recording - @details EnxRoom will used this method to start recording - */ -- (void)startRecording:(NSString *_Nonnull)streamId; -/** - Socket API to stop recording - @param streamId id for start recording - @details EnxRoom will used this method to stop recording - */ -- (void)stopRecording:(NSString *_Nonnull)streamId; -/** - Socket API to Send Data on stream - @param message details about EnxSignalingMessage - @details EnxRoom will used this method to send stream data - */ -- (void)sendDataStream:(EnxSignalingMessage *_Nonnull)message; -/** - Socket API to Send message - @param dataDict details about message - @details EnxRoom will used this method to send message - */ --(void)sendMessage:(NSDictionary *_Nonnull)dataDict; -/** - Socket API to update stream attribute - @param message details about EnxSignalingMessage - @details EnxRoom will used this method to update stream attribute - */ -- (void)updateStreamAttributes:(EnxSignalingMessage *_Nonnull)message; -/** - Socket API to send logs on server - @param logId a generic vaule to identify logs - @param logText details logs in NSString - @details EnxRoom will used this method to send sdk logs on server - */ --(void)sendLogsToServer:(NSString *_Nonnull)logId logText:(NSString *_Nonnull)logText; - -#pragma mark- Canvas -/** - Socket API to publish canvas stream - @param options NSDictonary with carry publish information about canvas - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to publish canvas stream - */ -- (void)publishCanvas:(NSDictionary *_Nonnull)options -signalingChannelDelegate:(id_Nullable)delegate; -/** - Socket API to unpublish canvas stream - @param streamId id of canvas stream to unpublish - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to unpublish canvas stream - */ -- (void)unpublishCanvas:(NSString * _Nonnull)streamId signalingChannelDelegate:(id _Nullable)delegate; - -#pragma mark- shareScreen -/** - Socket API to connect with same room for screen share - @details EnxRoom will used this method to connect with same room for screen share publish - */ -- (void)connectScreenShare; - -/** - Socket API to publish Screen share stream - @param options NSDictonary with carry publish information about screen share stream - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to publish screen share stream - */ -- (void)publishShareScreen:(NSDictionary *_Nonnull)options -signalingChannelDelegate:(id_Nullable)delegate; -/** - Socket API to unpublish screen share stream - @param streamId id of screen share stream to unpublish - @param delegate EnxClient Refrence to update callback - @details EnxRoom will used this method to unpublish screen share stream - */ -- (void)unpublishShareScreen:(NSString * _Nonnull)streamId signalingChannelDelegate:(id _Nullable)delegate; - -/** - Socket API to exit screen share stream - - @details EnxRoom will used this method to exit screen share stream - */ --(void)exitScreenShare; - -/** - Client endpoint - Moderator can use this method to stop all sharing in the room. -*/ --(void)stopAllSharing:(NSString * _Nonnull)clientID; - - -/** - Client endpoint - Any participant can use this method to Override current running screen share in the room. -*/ --(void)overrideScreenShare:(NSString * _Nonnull)clientID; - - - - -#pragma mark- CC - -/** - Socket API for floor access request - @details EnxRoom will used this method to to create a request for floor access - */ -- (void)RequestFlloor; -/** - Socket API for process floor request - @param clientId client id for remote strem which floor request going to be process. - @param status of floor request - @details EnxRoom will used this method to process any time of floor request (approve,reject,cancle,finished,deny etc...) - */ -- (void)ProcessFloorRequest:(NSString *_Nonnull)clientId status:(NSString *_Nonnull)status; -/** - Socket API for handover Floor request - @param clientId client id for remote participent to whom moderator want to give floor access. - @details EnxRoom will used this method for moderator, to give floor access to any participant , withour requesting to floor access from participent. - */ --(void)handOverFloorRequest:(NSString* _Nonnull)clientId; - -#pragma mark- -/** - Socket API to mute all users in same room - @details EnxRoom will used this method to mute all users in room - */ -- (void)muteAllUser; -/** - Socket API to unmute all users in same room - @details EnxRoom will used this method to unmute all users in room - */ -- (void)unMuteAllUser; -/** - Socket API to mute single user in same room - @details EnxRoom will used this method to mute single user in room - */ -- (void)muteSingleUser:(NSString*_Nonnull)clientId; -/** - Socket API to mute single user in same room - @details EnxRoom will used this method to mute single user in room - */ -- (void)unMuteSingleUser:(NSString*_Nonnull)clientId; - - -#pragma mark- AT -/** - Socket API to get max possble taker in room - @details EnxRoom will used this method to know the max talker cound in room. - */ --(void)getMaxTalkersFromSignaling; -/** - Socket API to get current taker in room - @details EnxRoom will used this method to know the current talker cound in room. - */ --(void)getTalkerCountFromSignaling; -/** - Socket API to set taker in room - @param takerValue details about set talker count - @details EnxRoom will used this method to set talker count in room. - */ --(void)setTalkerCountFromSignaling:(NSDictionary* _Nonnull)takerValue callbackCheck:(BOOL)callbackCheck; - -#pragma mark- -/** - Socket API tosingle user video mute - @param clientId for participent for video mute - @details EnxRoom will used this method to mute single user video - */ -- (void)hardMuteVideo:(NSString*_Nonnull)clientId; -/** - Socket API tosingle user video unmute - @param clientId for participent for video unmute - @details EnxRoom will used this method to unmute single user video - */ -- (void)hardUnmuteVideo:(NSString*_Nonnull)clientId; -#pragma mark- self video Mute/unmute -/** - Socket API to self video unmute - @details EnxRoom will used this method to unmute self video - */ -- (void)SelfUnmuteVideo; -/** - Socket API to self video mute - @details EnxRoom will used this method to mute self video - */ -- (void)SelfMuteVideo; -#pragma mark- self Audio Mute/unmute -/** - Socket API to self audio unmute - @details EnxRoom will used this method to unmute self audio - */ -- (void)SelfUnmuteAudio; -/** - Socket API to self audio mute - @details EnxRoom will used this method to mute self audio - */ -- (void)SelfMuteAudio; - -/** - Socket API to mute subscriber video - @param StreamId of partifipent which video will mute - @details EnxRoom will used this method to mute subscriber video - */ --(void)subscriberVideoMute :(NSString *_Nonnull)StreamId; - -//SimulCast: This API use to request server to set the remote video stream in different quality. --(void)signallingSetReceiveVideoQuality:(NSString*_Nonnull)videoQuality streamId:(NSString * _Nonnull )streamId; - -// This method use to send log event data to server. --(void)socketEnxLogEmit:(NSDictionary *_Nonnull)dictionary; - -#pragma mark- Reconnect -/** - Socket API to reconnect with same room - @param token to join same room - @param reconnectInfo information about reconnect - @details EnxRoom will used this method to reconnect with same room - */ --(void)reconnectAttempt:(NSString* _Nonnull)token numberOfAttamped:(NSDictionary*_Nullable)reconnectInfo; -#pragma mark- Stats -/** - Socket API to enable and desiable stats - @param info about stats - @details EnxRoom will used this method to enable/desiable stats - */ --(void)setEnableDesiableStats:(NSDictionary*_Nonnull)info; - -#pragma mark- To Set Advance Options. -/** - Socket API to set advance option - @param advanceOptions list of option - @details EnxRoom will used this method to set advance option - */ --(void)setAdvanceOptions:(NSArray *_Nullable)advanceOptions; -/** - Socket API to get list of advance option - @details EnxRoom will used this method to know, what are the option has setted. - */ --(void)getSignallingAdvanceOptions; - -// To Switch user role. -/** - Socket API to switched user current role - @param clientId of user , who role going to switched - @details EnxRoom will used this method to switch user current role. - */ --(void)switchUserRole:(NSString *_Nonnull)clientId; - -// To initiate outbound call. -/** - Socket API to make outbond call - @param number to whome try to call - @param callerId , its a uniq number of caller - @details EnxRoom will used this method to make out bond call. - */ --(void)startOutBoundCall:(NSString* _Nonnull)number callerId:(NSString *_Nonnull)callerId withDialOptions:(NSDictionary* _Nullable)options; -/* Cancle Out bond call*/ --(void)cancelOutbondCall:(NSString*_Nonnull)number; -/** - Socket API to extend confrence time - @details EnxRoom will used this method to extend confrence time - */ --(void)extendConfrenceTime; -/** - Socket API to lock room - @details EnxRoom will used this method to lock current room - */ --(void)signalingLockRoom; -/** - Socket API to unlock room - @details EnxRoom will used this method to unlock current room - */ --(void)signalingUnlockRoom; - -//Drop user and Destroy Room API -/** - Socket API to Drop user - @details EnxRoom will used this method to any user from confrence - */ --(void)signalingDropUser:(NSDictionary *_Nonnull)data; -/** - Socket API to Destroy room - @details EnxRoom will used this method to Destroy confrence - */ --(void)signalingDestroy:(NSDictionary *_Nonnull)data; - -//Live broadcast Streaming API -/** - Socket API to start streaming - @param streamingConfig information about start streaming - @details EnxRoom will used this method to start Streaming - */ --(void)signalingStartStreaming:(NSDictionary *_Nonnull)streamingConfig; -/** - Socket API to stop streaming - @param streamingConfig information about stop streaming - @details EnxRoom will used this method to stop Streaming - */ --(void)signalingStopStreaming:(NSDictionary *_Nonnull)streamingConfig; - -//FaceX APIs -/** - Socket API to PingBack - @details EnxRoom will used this method to pingBack - */ --(void)pingBack; -/** - Socket API to start FaceX - @param data details about start FaceX - @details EnxRoom will used this method to start FaceX - */ --(void)startClientUsage:(NSDictionary* _Nonnull)data; -/** - Socket API to stop FaceX - @param data details about stop FaceX - @details EnxRoom will used this method to stop FaceX - */ --(void)stopClientUsage:(NSDictionary* _Nonnull)data; - -#pragma mark- BreakOut room -/** - Socket API to create brealout room - @param data information about breakout room - @details EnxRoom will used this method to create breakout from from existing room - */ --(void)requestForCreateBreakOutRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to create and invite for brealout room - @param data information about breakout room - @details EnxRoom will used this method to create and invite users for breakout from existing room while using this method server will automatically invite user for join breakout room after created. - */ --(void)requestForCreateAndInviteBreakOutRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to join breakout room - @param data information about join breakout room - @details EnxRoom will used this method to join breakout room from existing room. - */ --(void)requestTojoinBreakOutRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to invite participent - @param data information about invite participent - @details EnxRoom will used this method to invite end user participent to join breakout room. - */ --(void)inviteBreakOutRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to mute room - @param data information about mute - @details EnxRoom will used this method to mute parentes room after join breakout room - */ --(void)muteRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to unmute room - @param data information about unmute - @details EnxRoom will used this method to unmute parentes room after join breakout room - */ --(void)unMuteRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to connect with breakout room - @details EnxRoom will used this method to connect with breakout room - */ --(void)connectWithBreakOutRoom; -/** - Socket API to pause room - @param data information about pause parents room - @details EnxRoom will used this method to pause parentes room after join breakout room - */ --(void)pauseRoom:(NSDictionary * _Nonnull)data; -/** - Socket API to pause resume - @param data information about resume parents room - @details EnxRoom will used this method to resume parentes room after join breakout room - */ --(void)resumeRoom:(NSDictionary * _Nonnull)data; - - -/** - Socket API to reject breakout room - @param data information about breakoutroom - @details EnxRoom will used this method to reject breakoutroom - */ --(void)requestForRejectBreakOutRoom:(NSString * _Nonnull)data; - -#pragma mark- Knock - Knock Room - -/** - Socket API to allowed user in knock knock room - @param clientId - NSString _Nonnull client Id for the participent who going to get approved in knock- knock room - @details EnxRoom will used this method to allowed to get in any user in knock -knock based room - */ -- (void)approveAwaitedUser:(NSString*_Nonnull)clientId; - -/** - Socket API to deny user in knock knock room - @param clientId - NSString _Nonnull client Id for the participent who going to get deny in knock- knock room - @details EnxRoom will used this method to deny to get in any user in knock -knock based room - */ -- (void)denyAwaitedUser:(NSString*_Nonnull)clientId; - - -#pragma mark- Switch Room Mode -/** - Socket API to SwitchRoomMode - @param data information about SwitchRoomMode - @details EnxRoom will used this method to SwitchRoomMode - */ --(void)requestForSwitchedRoom:(NSString * _Nonnull)data; - -#pragma mark - Live Recording - --(void)startLiveRecording:(NSDictionary *_Nonnull)streamingConfig; --(void)stopLiveRecording; - -#pragma mark - LoyouUpdate -//Update Loyout for liveRecording’, ‘streaming’, ‘screenShare’,’all’ --(void)updateLayout:(NSDictionary* _Nonnull)layoutOptions; - -#pragma mark - Customer Data Update -//Save Data --(void)saveCustomData:(NSDictionary* _Nonnull)CustomData; -//update Data --(void)setCustomData:(NSDictionary* _Nonnull)CustomData; -//get Data --(void)getCustomData:(NSDictionary* _Nonnull)CustomData; - - -#pragma mark - Page Video --(void)pageTalket:(NSDictionary* _Nonnull)info; - -#pragma mark - Speach to Text --(void)startLiveTranscription:(NSDictionary *_Nullable)options; --(void)stopLiveTranscription; - -#pragma mark- auxilaryPublishRequests - --(void)auxilaryPublishRequests:(NSDictionary *_Nullable)options; - -#pragma mark- Camera Switch --(void)cameraSwitched; - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingEvent.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingEvent.h deleted file mode 100644 index b44f078..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingEvent.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - - -/** - @interface EnxSignalingEvent - */ -@interface EnxSignalingEvent : NSObject - -@property NSString *name; -@property NSDictionary *message; -@property NSString *streamId; -@property NSString *peerSocketId; -@property NSDictionary *attributes; -@property NSDictionary *updatedAttributes; -@property NSDictionary *dataStream; -@property BOOL audio; -@property BOOL video; -@property BOOL data; -@property BOOL screen; - -- (instancetype)initWithName:(NSString *)name - message:(NSDictionary *)message; -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingMessage.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingMessage.h deleted file mode 100755 index 575bf3f..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxSignalingMessage.h +++ /dev/null @@ -1,94 +0,0 @@ -@import WebRTC; -#import -#import "RTCSessionDescription+JSON.h" - -typedef NS_ENUM(NSInteger, EnxSignalingMessageType) { - kEnxSignalingMessageTypeCandidate, - kEnxSignalingMessageTypeOffer, - kEnxSignalingMessageTypeAnswer, - kEnxSignalingMessageTypeBye, - kEnxSignalingMessageTypeReady, - kEnxSignalingMessageTypeTimeout, - kEnxSignalingMessageTypeFailed, - kEnxSignalingMessageTypeStarted, - kEnxSignalingMessageTypeBandwidthAlert, - kEnxSignalingMessageTypeDataStream, - kEnxSignalingMessageTypeInitializing, - kEnxSignalingMessageTypeUpdateAttribute -}; - -@interface EnxSignalingMessage : NSObject - -- (instancetype)initWithStreamId:(id)streamId peerSocketId:(NSString *)peerSocketId; - -@property(nonatomic, readonly) EnxSignalingMessageType type; -@property(readonly) NSString *streamId; -@property(readonly) NSString *peerSocketId; - - -+ (EnxSignalingMessage *)messageFromDictionary:(NSDictionary *)dictionary; -- (NSData *)JSONData; - -@end - -@interface EnxICECandidateMessage : EnxSignalingMessage - -@property(nonatomic, readonly) RTCIceCandidate *candidate; - -- (instancetype)initWithCandidate:(RTCIceCandidate *)candidate - streamId:(NSString *)streamId - peerSocketId:(NSString *)peerSocketId; - -@end - -@interface EnxSessionDescriptionMessage : EnxSignalingMessage - -@property(nonatomic, readonly) RTCSessionDescription *sessionDescription; - -- (instancetype)initWithDescription:(RTCSessionDescription *)description - streamId:(NSString *)streamId - peerSocketId:(NSString *)peerSocketId; - -@end - -@interface EnxByeMessage : EnxSignalingMessage -@end - -@interface EnxReadyMessage : EnxSignalingMessage -@end - -@interface EnxTimeoutMessage : EnxSignalingMessage -@end - -@interface EnxFailedMessage : EnxSignalingMessage -@end - -@interface EnxInitializingMessage : EnxSignalingMessage - -@property NSString *agentId; - -- (instancetype)initWithStreamId:(NSString *)streamId agentId:(NSString *)agentId; - -@end - -@interface EnxStartedMessage : EnxSignalingMessage -@end - -@interface EnxBandwidthAlertMessage : EnxSignalingMessage -@end - -@interface EnxDataStreamMessage : EnxSignalingMessage - -@property(nonatomic, strong) NSDictionary* data; - -- (instancetype)initWithStreamId:(id)streamId withData:(NSDictionary*) data; - -@end - -@interface EnxUpdateAttributeMessage : EnxSignalingMessage - -@property(nonatomic, strong) NSDictionary* attribute; - -- (instancetype)initWithStreamId:(id)streamId withAttribute:(NSDictionary*) attribute; - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxStream.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxStream.h deleted file mode 100644 index f140cbb..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxStream.h +++ /dev/null @@ -1,565 +0,0 @@ -@import WebRTC; -#import -#import "EnxSignalingChannel.h" -#import "EnxSignalingMessage.h" -#import "EnxPlayerView.h" - -@class EnxPlayerView; -@class EnxRoom; -@class EnxStream; - -@protocol EnxStreamDelegate -@optional - -/** - Fired when audio self mute/unmute events call on EnxStream object. - @param data NSDictionary gives the result of Audio event. - */ --(void)didAudioEvents:(NSDictionary *_Nullable)data; - -/** - Fired when video self On/Off events call on EnxStream object. - @param data NSDictionary gives the result of Video event. - */ - --(void)didVideoEvents:(NSDictionary *_Nullable)data; - -/** - Fired when a data stream is received. - @param data stream message received. - - */ -- (void)didReceiveData:(NSDictionary *_Nullable)data; - - -/** - - Fired when a hard mute video alert moderator received from server. - - @param stream Instance of the stream where event happen. - @param data hardVideoMute info on a stream. - - */ -- (void)stream:(EnxStream *_Nullable)stream didHardVideoMute:(NSArray *_Nullable)data; -/** - - Fired when a hard unmute video alert moderator received from server. - @param stream Instance of the stream where event happen. - @param data hardVideoUnmute info on a stream. - */ -- (void)stream:(EnxStream *_Nullable)stream didHardVideoUnMute:(NSArray *_Nullable)data; -/** - - Fired when a hard mute video alert participant received from server. - @param stream Instance of the stream where event happen. - @param data Receive hard mute video info on a stream. - */ -- (void)stream:(EnxStream *_Nullable)stream didReceivehardMuteVideo:(NSArray *_Nullable)data; -/** - Fired when a hard unmute video alert participant received from server. - @param stream Instance of the stream where event happen. - @param data Receive hard unmute video info on a stream. - - */ -- (void)stream:(EnxStream *_Nullable)stream didRecivehardUnmuteVideo:(NSArray *_Nullable)data; - - -/** - - Fired when a self mute video alert participant received from server. - @param stream Instance of the stream where event happen. - @param data self mute video info on a stream. - Paricipant delegate - - */ -- (void)stream:(EnxStream *_Nullable)stream didRemoteStreamVideoMute:(NSArray *_Nullable)data; -/** - Fired when a self unmute video alert participant received from server. - @param stream Instance of the stream where event happen. - @param data self unmute video info on a stream. - - Paricipant delegate - } - */ -- (void)stream:(EnxStream *_Nullable)stream didRemoteStreamVideoUnMute:(NSArray *_Nullable)data; - -/** - Fired when a self mute audio alert participant received from server. - @param stream Instance of the stream where event happen. - @param data self mute audio info on a stream. - - Paricipant delegate - -*/ -- (void)stream:(EnxStream *_Nullable)stream didRemoteStreamAudioMute:(NSArray *_Nullable)data; - -/** - Fired when a self unmute audio alert participant received from server. - @param stream Instance of the stream where event happen. - @param data self unmute audio info on a stream. - - Paricipant delegate -*/ -- (void)stream:(EnxStream *_Nullable)stream didRemoteStreamAudioUnMute:(NSArray *_Nullable)data; -/** - There would be listener for moderator when hardmute used by moderator. For this delegates are: - Moderator Delegates - @param Data has information about mute audio - */ -- (void)didhardMuteAudio:(NSArray *_Nullable)Data; - -/** - There would be listener for moderator when hardmute done by moderator. For this delegates are: - Moderator Delegates - @param Data has information about unmute audio - */ -- (void)didhardUnMuteAudio:(NSArray *_Nullable)Data; - -/** - There would be listener for Paricipant when hardmute used by moderator. this delegates is a - Paricipant Delegate - @param Data has information about hard mute - */ - -- (void)didRecievedHardMutedAudio:(NSArray *_Nullable)Data; -/** - There would be listener for Paricipant when hard unmute done by moderator. this delegates is a - Paricipant Delegate - @param Data has information about hard unmute - */ - -- (void)didRecievedHardUnmutedAudio:(NSArray *_Nullable)Data; - -/** -Delegate to give data for facial expressions -*/ -#pragma mark - FaceX APIs -/* - This delegate method will inform about face feature. - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceFeaturesData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like angery or sad etc... - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceArousalValenceData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like attention - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceAttentionData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like age - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceAgeData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like pose - */ -- (void)stream:(EnxStream *_Nullable)stream didFacePoseData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like gender - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceGenderData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like Emotional - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceEmotionData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like attention - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceDetectorData:(NSString *_Nullable)type value:(NSString *_Nullable)value; -/* - This delegate method will inform about face feature like attention - */ -- (void)stream:(EnxStream *_Nullable)stream didFaceWishData:(NSString *_Nullable)type value:(NSString *_Nullable)value; - -@end -/** - @interface EnxStream - - Represents a wrapper around an audio/video RTC stream that can be used to - access local media and publish it in a EnxRoom, or receive video from. - */ -@interface EnxStream: NSObject - -///----------------------------------- -/// @name Initializers -///----------------------------------- - -/** - Creates an instance of EnxStream capturing audio/video data - from host device with defaultVideoConstraints and defaultAudioConstraints. - - @see initWithLocalStreamVideoConstraints:audioConstraints: - @see initLocalStreamWithOptions:attributes:videoConstraints:audioConstraints: - - @return instancetype - */ -- (instancetype _Nonnull)initLocalStream; - -/** -Creates an instance of EnxStream capturing Screen Frame data -from host device with defaultVideoConstraints. -@see initLocalStreamWithOptions:attributes:videoConstraints:audioConstraints: - -@return instancetype -*/ -- (instancetype _Nonnull)initCanvasStream; -/** -Creates an instance of EnxStream capturing Screen Frame data -from host device with defaultVideoConstraints. -@see initLocalStreamWithOptions:attributes:videoConstraints:audioConstraints: - -@return instancetype -*/ -- (instancetype _Nonnull)initScreenShareStream; -/** - Creates an instance of EnxStream with a given stream id and signaling channel. - - @param streamId Enx stream id for this stream object. - @param attributes Stream attributes. Attributes will not be sent to the server. - @param signalingChannel Signaling channel used by EnxRoom that handles the stream. - - @return instancetype - */ -- (instancetype _Nonnull)initWithStreamId:(nonnull NSString *)streamId - attributes:(nullable NSDictionary *)attributes - signalingChannel:(nonnull EnxSignalingChannel *)signalingChannel; - -/** - Attempt to switch between FRONT/REAR camera for the local stream - being capturated. - - @returns NSException. - */ -- (NSException *_Nullable)switchCamera; - -/** - Indicates if the media stream has audio tracks. - - If you want to know if the stream was initializated requesting - audio look into streamOptions dictionary. - - @returns Boolean value. - */ -- (BOOL)hasAudio; - -/** - Indicates if the media stream has video tracks. - - If you want to know if the stream was initializated requesting - video look into streamOptions dictionary. - - @returns Boolean value. - */ -- (BOOL)hasVideo; - -/** - Indicates if the stream has data activated. - - @returns Boolean value. - */ -- (BOOL)hasData; - -/** - mute stream video. - @param clientId for whome mute video - */ -- (void)hardMuteVideo:(NSString *_Nonnull)clientId; - -/** - unmute stream video. - @param clientId for whome unmute video - */ -- (void)hardUnMuteVideo:(NSString *_Nonnull)clientId; - -/** - mute/unmute stream audio. - @param isMuted BOOL to send true to mute or false to unmute. - @see EnxStreamDelegate:didAudioEvents:data: - */ -- (void)muteSelfAudio:(BOOL)isMuted; - -/** - Unmute Audio tracks for this stream. - */ -//- (NSException *)unmute; - -/** - mute/unmute stream video when user cross over senssor . - - @param flag BOOL to send true to mute or false to unmute. - @see EnxStreamDelegate:didVideoEvents:data: - */ --(void)muteUnMuteVideowithSenssorUpdate:(BOOL)flag; - -/** - mute/unmute stream video. - - @param isMuted BOOL to send true to mute or false to unmute. - @see EnxStreamDelegate:didVideoEvents:data: - */ -- (void)muteSelfVideo:(BOOL)isMuted; - -/** - Generates the audio tracks for the stream - */ -//- (void)generateAudioTracks; -//-(void)removeAudioTracks; - -/** - Get attributes of the stream - */ -- (NSDictionary *_Nullable)getAttributes; - -/** - Set attributes of the stream - - Notice that this method will replace the whole dictionary. - - If the stream doesn't belong to a connected room, the attributes - will be marked as dirty and they will be sent to the server - once the stream gets a functional signaling channel. - - If the stream is a remote stream it will not submit attributes. - */ -- (void)setAttributes:(NSDictionary *_Nonnull)attributes; - -/** - Send data stream on channel - - data Dictionary. - */ -- (NSException *_Nullable)sendData:(NSDictionary *_Nonnull)data; -/** - This method used for receive chat date on stream - @param data contain information about chat - */ --(void)getReceivedData:(NSDictionary *_Nonnull)data; -// -/** - This method used to inform if self strem hard muted by any of the moderatore - @param data contain information about video mute - */ -////Hard video mute --(void)getHardVideoMute:(NSArray *_Nonnull)data; -/** - This method used to inform if self strem hard unmuted by any of the moderatore - @param data contain information about video unmute - */ --(void)getHardVideoUnMute:(NSArray *_Nonnull)data; -// -////P Lisner -/** - This method used to inform if user will received video hard mute request - @param data contain information about video mute - */ --(void)getRecivehardMuteVideo:(NSArray *_Nonnull)data; -// -/** - This method used to inform if user will received video hard unmute request - @param data contain information about video unmute - */ --(void)getRecivehardUnmuteVideo:(NSArray *_Nonnull)data; - -/** - This method used to inform if user do self video mute - @param data contain information about video mute - */ --(void)getselfVideoMute:(NSArray *_Nonnull)data; -// -/** - This method used to inform if user do self video unmute - @param data contain information about video unmute - */ --(void)getselfVideoUnmute:(NSArray *_Nonnull)data; - -//self audio mute/unmute -/** - This method used to inform if user do self audio mute - @param data contain information about audio mute - */ --(void)getselfAudioMute:(NSArray *_Nonnull)data; -// -/** - This method used to inform if user do self audio unmute - @param data contain information about audio unmute - */ --(void)getselfAudioUnmute:(NSArray *_Nonnull)data; - - -//Single user mute/unmute - -//M -/** - This method used to inform if modeator do single user audio mute - @param data contain information about audio mute - */ --(void)gethardMuteAudio:(NSArray *_Nonnull)data; -/** - This method used to inform if modeator do single user audio unmute - @param data contain information about audio unmute - */ --(void)gethardUnMuteAudio:(NSArray *_Nonnull)data; - -//P -/** - This method used to inform if participent once their audio muted by modeator - @param data contain information about audio mute - */ --(void)getRecievedHardMutedAudio:(NSArray *_Nonnull)data; -/** - This method used to inform if participent once their audio unmuted by modeator - @param data contain information about audio unmute - */ --(void)getRecievedHardUnMutedAudio:(NSArray *_Nonnull)data; - -///--------------------- _Nullable-------------- -/// @name Properties -///----------------------------------- - -/// EnxStreamDelegate were this stream will invoke methods as events. -@property (weak, nonatomic) id _Nullable delegate; - - -/// RTCMediaStream object that represent the stream a/v data. -@property RTCMediaStream * _Nullable mediaStream; - -/// Enx stream id. -@property NSString * _Nullable streamId; - -/// Enx stream attributes for the stream being pubished. -@property (strong, nonatomic) NSDictionary * _Nullable streamAttributes; - -/// Indicates attributes hasn't been sent to Enx yet. -@property (readonly) BOOL dirtyAttributes; - - -/// Enx Remote stream options. -@property (strong, nonatomic) NSDictionary * _Nullable remoteStreamOptions; - -/// EnxRoom instance at the moment -@property (weak, nonatomic) EnxRoom * _Nullable room; - -/// to indicate about localStream object or not. -@property (readonly) BOOL isLocal; - -/// Screen share check -@property (assign) BOOL screen; - -/// is Canvas stream check -@property (assign) BOOL isCanvas; -/// is screen shared stream check -@property (assign) BOOL isScreenShared; -// -@property (nonatomic) BOOL isSelfMuted; -// -@property (nonatomic) BOOL isSelfVideoMuted; - - -/// Default video contraints. -@property (readonly,weak) RTCMediaConstraints * _Nullable defaultVideoConstraints; - -/// Default audio contraints. -@property (readonly,weak) RTCMediaConstraints * _Nullable defaultAudioConstraints; - -#if NS_EXTENSION_UNAVAILABLE_IOS - @property (nonatomic) RTCCameraVideoCapturer * _Nullable capturer; -#endif - - -@property (nonatomic) AVCaptureDevice * _Nonnull device; - -@property(strong,readonly,nonatomic) EnxPlayerView * _Nullable enxPlayerView; -@property(strong,nonatomic) NSString * _Nullable clientId; -@property (strong,nonatomic) NSString * _Nullable mediaType; -@property (strong,nonatomic) NSString * _Nullable name; -@property (strong,nonatomic) NSString * _Nullable reasonForMuteVideo; -@property (strong,nonatomic) NSString * _Nullable videoAspectRatio; -@property (nonatomic) BOOL isAudioOnlyStream; -@property(nonatomic,readonly)BOOL isCaptchaStared; -@property(nonatomic,strong)NSString *_Nullable layout; -@property(nonatomic,strong)NSString *_Nullable streamLayout; - -@property (readonly) BOOL usingFrontCamera; -/* - This method used for self audio mute - */ -- (void)SelfHardMuteAudio:(BOOL)isMuted; -/* - This method used for self video mute - */ -- (void)SelfHardMuteVideo:(BOOL)isMuted; -/* - This method used to stop capture if all ready running - */ --(void)stopCapture; -/* - This method used to start capture if not stated - */ --(void)startCapture; -/* - This method used to start capture to test preview of video - */ --(void)startPreviewCapture; -/* - This method used to set resolution for stream - */ --(void)setStreamResolution:(int)width height:(int)height; -/** - mute single audio stream. - - Note: Hardmute functionality is only applicable to moderator. - - @param clientId is the participant who is being mute to the floor. - - @see EnxRoomDelegate:didMutedSingleUser:::data: - - */ - -- (void)hardMuteAudio:(NSString*_Nonnull)clientId; - -/** - unmute single audio stream. - - Note: Hardmute functionality is only applicable to moderator. - - @param clientId is the participant who is being mute to the floor. - - @see EnxRoomDelegate:didUnMutedSingleUser:::data: - - */ - -- (void)hardUnMuteAudio:(NSString*_Nonnull)clientId; - -/* - This method used to attached EnxPlayer with EnxStream to display stream video - */ - -- (void)attachRenderer :(EnxPlayerView*_Nonnull)ObjEnxPlayerView; -/* - This method used to remove attached EnxPlayer from EnxStream - */ -- (void)detachRenderer; - -/* - This method used to zoom self stream based on given zoom value. - */ --(void)setZoomFactor:(CGFloat)value; - -/* - This Stream method used to update stream configuration. - */ --(void)updateConfiguration:(NSDictionary *_Nonnull)data; - -//To enable/disable facial expression of stream. true to enable and false to disable --(void)enableFaceFeatures:(BOOL)value; --(void)enableFaceArousalValence:(BOOL)value; --(void)enableFaceAttention:(BOOL)value; --(void)enableFaceAge:(BOOL)value; --(void)enableFacePose:(BOOL)value; --(void)enableFaceGender:(BOOL)value; --(void)enableFaceEmotion:(BOOL)value; --(void)enableFaceDetector:(BOOL)value; --(void)enableFaceWish:(BOOL)value; - -@end - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxToolBar.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxToolBar.h deleted file mode 100644 index cb26d2e..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxToolBar.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// EnxToolBar.h -// VCXiOS_SampleApp -// -// Created by VCX-LP-11 on 12/02/20. -// Copyright © 2020 Hemrajjhariya. All rights reserved. -// - -#import -#import "EnxContants.h" - -NS_ASSUME_NONNULL_BEGIN -@interface EnxToolBar : UIView --(instancetype _Nonnull)init UNAVAILABLE_ATTRIBUTE; --(instancetype _Nonnull )initWithCoder:(NSCoder *_Nonnull)aDecoder UNAVAILABLE_ATTRIBUTE; -@end - -NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxUtilities.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxUtilities.h deleted file mode 100644 index f659588..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxUtilities.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - -@interface NSDictionary (EnxUtilities) - -+ (NSDictionary *)dictionaryWithJSONString:(NSString *)jsonString; -+ (NSDictionary *)dictionaryWithJSONData:(NSData *)jsonData; - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxUtilityManager.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxUtilityManager.h deleted file mode 100644 index f65ac1a..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/EnxUtilityManager.h +++ /dev/null @@ -1,151 +0,0 @@ -// -// EnxAudioManager.h -// VCXiOS_SampleApp -// -// Created by Enablex on 19/02/19. -// Copyright © 2019 Enablex. All rights reserved. -// -@import WebRTC; -#import -#import "EnxRoom.h" -#if TARGET_IPHONE_SIMULATOR - -#else - #import -#endif -//#import -//NS_ASSUME_NONNULL_BEGIN - -#ifdef DEBUG -#define L_DEBUG(f, ...) { \ -logThis(LOG_MODE_DEBUG, @(__FILE__), @(__LINE__), f, ##__VA_ARGS__); \ -} -#else -#define L_DEBUG(f, ...) {} -#endif - -#define L_ERROR(f, ...) { \ -logThis(LOG_MODE_ERROR, @(__FILE__), @(__LINE__), f, ##__VA_ARGS__); \ -} - -#define L_WARNING(f, ...) { \ -logThis(LOG_MODE_WARNING, @(__FILE__), @(__LINE__), f, ##__VA_ARGS__); \ -} - -#define L_INFO(f, ...) { \ -logThis(LOG_MODE_INFO, nil, nil, f, ##__VA_ARGS__); \ -} - -@protocol EnxMediaDeledate - -@optional --(void)newAudioMediaConnected; --(void)currentConnectedNetwork:(NSString*)networkName; -@end -typedef NS_ENUM(NSInteger, EnxCustomeEventType) { - Error, - Info, - Debug, - Warning, - Success, -}; - -typedef enum { - LOG_MODE_UNKNOWN, - LOG_MODE_DEBUG, - LOG_MODE_INFO, - LOG_MODE_WARNING, - LOG_MODE_ERROR -} LOG_MODE; - -typedef NS_OPTIONS(NSUInteger, LOG_MODE_MASK) { - LOG_MODE_DEBUG_MASK = 1 << LOG_MODE_DEBUG, - LOG_MODE_INFO_MASK = 1 << LOG_MODE_INFO, - LOG_MODE_WARNING_MASK = 1 << LOG_MODE_WARNING, - LOG_MODE_ERROR_MASK = 1 << LOG_MODE_ERROR -}; - -@class EnxUtilityManager; -@interface EnxUtilityManager : NSObject -@property(nonatomic,weak) id delegate; -@property(nonatomic,strong) NSString *previousNetwork; -@property(nonatomic,readonly,strong) EnxRoom *mRoom; -@property(nonatomic)BOOL isNoNetwork; -@property(nonatomic,readonly,strong) NSString *sdkVersion; -@property(nonatomic,readonly,strong) NSString *osVersion; -@property(nonatomic,readonly,strong) NSString *deviceName; - - -+(EnxUtilityManager*)shareInstance; --(BOOL)setAudioDevice:(NSString*)name; --(NSString*)selectedDevice; --(NSArray*)connectedDevice; --(NSString*)currentConnectNetwork; --(void)setPriviousNetwork; - -/*Custome Events*/ --(void)setEventServerURL:(NSString *)serverURL; --(NSString*)getEventServer; --(void)setEventToken:(NSString*)token; --(NSString*)getEventToken; --(void)sendCustomeEvent; --(void)setLogId:(NSString*)logId; --(void)customeEvent:(NSString *)eventLavelName eventType:(EnxCustomeEventType)type eventName:(NSString*)eventname eventData:(NSDictionary*)eventdata; --(void)checkForStoreRequest; -/*These two variables used in enxclient class only*/ --(NSMutableArray *)getMessageQueue; --(NSMutableArray *)geticeServers; --(void)setSDKVersion:(NSString* _Nonnull)version; --(NSString *_Nonnull)getSDKVersion; --(NSString*_Nonnull)getOsVersion; --(NSString*_Nonnull)getDeviceName; - -/*PreCall Test API*/ --(void)clientDiagnostics:(NSDictionary *_Nonnull)options; - -/* Property And Methods for client Loger */ -///----------------------------------- -/// @name Properties -///----------------------------------- -@property (strong,nonatomic) NSString *vcxLogId; -///----------------------------------- -/// @name Methods -///----------------------------------- - -- (void)log:(LOG_MODE)mode file:(NSString *)file line:(NSNumber *)line format:(NSString *)format, ...; -- (void)log:(LOG_MODE)mode file:(NSString *)file line:(NSNumber *)line format:(NSString *)format args:(va_list)args; -- (void)logWithModesOverride:(LOG_MODE_MASK)overrideModes mode:(LOG_MODE)mode file:(NSString *)file line:(NSNumber *)line - format:(NSString *)format args:(va_list)args; - -// To send logs to server. --(NSString *)getLogsFromFile; --(BOOL)checkLogsStatus; --(void)startLog; --(BOOL)getLoggerStatus; -/*Drain All object once Session closed*/ --(void)drainAllObjectRefrence; -//Thame color --(void)setIconColor:(UIColor *_Nullable)color; --(UIColor*_Nullable)getThameColor; -- (UIColor *_Nullable)colorFromHexString:(NSString *)hexString; --(void)setMRoom:(EnxRoom *_Nonnull)mRoom; --(EnxRoom * _Nonnull)getRoom; -//Start Screen Share --(void)setAppGroupsName:(NSString * _Nonnull)appGroup withUserKey:(NSString* _Nonnull)key; --(NSString* _Nonnull)getAppGroupName; --(NSString* _Nonnull)getUserKey; - -@end - -FOUNDATION_STATIC_INLINE void logThis(LOG_MODE mode, NSString *file, NSNumber *line, NSString *format, ...) { - va_list args; - va_start(args, format); -#ifdef LOG_MODES - LOG_MODE_MASK overrideModes = LOG_MODES; - [[Logger sharedInstance] logWithModesOverride:overrideModes mode:mode file:file line:line format:format args:args]; -#else - [[EnxUtilityManager shareInstance] log:mode file:file line:line format:format args:args]; -#endif - va_end(args); -} -//NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCIceCandidate+JSON.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCIceCandidate+JSON.h deleted file mode 100644 index e41f32a..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCIceCandidate+JSON.h +++ /dev/null @@ -1,8 +0,0 @@ -@import WebRTC; - -@interface RTCIceCandidate (JSON) - -+ (RTCIceCandidate *)candidateFromJSONDictionary:(NSDictionary *)dictionary forStream:(NSString*)streamID roomSubscription:(BOOL)isSubscription isAudioOnly:(BOOL)audioOnly; -- (NSData *)JSONData; - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCIceServer+JSON.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCIceServer+JSON.h deleted file mode 100644 index f50525a..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCIceServer+JSON.h +++ /dev/null @@ -1,8 +0,0 @@ -@import WebRTC; - -@interface RTCIceServer (JSON) - -+ (RTCIceServer *)serverFromJSONDictionary:(NSDictionary *)dictionary; - -@end - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCSessionDescription+JSON.h b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCSessionDescription+JSON.h deleted file mode 100644 index 8ea69c6..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Headers/RTCSessionDescription+JSON.h +++ /dev/null @@ -1,8 +0,0 @@ -@import WebRTC; - -@interface RTCSessionDescription (JSON) - -+ (RTCSessionDescription *)descriptionFromJSONDictionary:(NSDictionary *)dictionary; -- (NSData *)JSONData; - -@end diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Info.plist b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Info.plist deleted file mode 100644 index 7578a26..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Info.plist and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Modules/module.modulemap b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Modules/module.modulemap deleted file mode 100644 index d1b536c..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module EnxRTCiOS { - umbrella header "EnxRTCiOS.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/T-edit.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/T-edit.png deleted file mode 100644 index d106631..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/T-edit.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/_CodeSignature/CodeResources b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/_CodeSignature/CodeResources deleted file mode 100644 index 99fe0d4..0000000 --- a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/_CodeSignature/CodeResources +++ /dev/null @@ -1,795 +0,0 @@ - - - - - files - - EnxCustomEvent.txt - - n8F/xMsttQ/vkJ0EzwCu3lRDQTM= - - EnxEventFormate.txt - - 9TdAPZqJ9UpNaMs7mc6YfGzGgCE= - - EnxLog.txt - - tGh/Jl63F9+hRLaRRUs4Eu47xo8= - - Headers/EnxATListView.h - - ay398N2dOVU3mFiqGGhvN3J3tRs= - - Headers/EnxClient+Internal.h - - GmjhN2nwSEAgviNtUUcT1GcrRE8= - - Headers/EnxClient.h - - CfqPk6NKrLyeVoDDO9oK6ekC7i8= - - Headers/EnxClientDelegate.h - - O88UsVVKSjSWpZdnKJdPA5c3cFM= - - Headers/EnxClientState.h - - pnTw87BFZ2BBLcNXkiuBrMbzP1w= - - Headers/EnxContants.h - - KpsmykGzE+czj1RX19FedsYQuEY= - - Headers/EnxLogParser.h - - oAu3iomwJ0ujqQuTOeBsSuNsz2I= - - Headers/EnxPlayerView.h - - qV5YEDlgJmpsS+63LnS3fMul8P0= - - Headers/EnxRTCiOS.h - - Y/WGM15lAxxBthLzfsTTe6ZS/1U= - - Headers/EnxRoom.h - - E3L9wvW3405vy6hKgEiEpmE8qBg= - - Headers/EnxRtc.h - - 4fp/pSztrY6egH0Dw1WAMeneDSk= - - Headers/EnxSDPUtils.h - - xcumTE1zstLJfSeluLviUCLpKm8= - - Headers/EnxSignalingChannel.h - - TqKJyM13E1JioAmdWB/fkyMqXdY= - - Headers/EnxSignalingEvent.h - - P3yvv/UTk5e4yAyzND6CK6S6klQ= - - Headers/EnxSignalingMessage.h - - RQ3glRqUchRMxOiUcHQD92cph2E= - - Headers/EnxStream.h - - NMM1LdctfyhOcySpLocNjeXmVbo= - - Headers/EnxToolBar.h - - sjlGIpDORkLOcEg+o3SSf+7Uqnw= - - Headers/EnxUtilities.h - - ss/elZ27bc78bcyh2q/x23/3/c8= - - Headers/EnxUtilityManager.h - - aEd6YPPMEEQJNgXU6IFsCs/ME1E= - - Headers/RTCIceCandidate+JSON.h - - 7KqToOpp0K134Q1m0+CH+3iGLJ0= - - Headers/RTCIceServer+JSON.h - - xudYOYUOZlfzLQHYbktAmshSe10= - - Headers/RTCSessionDescription+JSON.h - - nw35NOb+tvFKAYlLzJyd6zVmgD4= - - Info.plist - - PcBwTcMjtpx4L/Bi4/kBrXuPSYE= - - Modules/module.modulemap - - PX2l0J0w7E5IwaBusRL6B1VLpmk= - - T-edit.png - - 1v7jZMpcYnBbv9wIeXJxslHmkBY= - - avatar.png - - mQQnhG7dYwnD10Sg4OOHtjgmUms= - - avatar@2x.png - - mQQnhG7dYwnD10Sg4OOHtjgmUms= - - avatar@3x.png - - gFTLAI/5V0xTUBba+vt8Gmflq/g= - - black.png - - oYeXoPmlYRiJENItiNnLlikM/Hc= - - blue.png - - cWDHebgah2yRKasxTMtbeKAM2qo= - - colorpicker.png - - aG/87TPySzQ9MN3I1v9Igxdipgw= - - download.png - - Gtudu+RXalfiYIjSCsjGTuYLwfU= - - edit.png - - 9dTbszTHP3ElBLr/HUo3AVssOt0= - - enx_bandwidth.png - - Nf3TzX6OpKczvc7gJGCtom6hCMo= - - enx_screenshot.png - - 7AFrJVtJFmz5wm82NRdTGpabAvQ= - - enxaudiomuted.png - - 9GkR6H1XK89XMslDxgatny1RLb8= - - enxbandwidth.png - - jMTwEEHn4o0RikFzL3bqx1Nk2j8= - - enxlowbandwidth.png - - tkhcqQ3er4GZYRein/4y99njqjY= - - enxscreenshot.png - - 7AFrJVtJFmz5wm82NRdTGpabAvQ= - - enxstats.png - - NKXJahNn0wOxVFU+na7Z1gbQC94= - - enxvideomuted.png - - ZCtW8ryZACVh0C8bYDF5deJoE44= - - equilizer.gif - - HA/a/xrfjO5L6YQMJyNquHV70Y4= - - eraser.png - - tItpzOSCpyOI0hkgIPZPkAClKyk= - - gray.png - - y/AVhl+q6CXyVKHB2aVQ84UMoLE= - - green.png - - ajj2pKXGgvt98SWk53d+L0Bl+BE= - - pause.png - - tYs6d9J7HZsPcADeQAz4KNf0vMg= - - pencil.png - - Wo3gkmEuRiQFJvQirp5mGSlCaYw= - - pinged.png - - wnjltH077Mnzhd/xwnQFZ3hpIs8= - - play.png - - L5BqIDuVMMXjgjj3pMzs0PxAcVI= - - red.png - - D2Fk8ZmffvjYNiTF+Bx0h6a4Zbs= - - sec-black.png - - eymRyRn9tDz8UKTqlHzzdTBOGcs= - - sec-gray.png - - LRikX8SmQ20RadWiA47O9fT/5OQ= - - sec-pencil.png - - kBDHcmQ/MsocMGfNIwqEcoVe84k= - - sel-blue.png - - j6kMEEZbWbk7KHy7cVQmgUucfvw= - - sel-colorpicker.png - - f55v2za5+V4nFrETTFnbz4GGc9E= - - sel-green.png - - cYdNh9WrVJd4G5gl3c8R8fVLRZE= - - sel-red.png - - rYcGaljx/rRHgxsjrAg1+kGM9SA= - - sel-yellow.png - - s6FHr0h0F2JezGmd18Oof5NAjKY= - - undo.png - - 38iiv1FLcDzMxFTUKwx+5XAdfAk= - - upload.png - - 8nkEFPURh+Q8oXX/8vhbncgXzhg= - - yellow.png - - yn8Fu9CHS7ABMsNRSYlDn7mTQds= - - - files2 - - EnxCustomEvent.txt - - hash2 - - 4zN988ug2cu1Lmhaa+Z9xKGytx6fc14f85gFZPZ2ATI= - - - EnxEventFormate.txt - - hash2 - - 9AtpMLwDt+9iEYZLJ/pUv6wjjdHodlQeEx5gPwWr1vo= - - - EnxLog.txt - - hash2 - - Y62OhTSf4RgZiFl275bL4/b2XCiLKQcTrK29+akoA4g= - - - Headers/EnxATListView.h - - hash2 - - A5VosiCx8rmERqR9xt9mGm07inHdzrHBA2GNVKn6RmU= - - - Headers/EnxClient+Internal.h - - hash2 - - PNt/1qS5hfTj2JZ/mFpFcYl6BFP36xu2raW+CEP14Yk= - - - Headers/EnxClient.h - - hash2 - - FVHT19yof9nQZsxmONP2+SGSboNtcA5d45jel2L9Tfo= - - - Headers/EnxClientDelegate.h - - hash2 - - HH2Jj7YCIOgYbzcti1K5+/4kto1lEQ5qA1ONTCIICVg= - - - Headers/EnxClientState.h - - hash2 - - kYAEpg/io6yulrcjZoLnJFIMw4yoZXjZ/Y8HXBlrS3I= - - - Headers/EnxContants.h - - hash2 - - STq6GMOtltSdqxBP0QlpXj1eb+Vj3lrkRLifrFGgm/M= - - - Headers/EnxLogParser.h - - hash2 - - Jls+LM6+m2KfvQihDYcEdQHDRlJBfYWkBpWuwzuYPZk= - - - Headers/EnxPlayerView.h - - hash2 - - 3uHo3STD/7pkOzaUlfCc/zrThfcBmL7hl5nWNqK5osM= - - - Headers/EnxRTCiOS.h - - hash2 - - GsKmCbtV3XYxZUBRbt2V33hkDrsaOWJTMg/xJnsasn8= - - - Headers/EnxRoom.h - - hash2 - - be9gFQQ1aV4hoMipk3BSxVtFCNyTs/+9W2BykjS6IH8= - - - Headers/EnxRtc.h - - hash2 - - S+3hGZ/6p8jp2shnDy46SG6I4s0MFpSPC383v+qu0dU= - - - Headers/EnxSDPUtils.h - - hash2 - - ABRE0zx7ZpLuuQ4EmnjKVk6HWHqcBKPRuRN2gD0xlvw= - - - Headers/EnxSignalingChannel.h - - hash2 - - hLgI5aVHLtm5SVlWMrpKiolpxjrlvCxLUuaiTARQgDk= - - - Headers/EnxSignalingEvent.h - - hash2 - - 5+/7dPi2mFB7gZr+g7kiH/iDxhKA83KUHSEetY+l6y4= - - - Headers/EnxSignalingMessage.h - - hash2 - - NE5A7pW2lRZ47sjJYBCvKNhcQpspAMtJcQu2zqib1oA= - - - Headers/EnxStream.h - - hash2 - - qKkZjrDy02lKLN3iFBrD/3NLX/a98DTr5ohiIhEIPBw= - - - Headers/EnxToolBar.h - - hash2 - - 9bJP2EPPWM5Zd87xuARG8i22GVBdo4gCeq1kwU2k07E= - - - Headers/EnxUtilities.h - - hash2 - - uwtY6n+yYaJZkTSa5Dz/aUenw3DOpy+vDoqXhefFxKk= - - - Headers/EnxUtilityManager.h - - hash2 - - h6VWDPEhnsQAnZfVdav6/uCGZd/rrEAOYyQgwPQrxEs= - - - Headers/RTCIceCandidate+JSON.h - - hash2 - - 0BDtZcMxIvbIrs+cW0SRSkwhRxWpZTmtx8xSzKV7PCw= - - - Headers/RTCIceServer+JSON.h - - hash2 - - 8iXeCcX2Sud6h72ZevHVrMWlFt95gEVsRvNn9UorFTM= - - - Headers/RTCSessionDescription+JSON.h - - hash2 - - zS+cp1gfDBtd4Aq2baaQ8VXGC0zj/pm2SRtoaYj6OGM= - - - Modules/module.modulemap - - hash2 - - duRxaBsNVxEKm47lWc7OMQxpDNwOKdw2A2eR4IeXEIA= - - - T-edit.png - - hash2 - - wfnW29OowYIQNjwmCC1JlvIcohHU5EO7fRmC65T3pxY= - - - avatar.png - - hash2 - - tHAFq2mr0uo9VrAlFzksQ4DfbWRO5PDywgtG1FWouag= - - - avatar@2x.png - - hash2 - - tHAFq2mr0uo9VrAlFzksQ4DfbWRO5PDywgtG1FWouag= - - - avatar@3x.png - - hash2 - - /XrczEzNDzN8xvGCMoJQ4EgDK7VoYAZTxsroOD75eIk= - - - black.png - - hash2 - - ueKkWc4BE+bKQ+2PfgliY7paWYd0D5eq4ElJZsPdlFk= - - - blue.png - - hash2 - - qEqD/9Nz9/v6b7flkB/geu1gwmFXSMweslkJrq5qqpw= - - - colorpicker.png - - hash2 - - SiDeQyh/ztG3x4QOH0P1H4oVKRHif87Wb/m9CByZ4cE= - - - download.png - - hash2 - - 0ZE3xtSqI/60C0qk0Khbl58p6jU+58dNKtMV4X3Uczo= - - - edit.png - - hash2 - - uM+r5+BQ/g6kOK9K0hbKpE2DLLokc36FGJ2V8Mg8FL0= - - - enx_bandwidth.png - - hash2 - - bYNCy42KPMoBUnudEmqwelBjJbGceU49Efj5Z0n6OaQ= - - - enx_screenshot.png - - hash2 - - mGohmM7GvTQFhBEjlyQWlhpv7BVsR81tW69lH/+LbHk= - - - enxaudiomuted.png - - hash2 - - V/M0eYSylJEmh1uq0Zt+b1BRD8QUic8JwPEHRzX2KLA= - - - enxbandwidth.png - - hash2 - - JxkEDaViKj9kASOCshu00Wc4zeh6GbKebsu5qtNm1No= - - - enxlowbandwidth.png - - hash2 - - nAxVZFU88vJe01CmlOPseAtcdBKprlb0RjnCFDfWOn0= - - - enxscreenshot.png - - hash2 - - mGohmM7GvTQFhBEjlyQWlhpv7BVsR81tW69lH/+LbHk= - - - enxstats.png - - hash2 - - YSggOnjfN5IXd20CEQDNiZllAddm2DCDoG6qzu24sCE= - - - enxvideomuted.png - - hash2 - - IGmVmO28cHktU91jMrEQMsTgPpbIduiztURjtxRnTPw= - - - equilizer.gif - - hash2 - - jj9REKOIt0crk2wySA4srgFuEUF/gRcXKLehTL2phOk= - - - eraser.png - - hash2 - - /cQgS3VghHw+96mnwHsvHA0KF8I2Bs8Oh27YNQgLaDQ= - - - gray.png - - hash2 - - RzSXSw4gkbjzYn6T9i9cLECwqidzUncjHUequ2k4TI8= - - - green.png - - hash2 - - mx+fAgqMKnGWw9Y3z2qhQW7eNfKivcTJ70o7JdOgJhE= - - - pause.png - - hash2 - - zhI6zGSMmoqwlnn+oZri8rejf3hZFQuGzBynhbDd+xg= - - - pencil.png - - hash2 - - IlIVRnn+KlE8E/3eDDiU7kl7VbTJxfe1e3iB171nm8w= - - - pinged.png - - hash2 - - Anx/GPd6Qlzripl5Z7s40rhWBvo7o7bhNcvhSXkNdt4= - - - play.png - - hash2 - - 5i15pZZZlZvF7eln26Mo7ZKEXjBoSJh7frroBcnLFQg= - - - red.png - - hash2 - - EwOEoD1HJWyE9OP2uoakRE4wuV2mm2FkvlpPiLXR4GM= - - - sec-black.png - - hash2 - - fGYXqpeI3E17WfeYHxI8gfoDWjf66jDZMTrKJ/x2ndM= - - - sec-gray.png - - hash2 - - aq5zIELbrFTs5rfDnBVmg4uFyt1NxWbIAMPjdSiknso= - - - sec-pencil.png - - hash2 - - sXNQeoKxATQHWJaXrr8v41Zac/UeB6zKCKO4Yr2YYVU= - - - sel-blue.png - - hash2 - - DaOee9SgoWHB9BW6Xapf4BcfISYyakjm+5g4CF1GrHA= - - - sel-colorpicker.png - - hash2 - - rOOyHpdQbQYkthTN4in5gVZOLo7lhoNvpCtyUoHqdbA= - - - sel-green.png - - hash2 - - EzR522YWRS/lPqq15ERezeqthg35+K3iWowwwjEMt38= - - - sel-red.png - - hash2 - - ZjEe7wcxbC+ymbliJVLww89wZ+E+QyHeopSKFTF3D+g= - - - sel-yellow.png - - hash2 - - uTFHBSoE/+nxe0uTtZJSL/dqejQ2LCuShUAKs7vxqjA= - - - undo.png - - hash2 - - 3ULcfpSfMj3JeNG3pZN95cTGfXH0CjKW8TCxF3hWY4o= - - - upload.png - - hash2 - - gupIG77Bf/57Cpaw5hpA+5EO37dPQNwTJI1i5EsnENY= - - - yellow.png - - hash2 - - 5f5CTrumhMvB/geUJxOAxC/Giaskdl1PT76a6hhRpVc= - - - - rules - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar.png deleted file mode 100644 index b80f9a9..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar@2x.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar@2x.png deleted file mode 100644 index b80f9a9..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar@3x.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar@3x.png deleted file mode 100644 index 073509a..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/avatar@3x.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/black.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/black.png deleted file mode 100644 index 929da6e..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/black.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/blue.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/blue.png deleted file mode 100644 index 3b803ab..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/blue.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/colorpicker.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/colorpicker.png deleted file mode 100644 index d0ff576..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/colorpicker.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/download.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/download.png deleted file mode 100644 index 107a399..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/download.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/edit.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/edit.png deleted file mode 100644 index a86e957..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/edit.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enx_bandwidth.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enx_bandwidth.png deleted file mode 100644 index 2ced8de..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enx_bandwidth.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enx_screenshot.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enx_screenshot.png deleted file mode 100644 index 274d474..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enx_screenshot.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxaudiomuted.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxaudiomuted.png deleted file mode 100644 index 30ce25e..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxaudiomuted.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxbandwidth.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxbandwidth.png deleted file mode 100644 index 0e99656..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxbandwidth.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxlowbandwidth.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxlowbandwidth.png deleted file mode 100644 index f35c167..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxlowbandwidth.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxscreenshot.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxscreenshot.png deleted file mode 100644 index 274d474..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxscreenshot.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxstats.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxstats.png deleted file mode 100644 index db6d15e..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxstats.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxvideomuted.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxvideomuted.png deleted file mode 100644 index b61acf3..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/enxvideomuted.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/equilizer.gif b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/equilizer.gif deleted file mode 100644 index 88a8e96..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/equilizer.gif and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/eraser.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/eraser.png deleted file mode 100644 index e3acfb3..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/eraser.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/gray.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/gray.png deleted file mode 100644 index 8cca3e7..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/gray.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/green.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/green.png deleted file mode 100644 index 14a8656..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/green.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pause.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pause.png deleted file mode 100644 index d51861d..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pause.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pencil.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pencil.png deleted file mode 100644 index 8bf6650..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pencil.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pinged.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pinged.png deleted file mode 100644 index 5424fcf..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/pinged.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/play.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/play.png deleted file mode 100644 index 2d92c53..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/play.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/red.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/red.png deleted file mode 100644 index 8f33031..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/red.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-black.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-black.png deleted file mode 100644 index 98f1ac3..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-black.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-gray.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-gray.png deleted file mode 100644 index 648a00a..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-gray.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-pencil.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-pencil.png deleted file mode 100644 index 69d95c3..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sec-pencil.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-blue.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-blue.png deleted file mode 100644 index f55f91c..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-blue.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-colorpicker.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-colorpicker.png deleted file mode 100644 index 26de28c..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-colorpicker.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-green.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-green.png deleted file mode 100644 index 0728f3e..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-green.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-red.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-red.png deleted file mode 100644 index 87a3686..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-red.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-yellow.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-yellow.png deleted file mode 100644 index 09dbd2f..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/sel-yellow.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/undo.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/undo.png deleted file mode 100644 index 4dd327a..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/undo.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/upload.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/upload.png deleted file mode 100644 index cdaa38d..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/upload.png and /dev/null differ diff --git a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/yellow.png b/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/yellow.png deleted file mode 100644 index ef573aa..0000000 Binary files a/sampleiOS/Pods/EnxRTCiOS/EnxRTCiOS.framework/yellow.png and /dev/null differ diff --git a/sampleiOS/Pods/Fabric/Fabric.framework/README b/sampleiOS/Pods/Fabric/Fabric.framework/README deleted file mode 100644 index 3b1fbe2..0000000 --- a/sampleiOS/Pods/Fabric/Fabric.framework/README +++ /dev/null @@ -1 +0,0 @@ -We've now combined all our supported platforms into a single podspec. As a result, we moved our run script to a new location for Cocoapods projects: ${PODS_ROOT}/Fabric/run. To avoid breaking builds that reference the old location of the run script, we've placed this dummy script that calls to the correct location, while providing a helpful warning in Xcode if it is invoked. This bridge for backwards compatibility will be removed in a future release, so please heed the warning! diff --git a/sampleiOS/Pods/Fabric/Fabric.framework/run b/sampleiOS/Pods/Fabric/Fabric.framework/run deleted file mode 100755 index b9edd17..0000000 --- a/sampleiOS/Pods/Fabric/Fabric.framework/run +++ /dev/null @@ -1,6 +0,0 @@ -if [[ -z $PODS_ROOT ]]; then - echo "error: The run binary delivered by cocoapods is in a new location, under '$"{"PODS_ROOT"}"/Fabric/run'. This script was put in place for backwards compatibility, but it relies on PODS_ROOT, which does not have a value in your current setup. Please update the path to the run binary to fix this issue." -else - echo "warning: The run script is now located at '$"{"PODS_ROOT"}"/Fabric/run'. To remove this warning, update your Run Script Build Phase to point to this new location." - sh "${PODS_ROOT}/Fabric/run" "$@" -fi diff --git a/sampleiOS/Pods/Fabric/README.md b/sampleiOS/Pods/Fabric/README.md deleted file mode 100644 index e99ce83..0000000 --- a/sampleiOS/Pods/Fabric/README.md +++ /dev/null @@ -1,27 +0,0 @@ - -# Fabric - -## Overview - -[Fabric](https://get.fabric.io) provides developers with the tools they need to build the best apps. Developed and maintained by Google and the team that built Crashlytics. - -For a full list of SDKs provided through Fabric visit [https://fabric.io/kits](https://fabric.io/kits). - -To follow the migration to Firebase, check out the [Fabric Roadmap](https://get.fabric.io/roadmap). - - -## Setup - -Fabric is a dependency for the Crashlytics SDK. To start using Crashlytics, there are two options: - -1) The recommended way is to go to the [Firebase Crashlytics Docs](https://firebase.google.com/docs/crashlytics/get-started?platform=ios) and follow the directions there. - -2) If you aren't using Firebase yet, go to [Fabric Kits](https://fabric.io/kits), and follow the directions for Crashlytics. - - -## Resources - -* [Documentation](https://docs.fabric.io/) -* [Forums](https://stackoverflow.com/questions/tagged/google-fabric) -* [Website](https://get.fabric.io) -* Follow us on Twitter: [@fabric](https://twitter.com/fabric) diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Fabric b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Fabric deleted file mode 100755 index aa394a3..0000000 Binary files a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Fabric and /dev/null differ diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Headers/FABAttributes.h b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Headers/FABAttributes.h deleted file mode 100644 index 3a9355a..0000000 --- a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Headers/FABAttributes.h +++ /dev/null @@ -1,51 +0,0 @@ -// -// FABAttributes.h -// Fabric -// -// Copyright (C) 2015 Twitter, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#pragma once - -#define FAB_UNAVAILABLE(x) __attribute__((unavailable(x))) - -#if !__has_feature(nullability) - #define nonnull - #define nullable - #define _Nullable - #define _Nonnull -#endif - -#ifndef NS_ASSUME_NONNULL_BEGIN - #define NS_ASSUME_NONNULL_BEGIN -#endif - -#ifndef NS_ASSUME_NONNULL_END - #define NS_ASSUME_NONNULL_END -#endif - - -/** - * The following macros are defined here to provide - * backwards compatability. If you are still using - * them you should migrate to the native nullability - * macros. - */ -#define fab_nullable nullable -#define fab_nonnull nonnull -#define FAB_NONNULL __fab_nonnull -#define FAB_NULLABLE __fab_nullable -#define FAB_START_NONNULL NS_ASSUME_NONNULL_BEGIN -#define FAB_END_NONNULL NS_ASSUME_NONNULL_END diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Headers/Fabric.h b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Headers/Fabric.h deleted file mode 100644 index ecbdb53..0000000 --- a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Headers/Fabric.h +++ /dev/null @@ -1,82 +0,0 @@ -// -// Fabric.h -// Fabric -// -// Copyright (C) 2015 Twitter, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -#import -#import "FABAttributes.h" - -NS_ASSUME_NONNULL_BEGIN - -#if TARGET_OS_IPHONE -#if __IPHONE_OS_VERSION_MIN_REQUIRED < 60000 - #error "Fabric's minimum iOS version is 6.0" -#endif -#else -#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070 - #error "Fabric's minimum OS X version is 10.7" -#endif -#endif - -/** - * Fabric Base. Coordinates configuration and starts all provided kits. - */ -@interface Fabric : NSObject - -/** - * Initialize Fabric and all provided kits. Call this method within your App Delegate's `application:didFinishLaunchingWithOptions:` and provide the kits you wish to use. - * - * For example, in Objective-C: - * - * `[Fabric with:@[[Crashlytics class], [Twitter class], [Digits class], [MoPub class]]];` - * - * Swift: - * - * `Fabric.with([Crashlytics.self(), Twitter.self(), Digits.self(), MoPub.self()])` - * - * Only the first call to this method is honored. Subsequent calls are no-ops. - * - * @param kitClasses An array of kit Class objects - * - * @return Returns the shared Fabric instance. In most cases this can be ignored. - */ -+ (instancetype)with:(NSArray *)kitClasses; - -/** - * Returns the Fabric singleton object. - */ -+ (instancetype)sharedSDK; - -/** - * This BOOL enables or disables debug logging, such as kit version information. The default value is NO. - */ -@property (nonatomic, assign) BOOL debug; - -/** - * Unavailable. Use `+sharedSDK` to retrieve the shared Fabric instance. - */ -- (id)init FAB_UNAVAILABLE("Use +sharedSDK to retrieve the shared Fabric instance."); - -/** - * Unavailable. Use `+sharedSDK` to retrieve the shared Fabric instance. - */ -+ (instancetype)new FAB_UNAVAILABLE("Use +sharedSDK to retrieve the shared Fabric instance."); - -@end - -NS_ASSUME_NONNULL_END - diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Info.plist b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Info.plist deleted file mode 100644 index a617b03..0000000 Binary files a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Info.plist and /dev/null differ diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Modules/module.modulemap b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Modules/module.modulemap deleted file mode 100644 index 2a31223..0000000 --- a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Fabric { - umbrella header "Fabric.h" - - export * - module * { export * } -} \ No newline at end of file diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/run b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/run deleted file mode 100755 index 736cd2f..0000000 --- a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/run +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -# run -# -# Copyright (c) 2015 Crashlytics. All rights reserved. -# -# -# This script is meant to be run as a Run Script in the "Build Phases" section -# of your Xcode project. It sends debug symbols to symbolicate stacktraces, -# sends build events to track versions, and onboard apps for Crashlytics. -# -# This script calls upload-symbols twice: -# -# 1) First it calls upload-symbols synchronously in "validation" mode. If the -# script finds issues with the build environment, it will report errors to Xcode. -# In validation mode it exits before doing any time consuming work. -# -# 2) Then it calls upload-symbols in the background to actually send the build -# event and upload symbols. It does this in the background so that it doesn't -# slow down your builds. If an error happens here, you won't see it in Xcode. -# -# You can find the output for the background execution in Console.app, by -# searching for "upload-symbols". -# -# If you want verbose output, you can pass the --debug flag to this script -# - -# Figure out where we're being called from -DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) - -# If the first argument is specified without a dash, treat it as the Fabric API -# Key and add it as an argument -if [ -z "$1" ] || [[ $1 == -* ]]; then - API_KEY_ARG="" -else - API_KEY_ARG="-a $1"; shift -fi - -# If a second argument is specified without a dash, treat it as the Build Secret -# and add it as an argument -if [ -z "$1" ] || [[ $1 == -* ]]; then - BUILD_SECRET_ARG="" -else - BUILD_SECRET_ARG="-bs $1"; shift -fi - -# Build up the arguments list, passing through any flags added after the -# API Key and Build Secret -ARGUMENTS="$API_KEY_ARG $BUILD_SECRET_ARG $@" -VALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate" -UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase" - -# Quote the path to handle folders with special characters -COMMAND_PATH="\"$DIR/upload-symbols\" " - -# Ensure params are as expected, run in sync mode to validate, -# and cause a build error if validation fails -eval $COMMAND_PATH$VALIDATE_ARGUMENTS -return_code=$? - -if [[ $return_code != 0 ]]; then - exit $return_code -fi - -# Verification passed, convert and upload cSYMs in the background to prevent -# build delays -# -# Note: Validation is performed again at this step before upload -# -# Note: Output can still be found in Console.app, by searching for -# "upload-symbols" -# -eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 & diff --git a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/upload-symbols b/sampleiOS/Pods/Fabric/iOS/Fabric.framework/upload-symbols deleted file mode 100755 index a18d0b6..0000000 Binary files a/sampleiOS/Pods/Fabric/iOS/Fabric.framework/upload-symbols and /dev/null differ diff --git a/sampleiOS/Pods/Fabric/run b/sampleiOS/Pods/Fabric/run deleted file mode 100755 index 736cd2f..0000000 --- a/sampleiOS/Pods/Fabric/run +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/sh - -# run -# -# Copyright (c) 2015 Crashlytics. All rights reserved. -# -# -# This script is meant to be run as a Run Script in the "Build Phases" section -# of your Xcode project. It sends debug symbols to symbolicate stacktraces, -# sends build events to track versions, and onboard apps for Crashlytics. -# -# This script calls upload-symbols twice: -# -# 1) First it calls upload-symbols synchronously in "validation" mode. If the -# script finds issues with the build environment, it will report errors to Xcode. -# In validation mode it exits before doing any time consuming work. -# -# 2) Then it calls upload-symbols in the background to actually send the build -# event and upload symbols. It does this in the background so that it doesn't -# slow down your builds. If an error happens here, you won't see it in Xcode. -# -# You can find the output for the background execution in Console.app, by -# searching for "upload-symbols". -# -# If you want verbose output, you can pass the --debug flag to this script -# - -# Figure out where we're being called from -DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) - -# If the first argument is specified without a dash, treat it as the Fabric API -# Key and add it as an argument -if [ -z "$1" ] || [[ $1 == -* ]]; then - API_KEY_ARG="" -else - API_KEY_ARG="-a $1"; shift -fi - -# If a second argument is specified without a dash, treat it as the Build Secret -# and add it as an argument -if [ -z "$1" ] || [[ $1 == -* ]]; then - BUILD_SECRET_ARG="" -else - BUILD_SECRET_ARG="-bs $1"; shift -fi - -# Build up the arguments list, passing through any flags added after the -# API Key and Build Secret -ARGUMENTS="$API_KEY_ARG $BUILD_SECRET_ARG $@" -VALIDATE_ARGUMENTS="$ARGUMENTS --build-phase --validate" -UPLOAD_ARGUMENTS="$ARGUMENTS --build-phase" - -# Quote the path to handle folders with special characters -COMMAND_PATH="\"$DIR/upload-symbols\" " - -# Ensure params are as expected, run in sync mode to validate, -# and cause a build error if validation fails -eval $COMMAND_PATH$VALIDATE_ARGUMENTS -return_code=$? - -if [[ $return_code != 0 ]]; then - exit $return_code -fi - -# Verification passed, convert and upload cSYMs in the background to prevent -# build delays -# -# Note: Validation is performed again at this step before upload -# -# Note: Output can still be found in Console.app, by searching for -# "upload-symbols" -# -eval $COMMAND_PATH$UPLOAD_ARGUMENTS > /dev/null 2>&1 & diff --git a/sampleiOS/Pods/Fabric/upload-symbols b/sampleiOS/Pods/Fabric/upload-symbols deleted file mode 100755 index a18d0b6..0000000 Binary files a/sampleiOS/Pods/Fabric/upload-symbols and /dev/null differ diff --git a/sampleiOS/Pods/Manifest.lock b/sampleiOS/Pods/Manifest.lock deleted file mode 100755 index 014438c..0000000 --- a/sampleiOS/Pods/Manifest.lock +++ /dev/null @@ -1,48 +0,0 @@ -PODS: - - AMBubbleTableViewController (0.5.4) - - Crashlytics (3.14.0): - - Fabric (~> 1.10.2) - - EnablexWebRTC (1.0.2) - - EnxRTCiOS (2.3.14): - - EnablexWebRTC (= 1.0.2) - - Fabric (1.10.2) - - ReachabilitySwift (5.0.0) - - Socket.IO-Client-Swift (15.2.0): - - Starscream (~> 3.1) - - Starscream (3.1.1) - - SVProgressHUD (2.2.5) - -DEPENDENCIES: - - AMBubbleTableViewController - - Crashlytics - - EnxRTCiOS (= 2.3.14) - - ReachabilitySwift - - Socket.IO-Client-Swift (~> 15.2.0) - - SVProgressHUD - -SPEC REPOS: - trunk: - - AMBubbleTableViewController - - Crashlytics - - EnablexWebRTC - - EnxRTCiOS - - Fabric - - ReachabilitySwift - - Socket.IO-Client-Swift - - Starscream - - SVProgressHUD - -SPEC CHECKSUMS: - AMBubbleTableViewController: f4426cd8d646fbe4ec5f0d821857cca62c2792b2 - Crashlytics: 9220f5bc89e7a618df411b4f639389dbfb0e03d2 - EnablexWebRTC: 05f0d79eb6f133f1b844af9a2b7530dc7c6e2108 - EnxRTCiOS: 61de854eba2b12e747e363c3018a2e622fc453e3 - Fabric: ea977e3cd9c20425516d3dafd3bf8c941c51223f - ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 - Socket.IO-Client-Swift: 1e3e3a1f09f3312a167f0d781eb2f383d477357c - Starscream: 4bb2f9942274833f7b4d296a55504dcfc7edb7b0 - SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6 - -PODFILE CHECKSUM: ae16b6ba593a96419ee91dd3ab72d894f5d7104e - -COCOAPODS: 1.12.1 diff --git a/sampleiOS/Pods/Pods.xcodeproj/project.pbxproj b/sampleiOS/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index d95ac3a..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,2493 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 51; - objects = { - -/* Begin PBXAggregateTarget section */ - 270791F0402B536EFF5601505B31B5C8 /* EnablexWebRTC */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 8E77DE8CB7E5D5FB51B4343A12FECC29 /* Build configuration list for PBXAggregateTarget "EnablexWebRTC" */; - buildPhases = ( - ); - dependencies = ( - ); - name = EnablexWebRTC; - }; - 9FB3D07477532CBE181B559E11F0A3C8 /* EnxRTCiOS */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 4CE908A09B04AEA00F562BF451DCD09D /* Build configuration list for PBXAggregateTarget "EnxRTCiOS" */; - buildPhases = ( - ); - dependencies = ( - EDA79D4FF5912C9211A17B861462D8CC /* PBXTargetDependency */, - ); - name = EnxRTCiOS; - }; - ABB048B191245233986A7CD75FE412A5 /* Fabric */ = { - isa = PBXAggregateTarget; - buildConfigurationList = D5CCCFB5B313E068241F80A27DE5E9C9 /* Build configuration list for PBXAggregateTarget "Fabric" */; - buildPhases = ( - ); - dependencies = ( - ); - name = Fabric; - }; - C0E41540D6862472ED7F2FA11669BE1F /* Crashlytics */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 2FD49999DA0C737E43F6B26D46E2798D /* Build configuration list for PBXAggregateTarget "Crashlytics" */; - buildPhases = ( - ); - dependencies = ( - 8280AD1AA56C7C722A62CF21FE95AB16 /* PBXTargetDependency */, - ); - name = Crashlytics; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 02350906A9298F9716B0971E87EA17FD /* imageInput.png in Resources */ = {isa = PBXBuildFile; fileRef = 75E04CC13AB614DB0BB9080EACF092B6 /* imageInput.png */; }; - 03E48104CE0FAC446EA3DEAF43AB8F02 /* SocketEventHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3EF2F6946F756B71AC75ECDB0181173 /* SocketEventHandler.swift */; }; - 071314D93D39F05FF0FF3E82E82E02C7 /* AMBubbleTableViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = C60839FB16095C88BEF186CEDDEC61BB /* AMBubbleTableViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0BE15DE3E41CFD329A0E589624DEAAED /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3F15644841D159796E49CAE8F483473 /* SocketAnyEvent.swift */; }; - 0CE4940E29E6F68E1A7D01ABBDE6C70B /* AMBubbleAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E17F926FD8FC0DA5508AA1D50594668 /* AMBubbleAccessoryView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 153FA9968623D8D86B94D3B29249DB60 /* buttonSend@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6BF2E41CBDB339846E6DC66E668644FE /* buttonSend@2x.png */; }; - 17DE87344CAD319DE6AA0F7BE1BA10C7 /* ReachabilitySwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1B6AEF237D3A205947EF7AD6DE9BA880 /* ReachabilitySwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 18C48B5A2EC3503A25D540DB58A971D7 /* AMBubbleGlobals.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F57E66E579D191DBFC59E40C84A025A /* AMBubbleGlobals.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1B3E9122FC701C4B809E6F9F900F14C7 /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 54A0089F38E1AEC325CEB79264EEFFE7 /* Starscream-dummy.m */; }; - 1CBA9BF42E84148EA331467CB593E3E1 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 11C4A042C20B39142119A336B786A8AE /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1D325CFE11FE13A075C835E922BE1017 /* SVRadialGradientLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = 97A7B2837F589CB36FC06A89F9BC771C /* SVRadialGradientLayer.m */; }; - 1F38A8E0558439EFB4DCECE2F726DE9C /* imageInputFlat.png in Resources */ = {isa = PBXBuildFile; fileRef = B58F2C95483D2958CC9184B06476E03D /* imageInputFlat.png */; }; - 1F4A13FD6675FCFCD9C19DF350348899 /* SVProgressAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = E57196B4946F0907D60CEB287A972015 /* SVProgressAnimatedView.m */; }; - 210DD290122BB0C7A0E83DC5148D724E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - 21BE9871DF0220AC29F63E8F522541B2 /* messageBubbleBlue.png in Resources */ = {isa = PBXBuildFile; fileRef = 27F90C860109A975E9BF70C026813DD1 /* messageBubbleBlue.png */; }; - 220C79F8DA712A061290FFC9A2B19667 /* imageBarFlat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 18ED35919994286299E58749574F2D90 /* imageBarFlat@2x.png */; }; - 23435F4587BB777BE4A13562622BE8F2 /* SocketStringReader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81130921B3029831388355A0121B2FE4 /* SocketStringReader.swift */; }; - 243F7CD12B5A152CF89A82E9CAE16D9E /* messageBubbleHighlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = 709F6EB99696A26EBE35BE5F2B3A9B77 /* messageBubbleHighlighted.png */; }; - 25263B5D499EA73D7B0C6E91197F33AF /* SocketAckEmitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40BFFB84A4BD6D111DC25E395B4C405 /* SocketAckEmitter.swift */; }; - 2795D45D9A644C918D9C04D33B06CD13 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 399B9F8DB972CEBBC07196DE278B5AB4 /* WebSocket.swift */; }; - 279EB2A56D8C772EFEF73C1DAE10477D /* AMBubbleTableViewController-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8E342F0978CD52934D9BB1354A1914E8 /* AMBubbleTableViewController-dummy.m */; }; - 2B5F008F7BB5AA36A309EDE8FCC8A3EE /* SocketManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5CA592AC5E842DFCCDB4768A66D0592B /* SocketManager.swift */; }; - 3068B1765189E11D8299C0849529ADF9 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98AF2C1E384639B07FA2FD9FBD8E9636 /* Compression.swift */; }; - 30A10278B4EC4BF3058F3B846AC66C3C /* SocketTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9E79CA46C2D9476C2BF908CA90735BF9 /* SocketTypes.swift */; }; - 365EC387120B807689C3878D35CB0AEF /* AMBubbleAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A8F226F70B050ED167EAC7C60F353 /* AMBubbleAccessoryView.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 375FABC9D13CF15189D6C93CACD6B789 /* buttonSend.png in Resources */ = {isa = PBXBuildFile; fileRef = 26A4817E0E66CD6A0842A9F3819D5083 /* buttonSend.png */; }; - 3905528B8CBB8FE0F4AB5F7962598837 /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 334AFAB5709EACEB5A9DED5D3142CC3E /* SSLSecurity.swift */; }; - 3C38C631562F2600D6513CD3219B6EC2 /* buttonSendHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 27C217146129574CC960BFBD66E69B74 /* buttonSendHighlighted@2x.png */; }; - 3C6FE3B9CD2F9F2283DF40E5E85BB55F /* Pods-sampleiOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F0439A664300B7B8B9185B111F159FC1 /* Pods-sampleiOS-dummy.m */; }; - 3E748E83FC617096E10BADC5CA854F2A /* bubbleFlatIncoming.png in Resources */ = {isa = PBXBuildFile; fileRef = B190786E207A2CB9EFB246D81DF07E0D /* bubbleFlatIncoming.png */; }; - 4CD3A61C1ED01A03CD2A94BACAABB03E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - 4DC032894868226AE220360BADB2C237 /* SVProgressHUD-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E7441850923B09AD583A49FA3B9AA63F /* SVProgressHUD-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5130F8406B4B09C44F7C9C78A5B0157C /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7002382E5D6527D48655470BAB2437BD /* SocketAckManager.swift */; }; - 52BCC3B2F8AE7F59556925DEC603C634 /* SVIndefiniteAnimatedView.m in Sources */ = {isa = PBXBuildFile; fileRef = 24965C35D3E38D77BEA3A64709133B4A /* SVIndefiniteAnimatedView.m */; }; - 53BECA6AA55F80D63F104475EE6524CA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4E866F39981E09FAB156635033BBA68 /* QuartzCore.framework */; }; - 5433D9B1A7004CEBF4CA2F1FEEBCAB38 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F554F2A374484CC9F70EA5BEDBE575A3 /* CoreTelephony.framework */; }; - 602813EC8273C608896AE18EB003391F /* SocketIOClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4002F0BD6F5B0E45419C51FDA2F8CB8F /* SocketIOClient.swift */; }; - 625D5F2CE3F0B392056F2CAF60496248 /* buttonSendHighlightedFlat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 54B4CC0B5239E3BEE6DB91E463CD4320 /* buttonSendHighlightedFlat@2x.png */; }; - 6358AC0C800A9C902158E9A7A2E9D09B /* AMBubbleFlatAccessoryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 848BAE350B121B92D5F879556174E5CE /* AMBubbleFlatAccessoryView.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 63AD9AF3F2B3514C306EAEE03F5ED921 /* bubbleSquareOutgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = C41007AADEFB94D2A4F6037F7D5AF732 /* bubbleSquareOutgoing.png */; }; - 64154580B04B85E9F78AE77967FC436B /* messageBubbleGreen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4D9DC0B5F0A737DEA6BEF1004E4B3E09 /* messageBubbleGreen@2x.png */; }; - 644E11A675F5575D3CFD793A05DA52F8 /* SocketEnginePollable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5664719BCE1D1423760F08476096059 /* SocketEnginePollable.swift */; }; - 6A082CD7EEA69D7503B256E452073A7F /* SocketIOClientOption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1D41EB1B816E9F2EA3F71F8F5F1CC889 /* SocketIOClientOption.swift */; }; - 6D1E33469FB8FBE812956B0076A7B28F /* SVRadialGradientLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 199A54C4870FBCD55AD8DC6BC5842F62 /* SVRadialGradientLayer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6DC40A49CC560FE90E6BD973D0DCE6FD /* messageBubbleGray@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 68E65E06B9A36457CD62257F0F701B5C /* messageBubbleGray@2x.png */; }; - 6F13A86B07B095D0DEA5E5B01833E04F /* bubbleFlatIncoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AE4A1C14B74CFA78A555A7ED64F0CECE /* bubbleFlatIncoming@2x.png */; }; - 73C10BFAF050EC9A31812F8646EAB577 /* imageBar.png in Resources */ = {isa = PBXBuildFile; fileRef = 70332DEB032FC5CA21F86AF088E5006A /* imageBar.png */; }; - 7765D058E00B4F596EB1EBC2C732AB9D /* SocketEngineWebsocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = E13857747F22926BBF9A140CE6A7E97A /* SocketEngineWebsocket.swift */; }; - 798FA71F8CAE44D05016FFF767100375 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - 7AE663DF66CEDCC53C1F5AF19B75DF75 /* bubbleSquareIncoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6311C789FA094293728A50D1ABBA1A5 /* bubbleSquareIncoming@2x.png */; }; - 7F0F3FB74DD4C42E08FBD00BAA2C4CA7 /* AMBubbleFlatAccessoryView.h in Headers */ = {isa = PBXBuildFile; fileRef = BA7AD1D80E635EA79529486A9796C832 /* AMBubbleFlatAccessoryView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 822A9B908543D5727AC9E47348E89293 /* imageInputFlat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1789285F5EDE9B2CCE6FA7A9916DEF2A /* imageInputFlat@2x.png */; }; - 894EB6945AA90D2903EE95E1E4313F42 /* SocketLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 165EC6FB4563C6CE964C7412D418DDB7 /* SocketLogger.swift */; }; - 89DF2D9C5EFB02A72EC0CE2138B77F35 /* SVProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 02C242797EFAF070E98735C920E4635C /* SVProgressHUD.m */; }; - 90A3339F875F242863629B1972A751E5 /* SocketParsable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562E6F7324EDBDA9407C9E68F3F1CD9E /* SocketParsable.swift */; }; - 91944499F5930AF7196A1F663598708F /* AMBubbleTableViewController-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DCD1F884B697076878774EBF8B5E8F98 /* AMBubbleTableViewController-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91E2C6151E92DC87BC2D19E63D86A543 /* SocketIOStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60FC4947F5FEAD77725300B85B5CBE9E /* SocketIOStatus.swift */; }; - 93DE5DC6D98B5DD09860532E35AE7C90 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C7551A82F1CCD4795B4FFA15BD269A1 /* SystemConfiguration.framework */; }; - 943B0A1B436BAF4D419574466EF70FB3 /* SVProgressHUD.bundle in Resources */ = {isa = PBXBuildFile; fileRef = A768D794990BE1212B0A066FA17D95D3 /* SVProgressHUD.bundle */; }; - 960DCEE9167C9C9E11FAA0EDAF872B2F /* ReachabilitySwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E531113CD142AE1C80A22C947CF781E4 /* ReachabilitySwift-dummy.m */; }; - 9682811D1765C6D74B4A47B7F00CD8A8 /* Pods-sampleiOSTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 48157D1E4E668F36138B0DC49035D750 /* Pods-sampleiOSTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 99FB5F355DA5A926F227CA0E39925328 /* Socket.IO-Client-Swift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E89AF834AF14B46783428A921EAF01FD /* Socket.IO-Client-Swift-dummy.m */; }; - 9A9D4D4E53AA63857690163888BA0675 /* messageBubbleHighlighted@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6202421BA507D5C9EF22EE1FDFD25E1E /* messageBubbleHighlighted@2x.png */; }; - 9D9C799804294CFF3EA391D5C43FD0C7 /* messageBubbleBlue@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 407846EF200E97F4D93A1B4F88D70DC7 /* messageBubbleBlue@2x.png */; }; - 9F9D56B0CC6740F481E2F5B378D0FEFB /* SSLClientCertificate.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAB39A872511E1ACFCE36F5B531B288 /* SSLClientCertificate.swift */; }; - A06629EC737C31A2FF321147A4155F86 /* SocketPacket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8624B598292F2E5F119B720D8DAF3DBB /* SocketPacket.swift */; }; - A2099AB2643CB8BFA2E8EDB1A47AB35A /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 830B6BF7B1F1DEB430928754C4496C99 /* SSLSecurity.swift */; }; - A4D59C1C079FB21654E3FEB8E60B4274 /* SocketIOClientSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3735AF0D71788375F1AE2E086CA291EA /* SocketIOClientSpec.swift */; }; - A622B67A92DA74B140F8E471E1A628DF /* SocketEnginePacketType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 07A17B85A0AE737718622E928E3096B5 /* SocketEnginePacketType.swift */; }; - A844CC76F0F2B3E912B3C84C48E8FFBA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - AA3B1D17E350D538DAF05CCB18AD9382 /* Pods-sampleiOSTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 046D91ECE454B670C2DB88D65CAE7575 /* Pods-sampleiOSTests-dummy.m */; }; - AB43B618099D0E0BE5730DE4166CD403 /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 926748AA57310CA872888EEC34D4420A /* Reachability.swift */; }; - AD0B1D5A1263C00FC9AC0F91A781E473 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EFEFEE727294BE87FACBC2B5D1A1A59 /* SocketEngine.swift */; }; - ADE3842C30831B4CBEBD47716BFBEA47 /* messageBubbleGray.png in Resources */ = {isa = PBXBuildFile; fileRef = E4500EC11011F62C477B9F9B317EDAA9 /* messageBubbleGray.png */; }; - B289809390F56F8F887EE306AB369D8E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - B3AC2C2EA4FDDA575455AF123106753D /* SocketRawView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D454AB08900E2DDBE2B7BE44FDE1E6D1 /* SocketRawView.swift */; }; - B43FB4CD2C09B2F874C6B754383FBC33 /* AMBubbleTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4DF10A57CFCDC3B266D5BEA9DAC1438F /* AMBubbleTableViewController.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - BAFAE104FCF069ACE7A900E48A929683 /* Pods-sampleiOSUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9387F20F3865F4499749EA5EFE74A669 /* Pods-sampleiOSUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BBAB855671B4AB2E7095963051C200EC /* SocketManagerSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA9B649B9D16AFDAF104F780F24642D5 /* SocketManagerSpec.swift */; }; - BDBC2C5DC82072F73F1A4244EAD5CB20 /* imageBar@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6D1B6D4B618CE55B328F77E7C9CDADCE /* imageBar@2x.png */; }; - C15B3F89E6F83DC9CCB14903FC5D80C5 /* SVProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DC178FAFF551CC85F3724F9E01D0F4A /* SVProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C1F21639316A000863EA4CB390FA6EB3 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4E866F39981E09FAB156635033BBA68 /* QuartzCore.framework */; }; - C8CF1EE5E64FD07995BBF72CBC9A7980 /* messageBubbleTyping.png in Resources */ = {isa = PBXBuildFile; fileRef = 69428C48E99923E7D8C1F45396E0D758 /* messageBubbleTyping.png */; }; - CE13959E42AFE711D989EC44893212D0 /* SocketExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F1F75086740890803743C04F1DB3000 /* SocketExtensions.swift */; }; - CF1ACB9075AB5D3E44BCB98B2E41D174 /* buttonSendFlat.png in Resources */ = {isa = PBXBuildFile; fileRef = 9C2E729D7B783347DBD807C9E66DBFFC /* buttonSendFlat.png */; }; - D1CE50A8EB2CB3D5E904E6EC20F98F04 /* Pods-sampleiOS-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 917282502C4B7661F227374BBD2EAEF3 /* Pods-sampleiOS-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D448D1FE801767061E89AD6EAC88B449 /* AMBubbleTableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = EFDB63312C6B95677C69F0835041A36D /* AMBubbleTableCell.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - D4B9E246C7860EF3F7E9C53964DC108F /* SocketIOClientConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2413A0B074BB13D83D1D7248BF7FAA14 /* SocketIOClientConfiguration.swift */; }; - DA0B78FE3EFED562CFBFC428EAE236A7 /* buttonSendFlat@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B47EEF68028C0E6E93A9BCA431A84BA7 /* buttonSendFlat@2x.png */; }; - DD304CE61AF1CFBABBB8CB87DC709227 /* buttonSendHighlightedFlat.png in Resources */ = {isa = PBXBuildFile; fileRef = AF32B5D5670523A91E63B682C15DB4D3 /* buttonSendHighlightedFlat.png */; }; - DF3FFB11756296B95112A3BC7167544F /* buttonSendHighlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = 178A92EEDCCFDAF241113F6B91781486 /* buttonSendHighlighted.png */; }; - E3ED27EAE16940C906CCA6B52CA78B9B /* SocketEngineClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48F8C8F1ED64A8A771A8B1EB670D07FB /* SocketEngineClient.swift */; }; - E437B7753E43BB133D6C65904B27C2EF /* bubbleFlatOutgoing.png in Resources */ = {isa = PBXBuildFile; fileRef = EAF79BF3FF6A0B2D6C244D75063BC79E /* bubbleFlatOutgoing.png */; }; - E6F1C5585689A31C9B1700BE049EF8F9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - E70EBA16751054574A227A6432CCE4B0 /* SVIndefiniteAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = BBCB842AA18D4087D5EAB6ABD0E227DC /* SVIndefiniteAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ED208103A0F59EC6E7A48D0D2E9F879A /* messageBubbleGreen.png in Resources */ = {isa = PBXBuildFile; fileRef = D321374564AA1A4091C62CC2CA85E1D2 /* messageBubbleGreen.png */; }; - EF7995DF3B3738F9C3ADA8ADA1D40F24 /* messageBubbleTyping@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D28307DDA387B3A061836151F589B7E2 /* messageBubbleTyping@2x.png */; }; - EFB2D87862F0C261175F6A11B1917CCB /* bubbleSquareOutgoing@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2975965D1FFC2DBAF0A6582199D91C0F /* bubbleSquareOutgoing@2x.png */; }; - F1528E8CD43D8150DB8E51BEEBEEE103 /* Socket.IO-Client-Swift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DE0C82C59C010EFADD2F1A81E5BEA84 /* Socket.IO-Client-Swift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F22A2F82E0129A884FA13268B17DA476 /* imageInput@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1EB5F73DF88E7DEDBF9084ABC2A686AC /* imageInput@2x.png */; }; - F32D5892309728D4E7C7859F0984AB12 /* AMBubbleGlobals.m in Sources */ = {isa = PBXBuildFile; fileRef = C65159BD3BF9F919B64BAFC1E0DB6C37 /* AMBubbleGlobals.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - F4FBC6E3BCBC5A59F94525DF98E5F38D /* bubbleFlatOutgoing@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D6E17EBA72C2CEDFD888B617DD8BB1C7 /* bubbleFlatOutgoing@2x.png */; }; - F5CFC359EE517270C9AFEB28D769460D /* imageBarFlat.png in Resources */ = {isa = PBXBuildFile; fileRef = F1C1558B680753D0CBA98303DDAA24DF /* imageBarFlat.png */; }; - F77280E74EB91678AA294E66DD6070E2 /* SVProgressAnimatedView.h in Headers */ = {isa = PBXBuildFile; fileRef = E0DDEB7CCF822346A5FA17788E9AF7AC /* SVProgressAnimatedView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F84A9BF96147A784FA67FB49F50BB123 /* Pods-sampleiOSUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AB64F36E10454031D8174AF42FBDB7F /* Pods-sampleiOSUITests-dummy.m */; }; - F8B5FA4D5C52324DFE288B92D8C79AB0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - F9D446FF688B073F73A1657E2CB705DD /* SocketEngineSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03283360ACEF7999DDF02A648F43C0A2 /* SocketEngineSpec.swift */; }; - FB3EB49196CCDC508708A77D9F471824 /* AMBubbleTableCell.h in Headers */ = {isa = PBXBuildFile; fileRef = EEB39BFCB5B16268CF6E9FECC4F5C008 /* AMBubbleTableCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FCEBCC5EEE0E40681786DB6EA60636EB /* bubbleSquareIncoming.png in Resources */ = {isa = PBXBuildFile; fileRef = 4CB781C218FFA088D6A15647D6A46297 /* bubbleSquareIncoming.png */; }; - FCFC37E169D96F3E8152D4AB2948901C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */; }; - FFD43D91BF1FA4ADF714D56E7A10B2A8 /* SVProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 12C4D7B33C88268BE7A37FAEAA32DCFD /* SVProgressHUD-dummy.m */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 001B8C52DA9595BC42C4AE80ADD3E30C /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 58F12CC2CB7C20049F5D4C6E1F297478; - remoteInfo = AMBubbleTableViewController; - }; - 1826DAAACBC05F229697680FFF9E1FDB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 1C8D67D8B72D6BA42CCEDB648537A340; - remoteInfo = SVProgressHUD; - }; - 2BD430A553849BC0F56B26D91AF551BD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3B6C88F901F1002EB56C75FF5E39E0BA; - remoteInfo = "Pods-sampleiOS"; - }; - 353D401BAD8EA8794A04717665CF5C50 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 270791F0402B536EFF5601505B31B5C8; - remoteInfo = EnablexWebRTC; - }; - 50B44047E283B8BDF04AC1A8F96338B0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0B00B2C167CD783351BD1D00BD5AD1F8; - remoteInfo = ReachabilitySwift; - }; - 55F22FD98487058CC8353D7F4BA1D65B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; - }; - 5CA4376187E058C0FE4A0F2D3467B284 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = ABB048B191245233986A7CD75FE412A5; - remoteInfo = Fabric; - }; - 873EB068B1590570B5C7631BB186471E /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; - remoteInfo = Starscream; - }; - 8E747275F6CFDC395D2E14C8F9CDC33A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = ABB048B191245233986A7CD75FE412A5; - remoteInfo = Fabric; - }; - 9873D6F77A35933FC79BE67CC6CFA165 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = C0E41540D6862472ED7F2FA11669BE1F; - remoteInfo = Crashlytics; - }; - 9A8F33C7F90EFBFA66FBAAB0E9FE9A52 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A44D85440C5D58BC5C4D70A539C5EEF0; - remoteInfo = "Socket.IO-Client-Swift"; - }; - B9EC9F16EF24B4F4861F1523DC73DDDB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3B6C88F901F1002EB56C75FF5E39E0BA; - remoteInfo = "Pods-sampleiOS"; - }; - F16ECCC95E3BC392B0A13BCF17664DF9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 270791F0402B536EFF5601505B31B5C8; - remoteInfo = EnablexWebRTC; - }; - FA0CA50F7D301F70445562627282B92D /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9FB3D07477532CBE181B559E11F0A3C8; - remoteInfo = EnxRTCiOS; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 029BE423EAC847B8BB408E24B6BC9469 /* Fabric.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Fabric.release.xcconfig; sourceTree = ""; }; - 02C242797EFAF070E98735C920E4635C /* SVProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressHUD.m; path = SVProgressHUD/SVProgressHUD.m; sourceTree = ""; }; - 03283360ACEF7999DDF02A648F43C0A2 /* SocketEngineSpec.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEngineSpec.swift; path = Source/SocketIO/Engine/SocketEngineSpec.swift; sourceTree = ""; }; - 046D91ECE454B670C2DB88D65CAE7575 /* Pods-sampleiOSTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-sampleiOSTests-dummy.m"; sourceTree = ""; }; - 0568369CF9D85223D98C0437091E787D /* SVProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-prefix.pch"; sourceTree = ""; }; - 07A17B85A0AE737718622E928E3096B5 /* SocketEnginePacketType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEnginePacketType.swift; path = Source/SocketIO/Engine/SocketEnginePacketType.swift; sourceTree = ""; }; - 07F8440AF21C14791D8861E185A1566A /* CLSAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSAttributes.h; path = iOS/Crashlytics.framework/Headers/CLSAttributes.h; sourceTree = ""; }; - 0E4C938B9E4015DDAEEAD45DA89BEA8E /* Pods-sampleiOS-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-sampleiOS-acknowledgements.plist"; sourceTree = ""; }; - 0EC133FFC94281778B8C89C791D89F7A /* SVProgressHUD.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SVProgressHUD.debug.xcconfig; sourceTree = ""; }; - 0EE075B77079B9EEB4173FD6A6A9684D /* Pods-sampleiOS-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-sampleiOS-Info.plist"; sourceTree = ""; }; - 11C4A042C20B39142119A336B786A8AE /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; - 12C4D7B33C88268BE7A37FAEAA32DCFD /* SVProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SVProgressHUD-dummy.m"; sourceTree = ""; }; - 165EC6FB4563C6CE964C7412D418DDB7 /* SocketLogger.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketLogger.swift; path = Source/SocketIO/Util/SocketLogger.swift; sourceTree = ""; }; - 1789285F5EDE9B2CCE6FA7A9916DEF2A /* imageInputFlat@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "imageInputFlat@2x.png"; path = "AMBubbleTableViewController/Resources/imageInputFlat@2x.png"; sourceTree = ""; }; - 178A92EEDCCFDAF241113F6B91781486 /* buttonSendHighlighted.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = buttonSendHighlighted.png; path = AMBubbleTableViewController/Resources/buttonSendHighlighted.png; sourceTree = ""; }; - 18ED35919994286299E58749574F2D90 /* imageBarFlat@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "imageBarFlat@2x.png"; path = "AMBubbleTableViewController/Resources/imageBarFlat@2x.png"; sourceTree = ""; }; - 199A54C4870FBCD55AD8DC6BC5842F62 /* SVRadialGradientLayer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVRadialGradientLayer.h; path = SVProgressHUD/SVRadialGradientLayer.h; sourceTree = ""; }; - 1A45058DB9688420DCFA1B7601A3A3C3 /* SVProgressHUD.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SVProgressHUD.release.xcconfig; sourceTree = ""; }; - 1B6AEF237D3A205947EF7AD6DE9BA880 /* ReachabilitySwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReachabilitySwift-umbrella.h"; sourceTree = ""; }; - 1CF6110A978A0418F3BF07BFD835C3A7 /* Pods-sampleiOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-sampleiOS.debug.xcconfig"; sourceTree = ""; }; - 1D41EB1B816E9F2EA3F71F8F5F1CC889 /* SocketIOClientOption.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketIOClientOption.swift; path = Source/SocketIO/Client/SocketIOClientOption.swift; sourceTree = ""; }; - 1DD18E89978D071CD957088FEB3F80CD /* Starscream.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.release.xcconfig; sourceTree = ""; }; - 1E17F926FD8FC0DA5508AA1D50594668 /* AMBubbleAccessoryView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMBubbleAccessoryView.h; path = AMBubbleTableViewController/AMBubbleAccessoryView.h; sourceTree = ""; }; - 1EB5F73DF88E7DEDBF9084ABC2A686AC /* imageInput@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "imageInput@2x.png"; path = "AMBubbleTableViewController/Resources/imageInput@2x.png"; sourceTree = ""; }; - 21B03CA622E690725A6626C088E1D09F /* ReachabilitySwift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = ReachabilitySwift; path = Reachability.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 23FEAEC635C141D7E38E1AD291489FFD /* EnablexWebRTC.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EnablexWebRTC.release.xcconfig; sourceTree = ""; }; - 2413A0B074BB13D83D1D7248BF7FAA14 /* SocketIOClientConfiguration.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketIOClientConfiguration.swift; path = Source/SocketIO/Client/SocketIOClientConfiguration.swift; sourceTree = ""; }; - 24965C35D3E38D77BEA3A64709133B4A /* SVIndefiniteAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVIndefiniteAnimatedView.m; path = SVProgressHUD/SVIndefiniteAnimatedView.m; sourceTree = ""; }; - 26A4817E0E66CD6A0842A9F3819D5083 /* buttonSend.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = buttonSend.png; path = AMBubbleTableViewController/Resources/buttonSend.png; sourceTree = ""; }; - 27C217146129574CC960BFBD66E69B74 /* buttonSendHighlighted@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "buttonSendHighlighted@2x.png"; path = "AMBubbleTableViewController/Resources/buttonSendHighlighted@2x.png"; sourceTree = ""; }; - 27F90C860109A975E9BF70C026813DD1 /* messageBubbleBlue.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = messageBubbleBlue.png; path = AMBubbleTableViewController/Resources/messageBubbleBlue.png; sourceTree = ""; }; - 28C130472D3BB8EFF98D2D01EB42829F /* Socket.IO-Client-Swift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Socket.IO-Client-Swift.release.xcconfig"; sourceTree = ""; }; - 2975965D1FFC2DBAF0A6582199D91C0F /* bubbleSquareOutgoing@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "bubbleSquareOutgoing@2x.png"; path = "AMBubbleTableViewController/Resources/bubbleSquareOutgoing@2x.png"; sourceTree = ""; }; - 2C432BADEBF9DEE8166DEFB0B6CBA133 /* Pods-sampleiOSUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-sampleiOSUITests.modulemap"; sourceTree = ""; }; - 2F57E66E579D191DBFC59E40C84A025A /* AMBubbleGlobals.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMBubbleGlobals.h; path = AMBubbleTableViewController/AMBubbleGlobals.h; sourceTree = ""; }; - 33323C2C85C12CD56DE0F8F4CF68FD55 /* CLSLogging.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSLogging.h; path = iOS/Crashlytics.framework/Headers/CLSLogging.h; sourceTree = ""; }; - 334AFAB5709EACEB5A9DED5D3142CC3E /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Source/SocketIO/Util/SSLSecurity.swift; sourceTree = ""; }; - 3735AF0D71788375F1AE2E086CA291EA /* SocketIOClientSpec.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketIOClientSpec.swift; path = Source/SocketIO/Client/SocketIOClientSpec.swift; sourceTree = ""; }; - 3915404CFDEB14ADC50A6627982B4B43 /* Socket.IO-Client-Swift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Socket.IO-Client-Swift.debug.xcconfig"; sourceTree = ""; }; - 392D3FF016A20FF7A2E5919F4148BDF6 /* FABAttributes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FABAttributes.h; path = iOS/Fabric.framework/Headers/FABAttributes.h; sourceTree = ""; }; - 399B9F8DB972CEBBC07196DE278B5AB4 /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; - 3A278B5900D88EEE7372FB4D53F202D3 /* ReachabilitySwift.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReachabilitySwift.debug.xcconfig; sourceTree = ""; }; - 3C7551A82F1CCD4795B4FFA15BD269A1 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - 3CE927DE0A421F5A52817D0E8F3EBA4B /* EnxRTCiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EnxRTCiOS.release.xcconfig; sourceTree = ""; }; - 4002F0BD6F5B0E45419C51FDA2F8CB8F /* SocketIOClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketIOClient.swift; path = Source/SocketIO/Client/SocketIOClient.swift; sourceTree = ""; }; - 401ABEC55FDA99118FD6A6637117B6CE /* Fabric.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Fabric.debug.xcconfig; sourceTree = ""; }; - 407846EF200E97F4D93A1B4F88D70DC7 /* messageBubbleBlue@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "messageBubbleBlue@2x.png"; path = "AMBubbleTableViewController/Resources/messageBubbleBlue@2x.png"; sourceTree = ""; }; - 4289F6C9001F1E68CFFBAA3C2A95D2C1 /* Pods-sampleiOSUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-sampleiOSUITests-acknowledgements.plist"; sourceTree = ""; }; - 43CD7C2039DCA1452B40BB97B9A5EFBD /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; - 44E8FD38EE36A4C6FD7F73BE866C24DD /* CLSStackFrame.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSStackFrame.h; path = iOS/Crashlytics.framework/Headers/CLSStackFrame.h; sourceTree = ""; }; - 4809F530E92DAC102CA823870476226F /* Crashlytics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Crashlytics.framework; path = iOS/Crashlytics.framework; sourceTree = ""; }; - 48157D1E4E668F36138B0DC49035D750 /* Pods-sampleiOSTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-sampleiOSTests-umbrella.h"; sourceTree = ""; }; - 48E299DB9D33C98B3B544AEE535A82D6 /* Pods-sampleiOSTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-sampleiOSTests-acknowledgements.markdown"; sourceTree = ""; }; - 48F8C8F1ED64A8A771A8B1EB670D07FB /* SocketEngineClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEngineClient.swift; path = Source/SocketIO/Engine/SocketEngineClient.swift; sourceTree = ""; }; - 49475F1EB78EBF638817179D632E4C79 /* Crashlytics.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Crashlytics.release.xcconfig; sourceTree = ""; }; - 4A8771CDDCC7812A5E09BFEDAEC92E37 /* Socket.IO-Client-Swift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Socket.IO-Client-Swift-prefix.pch"; sourceTree = ""; }; - 4CB781C218FFA088D6A15647D6A46297 /* bubbleSquareIncoming.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = bubbleSquareIncoming.png; path = AMBubbleTableViewController/Resources/bubbleSquareIncoming.png; sourceTree = ""; }; - 4D9DC0B5F0A737DEA6BEF1004E4B3E09 /* messageBubbleGreen@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "messageBubbleGreen@2x.png"; path = "AMBubbleTableViewController/Resources/messageBubbleGreen@2x.png"; sourceTree = ""; }; - 4DF10A57CFCDC3B266D5BEA9DAC1438F /* AMBubbleTableViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AMBubbleTableViewController.m; path = AMBubbleTableViewController/AMBubbleTableViewController.m; sourceTree = ""; }; - 4E531B79984E4D21280B5897DC8D685D /* ReachabilitySwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ReachabilitySwift-Info.plist"; sourceTree = ""; }; - 4EFC5501C0368708C2199C51EF239866 /* Pods-sampleiOSUITests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-sampleiOSUITests-Info.plist"; sourceTree = ""; }; - 4F2A653FE705DE9ECA6840805BAD6B76 /* AMBubbleTableViewController-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AMBubbleTableViewController-prefix.pch"; sourceTree = ""; }; - 50C0B0879B7086918A819F704BF40B4B /* Socket.IO-Client-Swift */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Socket.IO-Client-Swift"; path = SocketIO.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 535064341BAF2926D953D457E3731F83 /* Crashlytics.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Crashlytics.debug.xcconfig; sourceTree = ""; }; - 54A0089F38E1AEC325CEB79264EEFFE7 /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; - 54B4CC0B5239E3BEE6DB91E463CD4320 /* buttonSendHighlightedFlat@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "buttonSendHighlightedFlat@2x.png"; path = "AMBubbleTableViewController/Resources/buttonSendHighlightedFlat@2x.png"; sourceTree = ""; }; - 54CF951F4F7A0071C90938CDBA3E5D9C /* EnablexWebRTC.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EnablexWebRTC.debug.xcconfig; sourceTree = ""; }; - 55D55859987E5517365BB33AD5CA77C3 /* EnxRTCiOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = EnxRTCiOS.debug.xcconfig; sourceTree = ""; }; - 562E6F7324EDBDA9407C9E68F3F1CD9E /* SocketParsable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketParsable.swift; path = Source/SocketIO/Parse/SocketParsable.swift; sourceTree = ""; }; - 579F759956607462DA5CC21D3799BC26 /* Pods-sampleiOSUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-sampleiOSUITests.release.xcconfig"; sourceTree = ""; }; - 5CA592AC5E842DFCCDB4768A66D0592B /* SocketManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketManager.swift; path = Source/SocketIO/Manager/SocketManager.swift; sourceTree = ""; }; - 5D0A8F226F70B050ED167EAC7C60F353 /* AMBubbleAccessoryView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AMBubbleAccessoryView.m; path = AMBubbleTableViewController/AMBubbleAccessoryView.m; sourceTree = ""; }; - 5DE0C82C59C010EFADD2F1A81E5BEA84 /* Socket.IO-Client-Swift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Socket.IO-Client-Swift-umbrella.h"; sourceTree = ""; }; - 60FC4947F5FEAD77725300B85B5CBE9E /* SocketIOStatus.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketIOStatus.swift; path = Source/SocketIO/Client/SocketIOStatus.swift; sourceTree = ""; }; - 6202421BA507D5C9EF22EE1FDFD25E1E /* messageBubbleHighlighted@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "messageBubbleHighlighted@2x.png"; path = "AMBubbleTableViewController/Resources/messageBubbleHighlighted@2x.png"; sourceTree = ""; }; - 62EABDFAEB957CDF81D57AE95B1BC8F4 /* WebRTC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebRTC.framework; path = EnablexWebRTC/WebRTC.framework; sourceTree = ""; }; - 68E65E06B9A36457CD62257F0F701B5C /* messageBubbleGray@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "messageBubbleGray@2x.png"; path = "AMBubbleTableViewController/Resources/messageBubbleGray@2x.png"; sourceTree = ""; }; - 69428C48E99923E7D8C1F45396E0D758 /* messageBubbleTyping.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = messageBubbleTyping.png; path = AMBubbleTableViewController/Resources/messageBubbleTyping.png; sourceTree = ""; }; - 6BF2E41CBDB339846E6DC66E668644FE /* buttonSend@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "buttonSend@2x.png"; path = "AMBubbleTableViewController/Resources/buttonSend@2x.png"; sourceTree = ""; }; - 6C7ADB3DB89DC5BBA193862190ED6B32 /* ReachabilitySwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "ReachabilitySwift-prefix.pch"; sourceTree = ""; }; - 6D1B6D4B618CE55B328F77E7C9CDADCE /* imageBar@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "imageBar@2x.png"; path = "AMBubbleTableViewController/Resources/imageBar@2x.png"; sourceTree = ""; }; - 6F1F75086740890803743C04F1DB3000 /* SocketExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketExtensions.swift; path = Source/SocketIO/Util/SocketExtensions.swift; sourceTree = ""; }; - 7002382E5D6527D48655470BAB2437BD /* SocketAckManager.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketAckManager.swift; path = Source/SocketIO/Ack/SocketAckManager.swift; sourceTree = ""; }; - 70332DEB032FC5CA21F86AF088E5006A /* imageBar.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = imageBar.png; path = AMBubbleTableViewController/Resources/imageBar.png; sourceTree = ""; }; - 709F6EB99696A26EBE35BE5F2B3A9B77 /* messageBubbleHighlighted.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = messageBubbleHighlighted.png; path = AMBubbleTableViewController/Resources/messageBubbleHighlighted.png; sourceTree = ""; }; - 733687F7E3BF0553CD68C201C6C3A0E1 /* Answers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Answers.h; path = iOS/Crashlytics.framework/Headers/Answers.h; sourceTree = ""; }; - 75E04CC13AB614DB0BB9080EACF092B6 /* imageInput.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = imageInput.png; path = AMBubbleTableViewController/Resources/imageInput.png; sourceTree = ""; }; - 7DC178FAFF551CC85F3724F9E01D0F4A /* SVProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressHUD.h; path = SVProgressHUD/SVProgressHUD.h; sourceTree = ""; }; - 81130921B3029831388355A0121B2FE4 /* SocketStringReader.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketStringReader.swift; path = Source/SocketIO/Util/SocketStringReader.swift; sourceTree = ""; }; - 830B6BF7B1F1DEB430928754C4496C99 /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Sources/Starscream/SSLSecurity.swift; sourceTree = ""; }; - 848BAE350B121B92D5F879556174E5CE /* AMBubbleFlatAccessoryView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AMBubbleFlatAccessoryView.m; path = AMBubbleTableViewController/AMBubbleFlatAccessoryView.m; sourceTree = ""; }; - 8624B598292F2E5F119B720D8DAF3DBB /* SocketPacket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketPacket.swift; path = Source/SocketIO/Parse/SocketPacket.swift; sourceTree = ""; }; - 871E725006C32076C5E9BDE86562FEB5 /* Pods-sampleiOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-sampleiOSTests.debug.xcconfig"; sourceTree = ""; }; - 88F8121F8BD16AA1BE55AF8E78098B68 /* AMBubbleTableViewController.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AMBubbleTableViewController.modulemap; sourceTree = ""; }; - 891B2270823847ED23F2ECFC28F935EC /* Starscream */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Starscream; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8AB64F36E10454031D8174AF42FBDB7F /* Pods-sampleiOSUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-sampleiOSUITests-dummy.m"; sourceTree = ""; }; - 8BA558BD47276DB1D8D786C7AB003393 /* Pods-sampleiOSTests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-sampleiOSTests-Info.plist"; sourceTree = ""; }; - 8E342F0978CD52934D9BB1354A1914E8 /* AMBubbleTableViewController-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AMBubbleTableViewController-dummy.m"; sourceTree = ""; }; - 8ED7F72C22CAB387CFBBCD67F4462F7F /* AMBubbleTableViewController */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AMBubbleTableViewController; path = AMBubbleTableViewController.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8EFEFEE727294BE87FACBC2B5D1A1A59 /* SocketEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEngine.swift; path = Source/SocketIO/Engine/SocketEngine.swift; sourceTree = ""; }; - 910CF97E5A78A1170E629D33829AC80C /* Pods-sampleiOS.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-sampleiOS.modulemap"; sourceTree = ""; }; - 917282502C4B7661F227374BBD2EAEF3 /* Pods-sampleiOS-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-sampleiOS-umbrella.h"; sourceTree = ""; }; - 9197F93305F2076ECCF3F20938CA1544 /* AMBubbleTableViewController.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AMBubbleTableViewController.release.xcconfig; sourceTree = ""; }; - 926748AA57310CA872888EEC34D4420A /* Reachability.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Reachability.swift; path = Sources/Reachability.swift; sourceTree = ""; }; - 9387F20F3865F4499749EA5EFE74A669 /* Pods-sampleiOSUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-sampleiOSUITests-umbrella.h"; sourceTree = ""; }; - 96F1AC650445CB078D6B702A737FD994 /* ReachabilitySwift.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = ReachabilitySwift.release.xcconfig; sourceTree = ""; }; - 9723CEFF9EA853EFA71B1297094A0348 /* Pods-sampleiOSTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-sampleiOSTests-acknowledgements.plist"; sourceTree = ""; }; - 979198E8AA9103F20233F9E8272267D0 /* Pods-sampleiOSUITests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-sampleiOSUITests"; path = Pods_sampleiOSUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 97A7B2837F589CB36FC06A89F9BC771C /* SVRadialGradientLayer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVRadialGradientLayer.m; path = SVProgressHUD/SVRadialGradientLayer.m; sourceTree = ""; }; - 98AF2C1E384639B07FA2FD9FBD8E9636 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Starscream/Compression.swift; sourceTree = ""; }; - 9C2E729D7B783347DBD807C9E66DBFFC /* buttonSendFlat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = buttonSendFlat.png; path = AMBubbleTableViewController/Resources/buttonSendFlat.png; sourceTree = ""; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9E79CA46C2D9476C2BF908CA90735BF9 /* SocketTypes.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketTypes.swift; path = Source/SocketIO/Util/SocketTypes.swift; sourceTree = ""; }; - A4E866F39981E09FAB156635033BBA68 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; }; - A4F24C008477F425DDCAA1C4634DF11A /* CLSReport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CLSReport.h; path = iOS/Crashlytics.framework/Headers/CLSReport.h; sourceTree = ""; }; - A5664719BCE1D1423760F08476096059 /* SocketEnginePollable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEnginePollable.swift; path = Source/SocketIO/Engine/SocketEnginePollable.swift; sourceTree = ""; }; - A7153C92E23AC13E32646630C8843552 /* Socket.IO-Client-Swift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Socket.IO-Client-Swift-Info.plist"; sourceTree = ""; }; - A768D794990BE1212B0A066FA17D95D3 /* SVProgressHUD.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; name = SVProgressHUD.bundle; path = SVProgressHUD/SVProgressHUD.bundle; sourceTree = ""; }; - AA9B649B9D16AFDAF104F780F24642D5 /* SocketManagerSpec.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketManagerSpec.swift; path = Source/SocketIO/Manager/SocketManagerSpec.swift; sourceTree = ""; }; - AC4E84153A14DB6F379B8EE2365E73BF /* Pods-sampleiOSUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-sampleiOSUITests.debug.xcconfig"; sourceTree = ""; }; - AC8F4F63A1708FD977060EA1DEA2FE8F /* AMBubbleTableViewController-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AMBubbleTableViewController-Info.plist"; sourceTree = ""; }; - ADAB39A872511E1ACFCE36F5B531B288 /* SSLClientCertificate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLClientCertificate.swift; path = Sources/Starscream/SSLClientCertificate.swift; sourceTree = ""; }; - ADE370BA397ABF112D244B01BC33884B /* Pods-sampleiOS-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-sampleiOS-frameworks.sh"; sourceTree = ""; }; - AE4A1C14B74CFA78A555A7ED64F0CECE /* bubbleFlatIncoming@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "bubbleFlatIncoming@2x.png"; path = "AMBubbleTableViewController/Resources/bubbleFlatIncoming@2x.png"; sourceTree = ""; }; - AF32B5D5670523A91E63B682C15DB4D3 /* buttonSendHighlightedFlat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = buttonSendHighlightedFlat.png; path = AMBubbleTableViewController/Resources/buttonSendHighlightedFlat.png; sourceTree = ""; }; - B190786E207A2CB9EFB246D81DF07E0D /* bubbleFlatIncoming.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = bubbleFlatIncoming.png; path = AMBubbleTableViewController/Resources/bubbleFlatIncoming.png; sourceTree = ""; }; - B3EF2F6946F756B71AC75ECDB0181173 /* SocketEventHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEventHandler.swift; path = Source/SocketIO/Client/SocketEventHandler.swift; sourceTree = ""; }; - B47EEF68028C0E6E93A9BCA431A84BA7 /* buttonSendFlat@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "buttonSendFlat@2x.png"; path = "AMBubbleTableViewController/Resources/buttonSendFlat@2x.png"; sourceTree = ""; }; - B58F2C95483D2958CC9184B06476E03D /* imageInputFlat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = imageInputFlat.png; path = AMBubbleTableViewController/Resources/imageInputFlat.png; sourceTree = ""; }; - B6311C789FA094293728A50D1ABBA1A5 /* bubbleSquareIncoming@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "bubbleSquareIncoming@2x.png"; path = "AMBubbleTableViewController/Resources/bubbleSquareIncoming@2x.png"; sourceTree = ""; }; - B68300613CDAC5B6B46753B235C4B3BC /* Pods-sampleiOSUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-sampleiOSUITests-acknowledgements.markdown"; sourceTree = ""; }; - BA7AD1D80E635EA79529486A9796C832 /* AMBubbleFlatAccessoryView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMBubbleFlatAccessoryView.h; path = AMBubbleTableViewController/AMBubbleFlatAccessoryView.h; sourceTree = ""; }; - BBCB842AA18D4087D5EAB6ABD0E227DC /* SVIndefiniteAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVIndefiniteAnimatedView.h; path = SVProgressHUD/SVIndefiniteAnimatedView.h; sourceTree = ""; }; - BEF6DE3B0D76BB2546312A9527C67B11 /* ReachabilitySwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = ReachabilitySwift.modulemap; sourceTree = ""; }; - C40BFFB84A4BD6D111DC25E395B4C405 /* SocketAckEmitter.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketAckEmitter.swift; path = Source/SocketIO/Ack/SocketAckEmitter.swift; sourceTree = ""; }; - C41007AADEFB94D2A4F6037F7D5AF732 /* bubbleSquareOutgoing.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = bubbleSquareOutgoing.png; path = AMBubbleTableViewController/Resources/bubbleSquareOutgoing.png; sourceTree = ""; }; - C44D02226652E246E2F53BB4B1EB082A /* Pods-sampleiOSTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-sampleiOSTests.modulemap"; sourceTree = ""; }; - C4F14736F6C0DC1515D221C4511BA455 /* Fabric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Fabric.h; path = iOS/Fabric.framework/Headers/Fabric.h; sourceTree = ""; }; - C60839FB16095C88BEF186CEDDEC61BB /* AMBubbleTableViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMBubbleTableViewController.h; path = AMBubbleTableViewController/AMBubbleTableViewController.h; sourceTree = ""; }; - C65159BD3BF9F919B64BAFC1E0DB6C37 /* AMBubbleGlobals.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AMBubbleGlobals.m; path = AMBubbleTableViewController/AMBubbleGlobals.m; sourceTree = ""; }; - C6BB3A0EA2183991B4F9F89565069B52 /* Pods-sampleiOS-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-sampleiOS-acknowledgements.markdown"; sourceTree = ""; }; - CA89A956E530ABE88A052D0810031122 /* SVProgressHUD.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SVProgressHUD.modulemap; sourceTree = ""; }; - CB22EC5AB44F85A152E2B38D5461FCE3 /* SVProgressHUD-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SVProgressHUD-Info.plist"; sourceTree = ""; }; - CB725179344BB75AC608942ED403C0C9 /* Pods-sampleiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-sampleiOS.release.xcconfig"; sourceTree = ""; }; - CC69A26B409D9900220390E61C4A9983 /* Crashlytics.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Crashlytics.h; path = iOS/Crashlytics.framework/Headers/Crashlytics.h; sourceTree = ""; }; - CCD59F36960A2A3BE6D49341C2AB2204 /* Starscream.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.debug.xcconfig; sourceTree = ""; }; - D28307DDA387B3A061836151F589B7E2 /* messageBubbleTyping@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "messageBubbleTyping@2x.png"; path = "AMBubbleTableViewController/Resources/messageBubbleTyping@2x.png"; sourceTree = ""; }; - D321374564AA1A4091C62CC2CA85E1D2 /* messageBubbleGreen.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = messageBubbleGreen.png; path = AMBubbleTableViewController/Resources/messageBubbleGreen.png; sourceTree = ""; }; - D454AB08900E2DDBE2B7BE44FDE1E6D1 /* SocketRawView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketRawView.swift; path = Source/SocketIO/Client/SocketRawView.swift; sourceTree = ""; }; - D6E17EBA72C2CEDFD888B617DD8BB1C7 /* bubbleFlatOutgoing@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = "bubbleFlatOutgoing@2x.png"; path = "AMBubbleTableViewController/Resources/bubbleFlatOutgoing@2x.png"; sourceTree = ""; }; - DCA294F13AD513951D8442A081E718CE /* Pods-sampleiOSTests */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-sampleiOSTests"; path = Pods_sampleiOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DCD1F884B697076878774EBF8B5E8F98 /* AMBubbleTableViewController-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AMBubbleTableViewController-umbrella.h"; sourceTree = ""; }; - E0DDEB7CCF822346A5FA17788E9AF7AC /* SVProgressAnimatedView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SVProgressAnimatedView.h; path = SVProgressHUD/SVProgressAnimatedView.h; sourceTree = ""; }; - E13857747F22926BBF9A140CE6A7E97A /* SocketEngineWebsocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketEngineWebsocket.swift; path = Source/SocketIO/Engine/SocketEngineWebsocket.swift; sourceTree = ""; }; - E219D8BB5D456C779A6AA345F38F4258 /* Fabric.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Fabric.framework; path = iOS/Fabric.framework; sourceTree = ""; }; - E3F15644841D159796E49CAE8F483473 /* SocketAnyEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SocketAnyEvent.swift; path = Source/SocketIO/Client/SocketAnyEvent.swift; sourceTree = ""; }; - E4500EC11011F62C477B9F9B317EDAA9 /* messageBubbleGray.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = messageBubbleGray.png; path = AMBubbleTableViewController/Resources/messageBubbleGray.png; sourceTree = ""; }; - E498C14625F3C3133D8E26BCD3961AB8 /* Pods-sampleiOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-sampleiOSTests.release.xcconfig"; sourceTree = ""; }; - E531113CD142AE1C80A22C947CF781E4 /* ReachabilitySwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "ReachabilitySwift-dummy.m"; sourceTree = ""; }; - E57196B4946F0907D60CEB287A972015 /* SVProgressAnimatedView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SVProgressAnimatedView.m; path = SVProgressHUD/SVProgressAnimatedView.m; sourceTree = ""; }; - E7441850923B09AD583A49FA3B9AA63F /* SVProgressHUD-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SVProgressHUD-umbrella.h"; sourceTree = ""; }; - E89AF834AF14B46783428A921EAF01FD /* Socket.IO-Client-Swift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Socket.IO-Client-Swift-dummy.m"; sourceTree = ""; }; - E97D43C46A45EE515A4DA3AF94398441 /* SVProgressHUD */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SVProgressHUD; path = SVProgressHUD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EAF79BF3FF6A0B2D6C244D75063BC79E /* bubbleFlatOutgoing.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = bubbleFlatOutgoing.png; path = AMBubbleTableViewController/Resources/bubbleFlatOutgoing.png; sourceTree = ""; }; - ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - ED5B099DCE42C65E0CC51EF98CB94C16 /* Pods-sampleiOS */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = "Pods-sampleiOS"; path = Pods_sampleiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EEB39BFCB5B16268CF6E9FECC4F5C008 /* AMBubbleTableCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AMBubbleTableCell.h; path = AMBubbleTableViewController/AMBubbleTableCell.h; sourceTree = ""; }; - EFDB63312C6B95677C69F0835041A36D /* AMBubbleTableCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AMBubbleTableCell.m; path = AMBubbleTableViewController/AMBubbleTableCell.m; sourceTree = ""; }; - F0439A664300B7B8B9185B111F159FC1 /* Pods-sampleiOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-sampleiOS-dummy.m"; sourceTree = ""; }; - F14167083DF1D24808A82EE5C5E68696 /* Socket.IO-Client-Swift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Socket.IO-Client-Swift.modulemap"; sourceTree = ""; }; - F1C1558B680753D0CBA98303DDAA24DF /* imageBarFlat.png */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = image.png; name = imageBarFlat.png; path = AMBubbleTableViewController/Resources/imageBarFlat.png; sourceTree = ""; }; - F4E0021E8B79ADABD5C404613F0A105C /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; - F554F2A374484CC9F70EA5BEDBE575A3 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/System/Library/Frameworks/CoreTelephony.framework; sourceTree = DEVELOPER_DIR; }; - F624E7D53B7454676E99E291D1DB8302 /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; - F68D40EF00DCB5FDD7E00D8200FDDE9A /* ANSCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ANSCompatibility.h; path = iOS/Crashlytics.framework/Headers/ANSCompatibility.h; sourceTree = ""; }; - F935C1DAAA04A4B6A5BA51FA5CD84C98 /* AMBubbleTableViewController.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AMBubbleTableViewController.debug.xcconfig; sourceTree = ""; }; - FBD467856CA06A8072EAA8C344F155D0 /* EnxRTCiOS.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = EnxRTCiOS.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 1C23E2775A268AF03AB4FB35BFC953FA /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 5433D9B1A7004CEBF4CA2F1FEEBCAB38 /* CoreTelephony.framework in Frameworks */, - 210DD290122BB0C7A0E83DC5148D724E /* Foundation.framework in Frameworks */, - 93DE5DC6D98B5DD09860532E35AE7C90 /* SystemConfiguration.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 35C5D33C676B7537F4233F0C7E502E7A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - F8B5FA4D5C52324DFE288B92D8C79AB0 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B78B276DECC7CC68A3682A7BBB4C136E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 4CD3A61C1ED01A03CD2A94BACAABB03E /* Foundation.framework in Frameworks */, - C1F21639316A000863EA4CB390FA6EB3 /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E389FF082B036E756B0679583C1BE62E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 798FA71F8CAE44D05016FFF767100375 /* Foundation.framework in Frameworks */, - 53BECA6AA55F80D63F104475EE6524CA /* QuartzCore.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E90F538E0A30CC047398568910E3C9F5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - E6F1C5585689A31C9B1700BE049EF8F9 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EDFFC3894FAF70AEA286232BC09DAD74 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - FCFC37E169D96F3E8152D4AB2948901C /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EF4159CD6D78867B5C8DF035BB4DE493 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A844CC76F0F2B3E912B3C84C48E8FFBA /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F0AE0B557FCDB6380139DF39607FA251 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B289809390F56F8F887EE306AB369D8E /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 08381B2BE6A7C0CC6240AC523AEC35D9 /* SVProgressHUD */ = { - isa = PBXGroup; - children = ( - BBCB842AA18D4087D5EAB6ABD0E227DC /* SVIndefiniteAnimatedView.h */, - 24965C35D3E38D77BEA3A64709133B4A /* SVIndefiniteAnimatedView.m */, - E0DDEB7CCF822346A5FA17788E9AF7AC /* SVProgressAnimatedView.h */, - E57196B4946F0907D60CEB287A972015 /* SVProgressAnimatedView.m */, - 7DC178FAFF551CC85F3724F9E01D0F4A /* SVProgressHUD.h */, - 02C242797EFAF070E98735C920E4635C /* SVProgressHUD.m */, - 199A54C4870FBCD55AD8DC6BC5842F62 /* SVRadialGradientLayer.h */, - 97A7B2837F589CB36FC06A89F9BC771C /* SVRadialGradientLayer.m */, - CF73FD6C4BD6A9B66CA02317138E9E94 /* Resources */, - 4F930F6BB6BF91C29197ECCC51633A8F /* Support Files */, - ); - name = SVProgressHUD; - path = SVProgressHUD; - sourceTree = ""; - }; - 1BC92E0B29B311293100F8FD9F5CBEC3 /* Crashlytics */ = { - isa = PBXGroup; - children = ( - F68D40EF00DCB5FDD7E00D8200FDDE9A /* ANSCompatibility.h */, - 733687F7E3BF0553CD68C201C6C3A0E1 /* Answers.h */, - 07F8440AF21C14791D8861E185A1566A /* CLSAttributes.h */, - 33323C2C85C12CD56DE0F8F4CF68FD55 /* CLSLogging.h */, - A4F24C008477F425DDCAA1C4634DF11A /* CLSReport.h */, - 44E8FD38EE36A4C6FD7F73BE866C24DD /* CLSStackFrame.h */, - CC69A26B409D9900220390E61C4A9983 /* Crashlytics.h */, - 2A687B2B581C607CEF773181266A7402 /* Frameworks */, - 4D3BF62CF2BCF237830511C45295EB57 /* Support Files */, - ); - name = Crashlytics; - path = Crashlytics; - sourceTree = ""; - }; - 2A687B2B581C607CEF773181266A7402 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 4809F530E92DAC102CA823870476226F /* Crashlytics.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 2F8EFFBAB4C1572E24CE220DA019088A /* Support Files */ = { - isa = PBXGroup; - children = ( - 88F8121F8BD16AA1BE55AF8E78098B68 /* AMBubbleTableViewController.modulemap */, - 8E342F0978CD52934D9BB1354A1914E8 /* AMBubbleTableViewController-dummy.m */, - AC8F4F63A1708FD977060EA1DEA2FE8F /* AMBubbleTableViewController-Info.plist */, - 4F2A653FE705DE9ECA6840805BAD6B76 /* AMBubbleTableViewController-prefix.pch */, - DCD1F884B697076878774EBF8B5E8F98 /* AMBubbleTableViewController-umbrella.h */, - F935C1DAAA04A4B6A5BA51FA5CD84C98 /* AMBubbleTableViewController.debug.xcconfig */, - 9197F93305F2076ECCF3F20938CA1544 /* AMBubbleTableViewController.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/AMBubbleTableViewController"; - sourceTree = ""; - }; - 374B501A0C4D78E1A3A3B6D619E5B58D /* EnxRTCiOS */ = { - isa = PBXGroup; - children = ( - 7C6FC45ED5A7052164606301DB081356 /* Frameworks */, - 92096F2F0F73E65DEC833FDC8AD6ADA6 /* Support Files */, - ); - name = EnxRTCiOS; - path = EnxRTCiOS; - sourceTree = ""; - }; - 4120281D08FDD859BD527355EE76F7BB /* Pods-sampleiOS */ = { - isa = PBXGroup; - children = ( - 910CF97E5A78A1170E629D33829AC80C /* Pods-sampleiOS.modulemap */, - C6BB3A0EA2183991B4F9F89565069B52 /* Pods-sampleiOS-acknowledgements.markdown */, - 0E4C938B9E4015DDAEEAD45DA89BEA8E /* Pods-sampleiOS-acknowledgements.plist */, - F0439A664300B7B8B9185B111F159FC1 /* Pods-sampleiOS-dummy.m */, - ADE370BA397ABF112D244B01BC33884B /* Pods-sampleiOS-frameworks.sh */, - 0EE075B77079B9EEB4173FD6A6A9684D /* Pods-sampleiOS-Info.plist */, - 917282502C4B7661F227374BBD2EAEF3 /* Pods-sampleiOS-umbrella.h */, - 1CF6110A978A0418F3BF07BFD835C3A7 /* Pods-sampleiOS.debug.xcconfig */, - CB725179344BB75AC608942ED403C0C9 /* Pods-sampleiOS.release.xcconfig */, - ); - name = "Pods-sampleiOS"; - path = "Target Support Files/Pods-sampleiOS"; - sourceTree = ""; - }; - 48455254AD1262B03B11826DEC2B958F /* Frameworks */ = { - isa = PBXGroup; - children = ( - E219D8BB5D456C779A6AA345F38F4258 /* Fabric.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 49A6DD21C8065EEE98B34EE3F36390B6 /* Support Files */ = { - isa = PBXGroup; - children = ( - BEF6DE3B0D76BB2546312A9527C67B11 /* ReachabilitySwift.modulemap */, - E531113CD142AE1C80A22C947CF781E4 /* ReachabilitySwift-dummy.m */, - 4E531B79984E4D21280B5897DC8D685D /* ReachabilitySwift-Info.plist */, - 6C7ADB3DB89DC5BBA193862190ED6B32 /* ReachabilitySwift-prefix.pch */, - 1B6AEF237D3A205947EF7AD6DE9BA880 /* ReachabilitySwift-umbrella.h */, - 3A278B5900D88EEE7372FB4D53F202D3 /* ReachabilitySwift.debug.xcconfig */, - 96F1AC650445CB078D6B702A737FD994 /* ReachabilitySwift.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/ReachabilitySwift"; - sourceTree = ""; - }; - 4D3BF62CF2BCF237830511C45295EB57 /* Support Files */ = { - isa = PBXGroup; - children = ( - 535064341BAF2926D953D457E3731F83 /* Crashlytics.debug.xcconfig */, - 49475F1EB78EBF638817179D632E4C79 /* Crashlytics.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Crashlytics"; - sourceTree = ""; - }; - 4F930F6BB6BF91C29197ECCC51633A8F /* Support Files */ = { - isa = PBXGroup; - children = ( - CA89A956E530ABE88A052D0810031122 /* SVProgressHUD.modulemap */, - 12C4D7B33C88268BE7A37FAEAA32DCFD /* SVProgressHUD-dummy.m */, - CB22EC5AB44F85A152E2B38D5461FCE3 /* SVProgressHUD-Info.plist */, - 0568369CF9D85223D98C0437091E787D /* SVProgressHUD-prefix.pch */, - E7441850923B09AD583A49FA3B9AA63F /* SVProgressHUD-umbrella.h */, - 0EC133FFC94281778B8C89C791D89F7A /* SVProgressHUD.debug.xcconfig */, - 1A45058DB9688420DCFA1B7601A3A3C3 /* SVProgressHUD.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/SVProgressHUD"; - sourceTree = ""; - }; - 53565CDAE19910DB5DF0AD9F85E8D08A /* Support Files */ = { - isa = PBXGroup; - children = ( - F14167083DF1D24808A82EE5C5E68696 /* Socket.IO-Client-Swift.modulemap */, - E89AF834AF14B46783428A921EAF01FD /* Socket.IO-Client-Swift-dummy.m */, - A7153C92E23AC13E32646630C8843552 /* Socket.IO-Client-Swift-Info.plist */, - 4A8771CDDCC7812A5E09BFEDAEC92E37 /* Socket.IO-Client-Swift-prefix.pch */, - 5DE0C82C59C010EFADD2F1A81E5BEA84 /* Socket.IO-Client-Swift-umbrella.h */, - 3915404CFDEB14ADC50A6627982B4B43 /* Socket.IO-Client-Swift.debug.xcconfig */, - 28C130472D3BB8EFF98D2D01EB42829F /* Socket.IO-Client-Swift.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Socket.IO-Client-Swift"; - sourceTree = ""; - }; - 72AF77D71DF3827406D2A48267B508F3 /* AMBubbleTableViewController */ = { - isa = PBXGroup; - children = ( - 1E17F926FD8FC0DA5508AA1D50594668 /* AMBubbleAccessoryView.h */, - 5D0A8F226F70B050ED167EAC7C60F353 /* AMBubbleAccessoryView.m */, - BA7AD1D80E635EA79529486A9796C832 /* AMBubbleFlatAccessoryView.h */, - 848BAE350B121B92D5F879556174E5CE /* AMBubbleFlatAccessoryView.m */, - 2F57E66E579D191DBFC59E40C84A025A /* AMBubbleGlobals.h */, - C65159BD3BF9F919B64BAFC1E0DB6C37 /* AMBubbleGlobals.m */, - EEB39BFCB5B16268CF6E9FECC4F5C008 /* AMBubbleTableCell.h */, - EFDB63312C6B95677C69F0835041A36D /* AMBubbleTableCell.m */, - C60839FB16095C88BEF186CEDDEC61BB /* AMBubbleTableViewController.h */, - 4DF10A57CFCDC3B266D5BEA9DAC1438F /* AMBubbleTableViewController.m */, - AAD5938D7FC9695C933FDC2B2BFF89A0 /* Resources */, - 2F8EFFBAB4C1572E24CE220DA019088A /* Support Files */, - ); - name = AMBubbleTableViewController; - path = AMBubbleTableViewController; - sourceTree = ""; - }; - 7C6FC45ED5A7052164606301DB081356 /* Frameworks */ = { - isa = PBXGroup; - children = ( - FBD467856CA06A8072EAA8C344F155D0 /* EnxRTCiOS.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 899D16FABAD3B7A555A21F4737F642B8 /* Socket.IO-Client-Swift */ = { - isa = PBXGroup; - children = ( - C40BFFB84A4BD6D111DC25E395B4C405 /* SocketAckEmitter.swift */, - 7002382E5D6527D48655470BAB2437BD /* SocketAckManager.swift */, - E3F15644841D159796E49CAE8F483473 /* SocketAnyEvent.swift */, - 8EFEFEE727294BE87FACBC2B5D1A1A59 /* SocketEngine.swift */, - 48F8C8F1ED64A8A771A8B1EB670D07FB /* SocketEngineClient.swift */, - 07A17B85A0AE737718622E928E3096B5 /* SocketEnginePacketType.swift */, - A5664719BCE1D1423760F08476096059 /* SocketEnginePollable.swift */, - 03283360ACEF7999DDF02A648F43C0A2 /* SocketEngineSpec.swift */, - E13857747F22926BBF9A140CE6A7E97A /* SocketEngineWebsocket.swift */, - B3EF2F6946F756B71AC75ECDB0181173 /* SocketEventHandler.swift */, - 6F1F75086740890803743C04F1DB3000 /* SocketExtensions.swift */, - 4002F0BD6F5B0E45419C51FDA2F8CB8F /* SocketIOClient.swift */, - 2413A0B074BB13D83D1D7248BF7FAA14 /* SocketIOClientConfiguration.swift */, - 1D41EB1B816E9F2EA3F71F8F5F1CC889 /* SocketIOClientOption.swift */, - 3735AF0D71788375F1AE2E086CA291EA /* SocketIOClientSpec.swift */, - 60FC4947F5FEAD77725300B85B5CBE9E /* SocketIOStatus.swift */, - 165EC6FB4563C6CE964C7412D418DDB7 /* SocketLogger.swift */, - 5CA592AC5E842DFCCDB4768A66D0592B /* SocketManager.swift */, - AA9B649B9D16AFDAF104F780F24642D5 /* SocketManagerSpec.swift */, - 8624B598292F2E5F119B720D8DAF3DBB /* SocketPacket.swift */, - 562E6F7324EDBDA9407C9E68F3F1CD9E /* SocketParsable.swift */, - D454AB08900E2DDBE2B7BE44FDE1E6D1 /* SocketRawView.swift */, - 81130921B3029831388355A0121B2FE4 /* SocketStringReader.swift */, - 9E79CA46C2D9476C2BF908CA90735BF9 /* SocketTypes.swift */, - 334AFAB5709EACEB5A9DED5D3142CC3E /* SSLSecurity.swift */, - 53565CDAE19910DB5DF0AD9F85E8D08A /* Support Files */, - ); - name = "Socket.IO-Client-Swift"; - path = "Socket.IO-Client-Swift"; - sourceTree = ""; - }; - 8ABF86004CA5B8DDDFA0E53F8FEADD23 /* Products */ = { - isa = PBXGroup; - children = ( - 8ED7F72C22CAB387CFBBCD67F4462F7F /* AMBubbleTableViewController */, - ED5B099DCE42C65E0CC51EF98CB94C16 /* Pods-sampleiOS */, - DCA294F13AD513951D8442A081E718CE /* Pods-sampleiOSTests */, - 979198E8AA9103F20233F9E8272267D0 /* Pods-sampleiOSUITests */, - 21B03CA622E690725A6626C088E1D09F /* ReachabilitySwift */, - 50C0B0879B7086918A819F704BF40B4B /* Socket.IO-Client-Swift */, - 891B2270823847ED23F2ECFC28F935EC /* Starscream */, - E97D43C46A45EE515A4DA3AF94398441 /* SVProgressHUD */, - ); - name = Products; - sourceTree = ""; - }; - 92096F2F0F73E65DEC833FDC8AD6ADA6 /* Support Files */ = { - isa = PBXGroup; - children = ( - 55D55859987E5517365BB33AD5CA77C3 /* EnxRTCiOS.debug.xcconfig */, - 3CE927DE0A421F5A52817D0E8F3EBA4B /* EnxRTCiOS.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/EnxRTCiOS"; - sourceTree = ""; - }; - 984EE45BA0DD42EAADA59CD519C9BD1B /* Support Files */ = { - isa = PBXGroup; - children = ( - 54CF951F4F7A0071C90938CDBA3E5D9C /* EnablexWebRTC.debug.xcconfig */, - 23FEAEC635C141D7E38E1AD291489FFD /* EnablexWebRTC.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/EnablexWebRTC"; - sourceTree = ""; - }; - A342727D3E3B241D19ED587347B457F8 /* ReachabilitySwift */ = { - isa = PBXGroup; - children = ( - 926748AA57310CA872888EEC34D4420A /* Reachability.swift */, - 49A6DD21C8065EEE98B34EE3F36390B6 /* Support Files */, - ); - name = ReachabilitySwift; - path = ReachabilitySwift; - sourceTree = ""; - }; - A3611C03BE6E49F1356638FB50E5A601 /* Fabric */ = { - isa = PBXGroup; - children = ( - 392D3FF016A20FF7A2E5919F4148BDF6 /* FABAttributes.h */, - C4F14736F6C0DC1515D221C4511BA455 /* Fabric.h */, - 48455254AD1262B03B11826DEC2B958F /* Frameworks */, - A77381DA755738378BF2BFEDB990F045 /* Support Files */, - ); - name = Fabric; - path = Fabric; - sourceTree = ""; - }; - A77381DA755738378BF2BFEDB990F045 /* Support Files */ = { - isa = PBXGroup; - children = ( - 401ABEC55FDA99118FD6A6637117B6CE /* Fabric.debug.xcconfig */, - 029BE423EAC847B8BB408E24B6BC9469 /* Fabric.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Fabric"; - sourceTree = ""; - }; - AAD5938D7FC9695C933FDC2B2BFF89A0 /* Resources */ = { - isa = PBXGroup; - children = ( - B190786E207A2CB9EFB246D81DF07E0D /* bubbleFlatIncoming.png */, - AE4A1C14B74CFA78A555A7ED64F0CECE /* bubbleFlatIncoming@2x.png */, - EAF79BF3FF6A0B2D6C244D75063BC79E /* bubbleFlatOutgoing.png */, - D6E17EBA72C2CEDFD888B617DD8BB1C7 /* bubbleFlatOutgoing@2x.png */, - 4CB781C218FFA088D6A15647D6A46297 /* bubbleSquareIncoming.png */, - B6311C789FA094293728A50D1ABBA1A5 /* bubbleSquareIncoming@2x.png */, - C41007AADEFB94D2A4F6037F7D5AF732 /* bubbleSquareOutgoing.png */, - 2975965D1FFC2DBAF0A6582199D91C0F /* bubbleSquareOutgoing@2x.png */, - 26A4817E0E66CD6A0842A9F3819D5083 /* buttonSend.png */, - 6BF2E41CBDB339846E6DC66E668644FE /* buttonSend@2x.png */, - 9C2E729D7B783347DBD807C9E66DBFFC /* buttonSendFlat.png */, - B47EEF68028C0E6E93A9BCA431A84BA7 /* buttonSendFlat@2x.png */, - 178A92EEDCCFDAF241113F6B91781486 /* buttonSendHighlighted.png */, - 27C217146129574CC960BFBD66E69B74 /* buttonSendHighlighted@2x.png */, - AF32B5D5670523A91E63B682C15DB4D3 /* buttonSendHighlightedFlat.png */, - 54B4CC0B5239E3BEE6DB91E463CD4320 /* buttonSendHighlightedFlat@2x.png */, - 70332DEB032FC5CA21F86AF088E5006A /* imageBar.png */, - 6D1B6D4B618CE55B328F77E7C9CDADCE /* imageBar@2x.png */, - F1C1558B680753D0CBA98303DDAA24DF /* imageBarFlat.png */, - 18ED35919994286299E58749574F2D90 /* imageBarFlat@2x.png */, - 75E04CC13AB614DB0BB9080EACF092B6 /* imageInput.png */, - 1EB5F73DF88E7DEDBF9084ABC2A686AC /* imageInput@2x.png */, - B58F2C95483D2958CC9184B06476E03D /* imageInputFlat.png */, - 1789285F5EDE9B2CCE6FA7A9916DEF2A /* imageInputFlat@2x.png */, - 27F90C860109A975E9BF70C026813DD1 /* messageBubbleBlue.png */, - 407846EF200E97F4D93A1B4F88D70DC7 /* messageBubbleBlue@2x.png */, - E4500EC11011F62C477B9F9B317EDAA9 /* messageBubbleGray.png */, - 68E65E06B9A36457CD62257F0F701B5C /* messageBubbleGray@2x.png */, - D321374564AA1A4091C62CC2CA85E1D2 /* messageBubbleGreen.png */, - 4D9DC0B5F0A737DEA6BEF1004E4B3E09 /* messageBubbleGreen@2x.png */, - 709F6EB99696A26EBE35BE5F2B3A9B77 /* messageBubbleHighlighted.png */, - 6202421BA507D5C9EF22EE1FDFD25E1E /* messageBubbleHighlighted@2x.png */, - 69428C48E99923E7D8C1F45396E0D758 /* messageBubbleTyping.png */, - D28307DDA387B3A061836151F589B7E2 /* messageBubbleTyping@2x.png */, - ); - name = Resources; - sourceTree = ""; - }; - AEC1DC11205F55512201C708326FE5C9 /* Pods */ = { - isa = PBXGroup; - children = ( - 72AF77D71DF3827406D2A48267B508F3 /* AMBubbleTableViewController */, - 1BC92E0B29B311293100F8FD9F5CBEC3 /* Crashlytics */, - B2845D50D904DA4F72AD6D722F5B9289 /* EnablexWebRTC */, - 374B501A0C4D78E1A3A3B6D619E5B58D /* EnxRTCiOS */, - A3611C03BE6E49F1356638FB50E5A601 /* Fabric */, - A342727D3E3B241D19ED587347B457F8 /* ReachabilitySwift */, - 899D16FABAD3B7A555A21F4737F642B8 /* Socket.IO-Client-Swift */, - DDA6B5AEC63941AF3092C2684B12A2D0 /* Starscream */, - 08381B2BE6A7C0CC6240AC523AEC35D9 /* SVProgressHUD */, - ); - name = Pods; - sourceTree = ""; - }; - B2845D50D904DA4F72AD6D722F5B9289 /* EnablexWebRTC */ = { - isa = PBXGroup; - children = ( - F95DBC6C3B9CD553B4E910043B11A6E6 /* Frameworks */, - 984EE45BA0DD42EAADA59CD519C9BD1B /* Support Files */, - ); - name = EnablexWebRTC; - path = EnablexWebRTC; - sourceTree = ""; - }; - BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */ = { - isa = PBXGroup; - children = ( - EDA5858C23A0220F4F8AD4AC97197C63 /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - C2F84C1BE8A61D7FFE6DE63B561F1F20 /* Support Files */ = { - isa = PBXGroup; - children = ( - F624E7D53B7454676E99E291D1DB8302 /* Starscream.modulemap */, - 54A0089F38E1AEC325CEB79264EEFFE7 /* Starscream-dummy.m */, - F4E0021E8B79ADABD5C404613F0A105C /* Starscream-Info.plist */, - 43CD7C2039DCA1452B40BB97B9A5EFBD /* Starscream-prefix.pch */, - 11C4A042C20B39142119A336B786A8AE /* Starscream-umbrella.h */, - CCD59F36960A2A3BE6D49341C2AB2204 /* Starscream.debug.xcconfig */, - 1DD18E89978D071CD957088FEB3F80CD /* Starscream.release.xcconfig */, - ); - name = "Support Files"; - path = "../Target Support Files/Starscream"; - sourceTree = ""; - }; - CF1408CF629C7361332E53B88F7BD30C = { - isa = PBXGroup; - children = ( - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - BA4F31F07263C99FC76E66D632A59F09 /* Frameworks */, - AEC1DC11205F55512201C708326FE5C9 /* Pods */, - 8ABF86004CA5B8DDDFA0E53F8FEADD23 /* Products */, - E33427030F16C3A07B6883B1141A3941 /* Targets Support Files */, - ); - sourceTree = ""; - }; - CF73FD6C4BD6A9B66CA02317138E9E94 /* Resources */ = { - isa = PBXGroup; - children = ( - A768D794990BE1212B0A066FA17D95D3 /* SVProgressHUD.bundle */, - ); - name = Resources; - sourceTree = ""; - }; - DDA6B5AEC63941AF3092C2684B12A2D0 /* Starscream */ = { - isa = PBXGroup; - children = ( - 98AF2C1E384639B07FA2FD9FBD8E9636 /* Compression.swift */, - ADAB39A872511E1ACFCE36F5B531B288 /* SSLClientCertificate.swift */, - 830B6BF7B1F1DEB430928754C4496C99 /* SSLSecurity.swift */, - 399B9F8DB972CEBBC07196DE278B5AB4 /* WebSocket.swift */, - C2F84C1BE8A61D7FFE6DE63B561F1F20 /* Support Files */, - ); - name = Starscream; - path = Starscream; - sourceTree = ""; - }; - E33427030F16C3A07B6883B1141A3941 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 4120281D08FDD859BD527355EE76F7BB /* Pods-sampleiOS */, - EEB7A280ED0F9301BE9D53E25E65BA3E /* Pods-sampleiOSTests */, - FB190DDD3897FD0F5E31E7A9E84C1638 /* Pods-sampleiOSUITests */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - EDA5858C23A0220F4F8AD4AC97197C63 /* iOS */ = { - isa = PBXGroup; - children = ( - F554F2A374484CC9F70EA5BEDBE575A3 /* CoreTelephony.framework */, - ED588E2127226EF49DCB16331DA15D08 /* Foundation.framework */, - A4E866F39981E09FAB156635033BBA68 /* QuartzCore.framework */, - 3C7551A82F1CCD4795B4FFA15BD269A1 /* SystemConfiguration.framework */, - ); - name = iOS; - sourceTree = ""; - }; - EEB7A280ED0F9301BE9D53E25E65BA3E /* Pods-sampleiOSTests */ = { - isa = PBXGroup; - children = ( - C44D02226652E246E2F53BB4B1EB082A /* Pods-sampleiOSTests.modulemap */, - 48E299DB9D33C98B3B544AEE535A82D6 /* Pods-sampleiOSTests-acknowledgements.markdown */, - 9723CEFF9EA853EFA71B1297094A0348 /* Pods-sampleiOSTests-acknowledgements.plist */, - 046D91ECE454B670C2DB88D65CAE7575 /* Pods-sampleiOSTests-dummy.m */, - 8BA558BD47276DB1D8D786C7AB003393 /* Pods-sampleiOSTests-Info.plist */, - 48157D1E4E668F36138B0DC49035D750 /* Pods-sampleiOSTests-umbrella.h */, - 871E725006C32076C5E9BDE86562FEB5 /* Pods-sampleiOSTests.debug.xcconfig */, - E498C14625F3C3133D8E26BCD3961AB8 /* Pods-sampleiOSTests.release.xcconfig */, - ); - name = "Pods-sampleiOSTests"; - path = "Target Support Files/Pods-sampleiOSTests"; - sourceTree = ""; - }; - F95DBC6C3B9CD553B4E910043B11A6E6 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 62EABDFAEB957CDF81D57AE95B1BC8F4 /* WebRTC.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - FB190DDD3897FD0F5E31E7A9E84C1638 /* Pods-sampleiOSUITests */ = { - isa = PBXGroup; - children = ( - 2C432BADEBF9DEE8166DEFB0B6CBA133 /* Pods-sampleiOSUITests.modulemap */, - B68300613CDAC5B6B46753B235C4B3BC /* Pods-sampleiOSUITests-acknowledgements.markdown */, - 4289F6C9001F1E68CFFBAA3C2A95D2C1 /* Pods-sampleiOSUITests-acknowledgements.plist */, - 8AB64F36E10454031D8174AF42FBDB7F /* Pods-sampleiOSUITests-dummy.m */, - 4EFC5501C0368708C2199C51EF239866 /* Pods-sampleiOSUITests-Info.plist */, - 9387F20F3865F4499749EA5EFE74A669 /* Pods-sampleiOSUITests-umbrella.h */, - AC4E84153A14DB6F379B8EE2365E73BF /* Pods-sampleiOSUITests.debug.xcconfig */, - 579F759956607462DA5CC21D3799BC26 /* Pods-sampleiOSUITests.release.xcconfig */, - ); - name = "Pods-sampleiOSUITests"; - path = "Target Support Files/Pods-sampleiOSUITests"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 044B54F8BB92673F64E4A506780F125C /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 1CBA9BF42E84148EA331467CB593E3E1 /* Starscream-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0F5DE69FBEAF22A10044B8A1FCEAECC8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CE4940E29E6F68E1A7D01ABBDE6C70B /* AMBubbleAccessoryView.h in Headers */, - 7F0F3FB74DD4C42E08FBD00BAA2C4CA7 /* AMBubbleFlatAccessoryView.h in Headers */, - 18C48B5A2EC3503A25D540DB58A971D7 /* AMBubbleGlobals.h in Headers */, - FB3EB49196CCDC508708A77D9F471824 /* AMBubbleTableCell.h in Headers */, - 071314D93D39F05FF0FF3E82E82E02C7 /* AMBubbleTableViewController.h in Headers */, - 91944499F5930AF7196A1F663598708F /* AMBubbleTableViewController-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 36FC208FF27E8CAFFEC8D674C7F35AB1 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D1CE50A8EB2CB3D5E904E6EC20F98F04 /* Pods-sampleiOS-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4519C5DF899A41E4CD16C5B8DA710EF1 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - BAFAE104FCF069ACE7A900E48A929683 /* Pods-sampleiOSUITests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 658E9918E8B547A06D908EC6F18CF84E /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 9682811D1765C6D74B4A47B7F00CD8A8 /* Pods-sampleiOSTests-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6DE9E7B34EB24769860A549107B4F04C /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E70EBA16751054574A227A6432CCE4B0 /* SVIndefiniteAnimatedView.h in Headers */, - F77280E74EB91678AA294E66DD6070E2 /* SVProgressAnimatedView.h in Headers */, - C15B3F89E6F83DC9CCB14903FC5D80C5 /* SVProgressHUD.h in Headers */, - 4DC032894868226AE220360BADB2C237 /* SVProgressHUD-umbrella.h in Headers */, - 6D1E33469FB8FBE812956B0076A7B28F /* SVRadialGradientLayer.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A07235E1E88D103EFDEB6510A0BCE7A8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 17DE87344CAD319DE6AA0F7BE1BA10C7 /* ReachabilitySwift-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A1FA342904DC2183EE5D89A4B162A9C8 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - F1528E8CD43D8150DB8E51BEEBEEE103 /* Socket.IO-Client-Swift-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 082F3A001178F2D993C93DB327908673 /* Pods-sampleiOSUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = F0768AD6B5FAB4352254B26205EF4ECF /* Build configuration list for PBXNativeTarget "Pods-sampleiOSUITests" */; - buildPhases = ( - 4519C5DF899A41E4CD16C5B8DA710EF1 /* Headers */, - BD5B1E0FBA3DD2DAE78400DDC27F6D06 /* Sources */, - 35C5D33C676B7537F4233F0C7E502E7A /* Frameworks */, - AAEADEC65F1A9814BD374285A2286855 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 664920BC43365709AAE0F0664B906154 /* PBXTargetDependency */, - ); - name = "Pods-sampleiOSUITests"; - productName = Pods_sampleiOSUITests; - productReference = 979198E8AA9103F20233F9E8272267D0 /* Pods-sampleiOSUITests */; - productType = "com.apple.product-type.framework"; - }; - 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */ = { - isa = PBXNativeTarget; - buildConfigurationList = 14DE1166A8B9C02D036523FB495E1984 /* Build configuration list for PBXNativeTarget "ReachabilitySwift" */; - buildPhases = ( - A07235E1E88D103EFDEB6510A0BCE7A8 /* Headers */, - 000885395D0D686A060DD76E35D874C2 /* Sources */, - 1C23E2775A268AF03AB4FB35BFC953FA /* Frameworks */, - 332B7A37F1A79B4B578E4145341A0E1C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ReachabilitySwift; - productName = Reachability; - productReference = 21B03CA622E690725A6626C088E1D09F /* ReachabilitySwift */; - productType = "com.apple.product-type.framework"; - }; - 1C8D67D8B72D6BA42CCEDB648537A340 /* SVProgressHUD */ = { - isa = PBXNativeTarget; - buildConfigurationList = 807FEF9D9629A72728B6B83F5CA12C85 /* Build configuration list for PBXNativeTarget "SVProgressHUD" */; - buildPhases = ( - 6DE9E7B34EB24769860A549107B4F04C /* Headers */, - 108B36464ADE4902E2E2C83461767402 /* Sources */, - E389FF082B036E756B0679583C1BE62E /* Frameworks */, - A4CCC3CC21F770E272C54B18DDDE6DA3 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SVProgressHUD; - productName = SVProgressHUD; - productReference = E97D43C46A45EE515A4DA3AF94398441 /* SVProgressHUD */; - productType = "com.apple.product-type.framework"; - }; - 3B6C88F901F1002EB56C75FF5E39E0BA /* Pods-sampleiOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = DA7EC43D2CB7774466F194FA932713E9 /* Build configuration list for PBXNativeTarget "Pods-sampleiOS" */; - buildPhases = ( - 36FC208FF27E8CAFFEC8D674C7F35AB1 /* Headers */, - C11FDFD07E22DD93B5B4913EF689CD49 /* Sources */, - EDFFC3894FAF70AEA286232BC09DAD74 /* Frameworks */, - C2A4625949465F5ECE45E457EF41756C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - E0D6C734A2E2209AF17EF8CDC53D4EAF /* PBXTargetDependency */, - D9F60BEED4D230B2A617E5CC306D886C /* PBXTargetDependency */, - 1F20895F639938ED1719963B84870140 /* PBXTargetDependency */, - E66E65BDBD51D54330F66072AA530E7F /* PBXTargetDependency */, - 96B8E015690651BD1302421D5C076EFD /* PBXTargetDependency */, - 4A2EAE45D2C497D5E4E966F95690862D /* PBXTargetDependency */, - 1DC6222CE533130810422B68335A8A0A /* PBXTargetDependency */, - 9E6C4F1D499E5F0C14EED97A697D0318 /* PBXTargetDependency */, - 83A609DAA1A3B36C6FBD42A3C4E17DCF /* PBXTargetDependency */, - ); - name = "Pods-sampleiOS"; - productName = Pods_sampleiOS; - productReference = ED5B099DCE42C65E0CC51EF98CB94C16 /* Pods-sampleiOS */; - productType = "com.apple.product-type.framework"; - }; - 58F12CC2CB7C20049F5D4C6E1F297478 /* AMBubbleTableViewController */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3B411CFC42F8CF35BACEF9D7C1770C89 /* Build configuration list for PBXNativeTarget "AMBubbleTableViewController" */; - buildPhases = ( - 0F5DE69FBEAF22A10044B8A1FCEAECC8 /* Headers */, - 4C1E7668326EBF17E089266554FF95DE /* Sources */, - B78B276DECC7CC68A3682A7BBB4C136E /* Frameworks */, - ED7B871F8C48F39E736CE370EFFAC811 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = AMBubbleTableViewController; - productName = AMBubbleTableViewController; - productReference = 8ED7F72C22CAB387CFBBCD67F4462F7F /* AMBubbleTableViewController */; - productType = "com.apple.product-type.framework"; - }; - 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2B8742AB5CD0DD22716A3CDF641B035B /* Build configuration list for PBXNativeTarget "Starscream" */; - buildPhases = ( - 044B54F8BB92673F64E4A506780F125C /* Headers */, - 60AA6E07BEDD0AD4A1BB7B8765D04A3E /* Sources */, - EF4159CD6D78867B5C8DF035BB4DE493 /* Frameworks */, - 34CD9C3D1CF714756EA73F1B38B338D7 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Starscream; - productName = Starscream; - productReference = 891B2270823847ED23F2ECFC28F935EC /* Starscream */; - productType = "com.apple.product-type.framework"; - }; - A44D85440C5D58BC5C4D70A539C5EEF0 /* Socket.IO-Client-Swift */ = { - isa = PBXNativeTarget; - buildConfigurationList = 570A31F3EDE47541F8D26F34CAB8ED14 /* Build configuration list for PBXNativeTarget "Socket.IO-Client-Swift" */; - buildPhases = ( - A1FA342904DC2183EE5D89A4B162A9C8 /* Headers */, - 02942BAF20254BBBC3140CDD45943670 /* Sources */, - E90F538E0A30CC047398568910E3C9F5 /* Frameworks */, - F602EF307931ADE4089BDBC28793CDEB /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 3E6558B90304301E5DE6D4FC81971F2A /* PBXTargetDependency */, - ); - name = "Socket.IO-Client-Swift"; - productName = SocketIO; - productReference = 50C0B0879B7086918A819F704BF40B4B /* Socket.IO-Client-Swift */; - productType = "com.apple.product-type.framework"; - }; - AAD8AA16D1B120E44E1FC864F4EC7BCA /* Pods-sampleiOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = D8AE6444CC975BCB44F6BA1B76AED780 /* Build configuration list for PBXNativeTarget "Pods-sampleiOSTests" */; - buildPhases = ( - 658E9918E8B547A06D908EC6F18CF84E /* Headers */, - B78D7D2E96E9BE14C6597917E7050162 /* Sources */, - F0AE0B557FCDB6380139DF39607FA251 /* Frameworks */, - 0DCE2B7D9BBFD116DA26D70C74501C8C /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - B0DD8666801B8FF9623564AE26815ED6 /* PBXTargetDependency */, - ); - name = "Pods-sampleiOSTests"; - productName = Pods_sampleiOSTests; - productReference = DCA294F13AD513951D8442A081E718CE /* Pods-sampleiOSTests */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - BFDFE7DC352907FC980B868725387E98 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1300; - LastUpgradeCheck = 1300; - }; - buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 10.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - Base, - en, - ); - mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = 8ABF86004CA5B8DDDFA0E53F8FEADD23 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 58F12CC2CB7C20049F5D4C6E1F297478 /* AMBubbleTableViewController */, - C0E41540D6862472ED7F2FA11669BE1F /* Crashlytics */, - 270791F0402B536EFF5601505B31B5C8 /* EnablexWebRTC */, - 9FB3D07477532CBE181B559E11F0A3C8 /* EnxRTCiOS */, - ABB048B191245233986A7CD75FE412A5 /* Fabric */, - 3B6C88F901F1002EB56C75FF5E39E0BA /* Pods-sampleiOS */, - AAD8AA16D1B120E44E1FC864F4EC7BCA /* Pods-sampleiOSTests */, - 082F3A001178F2D993C93DB327908673 /* Pods-sampleiOSUITests */, - 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */, - A44D85440C5D58BC5C4D70A539C5EEF0 /* Socket.IO-Client-Swift */, - 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */, - 1C8D67D8B72D6BA42CCEDB648537A340 /* SVProgressHUD */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 0DCE2B7D9BBFD116DA26D70C74501C8C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 332B7A37F1A79B4B578E4145341A0E1C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 34CD9C3D1CF714756EA73F1B38B338D7 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A4CCC3CC21F770E272C54B18DDDE6DA3 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 943B0A1B436BAF4D419574466EF70FB3 /* SVProgressHUD.bundle in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AAEADEC65F1A9814BD374285A2286855 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C2A4625949465F5ECE45E457EF41756C /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - ED7B871F8C48F39E736CE370EFFAC811 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3E748E83FC617096E10BADC5CA854F2A /* bubbleFlatIncoming.png in Resources */, - 6F13A86B07B095D0DEA5E5B01833E04F /* bubbleFlatIncoming@2x.png in Resources */, - E437B7753E43BB133D6C65904B27C2EF /* bubbleFlatOutgoing.png in Resources */, - F4FBC6E3BCBC5A59F94525DF98E5F38D /* bubbleFlatOutgoing@2x.png in Resources */, - FCEBCC5EEE0E40681786DB6EA60636EB /* bubbleSquareIncoming.png in Resources */, - 7AE663DF66CEDCC53C1F5AF19B75DF75 /* bubbleSquareIncoming@2x.png in Resources */, - 63AD9AF3F2B3514C306EAEE03F5ED921 /* bubbleSquareOutgoing.png in Resources */, - EFB2D87862F0C261175F6A11B1917CCB /* bubbleSquareOutgoing@2x.png in Resources */, - 375FABC9D13CF15189D6C93CACD6B789 /* buttonSend.png in Resources */, - 153FA9968623D8D86B94D3B29249DB60 /* buttonSend@2x.png in Resources */, - CF1ACB9075AB5D3E44BCB98B2E41D174 /* buttonSendFlat.png in Resources */, - DA0B78FE3EFED562CFBFC428EAE236A7 /* buttonSendFlat@2x.png in Resources */, - DF3FFB11756296B95112A3BC7167544F /* buttonSendHighlighted.png in Resources */, - 3C38C631562F2600D6513CD3219B6EC2 /* buttonSendHighlighted@2x.png in Resources */, - DD304CE61AF1CFBABBB8CB87DC709227 /* buttonSendHighlightedFlat.png in Resources */, - 625D5F2CE3F0B392056F2CAF60496248 /* buttonSendHighlightedFlat@2x.png in Resources */, - 73C10BFAF050EC9A31812F8646EAB577 /* imageBar.png in Resources */, - BDBC2C5DC82072F73F1A4244EAD5CB20 /* imageBar@2x.png in Resources */, - F5CFC359EE517270C9AFEB28D769460D /* imageBarFlat.png in Resources */, - 220C79F8DA712A061290FFC9A2B19667 /* imageBarFlat@2x.png in Resources */, - 02350906A9298F9716B0971E87EA17FD /* imageInput.png in Resources */, - F22A2F82E0129A884FA13268B17DA476 /* imageInput@2x.png in Resources */, - 1F38A8E0558439EFB4DCECE2F726DE9C /* imageInputFlat.png in Resources */, - 822A9B908543D5727AC9E47348E89293 /* imageInputFlat@2x.png in Resources */, - 21BE9871DF0220AC29F63E8F522541B2 /* messageBubbleBlue.png in Resources */, - 9D9C799804294CFF3EA391D5C43FD0C7 /* messageBubbleBlue@2x.png in Resources */, - ADE3842C30831B4CBEBD47716BFBEA47 /* messageBubbleGray.png in Resources */, - 6DC40A49CC560FE90E6BD973D0DCE6FD /* messageBubbleGray@2x.png in Resources */, - ED208103A0F59EC6E7A48D0D2E9F879A /* messageBubbleGreen.png in Resources */, - 64154580B04B85E9F78AE77967FC436B /* messageBubbleGreen@2x.png in Resources */, - 243F7CD12B5A152CF89A82E9CAE16D9E /* messageBubbleHighlighted.png in Resources */, - 9A9D4D4E53AA63857690163888BA0675 /* messageBubbleHighlighted@2x.png in Resources */, - C8CF1EE5E64FD07995BBF72CBC9A7980 /* messageBubbleTyping.png in Resources */, - EF7995DF3B3738F9C3ADA8ADA1D40F24 /* messageBubbleTyping@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F602EF307931ADE4089BDBC28793CDEB /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 000885395D0D686A060DD76E35D874C2 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AB43B618099D0E0BE5730DE4166CD403 /* Reachability.swift in Sources */, - 960DCEE9167C9C9E11FAA0EDAF872B2F /* ReachabilitySwift-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 02942BAF20254BBBC3140CDD45943670 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 99FB5F355DA5A926F227CA0E39925328 /* Socket.IO-Client-Swift-dummy.m in Sources */, - 25263B5D499EA73D7B0C6E91197F33AF /* SocketAckEmitter.swift in Sources */, - 5130F8406B4B09C44F7C9C78A5B0157C /* SocketAckManager.swift in Sources */, - 0BE15DE3E41CFD329A0E589624DEAAED /* SocketAnyEvent.swift in Sources */, - AD0B1D5A1263C00FC9AC0F91A781E473 /* SocketEngine.swift in Sources */, - E3ED27EAE16940C906CCA6B52CA78B9B /* SocketEngineClient.swift in Sources */, - A622B67A92DA74B140F8E471E1A628DF /* SocketEnginePacketType.swift in Sources */, - 644E11A675F5575D3CFD793A05DA52F8 /* SocketEnginePollable.swift in Sources */, - F9D446FF688B073F73A1657E2CB705DD /* SocketEngineSpec.swift in Sources */, - 7765D058E00B4F596EB1EBC2C732AB9D /* SocketEngineWebsocket.swift in Sources */, - 03E48104CE0FAC446EA3DEAF43AB8F02 /* SocketEventHandler.swift in Sources */, - CE13959E42AFE711D989EC44893212D0 /* SocketExtensions.swift in Sources */, - 602813EC8273C608896AE18EB003391F /* SocketIOClient.swift in Sources */, - D4B9E246C7860EF3F7E9C53964DC108F /* SocketIOClientConfiguration.swift in Sources */, - 6A082CD7EEA69D7503B256E452073A7F /* SocketIOClientOption.swift in Sources */, - A4D59C1C079FB21654E3FEB8E60B4274 /* SocketIOClientSpec.swift in Sources */, - 91E2C6151E92DC87BC2D19E63D86A543 /* SocketIOStatus.swift in Sources */, - 894EB6945AA90D2903EE95E1E4313F42 /* SocketLogger.swift in Sources */, - 2B5F008F7BB5AA36A309EDE8FCC8A3EE /* SocketManager.swift in Sources */, - BBAB855671B4AB2E7095963051C200EC /* SocketManagerSpec.swift in Sources */, - A06629EC737C31A2FF321147A4155F86 /* SocketPacket.swift in Sources */, - 90A3339F875F242863629B1972A751E5 /* SocketParsable.swift in Sources */, - B3AC2C2EA4FDDA575455AF123106753D /* SocketRawView.swift in Sources */, - 23435F4587BB777BE4A13562622BE8F2 /* SocketStringReader.swift in Sources */, - 30A10278B4EC4BF3058F3B846AC66C3C /* SocketTypes.swift in Sources */, - 3905528B8CBB8FE0F4AB5F7962598837 /* SSLSecurity.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 108B36464ADE4902E2E2C83461767402 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 52BCC3B2F8AE7F59556925DEC603C634 /* SVIndefiniteAnimatedView.m in Sources */, - 1F4A13FD6675FCFCD9C19DF350348899 /* SVProgressAnimatedView.m in Sources */, - 89DF2D9C5EFB02A72EC0CE2138B77F35 /* SVProgressHUD.m in Sources */, - FFD43D91BF1FA4ADF714D56E7A10B2A8 /* SVProgressHUD-dummy.m in Sources */, - 1D325CFE11FE13A075C835E922BE1017 /* SVRadialGradientLayer.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 4C1E7668326EBF17E089266554FF95DE /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 365EC387120B807689C3878D35CB0AEF /* AMBubbleAccessoryView.m in Sources */, - 6358AC0C800A9C902158E9A7A2E9D09B /* AMBubbleFlatAccessoryView.m in Sources */, - F32D5892309728D4E7C7859F0984AB12 /* AMBubbleGlobals.m in Sources */, - D448D1FE801767061E89AD6EAC88B449 /* AMBubbleTableCell.m in Sources */, - B43FB4CD2C09B2F874C6B754383FBC33 /* AMBubbleTableViewController.m in Sources */, - 279EB2A56D8C772EFEF73C1DAE10477D /* AMBubbleTableViewController-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 60AA6E07BEDD0AD4A1BB7B8765D04A3E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3068B1765189E11D8299C0849529ADF9 /* Compression.swift in Sources */, - 9F9D56B0CC6740F481E2F5B378D0FEFB /* SSLClientCertificate.swift in Sources */, - A2099AB2643CB8BFA2E8EDB1A47AB35A /* SSLSecurity.swift in Sources */, - 1B3E9122FC701C4B809E6F9F900F14C7 /* Starscream-dummy.m in Sources */, - 2795D45D9A644C918D9C04D33B06CD13 /* WebSocket.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B78D7D2E96E9BE14C6597917E7050162 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - AA3B1D17E350D538DAF05CCB18AD9382 /* Pods-sampleiOSTests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BD5B1E0FBA3DD2DAE78400DDC27F6D06 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F84A9BF96147A784FA67FB49F50BB123 /* Pods-sampleiOSUITests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - C11FDFD07E22DD93B5B4913EF689CD49 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3C6FE3B9CD2F9F2283DF40E5E85BB55F /* Pods-sampleiOS-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 1DC6222CE533130810422B68335A8A0A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SVProgressHUD; - target = 1C8D67D8B72D6BA42CCEDB648537A340 /* SVProgressHUD */; - targetProxy = 1826DAAACBC05F229697680FFF9E1FDB /* PBXContainerItemProxy */; - }; - 1F20895F639938ED1719963B84870140 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = EnablexWebRTC; - target = 270791F0402B536EFF5601505B31B5C8 /* EnablexWebRTC */; - targetProxy = F16ECCC95E3BC392B0A13BCF17664DF9 /* PBXContainerItemProxy */; - }; - 3E6558B90304301E5DE6D4FC81971F2A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 873EB068B1590570B5C7631BB186471E /* PBXContainerItemProxy */; - }; - 4A2EAE45D2C497D5E4E966F95690862D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = ReachabilitySwift; - target = 0B00B2C167CD783351BD1D00BD5AD1F8 /* ReachabilitySwift */; - targetProxy = 50B44047E283B8BDF04AC1A8F96338B0 /* PBXContainerItemProxy */; - }; - 664920BC43365709AAE0F0664B906154 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-sampleiOS"; - target = 3B6C88F901F1002EB56C75FF5E39E0BA /* Pods-sampleiOS */; - targetProxy = B9EC9F16EF24B4F4861F1523DC73DDDB /* PBXContainerItemProxy */; - }; - 8280AD1AA56C7C722A62CF21FE95AB16 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Fabric; - target = ABB048B191245233986A7CD75FE412A5 /* Fabric */; - targetProxy = 5CA4376187E058C0FE4A0F2D3467B284 /* PBXContainerItemProxy */; - }; - 83A609DAA1A3B36C6FBD42A3C4E17DCF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Starscream; - target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 55F22FD98487058CC8353D7F4BA1D65B /* PBXContainerItemProxy */; - }; - 96B8E015690651BD1302421D5C076EFD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Fabric; - target = ABB048B191245233986A7CD75FE412A5 /* Fabric */; - targetProxy = 8E747275F6CFDC395D2E14C8F9CDC33A /* PBXContainerItemProxy */; - }; - 9E6C4F1D499E5F0C14EED97A697D0318 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Socket.IO-Client-Swift"; - target = A44D85440C5D58BC5C4D70A539C5EEF0 /* Socket.IO-Client-Swift */; - targetProxy = 9A8F33C7F90EFBFA66FBAAB0E9FE9A52 /* PBXContainerItemProxy */; - }; - B0DD8666801B8FF9623564AE26815ED6 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Pods-sampleiOS"; - target = 3B6C88F901F1002EB56C75FF5E39E0BA /* Pods-sampleiOS */; - targetProxy = 2BD430A553849BC0F56B26D91AF551BD /* PBXContainerItemProxy */; - }; - D9F60BEED4D230B2A617E5CC306D886C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Crashlytics; - target = C0E41540D6862472ED7F2FA11669BE1F /* Crashlytics */; - targetProxy = 9873D6F77A35933FC79BE67CC6CFA165 /* PBXContainerItemProxy */; - }; - E0D6C734A2E2209AF17EF8CDC53D4EAF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = AMBubbleTableViewController; - target = 58F12CC2CB7C20049F5D4C6E1F297478 /* AMBubbleTableViewController */; - targetProxy = 001B8C52DA9595BC42C4AE80ADD3E30C /* PBXContainerItemProxy */; - }; - E66E65BDBD51D54330F66072AA530E7F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = EnxRTCiOS; - target = 9FB3D07477532CBE181B559E11F0A3C8 /* EnxRTCiOS */; - targetProxy = FA0CA50F7D301F70445562627282B92D /* PBXContainerItemProxy */; - }; - EDA79D4FF5912C9211A17B861462D8CC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = EnablexWebRTC; - target = 270791F0402B536EFF5601505B31B5C8 /* EnablexWebRTC */; - targetProxy = 353D401BAD8EA8794A04717665CF5C50 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 06A1F27EB39D907BCDB0E0248F969CB9 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F935C1DAAA04A4B6A5BA51FA5CD84C98 /* AMBubbleTableViewController.debug.xcconfig */; - buildSettings = { - "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/AMBubbleTableViewController/AMBubbleTableViewController-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.modulemap"; - PRODUCT_MODULE_NAME = AMBubbleTableViewController; - PRODUCT_NAME = AMBubbleTableViewController; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 136C4CA4DDB7ABB944EB994E12658199 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 029BE423EAC847B8BB408E24B6BC9469 /* Fabric.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 1D9F62645CDDCF2A5454674DA327F1CF /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 28C130472D3BB8EFF98D2D01EB42829F /* Socket.IO-Client-Swift.release.xcconfig */; - buildSettings = { - "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/Socket.IO-Client-Swift/Socket.IO-Client-Swift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.modulemap"; - PRODUCT_MODULE_NAME = SocketIO; - PRODUCT_NAME = SocketIO; - 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 = Release; - }; - 22D32AF034C58EC270CC064A7B6E81BC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AC4E84153A14DB6F379B8EE2365E73BF /* Pods-sampleiOSUITests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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"; - INFOPLIST_FILE = "Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.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; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 23AB9406BFD7DB3F346D708AB0854DE6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1CF6110A978A0418F3BF07BFD835C3A7 /* Pods-sampleiOS.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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"; - INFOPLIST_FILE = "Target Support Files/Pods-sampleiOS/Pods-sampleiOS-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-sampleiOS/Pods-sampleiOS.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; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 321193B06C5CE40AB19A8C4B0404A78A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3CE927DE0A421F5A52817D0E8F3EBA4B /* EnxRTCiOS.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 364A54C84287B7F9E6B0567FAE2123D6 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 49475F1EB78EBF638817179D632E4C79 /* Crashlytics.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 3A9EA29ED6921878E3F25F2AEACA9FB3 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0EC133FFC94281778B8C89C791D89F7A /* SVProgressHUD.debug.xcconfig */; - buildSettings = { - "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/SVProgressHUD/SVProgressHUD-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD.modulemap"; - PRODUCT_MODULE_NAME = SVProgressHUD; - PRODUCT_NAME = SVProgressHUD; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 45E8171F3B13294C1434863A6CD6D4D2 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3A278B5900D88EEE7372FB4D53F202D3 /* ReachabilitySwift.debug.xcconfig */; - buildSettings = { - "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/ReachabilitySwift/ReachabilitySwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap"; - PRODUCT_MODULE_NAME = Reachability; - PRODUCT_NAME = Reachability; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 63100E7FB306A7AC895987C32A971959 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CB725179344BB75AC608942ED403C0C9 /* Pods-sampleiOS.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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"; - INFOPLIST_FILE = "Target Support Files/Pods-sampleiOS/Pods-sampleiOS-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-sampleiOS/Pods-sampleiOS.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; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 7D1C3148E04D11C7008CD84EF3175388 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = E498C14625F3C3133D8E26BCD3961AB8 /* Pods-sampleiOSTests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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"; - INFOPLIST_FILE = "Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.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; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 8CF0358BA6EAF7473100FE266117DFEB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 535064341BAF2926D953D457E3731F83 /* Crashlytics.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 91B72A5203F70AADCCF5A39C74FBE8C4 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 871E725006C32076C5E9BDE86562FEB5 /* Pods-sampleiOSTests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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"; - INFOPLIST_FILE = "Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.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; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 9E406C6AAF85E580207CD97B0044DEAB /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_NAME = "$(TARGET_NAME)"; - STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Release; - }; - A4164CD4B607740A5698EF7C18689F31 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3915404CFDEB14ADC50A6627982B4B43 /* Socket.IO-Client-Swift.debug.xcconfig */; - buildSettings = { - "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/Socket.IO-Client-Swift/Socket.IO-Client-Swift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.modulemap"; - PRODUCT_MODULE_NAME = SocketIO; - PRODUCT_NAME = SocketIO; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - A7820FD7EE6096E4F7CC5ADCDF45F69D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 54CF951F4F7A0071C90938CDBA3E5D9C /* EnablexWebRTC.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - B482066CDA584030E12C994A97475F3E /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 579F759956607462DA5CC21D3799BC26 /* Pods-sampleiOSUITests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CLANG_ENABLE_OBJC_WEAK = NO; - "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"; - INFOPLIST_FILE = "Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.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; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - C751199EB6C0FEC905614408C738B527 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9197F93305F2076ECCF3F20938CA1544 /* AMBubbleTableViewController.release.xcconfig */; - buildSettings = { - "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/AMBubbleTableViewController/AMBubbleTableViewController-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.modulemap"; - PRODUCT_MODULE_NAME = AMBubbleTableViewController; - PRODUCT_NAME = AMBubbleTableViewController; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - C8E1CC87555CE7DCF674B75B95D0DB06 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 55D55859987E5517365BB33AD5CA77C3 /* EnxRTCiOS.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - DDDCC8F4F233D491F645F9B03FA9284A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 23FEAEC635C141D7E38E1AD291489FFD /* EnablexWebRTC.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - CLANG_ENABLE_OBJC_WEAK = NO; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - E31EFC6F53240C10ECAB2F7BE67DD13B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1DD18E89978D071CD957088FEB3F80CD /* Starscream.release.xcconfig */; - buildSettings = { - "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/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - E7C4E72588BA38523B53DEC049091E02 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1A45058DB9688420DCFA1B7601A3A3C3 /* SVProgressHUD.release.xcconfig */; - buildSettings = { - "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/SVProgressHUD/SVProgressHUD-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/SVProgressHUD/SVProgressHUD.modulemap"; - PRODUCT_MODULE_NAME = SVProgressHUD; - PRODUCT_NAME = SVProgressHUD; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - EACDDDC9C0F413718312E0A600371E1B /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 96F1AC650445CB078D6B702A737FD994 /* ReachabilitySwift.release.xcconfig */; - buildSettings = { - "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/ReachabilitySwift/ReachabilitySwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap"; - PRODUCT_MODULE_NAME = Reachability; - PRODUCT_NAME = Reachability; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - ECFECB5C7D9FB503BB49B7E53007DF4D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CCD59F36960A2A3BE6D49341C2AB2204 /* Starscream.debug.xcconfig */; - buildSettings = { - "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/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - F48AB92AD871E08E32D8265C0BCB615A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 401ABEC55FDA99118FD6A6637117B6CE /* Fabric.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 14DE1166A8B9C02D036523FB495E1984 /* Build configuration list for PBXNativeTarget "ReachabilitySwift" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 45E8171F3B13294C1434863A6CD6D4D2 /* Debug */, - EACDDDC9C0F413718312E0A600371E1B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2B8742AB5CD0DD22716A3CDF641B035B /* Build configuration list for PBXNativeTarget "Starscream" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - ECFECB5C7D9FB503BB49B7E53007DF4D /* Debug */, - E31EFC6F53240C10ECAB2F7BE67DD13B /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2FD49999DA0C737E43F6B26D46E2798D /* Build configuration list for PBXAggregateTarget "Crashlytics" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8CF0358BA6EAF7473100FE266117DFEB /* Debug */, - 364A54C84287B7F9E6B0567FAE2123D6 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 3B411CFC42F8CF35BACEF9D7C1770C89 /* Build configuration list for PBXNativeTarget "AMBubbleTableViewController" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 06A1F27EB39D907BCDB0E0248F969CB9 /* Debug */, - C751199EB6C0FEC905614408C738B527 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8DE5143C03248BB6CD542DE3963D6F3A /* Debug */, - 9E406C6AAF85E580207CD97B0044DEAB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 4CE908A09B04AEA00F562BF451DCD09D /* Build configuration list for PBXAggregateTarget "EnxRTCiOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - C8E1CC87555CE7DCF674B75B95D0DB06 /* Debug */, - 321193B06C5CE40AB19A8C4B0404A78A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 570A31F3EDE47541F8D26F34CAB8ED14 /* Build configuration list for PBXNativeTarget "Socket.IO-Client-Swift" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A4164CD4B607740A5698EF7C18689F31 /* Debug */, - 1D9F62645CDDCF2A5454674DA327F1CF /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 807FEF9D9629A72728B6B83F5CA12C85 /* Build configuration list for PBXNativeTarget "SVProgressHUD" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3A9EA29ED6921878E3F25F2AEACA9FB3 /* Debug */, - E7C4E72588BA38523B53DEC049091E02 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8E77DE8CB7E5D5FB51B4343A12FECC29 /* Build configuration list for PBXAggregateTarget "EnablexWebRTC" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A7820FD7EE6096E4F7CC5ADCDF45F69D /* Debug */, - DDDCC8F4F233D491F645F9B03FA9284A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D5CCCFB5B313E068241F80A27DE5E9C9 /* Build configuration list for PBXAggregateTarget "Fabric" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - F48AB92AD871E08E32D8265C0BCB615A /* Debug */, - 136C4CA4DDB7ABB944EB994E12658199 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D8AE6444CC975BCB44F6BA1B76AED780 /* Build configuration list for PBXNativeTarget "Pods-sampleiOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 91B72A5203F70AADCCF5A39C74FBE8C4 /* Debug */, - 7D1C3148E04D11C7008CD84EF3175388 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DA7EC43D2CB7774466F194FA932713E9 /* Build configuration list for PBXNativeTarget "Pods-sampleiOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 23AB9406BFD7DB3F346D708AB0854DE6 /* Debug */, - 63100E7FB306A7AC895987C32A971959 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F0768AD6B5FAB4352254B26205EF4ECF /* Build configuration list for PBXNativeTarget "Pods-sampleiOSUITests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 22D32AF034C58EC270CC064A7B6E81BC /* Debug */, - B482066CDA584030E12C994A97475F3E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; -} diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme deleted file mode 100644 index b3ba5c2..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Crashlytics.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Crashlytics.xcscheme deleted file mode 100644 index 7d03640..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Crashlytics.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Fabric.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Fabric.xcscheme deleted file mode 100644 index 19a0f4d..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Fabric.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/GoogleWebRTC.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/GoogleWebRTC.xcscheme deleted file mode 100644 index 5d9d5ba..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/GoogleWebRTC.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme deleted file mode 100644 index 9123424..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme deleted file mode 100644 index 9adf21f..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme deleted file mode 100644 index be69280..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme deleted file mode 100644 index 47900b9..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/SVProgressHUD.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/SVProgressHUD.xcscheme deleted file mode 100644 index 7da8a3a..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/SVProgressHUD.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme deleted file mode 100644 index c177629..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Starscream.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Starscream.xcscheme deleted file mode 100644 index 11105dc..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/Starscream.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/xcschememanagement.plist b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index e396696..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/daljeet.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,88 +0,0 @@ - - - - - SchemeUserState - - AMBubbleTableViewController.xcscheme - - isShown - - orderHint - 0 - - Crashlytics.xcscheme - - isShown - - orderHint - 1 - - Fabric.xcscheme - - isShown - - orderHint - 2 - - GoogleWebRTC.xcscheme - - isShown - - orderHint - 3 - - Pods-sampleiOS.xcscheme - - isShown - - orderHint - 4 - - Pods-sampleiOSTests.xcscheme - - isShown - - orderHint - 5 - - Pods-sampleiOSUITests.xcscheme - - isShown - - orderHint - 6 - - ReachabilitySwift.xcscheme - - isShown - - orderHint - 7 - - SVProgressHUD.xcscheme - - isShown - - orderHint - 10 - - Socket.IO-Client-Swift.xcscheme - - isShown - - orderHint - 8 - - Starscream.xcscheme - - isShown - - orderHint - 9 - - - SuppressBuildableAutocreation - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme deleted file mode 100644 index 96241c4..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Crashlytics.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Crashlytics.xcscheme deleted file mode 100644 index bb23335..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Crashlytics.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/EnablexWebRTC.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/EnablexWebRTC.xcscheme deleted file mode 100644 index 00948d4..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/EnablexWebRTC.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/EnxRTCiOS.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/EnxRTCiOS.xcscheme deleted file mode 100644 index a8f370c..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/EnxRTCiOS.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Fabric.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Fabric.xcscheme deleted file mode 100644 index acf3162..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Fabric.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme deleted file mode 100644 index 4604369..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme deleted file mode 100644 index 1499875..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme deleted file mode 100644 index b0671fc..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme deleted file mode 100644 index 6fdad7e..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/SVProgressHUD.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/SVProgressHUD.xcscheme deleted file mode 100644 index 04fe60a..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/SVProgressHUD.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme deleted file mode 100644 index 1c15fde..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Starscream.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Starscream.xcscheme deleted file mode 100644 index fdc17eb..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/Starscream.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index c0ad5ff..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,95 +0,0 @@ - - - - - SchemeUserState - - AMBubbleTableViewController.xcscheme - - isShown - - orderHint - 0 - - Crashlytics.xcscheme - - isShown - - orderHint - 1 - - EnablexWebRTC.xcscheme - - isShown - - orderHint - 2 - - EnxRTCiOS.xcscheme - - isShown - - orderHint - 3 - - Fabric.xcscheme - - isShown - - orderHint - 4 - - Pods-sampleiOS.xcscheme - - isShown - - orderHint - 5 - - Pods-sampleiOSTests.xcscheme - - isShown - - orderHint - 6 - - Pods-sampleiOSUITests.xcscheme - - isShown - - orderHint - 7 - - ReachabilitySwift.xcscheme - - isShown - - orderHint - 8 - - SVProgressHUD.xcscheme - - isShown - - orderHint - 11 - - Socket.IO-Client-Swift.xcscheme - - isShown - - orderHint - 9 - - Starscream.xcscheme - - isShown - - orderHint - 10 - - - SuppressBuildableAutocreation - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme deleted file mode 100644 index 651c781..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/AMBubbleTableViewController.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Crashlytics.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Crashlytics.xcscheme deleted file mode 100644 index a0e55e9..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Crashlytics.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/EnxRTCiOS.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/EnxRTCiOS.xcscheme deleted file mode 100644 index 7ee6813..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/EnxRTCiOS.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Fabric.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Fabric.xcscheme deleted file mode 100644 index 6bf09f1..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Fabric.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/GoogleWebRTC.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/GoogleWebRTC.xcscheme deleted file mode 100644 index 6bbd985..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/GoogleWebRTC.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme deleted file mode 100644 index 661a793..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOS.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme deleted file mode 100644 index e9049b1..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOSTests.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme deleted file mode 100644 index e6f5d39..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Pods-sampleiOSUITests.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme deleted file mode 100644 index 328a0cb..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/ReachabilitySwift.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/SVProgressHUD.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/SVProgressHUD.xcscheme deleted file mode 100644 index d2434a0..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/SVProgressHUD.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme deleted file mode 100644 index 645ddc6..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Socket.IO-Client-Swift.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Starscream.xcscheme b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Starscream.xcscheme deleted file mode 100644 index 2196372..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/Starscream.xcscheme +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist b/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 4d6f13c..0000000 --- a/sampleiOS/Pods/Pods.xcodeproj/xcuserdata/mac.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,95 +0,0 @@ - - - - - SchemeUserState - - AMBubbleTableViewController.xcscheme - - isShown - - orderHint - 0 - - Crashlytics.xcscheme - - isShown - - orderHint - 1 - - EnxRTCiOS.xcscheme - - isShown - - orderHint - 2 - - Fabric.xcscheme - - isShown - - orderHint - 3 - - GoogleWebRTC.xcscheme - - isShown - - orderHint - 4 - - Pods-sampleiOS.xcscheme - - isShown - - orderHint - 5 - - Pods-sampleiOSTests.xcscheme - - isShown - - orderHint - 6 - - Pods-sampleiOSUITests.xcscheme - - isShown - - orderHint - 7 - - ReachabilitySwift.xcscheme - - isShown - - orderHint - 8 - - SVProgressHUD.xcscheme - - isShown - - orderHint - 11 - - Socket.IO-Client-Swift.xcscheme - - isShown - - orderHint - 9 - - Starscream.xcscheme - - isShown - - orderHint - 10 - - - SuppressBuildableAutocreation - - - diff --git a/sampleiOS/Pods/ReachabilitySwift/LICENSE b/sampleiOS/Pods/ReachabilitySwift/LICENSE deleted file mode 100644 index 21caeda..0000000 --- a/sampleiOS/Pods/ReachabilitySwift/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2016 Ashley Mills - -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. diff --git a/sampleiOS/Pods/ReachabilitySwift/README.md b/sampleiOS/Pods/ReachabilitySwift/README.md deleted file mode 100644 index 578743c..0000000 --- a/sampleiOS/Pods/ReachabilitySwift/README.md +++ /dev/null @@ -1,162 +0,0 @@ -# Reachability.swift - -Reachability.swift is a replacement for Apple's Reachability sample, re-written in Swift with closures. - -It is compatible with **iOS** (8.0 - 12.0), **OSX** (10.9 - 10.14) and **tvOS** (9.0 - 12.0) - -Inspired by https://github.com/tonymillion/Reachability - -## Supporting **Reachability.swift** -Keeping **Reachability.swift** up-to-date is a time consuming task. Making updates, reviewing pull requests, responding to issues and answering emails all take time. - -If you're an iOS developer who's looking for a quick and easy way to create App Store screenshots, please try out my app [Screenshot Producer](https://itunes.apple.com/app/apple-store/id1252374855?pt=215893&ct=reachability&mt=8)… - - Devices | Layout | Copy | Localize | Export       -:------:|:------:|:------:|:------:|:------: -![](http://is2.mzstatic.com/image/thumb/Purple118/v4/64/af/55/64af55bc-2ef0-691c-f5f3-4963685f7f63/source/552x414bb.jpg) | ![](http://is4.mzstatic.com/image/thumb/Purple128/v4/fb/4c/bd/fb4cbd2f-dd04-22ba-4fdf-5ac652693fb8/source/552x414bb.jpg) | ![](http://is1.mzstatic.com/image/thumb/Purple118/v4/5a/4f/cf/5a4fcfdf-ca04-0307-9f2e-83178e8ad90d/source/552x414bb.jpg) | ![](http://is4.mzstatic.com/image/thumb/Purple128/v4/17/ea/56/17ea562e-e045-96e7-fcac-cfaaf4f499fd/source/552x414bb.jpg) | ![](http://is4.mzstatic.com/image/thumb/Purple118/v4/59/9e/dd/599edd50-f05c-f413-8e88-e614731fd828/source/552x414bb.jpg) - -And don't forget to **★** the repo. This increases its visibility and encourages others to contribute. - -Thanks -Ash - - -## Got a problem? - -Please read https://github.com/ashleymills/Reachability.swift/blob/master/CONTRIBUTING.md before raising an issue. - -## Installation -### Manual -Just drop the **Reachability.swift** file into your project. That's it! - -### CocoaPods -[CocoaPods][] is a dependency manager for Cocoa projects. To install Reachability.swift with CocoaPods: - - 1. Make sure CocoaPods is [installed][CocoaPods Installation]. - - 2. Update your Podfile to include the following: - - ``` ruby - use_frameworks! - pod 'ReachabilitySwift' - ``` - - 3. Run `pod install`. - -[CocoaPods]: https://cocoapods.org -[CocoaPods Installation]: https://guides.cocoapods.org/using/getting-started.html#getting-started - - 4. In your code import Reachability like so: - `import Reachability` - -### Carthage -[Carthage][] is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. -To install Reachability.swift with Carthage: - -1. Install Carthage via [Homebrew][] - ```bash - $ brew update - $ brew install carthage - ``` - -2. Add `github "ashleymills/Reachability.swift"` to your Cartfile. - -3. Run `carthage update`. - -4. Drag `Reachability.framework` from the `Carthage/Build/iOS/` directory to the `Linked Frameworks and Libraries` section of your Xcode project’s `General` settings. - -5. Add `$(SRCROOT)/Carthage/Build/iOS/Reachability.framework` to `Input Files` of Run Script Phase for Carthage. - -6. In your code import Reachability like so: -`import Reachability` - - -[Carthage]: https://github.com/Carthage/Carthage -[Homebrew]: http://brew.sh -[Photo Flipper]: https://itunes.apple.com/app/apple-store/id749627884?pt=215893&ct=GitHubReachability&mt=8 - -## Example - closures - -NOTE: All closures are run on the **main queue**. - -```swift -//declare this property where it won't go out of scope relative to your listener -let reachability = Reachability()! - -reachability.whenReachable = { reachability in - if reachability.connection == .wifi { - print("Reachable via WiFi") - } else { - print("Reachable via Cellular") - } -} -reachability.whenUnreachable = { _ in - print("Not reachable") -} - -do { - try reachability.startNotifier() -} catch { - print("Unable to start notifier") -} -``` - -and for stopping notifications - -```swift -reachability.stopNotifier() -``` - -## Example - notifications - -NOTE: All notifications are delivered on the **main queue**. - -```swift -//declare this property where it won't go out of scope relative to your listener -let reachability = Reachability()! - -//declare this inside of viewWillAppear - - NotificationCenter.default.addObserver(self, selector: #selector(reachabilityChanged(note:)), name: .reachabilityChanged, object: reachability) - do{ - try reachability.startNotifier() - }catch{ - print("could not start reachability notifier") - } -``` - -and - -```swift -@objc func reachabilityChanged(note: Notification) { - - let reachability = note.object as! Reachability - - switch reachability.connection { - case .wifi: - print("Reachable via WiFi") - case .cellular: - print("Reachable via Cellular") - case .unavailable: - print("Network not reachable") - } -} -``` - -and for stopping notifications - -```swift -reachability.stopNotifier() -NotificationCenter.default.removeObserver(self, name: .reachabilityChanged, object: reachability) -``` - -## Want to help? - -Got a bug fix, or a new feature? Create a pull request and go for it! - -## Let me know! - -If you use **Reachability.swift**, please let me know about your app and I'll put a link [here…](https://github.com/ashleymills/Reachability.swift/wiki/Apps-using-Reachability.swift) and tell your friends! - -Cheers, -Ash diff --git a/sampleiOS/Pods/ReachabilitySwift/Sources/Reachability.swift b/sampleiOS/Pods/ReachabilitySwift/Sources/Reachability.swift deleted file mode 100644 index 6c8ffa2..0000000 --- a/sampleiOS/Pods/ReachabilitySwift/Sources/Reachability.swift +++ /dev/null @@ -1,406 +0,0 @@ -/* -Copyright (c) 2014, Ashley Mills -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation -and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -*/ - -import SystemConfiguration -import Foundation - -public enum ReachabilityError: Error { - case failedToCreateWithAddress(sockaddr, Int32) - case failedToCreateWithHostname(String, Int32) - case unableToSetCallback(Int32) - case unableToSetDispatchQueue(Int32) - case unableToGetFlags(Int32) -} - -@available(*, unavailable, renamed: "Notification.Name.reachabilityChanged") -public let ReachabilityChangedNotification = NSNotification.Name("ReachabilityChangedNotification") - -public extension Notification.Name { - static let reachabilityChanged = Notification.Name("reachabilityChanged") -} - -public class Reachability { - - public typealias NetworkReachable = (Reachability) -> () - public typealias NetworkUnreachable = (Reachability) -> () - - @available(*, unavailable, renamed: "Connection") - public enum NetworkStatus: CustomStringConvertible { - case notReachable, reachableViaWiFi, reachableViaWWAN - public var description: String { - switch self { - case .reachableViaWWAN: return "Cellular" - case .reachableViaWiFi: return "WiFi" - case .notReachable: return "No Connection" - } - } - } - - public enum Connection: CustomStringConvertible { - @available(*, deprecated, renamed: "unavailable") - case none - case unavailable, wifi, cellular - public var description: String { - switch self { - case .cellular: return "Cellular" - case .wifi: return "WiFi" - case .unavailable: return "No Connection" - case .none: return "unavailable" - } - } - } - - public var whenReachable: NetworkReachable? - public var whenUnreachable: NetworkUnreachable? - - @available(*, deprecated, renamed: "allowsCellularConnection") - public let reachableOnWWAN: Bool = true - - /// Set to `false` to force Reachability.connection to .none when on cellular connection (default value `true`) - public var allowsCellularConnection: Bool - - // The notification center on which "reachability changed" events are being posted - public var notificationCenter: NotificationCenter = NotificationCenter.default - - @available(*, deprecated, renamed: "connection.description") - public var currentReachabilityString: String { - return "\(connection)" - } - - @available(*, unavailable, renamed: "connection") - public var currentReachabilityStatus: Connection { - return connection - } - - public var connection: Connection { - if flags == nil { - try? setReachabilityFlags() - } - - switch flags?.connection { - case .unavailable?, nil: return .unavailable - case .none?: return .unavailable - case .cellular?: return allowsCellularConnection ? .cellular : .unavailable - case .wifi?: return .wifi - } - } - - fileprivate var isRunningOnDevice: Bool = { - #if targetEnvironment(simulator) - return false - #else - return true - #endif - }() - - fileprivate(set) var notifierRunning = false - fileprivate let reachabilityRef: SCNetworkReachability - fileprivate let reachabilitySerialQueue: DispatchQueue - fileprivate let notificationQueue: DispatchQueue? - fileprivate(set) var flags: SCNetworkReachabilityFlags? { - didSet { - guard flags != oldValue else { return } - notifyReachabilityChanged() - } - } - - required public init(reachabilityRef: SCNetworkReachability, - queueQoS: DispatchQoS = .default, - targetQueue: DispatchQueue? = nil, - notificationQueue: DispatchQueue? = .main) { - self.allowsCellularConnection = true - self.reachabilityRef = reachabilityRef - self.reachabilitySerialQueue = DispatchQueue(label: "uk.co.ashleymills.reachability", qos: queueQoS, target: targetQueue) - self.notificationQueue = notificationQueue - } - - public convenience init(hostname: String, - queueQoS: DispatchQoS = .default, - targetQueue: DispatchQueue? = nil, - notificationQueue: DispatchQueue? = .main) throws { - guard let ref = SCNetworkReachabilityCreateWithName(nil, hostname) else { - throw ReachabilityError.failedToCreateWithHostname(hostname, SCError()) - } - self.init(reachabilityRef: ref, queueQoS: queueQoS, targetQueue: targetQueue, notificationQueue: notificationQueue) - } - - public convenience init(queueQoS: DispatchQoS = .default, - targetQueue: DispatchQueue? = nil, - notificationQueue: DispatchQueue? = .main) throws { - var zeroAddress = sockaddr() - zeroAddress.sa_len = UInt8(MemoryLayout.size) - zeroAddress.sa_family = sa_family_t(AF_INET) - - guard let ref = SCNetworkReachabilityCreateWithAddress(nil, &zeroAddress) else { - throw ReachabilityError.failedToCreateWithAddress(zeroAddress, SCError()) - } - - self.init(reachabilityRef: ref, queueQoS: queueQoS, targetQueue: targetQueue, notificationQueue: notificationQueue) - } - - deinit { - stopNotifier() - } -} - -public extension Reachability { - - // MARK: - *** Notifier methods *** - func startNotifier() throws { - guard !notifierRunning else { return } - - let callback: SCNetworkReachabilityCallBack = { (reachability, flags, info) in - guard let info = info else { return } - - // `weakifiedReachability` is guaranteed to exist by virtue of our - // retain/release callbacks which we provided to the `SCNetworkReachabilityContext`. - let weakifiedReachability = Unmanaged.fromOpaque(info).takeUnretainedValue() - - // The weak `reachability` _may_ no longer exist if the `Reachability` - // object has since been deallocated but a callback was already in flight. - weakifiedReachability.reachability?.flags = flags - } - - let weakifiedReachability = ReachabilityWeakifier(reachability: self) - let opaqueWeakifiedReachability = Unmanaged.passUnretained(weakifiedReachability).toOpaque() - - var context = SCNetworkReachabilityContext( - version: 0, - info: UnsafeMutableRawPointer(opaqueWeakifiedReachability), - retain: { (info: UnsafeRawPointer) -> UnsafeRawPointer in - let unmanagedWeakifiedReachability = Unmanaged.fromOpaque(info) - _ = unmanagedWeakifiedReachability.retain() - return UnsafeRawPointer(unmanagedWeakifiedReachability.toOpaque()) - }, - release: { (info: UnsafeRawPointer) -> Void in - let unmanagedWeakifiedReachability = Unmanaged.fromOpaque(info) - unmanagedWeakifiedReachability.release() - }, - copyDescription: { (info: UnsafeRawPointer) -> Unmanaged in - let unmanagedWeakifiedReachability = Unmanaged.fromOpaque(info) - let weakifiedReachability = unmanagedWeakifiedReachability.takeUnretainedValue() - let description = weakifiedReachability.reachability?.description ?? "nil" - return Unmanaged.passRetained(description as CFString) - } - ) - - if !SCNetworkReachabilitySetCallback(reachabilityRef, callback, &context) { - stopNotifier() - throw ReachabilityError.unableToSetCallback(SCError()) - } - - if !SCNetworkReachabilitySetDispatchQueue(reachabilityRef, reachabilitySerialQueue) { - stopNotifier() - throw ReachabilityError.unableToSetDispatchQueue(SCError()) - } - - // Perform an initial check - try setReachabilityFlags() - - notifierRunning = true - } - - func stopNotifier() { - defer { notifierRunning = false } - - SCNetworkReachabilitySetCallback(reachabilityRef, nil, nil) - SCNetworkReachabilitySetDispatchQueue(reachabilityRef, nil) - } - - // MARK: - *** Connection test methods *** - @available(*, deprecated, message: "Please use `connection != .none`") - var isReachable: Bool { - return connection != .unavailable - } - - @available(*, deprecated, message: "Please use `connection == .cellular`") - var isReachableViaWWAN: Bool { - // Check we're not on the simulator, we're REACHABLE and check we're on WWAN - return connection == .cellular - } - - @available(*, deprecated, message: "Please use `connection == .wifi`") - var isReachableViaWiFi: Bool { - return connection == .wifi - } - - var description: String { - return flags?.description ?? "unavailable flags" - } -} - -fileprivate extension Reachability { - - func setReachabilityFlags() throws { - try reachabilitySerialQueue.sync { [unowned self] in - var flags = SCNetworkReachabilityFlags() - if !SCNetworkReachabilityGetFlags(self.reachabilityRef, &flags) { - self.stopNotifier() - throw ReachabilityError.unableToGetFlags(SCError()) - } - - self.flags = flags - } - } - - - func notifyReachabilityChanged() { - let notify = { [weak self] in - guard let self = self else { return } - self.connection != .unavailable ? self.whenReachable?(self) : self.whenUnreachable?(self) - self.notificationCenter.post(name: .reachabilityChanged, object: self) - } - - // notify on the configured `notificationQueue`, or the caller's (i.e. `reachabilitySerialQueue`) - notificationQueue?.async(execute: notify) ?? notify() - } -} - -extension SCNetworkReachabilityFlags { - - typealias Connection = Reachability.Connection - - var connection: Connection { - guard isReachableFlagSet else { return .unavailable } - - // If we're reachable, but not on an iOS device (i.e. simulator), we must be on WiFi - #if targetEnvironment(simulator) - return .wifi - #else - var connection = Connection.unavailable - - if !isConnectionRequiredFlagSet { - connection = .wifi - } - - if isConnectionOnTrafficOrDemandFlagSet { - if !isInterventionRequiredFlagSet { - connection = .wifi - } - } - - if isOnWWANFlagSet { - connection = .cellular - } - - return connection - #endif - } - - var isOnWWANFlagSet: Bool { - #if os(iOS) - return contains(.isWWAN) - #else - return false - #endif - } - var isReachableFlagSet: Bool { - return contains(.reachable) - } - var isConnectionRequiredFlagSet: Bool { - return contains(.connectionRequired) - } - var isInterventionRequiredFlagSet: Bool { - return contains(.interventionRequired) - } - var isConnectionOnTrafficFlagSet: Bool { - return contains(.connectionOnTraffic) - } - var isConnectionOnDemandFlagSet: Bool { - return contains(.connectionOnDemand) - } - var isConnectionOnTrafficOrDemandFlagSet: Bool { - return !intersection([.connectionOnTraffic, .connectionOnDemand]).isEmpty - } - var isTransientConnectionFlagSet: Bool { - return contains(.transientConnection) - } - var isLocalAddressFlagSet: Bool { - return contains(.isLocalAddress) - } - var isDirectFlagSet: Bool { - return contains(.isDirect) - } - var isConnectionRequiredAndTransientFlagSet: Bool { - return intersection([.connectionRequired, .transientConnection]) == [.connectionRequired, .transientConnection] - } - - var description: String { - let W = isOnWWANFlagSet ? "W" : "-" - let R = isReachableFlagSet ? "R" : "-" - let c = isConnectionRequiredFlagSet ? "c" : "-" - let t = isTransientConnectionFlagSet ? "t" : "-" - let i = isInterventionRequiredFlagSet ? "i" : "-" - let C = isConnectionOnTrafficFlagSet ? "C" : "-" - let D = isConnectionOnDemandFlagSet ? "D" : "-" - let l = isLocalAddressFlagSet ? "l" : "-" - let d = isDirectFlagSet ? "d" : "-" - - return "\(W)\(R) \(c)\(t)\(i)\(C)\(D)\(l)\(d)" - } -} - -/** - `ReachabilityWeakifier` weakly wraps the `Reachability` class - in order to break retain cycles when interacting with CoreFoundation. - - CoreFoundation callbacks expect a pair of retain/release whenever an - opaque `info` parameter is provided. These callbacks exist to guard - against memory management race conditions when invoking the callbacks. - - #### Race Condition - - If we passed `SCNetworkReachabilitySetCallback` a direct reference to our - `Reachability` class without also providing corresponding retain/release - callbacks, then a race condition can lead to crashes when: - - `Reachability` is deallocated on thread X - - A `SCNetworkReachability` callback(s) is already in flight on thread Y - - #### Retain Cycle - - If we pass `Reachability` to CoreFoundtion while also providing retain/ - release callbacks, we would create a retain cycle once CoreFoundation - retains our `Reachability` class. This fixes the crashes and his how - CoreFoundation expects the API to be used, but doesn't play nicely with - Swift/ARC. This cycle would only be broken after manually calling - `stopNotifier()` — `deinit` would never be called. - - #### ReachabilityWeakifier - - By providing both retain/release callbacks and wrapping `Reachability` in - a weak wrapper, we: - - interact correctly with CoreFoundation, thereby avoiding a crash. - See "Memory Management Programming Guide for Core Foundation". - - don't alter the public API of `Reachability.swift` in any way - - still allow for automatic stopping of the notifier on `deinit`. - */ -private class ReachabilityWeakifier { - weak var reachability: Reachability? - init(reachability: Reachability) { - self.reachability = reachability - } -} diff --git a/sampleiOS/Pods/SVProgressHUD/LICENSE b/sampleiOS/Pods/SVProgressHUD/LICENSE deleted file mode 100755 index f8c911b..0000000 --- a/sampleiOS/Pods/SVProgressHUD/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2011-2018 Sam Vermette, Tobias Tiemerding and contributors. - -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. diff --git a/sampleiOS/Pods/SVProgressHUD/README.md b/sampleiOS/Pods/SVProgressHUD/README.md deleted file mode 100755 index a9ce9e0..0000000 --- a/sampleiOS/Pods/SVProgressHUD/README.md +++ /dev/null @@ -1,218 +0,0 @@ -# SVProgressHUD - -![Pod Version](https://img.shields.io/cocoapods/v/SVProgressHUD.svg?style=flat) -![Pod Platform](https://img.shields.io/cocoapods/p/SVProgressHUD.svg?style=flat) -![Pod License](https://img.shields.io/cocoapods/l/SVProgressHUD.svg?style=flat) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-green.svg?style=flat)](https://github.com/Carthage/Carthage) -[![CocoaPods compatible](https://img.shields.io/badge/CocoaPods-compatible-green.svg?style=flat)](https://cocoapods.org) - -`SVProgressHUD` is a clean and easy-to-use HUD meant to display the progress of an ongoing task on iOS and tvOS. - -![SVProgressHUD](http://f.cl.ly/items/2G1F1Z0M0k0h2U3V1p39/SVProgressHUD.gif) - -## Demo - -Try `SVProgressHUD` on [Appetize.io](https://appetize.io/app/p8r2cvy8kq74x7q7tjqf5gyatr). - -## Installation - -### From CocoaPods - -[CocoaPods](http://cocoapods.org) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like `SVProgressHUD` in your projects. First, add the following line to your [Podfile](http://guides.cocoapods.org/using/using-cocoapods.html): - -```ruby -pod 'SVProgressHUD' -``` - -If you want to use the latest features of `SVProgressHUD` use normal external source dependencies. - -```ruby -pod 'SVProgressHUD', :git => 'https://github.com/SVProgressHUD/SVProgressHUD.git' -``` - -This pulls from the `master` branch directly. - -Second, install `SVProgressHUD` into your project: - -```ruby -pod install -``` - -### Carthage - -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate `SVProgressHUD` into your Xcode project using Carthage, specify it in your `Cartfile`: - -```ogdl -github "SVProgressHUD/SVProgressHUD" -``` - -Run `carthage bootstrap` to build the framework in your repository's Carthage directory. You can then include it in your target's `carthage copy-frameworks` build phase. For more information on this, please see [Carthage's documentation](https://github.com/carthage/carthage#if-youre-building-for-ios-tvos-or-watchos). - -### Manually - -* Drag the `SVProgressHUD/SVProgressHUD` folder into your project. -* Take care that `SVProgressHUD.bundle` is added to `Targets->Build Phases->Copy Bundle Resources`. -* Add the **QuartzCore** framework to your project. - -## Swift - -Even though `SVProgressHUD` is written in Objective-C, it can be used in Swift with no hassle. If you use [CocoaPods](http://cocoapods.org) add the following line to your [Podfile](http://guides.cocoapods.org/using/using-cocoapods.html): - -```ruby -use_frameworks! -``` - -If you added `SVProgressHUD` manually, just add a [bridging header](https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html) file to your project with the `SVProgressHUD` header included. - -## Usage - -(see sample Xcode project in `/Demo`) - -`SVProgressHUD` is created as a singleton (i.e. it doesn't need to be explicitly allocated and instantiated; you directly call `[SVProgressHUD method]`). - -**Use `SVProgressHUD` wisely! Only use it if you absolutely need to perform a task before taking the user forward. Bad use case examples: pull to refresh, infinite scrolling, sending message.** - -Using `SVProgressHUD` in your app will usually look as simple as this (using Grand Central Dispatch): - -```objective-c -[SVProgressHUD show]; -dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - // time-consuming task - dispatch_async(dispatch_get_main_queue(), ^{ - [SVProgressHUD dismiss]; - }); -}); -``` - -### Showing the HUD - -You can show the status of indeterminate tasks using one of the following: - -```objective-c -+ (void)show; -+ (void)showWithStatus:(NSString*)string; -``` - -If you'd like the HUD to reflect the progress of a task, use one of these: - -```objective-c -+ (void)showProgress:(CGFloat)progress; -+ (void)showProgress:(CGFloat)progress status:(NSString*)status; -``` - -### Dismissing the HUD - -The HUD can be dismissed using: - -```objective-c -+ (void)dismiss; -+ (void)dismissWithDelay:(NSTimeInterval)delay; -``` - -If you'd like to stack HUDs, you can balance out every show call using: - -``` -+ (void)popActivity; -``` - -The HUD will get dismissed once the popActivity calls will match the number of show calls. - -Or show a confirmation glyph before before getting dismissed a little bit later. The display time depends on `minimumDismissTimeInterval` and the length of the given string. - -```objective-c -+ (void)showInfoWithStatus:(NSString*)string; -+ (void)showSuccessWithStatus:(NSString*)string; -+ (void)showErrorWithStatus:(NSString*)string; -+ (void)showImage:(UIImage*)image status:(NSString*)string; -``` - -## Customization - -`SVProgressHUD` can be customized via the following methods: - -```objective-c -+ (void)setDefaultStyle:(SVProgressHUDStyle)style; // default is SVProgressHUDStyleLight -+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType; // default is SVProgressHUDMaskTypeNone -+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type; // default is SVProgressHUDAnimationTypeFlat -+ (void)setContainerView:(UIView*)containerView; // default is window level -+ (void)setMinimumSize:(CGSize)minimumSize; // default is CGSizeZero, can be used to avoid resizing -+ (void)setRingThickness:(CGFloat)width; // default is 2 pt -+ (void)setRingRadius:(CGFloat)radius; // default is 18 pt -+ (void)setRingNoTextRadius:(CGFloat)radius; // default is 24 pt -+ (void)setCornerRadius:(CGFloat)cornerRadius; // default is 14 pt -+ (void)setBorderColor:(nonnull UIColor*)color; // default is nil -+ (void)setBorderWidth:(CGFloat)width; // default is 0 -+ (void)setFont:(UIFont*)font; // default is [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline] -+ (void)setForegroundColor:(UIColor*)color; // default is [UIColor blackColor], only used for SVProgressHUDStyleCustom -+ (void)setBackgroundColor:(UIColor*)color; // default is [UIColor whiteColor], only used for SVProgressHUDStyleCustom -+ (void)setBackgroundLayerColor:(UIColor*)color; // default is [UIColor colorWithWhite:0 alpha:0.4], only used for SVProgressHUDMaskTypeCustom -+ (void)setImageViewSize:(CGSize)size; // default is 28x28 pt -+ (void)setShouldTintImages:(BOOL)shouldTintImages; // default is YES -+ (void)setInfoImage:(UIImage*)image; // default is the bundled info image provided by Freepik -+ (void)setSuccessImage:(UIImage*)image; // default is bundled success image from Freepik -+ (void)setErrorImage:(UIImage*)image; // default is bundled error image from Freepik -+ (void)setViewForExtension:(UIView*)view; // default is nil, only used if #define SV_APP_EXTENSIONS is set -+ (void)setGraceTimeInterval:(NSTimeInterval)interval; // default is 0 seconds -+ (void)setMinimumDismissTimeInterval:(NSTimeInterval)interval; // default is 5.0 seconds -+ (void)setMaximumDismissTimeInterval:(NSTimeInterval)interval; // default is CGFLOAT_MAX -+ (void)setFadeInAnimationDuration:(NSTimeInterval)duration; // default is 0.15 seconds -+ (void)setFadeOutAnimationDuration:(NSTimeInterval)duration; // default is 0.15 seconds -+ (void)setMaxSupportedWindowLevel:(UIWindowLevel)windowLevel; // default is UIWindowLevelNormal -+ (void)setHapticsEnabled:(BOOL)hapticsEnabled; // default is NO -``` - -Additionally `SVProgressHUD` supports the `UIAppearance` protocol for most of the above methods. - -### Hint - -As standard `SVProgressHUD` offers two preconfigured styles: - -* `SVProgressHUDStyleLight`: White background with black spinner and text -* `SVProgressHUDStyleDark`: Black background with white spinner and text - -If you want to use custom colors use `setForegroundColor` and `setBackgroundColor:`. These implicitly set the HUD's style to `SVProgressHUDStyleCustom`. - -## Haptic Feedback - -For users with newer devices (starting with the iPhone 7), `SVProgressHUD` can automatically trigger haptic feedback depending on which HUD is being displayed. The feedback maps as follows: - -* `showSuccessWithStatus:` <-> `UINotificationFeedbackTypeSuccess` -* `showInfoWithStatus:` <-> `UINotificationFeedbackTypeWarning` -* `showErrorWithStatus:` <-> `UINotificationFeedbackTypeError` - -To enable this functionality, use `setHapticsEnabled:`. - -Users with devices prior to iPhone 7 will have no change in functionality. - -## Notifications - -`SVProgressHUD` posts four notifications via `NSNotificationCenter` in response to being shown/dismissed: -* `SVProgressHUDWillAppearNotification` when the show animation starts -* `SVProgressHUDDidAppearNotification` when the show animation completes -* `SVProgressHUDWillDisappearNotification` when the dismiss animation starts -* `SVProgressHUDDidDisappearNotification` when the dismiss animation completes - -Each notification passes a `userInfo` dictionary holding the HUD's status string (if any), retrievable via `SVProgressHUDStatusUserInfoKey`. - -`SVProgressHUD` also posts `SVProgressHUDDidReceiveTouchEventNotification` when users touch on the overall screen or `SVProgressHUDDidTouchDownInsideNotification` when a user touches on the HUD directly. For this notifications `userInfo` is not passed but the object parameter contains the `UIEvent` that related to the touch. - -## App Extensions - -When using `SVProgressHUD` in an App Extension, `#define SV_APP_EXTENSIONS` to avoid using unavailable APIs. Additionally call `setViewForExtension:` from your extensions view controller with `self.view`. - -## Contributing to this project - -If you have feature requests or bug reports, feel free to help out by sending pull requests or by [creating new issues](https://github.com/SVProgressHUD/SVProgressHUD/issues/new). Please take a moment to -review the guidelines written by [Nicolas Gallagher](https://github.com/necolas): - -* [Bug reports](https://github.com/necolas/issue-guidelines/blob/master/CONTRIBUTING.md#bugs) -* [Feature requests](https://github.com/necolas/issue-guidelines/blob/master/CONTRIBUTING.md#features) -* [Pull requests](https://github.com/necolas/issue-guidelines/blob/master/CONTRIBUTING.md#pull-requests) - -## License - -`SVProgressHUD` is distributed under the terms and conditions of the [MIT license](https://github.com/SVProgressHUD/SVProgressHUD/blob/master/LICENSE.txt). The success, error and info icons are made by [Freepik](http://www.freepik.com) from [Flaticon](http://www.flaticon.com) and are licensed under [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/). - -## Credits - -`SVProgressHUD` is brought to you by [Sam Vermette](http://samvermette.com), [Tobias Tiemerding](http://tiemerding.com) and [contributors to the project](https://github.com/SVProgressHUD/SVProgressHUD/contributors). If you're using `SVProgressHUD` in your project, attribution would be very appreciated. diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h deleted file mode 100755 index b624dd0..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// SVIndefiniteAnimatedView.h -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2014-2018 Guillaume Campagna. All rights reserved. -// - -#import - -@interface SVIndefiniteAnimatedView : UIView - -@property (nonatomic, assign) CGFloat strokeThickness; -@property (nonatomic, assign) CGFloat radius; -@property (nonatomic, strong) UIColor *strokeColor; - -@end - diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m deleted file mode 100755 index 09a38d0..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVIndefiniteAnimatedView.m +++ /dev/null @@ -1,137 +0,0 @@ -// -// SVIndefiniteAnimatedView.m -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2014-2018 Guillaume Campagna. All rights reserved. -// - -#import "SVIndefiniteAnimatedView.h" -#import "SVProgressHUD.h" - -@interface SVIndefiniteAnimatedView () - -@property (nonatomic, strong) CAShapeLayer *indefiniteAnimatedLayer; - -@end - -@implementation SVIndefiniteAnimatedView - -- (void)willMoveToSuperview:(UIView*)newSuperview { - if (newSuperview) { - [self layoutAnimatedLayer]; - } else { - [_indefiniteAnimatedLayer removeFromSuperlayer]; - _indefiniteAnimatedLayer = nil; - } -} - -- (void)layoutAnimatedLayer { - CALayer *layer = self.indefiniteAnimatedLayer; - [self.layer addSublayer:layer]; - - CGFloat widthDiff = CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds); - CGFloat heightDiff = CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds); - layer.position = CGPointMake(CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds) / 2 - widthDiff / 2, CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds) / 2 - heightDiff / 2); -} - -- (CAShapeLayer*)indefiniteAnimatedLayer { - if(!_indefiniteAnimatedLayer) { - CGPoint arcCenter = CGPointMake(self.radius+self.strokeThickness/2+5, self.radius+self.strokeThickness/2+5); - UIBezierPath* smoothedPath = [UIBezierPath bezierPathWithArcCenter:arcCenter radius:self.radius startAngle:(CGFloat) (M_PI*3/2) endAngle:(CGFloat) (M_PI/2+M_PI*5) clockwise:YES]; - - _indefiniteAnimatedLayer = [CAShapeLayer layer]; - _indefiniteAnimatedLayer.contentsScale = [[UIScreen mainScreen] scale]; - _indefiniteAnimatedLayer.frame = CGRectMake(0.0f, 0.0f, arcCenter.x*2, arcCenter.y*2); - _indefiniteAnimatedLayer.fillColor = [UIColor clearColor].CGColor; - _indefiniteAnimatedLayer.strokeColor = self.strokeColor.CGColor; - _indefiniteAnimatedLayer.lineWidth = self.strokeThickness; - _indefiniteAnimatedLayer.lineCap = kCALineCapRound; - _indefiniteAnimatedLayer.lineJoin = kCALineJoinBevel; - _indefiniteAnimatedLayer.path = smoothedPath.CGPath; - - CALayer *maskLayer = [CALayer layer]; - - NSBundle *bundle = [NSBundle bundleForClass:[SVProgressHUD class]]; - NSURL *url = [bundle URLForResource:@"SVProgressHUD" withExtension:@"bundle"]; - NSBundle *imageBundle = [NSBundle bundleWithURL:url]; - - NSString *path = [imageBundle pathForResource:@"angle-mask" ofType:@"png"]; - - maskLayer.contents = (__bridge id)[[UIImage imageWithContentsOfFile:path] CGImage]; - maskLayer.frame = _indefiniteAnimatedLayer.bounds; - _indefiniteAnimatedLayer.mask = maskLayer; - - NSTimeInterval animationDuration = 1; - CAMediaTimingFunction *linearCurve = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; - - CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; - animation.fromValue = (id) 0; - animation.toValue = @(M_PI*2); - animation.duration = animationDuration; - animation.timingFunction = linearCurve; - animation.removedOnCompletion = NO; - animation.repeatCount = INFINITY; - animation.fillMode = kCAFillModeForwards; - animation.autoreverses = NO; - [_indefiniteAnimatedLayer.mask addAnimation:animation forKey:@"rotate"]; - - CAAnimationGroup *animationGroup = [CAAnimationGroup animation]; - animationGroup.duration = animationDuration; - animationGroup.repeatCount = INFINITY; - animationGroup.removedOnCompletion = NO; - animationGroup.timingFunction = linearCurve; - - CABasicAnimation *strokeStartAnimation = [CABasicAnimation animationWithKeyPath:@"strokeStart"]; - strokeStartAnimation.fromValue = @0.015; - strokeStartAnimation.toValue = @0.515; - - CABasicAnimation *strokeEndAnimation = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; - strokeEndAnimation.fromValue = @0.485; - strokeEndAnimation.toValue = @0.985; - - animationGroup.animations = @[strokeStartAnimation, strokeEndAnimation]; - [_indefiniteAnimatedLayer addAnimation:animationGroup forKey:@"progress"]; - - } - return _indefiniteAnimatedLayer; -} - -- (void)setFrame:(CGRect)frame { - if(!CGRectEqualToRect(frame, super.frame)) { - [super setFrame:frame]; - - if(self.superview) { - [self layoutAnimatedLayer]; - } - } - -} - -- (void)setRadius:(CGFloat)radius { - if(radius != _radius) { - _radius = radius; - - [_indefiniteAnimatedLayer removeFromSuperlayer]; - _indefiniteAnimatedLayer = nil; - - if(self.superview) { - [self layoutAnimatedLayer]; - } - } -} - -- (void)setStrokeColor:(UIColor*)strokeColor { - _strokeColor = strokeColor; - _indefiniteAnimatedLayer.strokeColor = strokeColor.CGColor; -} - -- (void)setStrokeThickness:(CGFloat)strokeThickness { - _strokeThickness = strokeThickness; - _indefiniteAnimatedLayer.lineWidth = _strokeThickness; -} - -- (CGSize)sizeThatFits:(CGSize)size { - return CGSizeMake((self.radius+self.strokeThickness/2+5)*2, (self.radius+self.strokeThickness/2+5)*2); -} - -@end diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h deleted file mode 100755 index 6de23b4..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// SVProgressAnimatedView.h -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2017-2018 Tobias Tiemerding. All rights reserved. -// - -#import - -@interface SVProgressAnimatedView : UIView - -@property (nonatomic, assign) CGFloat radius; -@property (nonatomic, assign) CGFloat strokeThickness; -@property (nonatomic, strong) UIColor *strokeColor; -@property (nonatomic, assign) CGFloat strokeEnd; - -@end diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m deleted file mode 100755 index a347c85..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressAnimatedView.m +++ /dev/null @@ -1,96 +0,0 @@ -// -// SVProgressAnimatedView.m -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2017-2018 Tobias Tiemerding. All rights reserved. -// - -#import "SVProgressAnimatedView.h" - -@interface SVProgressAnimatedView () - -@property (nonatomic, strong) CAShapeLayer *ringAnimatedLayer; - -@end - -@implementation SVProgressAnimatedView - -- (void)willMoveToSuperview:(UIView*)newSuperview { - if (newSuperview) { - [self layoutAnimatedLayer]; - } else { - [_ringAnimatedLayer removeFromSuperlayer]; - _ringAnimatedLayer = nil; - } -} - -- (void)layoutAnimatedLayer { - CALayer *layer = self.ringAnimatedLayer; - [self.layer addSublayer:layer]; - - CGFloat widthDiff = CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds); - CGFloat heightDiff = CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds); - layer.position = CGPointMake(CGRectGetWidth(self.bounds) - CGRectGetWidth(layer.bounds) / 2 - widthDiff / 2, CGRectGetHeight(self.bounds) - CGRectGetHeight(layer.bounds) / 2 - heightDiff / 2); -} - -- (CAShapeLayer*)ringAnimatedLayer { - if(!_ringAnimatedLayer) { - CGPoint arcCenter = CGPointMake(self.radius+self.strokeThickness/2+5, self.radius+self.strokeThickness/2+5); - UIBezierPath* smoothedPath = [UIBezierPath bezierPathWithArcCenter:arcCenter radius:self.radius startAngle:(CGFloat)-M_PI_2 endAngle:(CGFloat) (M_PI + M_PI_2) clockwise:YES]; - - _ringAnimatedLayer = [CAShapeLayer layer]; - _ringAnimatedLayer.contentsScale = [[UIScreen mainScreen] scale]; - _ringAnimatedLayer.frame = CGRectMake(0.0f, 0.0f, arcCenter.x*2, arcCenter.y*2); - _ringAnimatedLayer.fillColor = [UIColor clearColor].CGColor; - _ringAnimatedLayer.strokeColor = self.strokeColor.CGColor; - _ringAnimatedLayer.lineWidth = self.strokeThickness; - _ringAnimatedLayer.lineCap = kCALineCapRound; - _ringAnimatedLayer.lineJoin = kCALineJoinBevel; - _ringAnimatedLayer.path = smoothedPath.CGPath; - } - return _ringAnimatedLayer; -} - -- (void)setFrame:(CGRect)frame { - if(!CGRectEqualToRect(frame, super.frame)) { - [super setFrame:frame]; - - if(self.superview) { - [self layoutAnimatedLayer]; - } - } -} - -- (void)setRadius:(CGFloat)radius { - if(radius != _radius) { - _radius = radius; - - [_ringAnimatedLayer removeFromSuperlayer]; - _ringAnimatedLayer = nil; - - if(self.superview) { - [self layoutAnimatedLayer]; - } - } -} - -- (void)setStrokeColor:(UIColor*)strokeColor { - _strokeColor = strokeColor; - _ringAnimatedLayer.strokeColor = strokeColor.CGColor; -} - -- (void)setStrokeThickness:(CGFloat)strokeThickness { - _strokeThickness = strokeThickness; - _ringAnimatedLayer.lineWidth = _strokeThickness; -} - -- (void)setStrokeEnd:(CGFloat)strokeEnd { - _strokeEnd = strokeEnd; - _ringAnimatedLayer.strokeEnd = _strokeEnd; -} - -- (CGSize)sizeThatFits:(CGSize)size { - return CGSizeMake((self.radius+self.strokeThickness/2+5)*2, (self.radius+self.strokeThickness/2+5)*2); -} - -@end diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png deleted file mode 100755 index 0150a03..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png deleted file mode 100755 index 9a302b6..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png deleted file mode 100755 index d07f3ce..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/angle-mask@3x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png deleted file mode 100755 index a57c8e4..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png deleted file mode 100755 index aaf6798..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png deleted file mode 100755 index c92518f..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/error@3x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png deleted file mode 100755 index a3a1f75..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png deleted file mode 100755 index 1b333e7..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png deleted file mode 100755 index d56aa0c..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/info@3x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png deleted file mode 100755 index 44769d0..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png deleted file mode 100755 index a9d1653..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@2x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png deleted file mode 100755 index 42bad9b..0000000 Binary files a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.bundle/success@3x.png and /dev/null differ diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h deleted file mode 100755 index 6aa935c..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.h +++ /dev/null @@ -1,147 +0,0 @@ -// -// SVProgressHUD.h -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2011-2018 Sam Vermette and contributors. All rights reserved. -// - -#import -#import - -extern NSString * _Nonnull const SVProgressHUDDidReceiveTouchEventNotification; -extern NSString * _Nonnull const SVProgressHUDDidTouchDownInsideNotification; -extern NSString * _Nonnull const SVProgressHUDWillDisappearNotification; -extern NSString * _Nonnull const SVProgressHUDDidDisappearNotification; -extern NSString * _Nonnull const SVProgressHUDWillAppearNotification; -extern NSString * _Nonnull const SVProgressHUDDidAppearNotification; - -extern NSString * _Nonnull const SVProgressHUDStatusUserInfoKey; - -typedef NS_ENUM(NSInteger, SVProgressHUDStyle) { - SVProgressHUDStyleLight, // default style, white HUD with black text, HUD background will be blurred - SVProgressHUDStyleDark, // black HUD and white text, HUD background will be blurred - SVProgressHUDStyleCustom // uses the fore- and background color properties -}; - -typedef NS_ENUM(NSUInteger, SVProgressHUDMaskType) { - SVProgressHUDMaskTypeNone = 1, // default mask type, allow user interactions while HUD is displayed - SVProgressHUDMaskTypeClear, // don't allow user interactions with background objects - SVProgressHUDMaskTypeBlack, // don't allow user interactions with background objects and dim the UI in the back of the HUD (as seen in iOS 7 and above) - SVProgressHUDMaskTypeGradient, // don't allow user interactions with background objects and dim the UI with a a-la UIAlertView background gradient (as seen in iOS 6) - SVProgressHUDMaskTypeCustom // don't allow user interactions with background objects and dim the UI in the back of the HUD with a custom color -}; - -typedef NS_ENUM(NSUInteger, SVProgressHUDAnimationType) { - SVProgressHUDAnimationTypeFlat, // default animation type, custom flat animation (indefinite animated ring) - SVProgressHUDAnimationTypeNative // iOS native UIActivityIndicatorView -}; - -typedef void (^SVProgressHUDShowCompletion)(void); -typedef void (^SVProgressHUDDismissCompletion)(void); - -@interface SVProgressHUD : UIView - -#pragma mark - Customization - -@property (assign, nonatomic) SVProgressHUDStyle defaultStyle UI_APPEARANCE_SELECTOR; // default is SVProgressHUDStyleLight -@property (assign, nonatomic) SVProgressHUDMaskType defaultMaskType UI_APPEARANCE_SELECTOR; // default is SVProgressHUDMaskTypeNone -@property (assign, nonatomic) SVProgressHUDAnimationType defaultAnimationType UI_APPEARANCE_SELECTOR; // default is SVProgressHUDAnimationTypeFlat -@property (strong, nonatomic, nullable) UIView *containerView; // if nil then use default window level -@property (assign, nonatomic) CGSize minimumSize UI_APPEARANCE_SELECTOR; // default is CGSizeZero, can be used to avoid resizing for a larger message -@property (assign, nonatomic) CGFloat ringThickness UI_APPEARANCE_SELECTOR; // default is 2 pt -@property (assign, nonatomic) CGFloat ringRadius UI_APPEARANCE_SELECTOR; // default is 18 pt -@property (assign, nonatomic) CGFloat ringNoTextRadius UI_APPEARANCE_SELECTOR; // default is 24 pt -@property (assign, nonatomic) CGFloat cornerRadius UI_APPEARANCE_SELECTOR; // default is 14 pt -@property (strong, nonatomic, nonnull) UIFont *font UI_APPEARANCE_SELECTOR; // default is [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline] -@property (strong, nonatomic, nonnull) UIColor *backgroundColor UI_APPEARANCE_SELECTOR; // default is [UIColor whiteColor] -@property (strong, nonatomic, nonnull) UIColor *foregroundColor UI_APPEARANCE_SELECTOR; // default is [UIColor blackColor] -@property (strong, nonatomic, nonnull) UIColor *backgroundLayerColor UI_APPEARANCE_SELECTOR;// default is [UIColor colorWithWhite:0 alpha:0.4] -@property (assign, nonatomic) CGSize imageViewSize UI_APPEARANCE_SELECTOR; // default is 28x28 pt -@property (assign, nonatomic) BOOL shouldTintImages UI_APPEARANCE_SELECTOR; // default is YES -@property (strong, nonatomic, nonnull) UIImage *infoImage UI_APPEARANCE_SELECTOR; // default is the bundled info image provided by Freepik -@property (strong, nonatomic, nonnull) UIImage *successImage UI_APPEARANCE_SELECTOR; // default is the bundled success image provided by Freepik -@property (strong, nonatomic, nonnull) UIImage *errorImage UI_APPEARANCE_SELECTOR; // default is the bundled error image provided by Freepik -@property (strong, nonatomic, nonnull) UIView *viewForExtension UI_APPEARANCE_SELECTOR; // default is nil, only used if #define SV_APP_EXTENSIONS is set -@property (assign, nonatomic) NSTimeInterval graceTimeInterval; // default is 0 seconds -@property (assign, nonatomic) NSTimeInterval minimumDismissTimeInterval; // default is 5.0 seconds -@property (assign, nonatomic) NSTimeInterval maximumDismissTimeInterval; // default is CGFLOAT_MAX - -@property (assign, nonatomic) UIOffset offsetFromCenter UI_APPEARANCE_SELECTOR; // default is 0, 0 - -@property (assign, nonatomic) NSTimeInterval fadeInAnimationDuration UI_APPEARANCE_SELECTOR; // default is 0.15 -@property (assign, nonatomic) NSTimeInterval fadeOutAnimationDuration UI_APPEARANCE_SELECTOR; // default is 0.15 - -@property (assign, nonatomic) UIWindowLevel maxSupportedWindowLevel; // default is UIWindowLevelNormal - -@property (assign, nonatomic) BOOL hapticsEnabled; // default is NO - -+ (void)setDefaultStyle:(SVProgressHUDStyle)style; // default is SVProgressHUDStyleLight -+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType; // default is SVProgressHUDMaskTypeNone -+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type; // default is SVProgressHUDAnimationTypeFlat -+ (void)setContainerView:(nullable UIView*)containerView; // default is window level -+ (void)setMinimumSize:(CGSize)minimumSize; // default is CGSizeZero, can be used to avoid resizing for a larger message -+ (void)setRingThickness:(CGFloat)ringThickness; // default is 2 pt -+ (void)setRingRadius:(CGFloat)radius; // default is 18 pt -+ (void)setRingNoTextRadius:(CGFloat)radius; // default is 24 pt -+ (void)setCornerRadius:(CGFloat)cornerRadius; // default is 14 pt -+ (void)setBorderColor:(nonnull UIColor*)color; // default is nil -+ (void)setBorderWidth:(CGFloat)width; // default is 0 -+ (void)setFont:(nonnull UIFont*)font; // default is [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline] -+ (void)setForegroundColor:(nonnull UIColor*)color; // default is [UIColor blackColor], only used for SVProgressHUDStyleCustom -+ (void)setBackgroundColor:(nonnull UIColor*)color; // default is [UIColor whiteColor], only used for SVProgressHUDStyleCustom -+ (void)setBackgroundLayerColor:(nonnull UIColor*)color; // default is [UIColor colorWithWhite:0 alpha:0.5], only used for SVProgressHUDMaskTypeCustom -+ (void)setImageViewSize:(CGSize)size; // default is 28x28 pt -+ (void)setShouldTintImages:(BOOL)shouldTintImages; // default is YES -+ (void)setInfoImage:(nonnull UIImage*)image; // default is the bundled info image provided by Freepik -+ (void)setSuccessImage:(nonnull UIImage*)image; // default is the bundled success image provided by Freepik -+ (void)setErrorImage:(nonnull UIImage*)image; // default is the bundled error image provided by Freepik -+ (void)setViewForExtension:(nonnull UIView*)view; // default is nil, only used if #define SV_APP_EXTENSIONS is set -+ (void)setGraceTimeInterval:(NSTimeInterval)interval; // default is 0 seconds -+ (void)setMinimumDismissTimeInterval:(NSTimeInterval)interval; // default is 5.0 seconds -+ (void)setMaximumDismissTimeInterval:(NSTimeInterval)interval; // default is infinite -+ (void)setFadeInAnimationDuration:(NSTimeInterval)duration; // default is 0.15 seconds -+ (void)setFadeOutAnimationDuration:(NSTimeInterval)duration; // default is 0.15 seconds -+ (void)setMaxSupportedWindowLevel:(UIWindowLevel)windowLevel; // default is UIWindowLevelNormal -+ (void)setHapticsEnabled:(BOOL)hapticsEnabled; // default is NO - -#pragma mark - Show Methods - -+ (void)show; -+ (void)showWithMaskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use show and setDefaultMaskType: instead."))); -+ (void)showWithStatus:(nullable NSString*)status; -+ (void)showWithStatus:(nullable NSString*)status maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showWithStatus: and setDefaultMaskType: instead."))); - -+ (void)showProgress:(float)progress; -+ (void)showProgress:(float)progress maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showProgress: and setDefaultMaskType: instead."))); -+ (void)showProgress:(float)progress status:(nullable NSString*)status; -+ (void)showProgress:(float)progress status:(nullable NSString*)status maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showProgress:status: and setDefaultMaskType: instead."))); - -+ (void)setStatus:(nullable NSString*)status; // change the HUD loading status while it's showing - -// stops the activity indicator, shows a glyph + status, and dismisses the HUD a little bit later -+ (void)showInfoWithStatus:(nullable NSString*)status; -+ (void)showInfoWithStatus:(nullable NSString*)status maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showInfoWithStatus: and setDefaultMaskType: instead."))); -+ (void)showSuccessWithStatus:(nullable NSString*)status; -+ (void)showSuccessWithStatus:(nullable NSString*)status maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showSuccessWithStatus: and setDefaultMaskType: instead."))); -+ (void)showErrorWithStatus:(nullable NSString*)status; -+ (void)showErrorWithStatus:(nullable NSString*)status maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showErrorWithStatus: and setDefaultMaskType: instead."))); - -// shows a image + status, use white PNGs with the imageViewSize (default is 28x28 pt) -+ (void)showImage:(nonnull UIImage*)image status:(nullable NSString*)status; -+ (void)showImage:(nonnull UIImage*)image status:(nullable NSString*)status maskType:(SVProgressHUDMaskType)maskType __attribute__((deprecated("Use showImage:status: and setDefaultMaskType: instead."))); - -+ (void)setOffsetFromCenter:(UIOffset)offset; -+ (void)resetOffsetFromCenter; - -+ (void)popActivity; // decrease activity count, if activity count == 0 the HUD is dismissed -+ (void)dismiss; -+ (void)dismissWithCompletion:(nullable SVProgressHUDDismissCompletion)completion; -+ (void)dismissWithDelay:(NSTimeInterval)delay; -+ (void)dismissWithDelay:(NSTimeInterval)delay completion:(nullable SVProgressHUDDismissCompletion)completion; - -+ (BOOL)isVisible; - -+ (NSTimeInterval)displayDurationForString:(nullable NSString*)string; - -@end - diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m deleted file mode 100755 index 2b66992..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVProgressHUD.m +++ /dev/null @@ -1,1509 +0,0 @@ -// -// SVProgressHUD.h -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2011-2018 Sam Vermette and contributors. All rights reserved. -// - -#if !__has_feature(objc_arc) -#error SVProgressHUD is ARC only. Either turn on ARC for the project or use -fobjc-arc flag -#endif - -#import "SVProgressHUD.h" -#import "SVIndefiniteAnimatedView.h" -#import "SVProgressAnimatedView.h" -#import "SVRadialGradientLayer.h" - -NSString * const SVProgressHUDDidReceiveTouchEventNotification = @"SVProgressHUDDidReceiveTouchEventNotification"; -NSString * const SVProgressHUDDidTouchDownInsideNotification = @"SVProgressHUDDidTouchDownInsideNotification"; -NSString * const SVProgressHUDWillDisappearNotification = @"SVProgressHUDWillDisappearNotification"; -NSString * const SVProgressHUDDidDisappearNotification = @"SVProgressHUDDidDisappearNotification"; -NSString * const SVProgressHUDWillAppearNotification = @"SVProgressHUDWillAppearNotification"; -NSString * const SVProgressHUDDidAppearNotification = @"SVProgressHUDDidAppearNotification"; - -NSString * const SVProgressHUDStatusUserInfoKey = @"SVProgressHUDStatusUserInfoKey"; - -static const CGFloat SVProgressHUDParallaxDepthPoints = 10.0f; -static const CGFloat SVProgressHUDUndefinedProgress = -1; -static const CGFloat SVProgressHUDDefaultAnimationDuration = 0.15f; -static const CGFloat SVProgressHUDVerticalSpacing = 12.0f; -static const CGFloat SVProgressHUDHorizontalSpacing = 12.0f; -static const CGFloat SVProgressHUDLabelSpacing = 8.0f; - - -@interface SVProgressHUD () - -@property (nonatomic, strong) NSTimer *graceTimer; -@property (nonatomic, strong) NSTimer *fadeOutTimer; - -@property (nonatomic, strong) UIControl *controlView; -@property (nonatomic, strong) UIView *backgroundView; -@property (nonatomic, strong) SVRadialGradientLayer *backgroundRadialGradientLayer; -@property (nonatomic, strong) UIVisualEffectView *hudView; -@property (nonatomic, strong) UILabel *statusLabel; -@property (nonatomic, strong) UIImageView *imageView; - -@property (nonatomic, strong) UIView *indefiniteAnimatedView; -@property (nonatomic, strong) SVProgressAnimatedView *ringView; -@property (nonatomic, strong) SVProgressAnimatedView *backgroundRingView; - -@property (nonatomic, readwrite) CGFloat progress; -@property (nonatomic, readwrite) NSUInteger activityCount; - -@property (nonatomic, readonly) CGFloat visibleKeyboardHeight; -@property (nonatomic, readonly) UIWindow *frontWindow; - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 -@property (nonatomic, strong) UINotificationFeedbackGenerator *hapticGenerator NS_AVAILABLE_IOS(10_0); -#endif - -@end - -@implementation SVProgressHUD { - BOOL _isInitializing; -} - -+ (SVProgressHUD*)sharedView { - static dispatch_once_t once; - - static SVProgressHUD *sharedView; -#if !defined(SV_APP_EXTENSIONS) - dispatch_once(&once, ^{ sharedView = [[self alloc] initWithFrame:[[[UIApplication sharedApplication] delegate] window].bounds]; }); -#else - dispatch_once(&once, ^{ sharedView = [[self alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; }); -#endif - return sharedView; -} - - -#pragma mark - Setters - -+ (void)setStatus:(NSString*)status { - [[self sharedView] setStatus:status]; -} - -+ (void)setDefaultStyle:(SVProgressHUDStyle)style { - [self sharedView].defaultStyle = style; -} - -+ (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType { - [self sharedView].defaultMaskType = maskType; -} - -+ (void)setDefaultAnimationType:(SVProgressHUDAnimationType)type { - [self sharedView].defaultAnimationType = type; -} - -+ (void)setContainerView:(nullable UIView*)containerView { - [self sharedView].containerView = containerView; -} - -+ (void)setMinimumSize:(CGSize)minimumSize { - [self sharedView].minimumSize = minimumSize; -} - -+ (void)setRingThickness:(CGFloat)ringThickness { - [self sharedView].ringThickness = ringThickness; -} - -+ (void)setRingRadius:(CGFloat)radius { - [self sharedView].ringRadius = radius; -} - -+ (void)setRingNoTextRadius:(CGFloat)radius { - [self sharedView].ringNoTextRadius = radius; -} - -+ (void)setCornerRadius:(CGFloat)cornerRadius { - [self sharedView].cornerRadius = cornerRadius; -} - -+ (void)setBorderColor:(nonnull UIColor*)color { - [self sharedView].hudView.layer.borderColor = color.CGColor; -} - -+ (void)setBorderWidth:(CGFloat)width { - [self sharedView].hudView.layer.borderWidth = width; -} - -+ (void)setFont:(UIFont*)font { - [self sharedView].font = font; -} - -+ (void)setForegroundColor:(UIColor*)color { - [self sharedView].foregroundColor = color; - [self setDefaultStyle:SVProgressHUDStyleCustom]; -} - -+ (void)setBackgroundColor:(UIColor*)color { - [self sharedView].backgroundColor = color; - [self setDefaultStyle:SVProgressHUDStyleCustom]; -} - -+ (void)setBackgroundLayerColor:(UIColor*)color { - [self sharedView].backgroundLayerColor = color; -} - -+ (void)setImageViewSize:(CGSize)size { - [self sharedView].imageViewSize = size; -} - -+ (void)setShouldTintImages:(BOOL)shouldTintImages { - [self sharedView].shouldTintImages = shouldTintImages; -} - -+ (void)setInfoImage:(UIImage*)image { - [self sharedView].infoImage = image; -} - -+ (void)setSuccessImage:(UIImage*)image { - [self sharedView].successImage = image; -} - -+ (void)setErrorImage:(UIImage*)image { - [self sharedView].errorImage = image; -} - -+ (void)setViewForExtension:(UIView*)view { - [self sharedView].viewForExtension = view; -} - -+ (void)setGraceTimeInterval:(NSTimeInterval)interval { - [self sharedView].graceTimeInterval = interval; -} - -+ (void)setMinimumDismissTimeInterval:(NSTimeInterval)interval { - [self sharedView].minimumDismissTimeInterval = interval; -} - -+ (void)setMaximumDismissTimeInterval:(NSTimeInterval)interval { - [self sharedView].maximumDismissTimeInterval = interval; -} - -+ (void)setFadeInAnimationDuration:(NSTimeInterval)duration { - [self sharedView].fadeInAnimationDuration = duration; -} - -+ (void)setFadeOutAnimationDuration:(NSTimeInterval)duration { - [self sharedView].fadeOutAnimationDuration = duration; -} - -+ (void)setMaxSupportedWindowLevel:(UIWindowLevel)windowLevel { - [self sharedView].maxSupportedWindowLevel = windowLevel; -} - -+ (void)setHapticsEnabled:(BOOL)hapticsEnabled { - [self sharedView].hapticsEnabled = hapticsEnabled; -} - -#pragma mark - Show Methods - -+ (void)show { - [self showWithStatus:nil]; -} - -+ (void)showWithMaskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self show]; - [self setDefaultMaskType:existingMaskType]; -} - -+ (void)showWithStatus:(NSString*)status { - [self showProgress:SVProgressHUDUndefinedProgress status:status]; -} - -+ (void)showWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showWithStatus:status]; - [self setDefaultMaskType:existingMaskType]; -} - -+ (void)showProgress:(float)progress { - [self showProgress:progress status:nil]; -} - -+ (void)showProgress:(float)progress maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showProgress:progress]; - [self setDefaultMaskType:existingMaskType]; -} - -+ (void)showProgress:(float)progress status:(NSString*)status { - [[self sharedView] showProgress:progress status:status]; -} - -+ (void)showProgress:(float)progress status:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showProgress:progress status:status]; - [self setDefaultMaskType:existingMaskType]; -} - - -#pragma mark - Show, then automatically dismiss methods - -+ (void)showInfoWithStatus:(NSString*)status { - [self showImage:[self sharedView].infoImage status:status]; - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - if (@available(iOS 10.0, *)) { - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeWarning]; - }); - } -#endif -} - -+ (void)showInfoWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showInfoWithStatus:status]; - [self setDefaultMaskType:existingMaskType]; -} - -+ (void)showSuccessWithStatus:(NSString*)status { - [self showImage:[self sharedView].successImage status:status]; - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - if (@available(iOS 10, *)) { - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeSuccess]; - }); - } -#endif -} - -+ (void)showSuccessWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showSuccessWithStatus:status]; - [self setDefaultMaskType:existingMaskType]; - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - if (@available(iOS 10.0, *)) { - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeSuccess]; - }); - } -#endif -} - -+ (void)showErrorWithStatus:(NSString*)status { - [self showImage:[self sharedView].errorImage status:status]; - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - if (@available(iOS 10.0, *)) { - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeError]; - }); - } -#endif -} - -+ (void)showErrorWithStatus:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showErrorWithStatus:status]; - [self setDefaultMaskType:existingMaskType]; - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - if (@available(iOS 10.0, *)) { - dispatch_async(dispatch_get_main_queue(), ^{ - [[self sharedView].hapticGenerator notificationOccurred:UINotificationFeedbackTypeError]; - }); - } -#endif -} - -+ (void)showImage:(UIImage*)image status:(NSString*)status { - NSTimeInterval displayInterval = [self displayDurationForString:status]; - [[self sharedView] showImage:image status:status duration:displayInterval]; -} - -+ (void)showImage:(UIImage*)image status:(NSString*)status maskType:(SVProgressHUDMaskType)maskType { - SVProgressHUDMaskType existingMaskType = [self sharedView].defaultMaskType; - [self setDefaultMaskType:maskType]; - [self showImage:image status:status]; - [self setDefaultMaskType:existingMaskType]; -} - - -#pragma mark - Dismiss Methods - -+ (void)popActivity { - if([self sharedView].activityCount > 0) { - [self sharedView].activityCount--; - } - if([self sharedView].activityCount == 0) { - [[self sharedView] dismiss]; - } -} - -+ (void)dismiss { - [self dismissWithDelay:0.0 completion:nil]; -} - -+ (void)dismissWithCompletion:(SVProgressHUDDismissCompletion)completion { - [self dismissWithDelay:0.0 completion:completion]; -} - -+ (void)dismissWithDelay:(NSTimeInterval)delay { - [self dismissWithDelay:delay completion:nil]; -} - -+ (void)dismissWithDelay:(NSTimeInterval)delay completion:(SVProgressHUDDismissCompletion)completion { - [[self sharedView] dismissWithDelay:delay completion:completion]; -} - - -#pragma mark - Offset - -+ (void)setOffsetFromCenter:(UIOffset)offset { - [self sharedView].offsetFromCenter = offset; -} - -+ (void)resetOffsetFromCenter { - [self setOffsetFromCenter:UIOffsetZero]; -} - - -#pragma mark - Instance Methods - -- (instancetype)initWithFrame:(CGRect)frame { - if((self = [super initWithFrame:frame])) { - _isInitializing = YES; - - self.userInteractionEnabled = NO; - self.activityCount = 0; - - self.backgroundView.alpha = 0.0f; - self.imageView.alpha = 0.0f; - self.statusLabel.alpha = 0.0f; - self.indefiniteAnimatedView.alpha = 0.0f; - self.ringView.alpha = self.backgroundRingView.alpha = 0.0f; - - - _backgroundColor = [UIColor whiteColor]; - _foregroundColor = [UIColor blackColor]; - _backgroundLayerColor = [UIColor colorWithWhite:0 alpha:0.4]; - - // Set default values - _defaultMaskType = SVProgressHUDMaskTypeNone; - _defaultStyle = SVProgressHUDStyleLight; - _defaultAnimationType = SVProgressHUDAnimationTypeFlat; - _minimumSize = CGSizeZero; - _font = [UIFont preferredFontForTextStyle:UIFontTextStyleSubheadline]; - - _imageViewSize = CGSizeMake(28.0f, 28.0f); - _shouldTintImages = YES; - - NSBundle *bundle = [NSBundle bundleForClass:[SVProgressHUD class]]; - NSURL *url = [bundle URLForResource:@"SVProgressHUD" withExtension:@"bundle"]; - NSBundle *imageBundle = [NSBundle bundleWithURL:url]; - - _infoImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"info" ofType:@"png"]]; - _successImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"success" ofType:@"png"]]; - _errorImage = [UIImage imageWithContentsOfFile:[imageBundle pathForResource:@"error" ofType:@"png"]]; - - _ringThickness = 2.0f; - _ringRadius = 18.0f; - _ringNoTextRadius = 24.0f; - - _cornerRadius = 14.0f; - - _graceTimeInterval = 0.0f; - _minimumDismissTimeInterval = 5.0; - _maximumDismissTimeInterval = CGFLOAT_MAX; - - _fadeInAnimationDuration = SVProgressHUDDefaultAnimationDuration; - _fadeOutAnimationDuration = SVProgressHUDDefaultAnimationDuration; - - _maxSupportedWindowLevel = UIWindowLevelNormal; - - _hapticsEnabled = NO; - - // Accessibility support - self.accessibilityIdentifier = @"SVProgressHUD"; - self.isAccessibilityElement = YES; - - _isInitializing = NO; - } - return self; -} - -- (void)updateHUDFrame { - // Check if an image or progress ring is displayed - BOOL imageUsed = (self.imageView.image) && !(self.imageView.hidden); - BOOL progressUsed = self.imageView.hidden; - - // Calculate size of string - CGRect labelRect = CGRectZero; - CGFloat labelHeight = 0.0f; - CGFloat labelWidth = 0.0f; - - if(self.statusLabel.text) { - CGSize constraintSize = CGSizeMake(200.0f, 300.0f); - labelRect = [self.statusLabel.text boundingRectWithSize:constraintSize - options:(NSStringDrawingOptions)(NSStringDrawingUsesFontLeading | NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin) - attributes:@{NSFontAttributeName: self.statusLabel.font} - context:NULL]; - labelHeight = ceilf(CGRectGetHeight(labelRect)); - labelWidth = ceilf(CGRectGetWidth(labelRect)); - } - - // Calculate hud size based on content - // For the beginning use default values, these - // might get update if string is too large etc. - CGFloat hudWidth; - CGFloat hudHeight; - - CGFloat contentWidth = 0.0f; - CGFloat contentHeight = 0.0f; - - if(imageUsed || progressUsed) { - contentWidth = CGRectGetWidth(imageUsed ? self.imageView.frame : self.indefiniteAnimatedView.frame); - contentHeight = CGRectGetHeight(imageUsed ? self.imageView.frame : self.indefiniteAnimatedView.frame); - } - - // |-spacing-content-spacing-| - hudWidth = SVProgressHUDHorizontalSpacing + MAX(labelWidth, contentWidth) + SVProgressHUDHorizontalSpacing; - - // |-spacing-content-(labelSpacing-label-)spacing-| - hudHeight = SVProgressHUDVerticalSpacing + labelHeight + contentHeight + SVProgressHUDVerticalSpacing; - if(self.statusLabel.text && (imageUsed || progressUsed)){ - // Add spacing if both content and label are used - hudHeight += SVProgressHUDLabelSpacing; - } - - // Update values on subviews - self.hudView.bounds = CGRectMake(0.0f, 0.0f, MAX(self.minimumSize.width, hudWidth), MAX(self.minimumSize.height, hudHeight)); - - // Animate value update - [CATransaction begin]; - [CATransaction setDisableActions:YES]; - - // Spinner and image view - CGFloat centerY; - if(self.statusLabel.text) { - CGFloat yOffset = MAX(SVProgressHUDVerticalSpacing, (self.minimumSize.height - contentHeight - SVProgressHUDLabelSpacing - labelHeight) / 2.0f); - centerY = yOffset + contentHeight / 2.0f; - } else { - centerY = CGRectGetMidY(self.hudView.bounds); - } - self.indefiniteAnimatedView.center = CGPointMake(CGRectGetMidX(self.hudView.bounds), centerY); - if(self.progress != SVProgressHUDUndefinedProgress) { - self.backgroundRingView.center = self.ringView.center = CGPointMake(CGRectGetMidX(self.hudView.bounds), centerY); - } - self.imageView.center = CGPointMake(CGRectGetMidX(self.hudView.bounds), centerY); - - // Label - if(imageUsed || progressUsed) { - centerY = CGRectGetMaxY(imageUsed ? self.imageView.frame : self.indefiniteAnimatedView.frame) + SVProgressHUDLabelSpacing + labelHeight / 2.0f; - } else { - centerY = CGRectGetMidY(self.hudView.bounds); - } - self.statusLabel.frame = labelRect; - self.statusLabel.center = CGPointMake(CGRectGetMidX(self.hudView.bounds), centerY); - - [CATransaction commit]; -} - -#if TARGET_OS_IOS -- (void)updateMotionEffectForOrientation:(UIInterfaceOrientation)orientation { - UIInterpolatingMotionEffectType xMotionEffectType = UIInterfaceOrientationIsPortrait(orientation) ? UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis : UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis; - UIInterpolatingMotionEffectType yMotionEffectType = UIInterfaceOrientationIsPortrait(orientation) ? UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis : UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis; - [self updateMotionEffectForXMotionEffectType:xMotionEffectType yMotionEffectType:yMotionEffectType]; -} -#endif - -- (void)updateMotionEffectForXMotionEffectType:(UIInterpolatingMotionEffectType)xMotionEffectType yMotionEffectType:(UIInterpolatingMotionEffectType)yMotionEffectType { - UIInterpolatingMotionEffect *effectX = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.x" type:xMotionEffectType]; - effectX.minimumRelativeValue = @(-SVProgressHUDParallaxDepthPoints); - effectX.maximumRelativeValue = @(SVProgressHUDParallaxDepthPoints); - - UIInterpolatingMotionEffect *effectY = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:yMotionEffectType]; - effectY.minimumRelativeValue = @(-SVProgressHUDParallaxDepthPoints); - effectY.maximumRelativeValue = @(SVProgressHUDParallaxDepthPoints); - - UIMotionEffectGroup *effectGroup = [UIMotionEffectGroup new]; - effectGroup.motionEffects = @[effectX, effectY]; - - // Clear old motion effect, then add new motion effects - self.hudView.motionEffects = @[]; - [self.hudView addMotionEffect:effectGroup]; -} - -- (void)updateViewHierarchy { - // Add the overlay to the application window if necessary - if(!self.controlView.superview) { - if(self.containerView){ - [self.containerView addSubview:self.controlView]; - } else { -#if !defined(SV_APP_EXTENSIONS) - [self.frontWindow addSubview:self.controlView]; -#else - // If SVProgressHUD is used inside an app extension add it to the given view - if(self.viewForExtension) { - [self.viewForExtension addSubview:self.controlView]; - } -#endif - } - } else { - // The HUD is already on screen, but maybe not in front. Therefore - // ensure that overlay will be on top of rootViewController (which may - // be changed during runtime). - [self.controlView.superview bringSubviewToFront:self.controlView]; - } - - // Add self to the overlay view - if(!self.superview) { - [self.controlView addSubview:self]; - } -} - -- (void)setStatus:(NSString*)status { - self.statusLabel.text = status; - self.statusLabel.hidden = status.length == 0; - [self updateHUDFrame]; -} - -- (void)setGraceTimer:(NSTimer*)timer { - if(_graceTimer) { - [_graceTimer invalidate]; - _graceTimer = nil; - } - if(timer) { - _graceTimer = timer; - } -} - -- (void)setFadeOutTimer:(NSTimer*)timer { - if(_fadeOutTimer) { - [_fadeOutTimer invalidate]; - _fadeOutTimer = nil; - } - if(timer) { - _fadeOutTimer = timer; - } -} - - -#pragma mark - Notifications and their handling - -- (void)registerNotifications { -#if TARGET_OS_IOS - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(positionHUD:) - name:UIApplicationDidChangeStatusBarOrientationNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(positionHUD:) - name:UIKeyboardWillHideNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(positionHUD:) - name:UIKeyboardDidHideNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(positionHUD:) - name:UIKeyboardWillShowNotification - object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(positionHUD:) - name:UIKeyboardDidShowNotification - object:nil]; -#endif - [[NSNotificationCenter defaultCenter] addObserver:self - selector:@selector(positionHUD:) - name:UIApplicationDidBecomeActiveNotification - object:nil]; -} - -- (NSDictionary*)notificationUserInfo { - return (self.statusLabel.text ? @{SVProgressHUDStatusUserInfoKey : self.statusLabel.text} : nil); -} - -- (void)positionHUD:(NSNotification*)notification { - CGFloat keyboardHeight = 0.0f; - double animationDuration = 0.0; - -#if !defined(SV_APP_EXTENSIONS) && TARGET_OS_IOS - self.frame = [[[UIApplication sharedApplication] delegate] window].bounds; - UIInterfaceOrientation orientation = UIApplication.sharedApplication.statusBarOrientation; -#elif !defined(SV_APP_EXTENSIONS) && !TARGET_OS_IOS - self.frame= [UIApplication sharedApplication].keyWindow.bounds; -#else - if (self.viewForExtension) { - self.frame = self.viewForExtension.frame; - } else { - self.frame = UIScreen.mainScreen.bounds; - } -#if TARGET_OS_IOS - UIInterfaceOrientation orientation = CGRectGetWidth(self.frame) > CGRectGetHeight(self.frame) ? UIInterfaceOrientationLandscapeLeft : UIInterfaceOrientationPortrait; -#endif -#endif - -#if TARGET_OS_IOS - // Get keyboardHeight in regard to current state - if(notification) { - NSDictionary* keyboardInfo = [notification userInfo]; - CGRect keyboardFrame = [keyboardInfo[UIKeyboardFrameBeginUserInfoKey] CGRectValue]; - animationDuration = [keyboardInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue]; - - if(notification.name == UIKeyboardWillShowNotification || notification.name == UIKeyboardDidShowNotification) { - keyboardHeight = CGRectGetWidth(keyboardFrame); - - if(UIInterfaceOrientationIsPortrait(orientation)) { - keyboardHeight = CGRectGetHeight(keyboardFrame); - } - } - } else { - keyboardHeight = self.visibleKeyboardHeight; - } -#endif - - // Get the currently active frame of the display (depends on orientation) - CGRect orientationFrame = self.bounds; - -#if !defined(SV_APP_EXTENSIONS) && TARGET_OS_IOS - CGRect statusBarFrame = UIApplication.sharedApplication.statusBarFrame; -#else - CGRect statusBarFrame = CGRectZero; -#endif - -#if TARGET_OS_IOS - // Update the motion effects in regard to orientation - [self updateMotionEffectForOrientation:orientation]; -#else - [self updateMotionEffectForXMotionEffectType:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis yMotionEffectType:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis]; -#endif - - // Calculate available height for display - CGFloat activeHeight = CGRectGetHeight(orientationFrame); - if(keyboardHeight > 0) { - activeHeight += CGRectGetHeight(statusBarFrame) * 2; - } - activeHeight -= keyboardHeight; - - CGFloat posX = CGRectGetMidX(orientationFrame); - CGFloat posY = floorf(activeHeight*0.45f); - - CGFloat rotateAngle = 0.0; - CGPoint newCenter = CGPointMake(posX, posY); - - if(notification) { - // Animate update if notification was present - [UIView animateWithDuration:animationDuration - delay:0 - options:(UIViewAnimationOptions) (UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState) - animations:^{ - [self moveToPoint:newCenter rotateAngle:rotateAngle]; - [self.hudView setNeedsDisplay]; - } completion:nil]; - } else { - [self moveToPoint:newCenter rotateAngle:rotateAngle]; - } -} - -- (void)moveToPoint:(CGPoint)newCenter rotateAngle:(CGFloat)angle { - self.hudView.transform = CGAffineTransformMakeRotation(angle); - if (self.containerView) { - self.hudView.center = CGPointMake(self.containerView.center.x + self.offsetFromCenter.horizontal, self.containerView.center.y + self.offsetFromCenter.vertical); - } else { - self.hudView.center = CGPointMake(newCenter.x + self.offsetFromCenter.horizontal, newCenter.y + self.offsetFromCenter.vertical); - } -} - - -#pragma mark - Event handling - -- (void)controlViewDidReceiveTouchEvent:(id)sender forEvent:(UIEvent*)event { - [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidReceiveTouchEventNotification - object:self - userInfo:[self notificationUserInfo]]; - - UITouch *touch = event.allTouches.anyObject; - CGPoint touchLocation = [touch locationInView:self]; - - if(CGRectContainsPoint(self.hudView.frame, touchLocation)) { - [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidTouchDownInsideNotification - object:self - userInfo:[self notificationUserInfo]]; - } -} - - -#pragma mark - Master show/dismiss methods - -- (void)showProgress:(float)progress status:(NSString*)status { - __weak SVProgressHUD *weakSelf = self; - [[NSOperationQueue mainQueue] addOperationWithBlock:^{ - __strong SVProgressHUD *strongSelf = weakSelf; - if(strongSelf){ - if(strongSelf.fadeOutTimer) { - strongSelf.activityCount = 0; - } - - // Stop timer - strongSelf.fadeOutTimer = nil; - strongSelf.graceTimer = nil; - - // Update / Check view hierarchy to ensure the HUD is visible - [strongSelf updateViewHierarchy]; - - // Reset imageView and fadeout timer if an image is currently displayed - strongSelf.imageView.hidden = YES; - strongSelf.imageView.image = nil; - - // Update text and set progress to the given value - strongSelf.statusLabel.hidden = status.length == 0; - strongSelf.statusLabel.text = status; - strongSelf.progress = progress; - - // Choose the "right" indicator depending on the progress - if(progress >= 0) { - // Cancel the indefiniteAnimatedView, then show the ringLayer - [strongSelf cancelIndefiniteAnimatedViewAnimation]; - - // Add ring to HUD - if(!strongSelf.ringView.superview){ - [strongSelf.hudView.contentView addSubview:strongSelf.ringView]; - } - if(!strongSelf.backgroundRingView.superview){ - [strongSelf.hudView.contentView addSubview:strongSelf.backgroundRingView]; - } - - // Set progress animated - [CATransaction begin]; - [CATransaction setDisableActions:YES]; - strongSelf.ringView.strokeEnd = progress; - [CATransaction commit]; - - // Update the activity count - if(progress == 0) { - strongSelf.activityCount++; - } - } else { - // Cancel the ringLayer animation, then show the indefiniteAnimatedView - [strongSelf cancelRingLayerAnimation]; - - // Add indefiniteAnimatedView to HUD - [strongSelf.hudView.contentView addSubview:strongSelf.indefiniteAnimatedView]; - if([strongSelf.indefiniteAnimatedView respondsToSelector:@selector(startAnimating)]) { - [(id)strongSelf.indefiniteAnimatedView startAnimating]; - } - - // Update the activity count - strongSelf.activityCount++; - } - - // Fade in delayed if a grace time is set - if (self.graceTimeInterval > 0.0 && self.backgroundView.alpha == 0.0f) { - strongSelf.graceTimer = [NSTimer timerWithTimeInterval:self.graceTimeInterval target:strongSelf selector:@selector(fadeIn:) userInfo:nil repeats:NO]; - [[NSRunLoop mainRunLoop] addTimer:strongSelf.graceTimer forMode:NSRunLoopCommonModes]; - } else { - [strongSelf fadeIn:nil]; - } - - // Tell the Haptics Generator to prepare for feedback, which may come soon -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 - if (@available(iOS 10.0, *)) { - [strongSelf.hapticGenerator prepare]; - } -#endif - } - }]; -} - -- (void)showImage:(UIImage*)image status:(NSString*)status duration:(NSTimeInterval)duration { - __weak SVProgressHUD *weakSelf = self; - [[NSOperationQueue mainQueue] addOperationWithBlock:^{ - __strong SVProgressHUD *strongSelf = weakSelf; - if(strongSelf){ - // Stop timer - strongSelf.fadeOutTimer = nil; - strongSelf.graceTimer = nil; - - // Update / Check view hierarchy to ensure the HUD is visible - [strongSelf updateViewHierarchy]; - - // Reset progress and cancel any running animation - strongSelf.progress = SVProgressHUDUndefinedProgress; - [strongSelf cancelRingLayerAnimation]; - [strongSelf cancelIndefiniteAnimatedViewAnimation]; - - // Update imageView - if (self.shouldTintImages) { - if (image.renderingMode != UIImageRenderingModeAlwaysTemplate) { - strongSelf.imageView.image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - } - strongSelf.imageView.tintColor = strongSelf.foregroundColorForStyle;; - } else { - strongSelf.imageView.image = image; - } - strongSelf.imageView.hidden = NO; - - // Update text - strongSelf.statusLabel.hidden = status.length == 0; - strongSelf.statusLabel.text = status; - - // Fade in delayed if a grace time is set - // An image will be dismissed automatically. Thus pass the duration as userInfo. - if (self.graceTimeInterval > 0.0 && self.backgroundView.alpha == 0.0f) { - strongSelf.graceTimer = [NSTimer timerWithTimeInterval:self.graceTimeInterval target:strongSelf selector:@selector(fadeIn:) userInfo:@(duration) repeats:NO]; - [[NSRunLoop mainRunLoop] addTimer:strongSelf.graceTimer forMode:NSRunLoopCommonModes]; - } else { - [strongSelf fadeIn:@(duration)]; - } - } - }]; -} - -- (void)fadeIn:(id)data { - // Update the HUDs frame to the new content and position HUD - [self updateHUDFrame]; - [self positionHUD:nil]; - - // Update accessibility as well as user interaction - if(self.defaultMaskType != SVProgressHUDMaskTypeNone) { - self.controlView.userInteractionEnabled = YES; - self.accessibilityLabel = self.statusLabel.text ?: NSLocalizedString(@"Loading", nil); - self.isAccessibilityElement = YES; - } else { - self.controlView.userInteractionEnabled = NO; - self.hudView.accessibilityLabel = self.statusLabel.text ?: NSLocalizedString(@"Loading", nil); - self.hudView.isAccessibilityElement = YES; - } - - // Get duration - id duration = [data isKindOfClass:[NSTimer class]] ? ((NSTimer *)data).userInfo : data; - - // Show if not already visible - if(self.backgroundView.alpha != 1.0f) { - // Post notification to inform user - [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDWillAppearNotification - object:self - userInfo:[self notificationUserInfo]]; - - // Shrink HUD to to make a nice appear / pop up animation - self.hudView.transform = self.hudView.transform = CGAffineTransformScale(self.hudView.transform, 1/1.5f, 1/1.5f); - - __block void (^animationsBlock)(void) = ^{ - // Zoom HUD a little to make a nice appear / pop up animation - self.hudView.transform = CGAffineTransformIdentity; - - // Fade in all effects (colors, blur, etc.) - [self fadeInEffects]; - }; - - __block void (^completionBlock)(void) = ^{ - // Check if we really achieved to show the HUD (<=> alpha) - // and the change of these values has not been cancelled in between e.g. due to a dismissal - if(self.backgroundView.alpha == 1.0f){ - // Register observer <=> we now have to handle orientation changes etc. - [self registerNotifications]; - - // Post notification to inform user - [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidAppearNotification - object:self - userInfo:[self notificationUserInfo]]; - - // Update accessibility - UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil); - UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, self.statusLabel.text); - - // Dismiss automatically if a duration was passed as userInfo. We start a timer - // which then will call dismiss after the predefined duration - if(duration){ - self.fadeOutTimer = [NSTimer timerWithTimeInterval:[(NSNumber *)duration doubleValue] target:self selector:@selector(dismiss) userInfo:nil repeats:NO]; - [[NSRunLoop mainRunLoop] addTimer:self.fadeOutTimer forMode:NSRunLoopCommonModes]; - } - } - }; - - // Animate appearance - if (self.fadeInAnimationDuration > 0) { - // Animate appearance - [UIView animateWithDuration:self.fadeInAnimationDuration - delay:0 - options:(UIViewAnimationOptions) (UIViewAnimationOptionAllowUserInteraction | UIViewAnimationCurveEaseIn | UIViewAnimationOptionBeginFromCurrentState) - animations:^{ - animationsBlock(); - } completion:^(BOOL finished) { - completionBlock(); - }]; - } else { - animationsBlock(); - completionBlock(); - } - - // Inform iOS to redraw the view hierarchy - [self setNeedsDisplay]; - } else { - // Update accessibility - UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil); - UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, self.statusLabel.text); - - // Dismiss automatically if a duration was passed as userInfo. We start a timer - // which then will call dismiss after the predefined duration - if(duration){ - self.fadeOutTimer = [NSTimer timerWithTimeInterval:[(NSNumber *)duration doubleValue] target:self selector:@selector(dismiss) userInfo:nil repeats:NO]; - [[NSRunLoop mainRunLoop] addTimer:self.fadeOutTimer forMode:NSRunLoopCommonModes]; - } - } -} - -- (void)dismiss { - [self dismissWithDelay:0.0 completion:nil]; -} - -- (void)dismissWithDelay:(NSTimeInterval)delay completion:(SVProgressHUDDismissCompletion)completion { - __weak SVProgressHUD *weakSelf = self; - [[NSOperationQueue mainQueue] addOperationWithBlock:^{ - __strong SVProgressHUD *strongSelf = weakSelf; - if(strongSelf){ - // Stop timer - strongSelf.graceTimer = nil; - - // Post notification to inform user - [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDWillDisappearNotification - object:nil - userInfo:[strongSelf notificationUserInfo]]; - - // Reset activity count - strongSelf.activityCount = 0; - - __block void (^animationsBlock)(void) = ^{ - // Shrink HUD a little to make a nice disappear animation - strongSelf.hudView.transform = CGAffineTransformScale(strongSelf.hudView.transform, 1/1.3f, 1/1.3f); - - // Fade out all effects (colors, blur, etc.) - [strongSelf fadeOutEffects]; - }; - - __block void (^completionBlock)(void) = ^{ - // Check if we really achieved to dismiss the HUD (<=> alpha values are applied) - // and the change of these values has not been cancelled in between e.g. due to a new show - if(self.backgroundView.alpha == 0.0f){ - // Clean up view hierarchy (overlays) - [strongSelf.controlView removeFromSuperview]; - [strongSelf.backgroundView removeFromSuperview]; - [strongSelf.hudView removeFromSuperview]; - [strongSelf removeFromSuperview]; - - // Reset progress and cancel any running animation - strongSelf.progress = SVProgressHUDUndefinedProgress; - [strongSelf cancelRingLayerAnimation]; - [strongSelf cancelIndefiniteAnimatedViewAnimation]; - - // Remove observer <=> we do not have to handle orientation changes etc. - [[NSNotificationCenter defaultCenter] removeObserver:strongSelf]; - - // Post notification to inform user - [[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDDidDisappearNotification - object:strongSelf - userInfo:[strongSelf notificationUserInfo]]; - - // Tell the rootViewController to update the StatusBar appearance -#if !defined(SV_APP_EXTENSIONS) && TARGET_OS_IOS - UIViewController *rootController = [[UIApplication sharedApplication] keyWindow].rootViewController; - [rootController setNeedsStatusBarAppearanceUpdate]; -#endif - - // Run an (optional) completionHandler - if (completion) { - completion(); - } - } - }; - - // UIViewAnimationOptionBeginFromCurrentState AND a delay doesn't always work as expected - // When UIViewAnimationOptionBeginFromCurrentState is set, animateWithDuration: evaluates the current - // values to check if an animation is necessary. The evaluation happens at function call time and not - // after the delay => the animation is sometimes skipped. Therefore we delay using dispatch_after. - - dispatch_time_t dipatchTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delay * NSEC_PER_SEC)); - dispatch_after(dipatchTime, dispatch_get_main_queue(), ^{ - if (strongSelf.fadeOutAnimationDuration > 0) { - // Animate appearance - [UIView animateWithDuration:strongSelf.fadeOutAnimationDuration - delay:0 - options:(UIViewAnimationOptions) (UIViewAnimationOptionAllowUserInteraction | UIViewAnimationCurveEaseOut | UIViewAnimationOptionBeginFromCurrentState) - animations:^{ - animationsBlock(); - } completion:^(BOOL finished) { - completionBlock(); - }]; - } else { - animationsBlock(); - completionBlock(); - } - }); - - // Inform iOS to redraw the view hierarchy - [strongSelf setNeedsDisplay]; - } - }]; -} - - -#pragma mark - Ring progress animation - -- (UIView*)indefiniteAnimatedView { - // Get the correct spinner for defaultAnimationType - if(self.defaultAnimationType == SVProgressHUDAnimationTypeFlat){ - // Check if spinner exists and is an object of different class - if(_indefiniteAnimatedView && ![_indefiniteAnimatedView isKindOfClass:[SVIndefiniteAnimatedView class]]){ - [_indefiniteAnimatedView removeFromSuperview]; - _indefiniteAnimatedView = nil; - } - - if(!_indefiniteAnimatedView){ - _indefiniteAnimatedView = [[SVIndefiniteAnimatedView alloc] initWithFrame:CGRectZero]; - } - - // Update styling - SVIndefiniteAnimatedView *indefiniteAnimatedView = (SVIndefiniteAnimatedView*)_indefiniteAnimatedView; - indefiniteAnimatedView.strokeColor = self.foregroundColorForStyle; - indefiniteAnimatedView.strokeThickness = self.ringThickness; - indefiniteAnimatedView.radius = self.statusLabel.text ? self.ringRadius : self.ringNoTextRadius; - } else { - // Check if spinner exists and is an object of different class - if(_indefiniteAnimatedView && ![_indefiniteAnimatedView isKindOfClass:[UIActivityIndicatorView class]]){ - [_indefiniteAnimatedView removeFromSuperview]; - _indefiniteAnimatedView = nil; - } - - if(!_indefiniteAnimatedView){ - _indefiniteAnimatedView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; - } - - // Update styling - UIActivityIndicatorView *activityIndicatorView = (UIActivityIndicatorView*)_indefiniteAnimatedView; - activityIndicatorView.color = self.foregroundColorForStyle; - } - [_indefiniteAnimatedView sizeToFit]; - - return _indefiniteAnimatedView; -} - -- (SVProgressAnimatedView*)ringView { - if(!_ringView) { - _ringView = [[SVProgressAnimatedView alloc] initWithFrame:CGRectZero]; - } - - // Update styling - _ringView.strokeColor = self.foregroundColorForStyle; - _ringView.strokeThickness = self.ringThickness; - _ringView.radius = self.statusLabel.text ? self.ringRadius : self.ringNoTextRadius; - - return _ringView; -} - -- (SVProgressAnimatedView*)backgroundRingView { - if(!_backgroundRingView) { - _backgroundRingView = [[SVProgressAnimatedView alloc] initWithFrame:CGRectZero]; - _backgroundRingView.strokeEnd = 1.0f; - } - - // Update styling - _backgroundRingView.strokeColor = [self.foregroundColorForStyle colorWithAlphaComponent:0.1f]; - _backgroundRingView.strokeThickness = self.ringThickness; - _backgroundRingView.radius = self.statusLabel.text ? self.ringRadius : self.ringNoTextRadius; - - return _backgroundRingView; -} - -- (void)cancelRingLayerAnimation { - // Animate value update, stop animation - [CATransaction begin]; - [CATransaction setDisableActions:YES]; - - [self.hudView.layer removeAllAnimations]; - self.ringView.strokeEnd = 0.0f; - - [CATransaction commit]; - - // Remove from view - [self.ringView removeFromSuperview]; - [self.backgroundRingView removeFromSuperview]; -} - -- (void)cancelIndefiniteAnimatedViewAnimation { - // Stop animation - if([self.indefiniteAnimatedView respondsToSelector:@selector(stopAnimating)]) { - [(id)self.indefiniteAnimatedView stopAnimating]; - } - // Remove from view - [self.indefiniteAnimatedView removeFromSuperview]; -} - - -#pragma mark - Utilities - -+ (BOOL)isVisible { - // Checking one alpha value is sufficient as they are all the same - return [self sharedView].backgroundView.alpha > 0.0f; -} - - -#pragma mark - Getters - -+ (NSTimeInterval)displayDurationForString:(NSString*)string { - CGFloat minimum = MAX((CGFloat)string.length * 0.06 + 0.5, [self sharedView].minimumDismissTimeInterval); - return MIN(minimum, [self sharedView].maximumDismissTimeInterval); -} - -- (UIColor*)foregroundColorForStyle { - if(self.defaultStyle == SVProgressHUDStyleLight) { - return [UIColor blackColor]; - } else if(self.defaultStyle == SVProgressHUDStyleDark) { - return [UIColor whiteColor]; - } else { - return self.foregroundColor; - } -} - -- (UIColor*)backgroundColorForStyle { - if(self.defaultStyle == SVProgressHUDStyleLight) { - return [UIColor whiteColor]; - } else if(self.defaultStyle == SVProgressHUDStyleDark) { - return [UIColor blackColor]; - } else { - return self.backgroundColor; - } -} - -- (UIControl*)controlView { - if(!_controlView) { - _controlView = [UIControl new]; - _controlView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; - _controlView.backgroundColor = [UIColor clearColor]; - _controlView.userInteractionEnabled = YES; - [_controlView addTarget:self action:@selector(controlViewDidReceiveTouchEvent:forEvent:) forControlEvents:UIControlEventTouchDown]; - } - - // Update frames -#if !defined(SV_APP_EXTENSIONS) - CGRect windowBounds = [[[UIApplication sharedApplication] delegate] window].bounds; - _controlView.frame = windowBounds; -#else - _controlView.frame = [UIScreen mainScreen].bounds; -#endif - - return _controlView; -} - --(UIView *)backgroundView { - if(!_backgroundView){ - _backgroundView = [UIView new]; - _backgroundView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; - } - if(!_backgroundView.superview){ - [self insertSubview:_backgroundView belowSubview:self.hudView]; - } - - // Update styling - if(self.defaultMaskType == SVProgressHUDMaskTypeGradient){ - if(!_backgroundRadialGradientLayer){ - _backgroundRadialGradientLayer = [SVRadialGradientLayer layer]; - } - if(!_backgroundRadialGradientLayer.superlayer){ - [_backgroundView.layer insertSublayer:_backgroundRadialGradientLayer atIndex:0]; - } - _backgroundView.backgroundColor = [UIColor clearColor]; - } else { - if(_backgroundRadialGradientLayer && _backgroundRadialGradientLayer.superlayer){ - [_backgroundRadialGradientLayer removeFromSuperlayer]; - } - if(self.defaultMaskType == SVProgressHUDMaskTypeBlack){ - _backgroundView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.4]; - } else if(self.defaultMaskType == SVProgressHUDMaskTypeCustom){ - _backgroundView.backgroundColor = self.backgroundLayerColor; - } else { - _backgroundView.backgroundColor = [UIColor clearColor]; - } - } - - // Update frame - if(_backgroundView){ - _backgroundView.frame = self.bounds; - } - if(_backgroundRadialGradientLayer){ - _backgroundRadialGradientLayer.frame = self.bounds; - - // Calculate the new center of the gradient, it may change if keyboard is visible - CGPoint gradientCenter = self.center; - gradientCenter.y = (self.bounds.size.height - self.visibleKeyboardHeight)/2; - _backgroundRadialGradientLayer.gradientCenter = gradientCenter; - [_backgroundRadialGradientLayer setNeedsDisplay]; - } - - return _backgroundView; -} -- (UIVisualEffectView*)hudView { - if(!_hudView) { - _hudView = [UIVisualEffectView new]; - _hudView.layer.masksToBounds = YES; - _hudView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin; - } - if(!_hudView.superview) { - [self addSubview:_hudView]; - } - - // Update styling - _hudView.layer.cornerRadius = self.cornerRadius; - - return _hudView; -} - -- (UILabel*)statusLabel { - if(!_statusLabel) { - _statusLabel = [[UILabel alloc] initWithFrame:CGRectZero]; - _statusLabel.backgroundColor = [UIColor clearColor]; - _statusLabel.adjustsFontSizeToFitWidth = YES; - _statusLabel.textAlignment = NSTextAlignmentCenter; - _statusLabel.baselineAdjustment = UIBaselineAdjustmentAlignCenters; - _statusLabel.numberOfLines = 0; - } - if(!_statusLabel.superview) { - [self.hudView.contentView addSubview:_statusLabel]; - } - - // Update styling - _statusLabel.textColor = self.foregroundColorForStyle; - _statusLabel.font = self.font; - - return _statusLabel; -} - -- (UIImageView*)imageView { - if(_imageView && !CGSizeEqualToSize(_imageView.bounds.size, _imageViewSize)) { - [_imageView removeFromSuperview]; - _imageView = nil; - } - - if(!_imageView) { - _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, _imageViewSize.width, _imageViewSize.height)]; - } - if(!_imageView.superview) { - [self.hudView.contentView addSubview:_imageView]; - } - - return _imageView; -} - - -#pragma mark - Helper - -- (CGFloat)visibleKeyboardHeight { -#if !defined(SV_APP_EXTENSIONS) - UIWindow *keyboardWindow = nil; - for (UIWindow *testWindow in UIApplication.sharedApplication.windows) { - if(![testWindow.class isEqual:UIWindow.class]) { - keyboardWindow = testWindow; - break; - } - } - - for (__strong UIView *possibleKeyboard in keyboardWindow.subviews) { - NSString *viewName = NSStringFromClass(possibleKeyboard.class); - if([viewName hasPrefix:@"UI"]){ - if([viewName hasSuffix:@"PeripheralHostView"] || [viewName hasSuffix:@"Keyboard"]){ - return CGRectGetHeight(possibleKeyboard.bounds); - } else if ([viewName hasSuffix:@"InputSetContainerView"]){ - for (__strong UIView *possibleKeyboardSubview in possibleKeyboard.subviews) { - viewName = NSStringFromClass(possibleKeyboardSubview.class); - if([viewName hasPrefix:@"UI"] && [viewName hasSuffix:@"InputSetHostView"]) { - CGRect convertedRect = [possibleKeyboard convertRect:possibleKeyboardSubview.frame toView:self]; - CGRect intersectedRect = CGRectIntersection(convertedRect, self.bounds); - if (!CGRectIsNull(intersectedRect)) { - return CGRectGetHeight(intersectedRect); - } - } - } - } - } - } -#endif - return 0; -} - -- (UIWindow *)frontWindow { -#if !defined(SV_APP_EXTENSIONS) - NSEnumerator *frontToBackWindows = [UIApplication.sharedApplication.windows reverseObjectEnumerator]; - for (UIWindow *window in frontToBackWindows) { - BOOL windowOnMainScreen = window.screen == UIScreen.mainScreen; - BOOL windowIsVisible = !window.hidden && window.alpha > 0; - BOOL windowLevelSupported = (window.windowLevel >= UIWindowLevelNormal && window.windowLevel <= self.maxSupportedWindowLevel); - BOOL windowKeyWindow = window.isKeyWindow; - - if(windowOnMainScreen && windowIsVisible && windowLevelSupported && windowKeyWindow) { - return window; - } - } -#endif - return nil; -} - -- (void)fadeInEffects { - if(self.defaultStyle != SVProgressHUDStyleCustom) { - // Add blur effect - UIBlurEffectStyle blurEffectStyle = self.defaultStyle == SVProgressHUDStyleDark ? UIBlurEffectStyleDark : UIBlurEffectStyleLight; - UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:blurEffectStyle]; - self.hudView.effect = blurEffect; - - // We omit UIVibrancy effect and use a suitable background color as an alternative. - // This will make everything more readable. See the following for details: - // https://www.omnigroup.com/developer/how-to-make-text-in-a-uivisualeffectview-readable-on-any-background - - self.hudView.backgroundColor = [self.backgroundColorForStyle colorWithAlphaComponent:0.6f]; - } else { - self.hudView.backgroundColor = self.backgroundColorForStyle; - } - - // Fade in views - self.backgroundView.alpha = 1.0f; - - self.imageView.alpha = 1.0f; - self.statusLabel.alpha = 1.0f; - self.indefiniteAnimatedView.alpha = 1.0f; - self.ringView.alpha = self.backgroundRingView.alpha = 1.0f; -} - -- (void)fadeOutEffects -{ - if(self.defaultStyle != SVProgressHUDStyleCustom) { - // Remove blur effect - self.hudView.effect = nil; - } - - // Remove background color - self.hudView.backgroundColor = [UIColor clearColor]; - - // Fade out views - self.backgroundView.alpha = 0.0f; - - self.imageView.alpha = 0.0f; - self.statusLabel.alpha = 0.0f; - self.indefiniteAnimatedView.alpha = 0.0f; - self.ringView.alpha = self.backgroundRingView.alpha = 0.0f; -} - -#if TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 100000 -- (UINotificationFeedbackGenerator *)hapticGenerator NS_AVAILABLE_IOS(10_0) { - // Only return if haptics are enabled - if(!self.hapticsEnabled) { - return nil; - } - - if(!_hapticGenerator) { - _hapticGenerator = [[UINotificationFeedbackGenerator alloc] init]; - } - return _hapticGenerator; -} -#endif - - -#pragma mark - UIAppearance Setters - -- (void)setDefaultStyle:(SVProgressHUDStyle)style { - if (!_isInitializing) _defaultStyle = style; -} - -- (void)setDefaultMaskType:(SVProgressHUDMaskType)maskType { - if (!_isInitializing) _defaultMaskType = maskType; -} - -- (void)setDefaultAnimationType:(SVProgressHUDAnimationType)animationType { - if (!_isInitializing) _defaultAnimationType = animationType; -} - -- (void)setContainerView:(UIView *)containerView { - if (!_isInitializing) _containerView = containerView; -} - -- (void)setMinimumSize:(CGSize)minimumSize { - if (!_isInitializing) _minimumSize = minimumSize; -} - -- (void)setRingThickness:(CGFloat)ringThickness { - if (!_isInitializing) _ringThickness = ringThickness; -} - -- (void)setRingRadius:(CGFloat)ringRadius { - if (!_isInitializing) _ringRadius = ringRadius; -} - -- (void)setRingNoTextRadius:(CGFloat)ringNoTextRadius { - if (!_isInitializing) _ringNoTextRadius = ringNoTextRadius; -} - -- (void)setCornerRadius:(CGFloat)cornerRadius { - if (!_isInitializing) _cornerRadius = cornerRadius; -} - -- (void)setFont:(UIFont*)font { - if (!_isInitializing) _font = font; -} - -- (void)setForegroundColor:(UIColor*)color { - if (!_isInitializing) _foregroundColor = color; -} - -- (void)setBackgroundColor:(UIColor*)color { - if (!_isInitializing) _backgroundColor = color; -} - -- (void)setBackgroundLayerColor:(UIColor*)color { - if (!_isInitializing) _backgroundLayerColor = color; -} - -- (void)setShouldTintImages:(BOOL)shouldTintImages { - if (!_isInitializing) _shouldTintImages = shouldTintImages; -} - -- (void)setInfoImage:(UIImage*)image { - if (!_isInitializing) _infoImage = image; -} - -- (void)setSuccessImage:(UIImage*)image { - if (!_isInitializing) _successImage = image; -} - -- (void)setErrorImage:(UIImage*)image { - if (!_isInitializing) _errorImage = image; -} - -- (void)setViewForExtension:(UIView*)view { - if (!_isInitializing) _viewForExtension = view; -} - -- (void)setOffsetFromCenter:(UIOffset)offset { - if (!_isInitializing) _offsetFromCenter = offset; -} - -- (void)setMinimumDismissTimeInterval:(NSTimeInterval)minimumDismissTimeInterval { - if (!_isInitializing) _minimumDismissTimeInterval = minimumDismissTimeInterval; -} - -- (void)setFadeInAnimationDuration:(NSTimeInterval)duration { - if (!_isInitializing) _fadeInAnimationDuration = duration; -} - -- (void)setFadeOutAnimationDuration:(NSTimeInterval)duration { - if (!_isInitializing) _fadeOutAnimationDuration = duration; -} - -- (void)setMaxSupportedWindowLevel:(UIWindowLevel)maxSupportedWindowLevel { - if (!_isInitializing) _maxSupportedWindowLevel = maxSupportedWindowLevel; -} - -@end diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h deleted file mode 100755 index 68d452a..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// SVRadialGradientLayer.h -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2014-2018 Tobias Tiemerding. All rights reserved. -// - -#import - -@interface SVRadialGradientLayer : CALayer - -@property (nonatomic) CGPoint gradientCenter; - -@end diff --git a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m b/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m deleted file mode 100755 index c62e0f8..0000000 --- a/sampleiOS/Pods/SVProgressHUD/SVProgressHUD/SVRadialGradientLayer.m +++ /dev/null @@ -1,25 +0,0 @@ -// -// SVRadialGradientLayer.m -// SVProgressHUD, https://github.com/SVProgressHUD/SVProgressHUD -// -// Copyright (c) 2014-2018 Tobias Tiemerding. All rights reserved. -// - -#import "SVRadialGradientLayer.h" - -@implementation SVRadialGradientLayer - -- (void)drawInContext:(CGContextRef)context { - size_t locationsCount = 2; - CGFloat locations[2] = {0.0f, 1.0f}; - CGFloat colors[8] = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.75f}; - CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); - CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, colors, locations, locationsCount); - CGColorSpaceRelease(colorSpace); - - float radius = MIN(self.bounds.size.width , self.bounds.size.height); - CGContextDrawRadialGradient (context, gradient, self.gradientCenter, 0, self.gradientCenter, radius, kCGGradientDrawsAfterEndLocation); - CGGradientRelease(gradient); -} - -@end diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/LICENSE b/sampleiOS/Pods/Socket.IO-Client-Swift/LICENSE deleted file mode 100644 index 1274e18..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/LICENSE +++ /dev/null @@ -1,230 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2015 Erik Little - -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. - - - -This library makes use of the following third party libraries: - -Starscream ----------- - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/README.md b/sampleiOS/Pods/Socket.IO-Client-Swift/README.md deleted file mode 100644 index 855ff67..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/README.md +++ /dev/null @@ -1,153 +0,0 @@ -[![Build Status](https://travis-ci.org/socketio/socket.io-client-swift.svg?branch=master)](https://travis-ci.org/socketio/socket.io-client-swift) - -# Socket.IO-Client-Swift -Socket.IO-client for iOS/OS X. - -## Example -```swift -import SocketIO - -let manager = SocketManager(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .compress]) -let socket = manager.defaultSocket - -socket.on(clientEvent: .connect) {data, ack in - print("socket connected") -} - -socket.on("currentAmount") {data, ack in - guard let cur = data[0] as? Double else { return } - - socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in - socket.emit("update", ["amount": cur + 2.50]) - } - - ack.with("Got your currentAmount", "dude") -} - -socket.connect() -``` - -## Objective-C Example -```objective-c -@import SocketIO; - -NSURL* url = [[NSURL alloc] initWithString:@"http://localhost:8080"]; -SocketManager* manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @YES, @"compress": @YES}]; -SocketIOClient* socket = manager.defaultSocket; - -[socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) { - NSLog(@"socket connected"); -}]; - -[socket on:@"currentAmount" callback:^(NSArray* data, SocketAckEmitter* ack) { - double cur = [[data objectAtIndex:0] floatValue]; - - [[socket emitWithAck:@"canUpdate" with:@[@(cur)]] timingOutAfter:0 callback:^(NSArray* data) { - [socket emit:@"update" with:@[@{@"amount": @(cur + 2.50)}]]; - }]; - - [ack with:@[@"Got your currentAmount, ", @"dude"]]; -}]; - -[socket connect]; - -``` - -## Features -- Supports socket.io 2.0+ (For socket.io 1.0 use v9.x) -- Supports binary -- Supports Polling and WebSockets -- Supports TLS/SSL -- Can be used from Objective-C - -## FAQS -Checkout the [FAQs](https://nuclearace.github.io/Socket.IO-Client-Swift/faq.html) for commonly asked questions. - -Checkout the [12to13](https://nuclearace.github.io/Socket.IO-Client-Swift/12to13.html) guide for migrating to v13+ from v12 below. - - -## Installation -Requires Swift 4/5 and Xcode 10.x - -If you need Swift 2.3 use the [swift2.3 tag](https://github.com/socketio/socket.io-client-swift/releases/tag/swift2.3) (Pre-Swift 4 support is no longer maintained) - -If you need Swift 3.x use v11.1.3. - -### Swift Package Manager -Add the project as a dependency to your Package.swift: -```swift -// swift-tools-version:4.2 - -import PackageDescription - -let package = Package( - name: "socket.io-test", - products: [ - .executable(name: "socket.io-test", targets: ["YourTargetName"]) - ], - dependencies: [ - .package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMinor(from: "15.0.0")) - ], - targets: [ - .target(name: "YourTargetName", dependencies: ["SocketIO"], path: "./Path/To/Your/Sources") - ] -) -``` - -Then import `import SocketIO`. - -### Carthage -Add this line to your `Cartfile`: -``` -github "socketio/socket.io-client-swift" ~> 15.2.0 -``` - -Run `carthage update --platform ios,macosx`. - -Add the `Starscream` and `SocketIO` frameworks to your projects and follow the usual Carthage process. - -### CocoaPods 1.0.0 or later -Create `Podfile` and add `pod 'Socket.IO-Client-Swift'`: - -```ruby -use_frameworks! - -target 'YourApp' do - pod 'Socket.IO-Client-Swift', '~> 15.2.0' -end -``` - -Install pods: - -``` -$ pod install -``` - -Import the module: - -Swift: -```swift -import SocketIO -``` - -Objective-C: - -```Objective-C -@import SocketIO; -``` - - -# [Docs](https://nuclearace.github.io/Socket.IO-Client-Swift/index.html) - -- [Client](https://nuclearace.github.io/Socket.IO-Client-Swift/Classes/SocketIOClient.html) -- [Manager](https://nuclearace.github.io/Socket.IO-Client-Swift/Classes/SocketManager.html) -- [Engine](https://nuclearace.github.io/Socket.IO-Client-Swift/Classes/SocketEngine.html) -- [Options](https://nuclearace.github.io/Socket.IO-Client-Swift/Enums/SocketIOClientOption.html) - -## Detailed Example -A more detailed example can be found [here](https://github.com/nuclearace/socket.io-client-swift-example) - -An example using the Swift Package Manager can be found [here](https://github.com/nuclearace/socket.io-client-swift-spm-example) - -## License -MIT diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Ack/SocketAckEmitter.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Ack/SocketAckEmitter.swift deleted file mode 100644 index 0a4eea7..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Ack/SocketAckEmitter.swift +++ /dev/null @@ -1,146 +0,0 @@ -// -// SocketAckEmitter.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 9/16/15. -// -// 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 Dispatch -import Foundation - -/// A class that represents a waiting ack call. -/// -/// **NOTE**: You should not store this beyond the life of the event handler. -public final class SocketAckEmitter : NSObject { - private unowned let socket: SocketIOClient - private let ackNum: Int - - /// A view into this emitter where emits do not check for binary data. - /// - /// Usage: - /// - /// ```swift - /// ack.rawEmitView.with(myObject) - /// ``` - /// - /// **NOTE**: It is not safe to hold on to this view beyond the life of the socket. - @objc - public private(set) lazy var rawEmitView = SocketRawAckView(socket: socket, ackNum: ackNum) - - // MARK: Properties - - /// If true, this handler is expecting to be acked. Call `with(_: SocketData...)` to ack. - public var expected: Bool { - return ackNum != -1 - } - - // MARK: Initializers - - /// Creates a new `SocketAckEmitter`. - /// - /// - parameter socket: The socket for this emitter. - /// - parameter ackNum: The ack number for this emitter. - public init(socket: SocketIOClient, ackNum: Int) { - self.socket = socket - self.ackNum = ackNum - } - - // MARK: Methods - - /// Call to ack receiving this event. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[ackNum, items, theError]` - /// - /// - parameter items: A variable number of items to send when acking. - public func with(_ items: SocketData...) { - guard ackNum != -1 else { return } - - do { - socket.emitAck(ackNum, with: try items.map({ try $0.socketRepresentation() })) - } catch { - socket.handleClientEvent(.error, data: [ackNum, items, error]) - } - } - - /// Call to ack receiving this event. - /// - /// - parameter items: An array of items to send when acking. Use `[]` to send nothing. - @objc - public func with(_ items: [Any]) { - guard ackNum != -1 else { return } - - socket.emitAck(ackNum, with: items) - } - -} - -/// A class that represents an emit that will request an ack that has not yet been sent. -/// Call `timingOut(after:callback:)` to complete the emit -/// Example: -/// -/// ```swift -/// socket.emitWithAck("myEvent").timingOut(after: 1) {data in -/// ... -/// } -/// ``` -public final class OnAckCallback : NSObject { - private let ackNumber: Int - private let binary: Bool - private let items: [Any] - - private weak var socket: SocketIOClient? - - init(ackNumber: Int, items: [Any], socket: SocketIOClient, binary: Bool = true) { - self.ackNumber = ackNumber - self.items = items - self.socket = socket - self.binary = binary - } - - /// :nodoc: - deinit { - DefaultSocketLogger.Logger.log("OnAckCallback for \(ackNumber) being released", type: "OnAckCallback") - } - - // MARK: Methods - - /// Completes an emitWithAck. If this isn't called, the emit never happens. - /// - /// - parameter seconds: The number of seconds before this emit times out if an ack hasn't been received. - /// - parameter callback: The callback called when an ack is received, or when a timeout happens. - /// To check for timeout, use `SocketAckStatus`'s `noAck` case. - @objc - public func timingOut(after seconds: Double, callback: @escaping AckCallback) { - guard let socket = self.socket, ackNumber != -1 else { return } - - socket.ackHandlers.addAck(ackNumber, callback: callback) - socket.emit(items, ack: ackNumber, binary: binary) - - guard seconds != 0 else { return } - - socket.manager?.handleQueue.asyncAfter(deadline: DispatchTime.now() + seconds) {[weak socket] in - guard let socket = socket else { return } - - socket.ackHandlers.timeoutAck(self.ackNumber) - } - } - -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Ack/SocketAckManager.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Ack/SocketAckManager.swift deleted file mode 100644 index 51047fb..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Ack/SocketAckManager.swift +++ /dev/null @@ -1,78 +0,0 @@ -// -// SocketAckManager.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 4/3/15. -// -// 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 Dispatch -import Foundation - -/// The status of an ack. -public enum SocketAckStatus : String { - // MARK: Cases - - /// The ack timed out. - case noAck = "NO ACK" -} - -private struct SocketAck : Hashable { - let ack: Int - var callback: AckCallback! - - init(ack: Int) { - self.ack = ack - } - - init(ack: Int, callback: @escaping AckCallback) { - self.ack = ack - self.callback = callback - } - - func hash(into hasher: inout Hasher) { - ack.hash(into: &hasher) - } - - fileprivate static func <(lhs: SocketAck, rhs: SocketAck) -> Bool { - return lhs.ack < rhs.ack - } - - fileprivate static func ==(lhs: SocketAck, rhs: SocketAck) -> Bool { - return lhs.ack == rhs.ack - } -} - -class SocketAckManager { - private var acks = Set(minimumCapacity: 1) - - func addAck(_ ack: Int, callback: @escaping AckCallback) { - acks.insert(SocketAck(ack: ack, callback: callback)) - } - - /// Should be called on handle queue - func executeAck(_ ack: Int, with items: [Any]) { - acks.remove(SocketAck(ack: ack))?.callback(items) - } - - /// Should be called on handle queue - func timeoutAck(_ ack: Int) { - acks.remove(SocketAck(ack: ack))?.callback?([SocketAckStatus.noAck.rawValue]) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketAnyEvent.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketAnyEvent.swift deleted file mode 100644 index 441e8c5..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketAnyEvent.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// SocketAnyEvent.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 3/28/15. -// -// 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 Foundation - -/// Represents some event that was received. -public final class SocketAnyEvent : NSObject { - // MARK: Properties - - /// The event name. - @objc - public let event: String - - /// The data items for this event. - @objc - public let items: [Any]? - - /// The description of this event. - override public var description: String { - return "SocketAnyEvent: Event: \(event) items: \(String(describing: items))" - } - - init(event: String, items: [Any]?) { - self.event = event - self.items = items - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketEventHandler.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketEventHandler.swift deleted file mode 100644 index 4f75a5a..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketEventHandler.swift +++ /dev/null @@ -1,50 +0,0 @@ -// -// EventHandler.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 1/18/15. -// -// 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 Foundation - -/// A wrapper around a handler. -public struct SocketEventHandler { - // MARK: Properties - - /// The event for this handler. - public let event: String - - /// A unique identifier for this handler. - public let id: UUID - - /// The actual handler function. - public let callback: NormalCallback - - // MARK: Methods - - /// Causes this handler to be executed. - /// - /// - parameter with: The data that this handler should be called with. - /// - parameter withAck: The ack number that this event expects. Pass -1 to say this event doesn't expect an ack. - /// - parameter withSocket: The socket that is calling this event. - public func executeCallback(with items: [Any], withAck ack: Int, withSocket socket: SocketIOClient) { - callback(items, SocketAckEmitter(socket: socket, ackNum: ack)) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClient.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClient.swift deleted file mode 100644 index 355fd21..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClient.swift +++ /dev/null @@ -1,561 +0,0 @@ -// -// SocketIOClient.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 11/23/14. -// -// 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 Dispatch -import Foundation - -/// Represents a socket.io-client. -/// -/// Clients are created through a `SocketManager`, which owns the `SocketEngineSpec` that controls the connection to the server. -/// -/// For example: -/// -/// ```swift -/// // Create a socket for the /swift namespace -/// let socket = manager.socket(forNamespace: "/swift") -/// -/// // Add some handlers and connect -/// ``` -/// -/// **NOTE**: The client is not thread/queue safe, all interaction with the socket should be done on the `manager.handleQueue` -/// -open class SocketIOClient : NSObject, SocketIOClientSpec { - // MARK: Properties - - /// The namespace that this socket is currently connected to. - /// - /// **Must** start with a `/`. - @objc - public let nsp: String - - /// The session id of this client. - @objc - public var sid: String { - guard let engine = manager?.engine else { return "" } - - return nsp == "/" ? engine.sid : "\(nsp)#\(engine.sid)" - } - - /// A handler that will be called on any event. - public private(set) var anyHandler: ((SocketAnyEvent) -> ())? - - /// The array of handlers for this socket. - public private(set) var handlers = [SocketEventHandler]() - - /// The manager for this socket. - @objc - public private(set) weak var manager: SocketManagerSpec? - - /// A view into this socket where emits do not check for binary data. - /// - /// Usage: - /// - /// ```swift - /// socket.rawEmitView.emit("myEvent", myObject) - /// ``` - /// - /// **NOTE**: It is not safe to hold on to this view beyond the life of the socket. - @objc - public private(set) lazy var rawEmitView = SocketRawView(socket: self) - - /// The status of this client. - @objc - public private(set) var status = SocketIOStatus.notConnected { - didSet { - handleClientEvent(.statusChange, data: [status, status.rawValue]) - } - } - - let ackHandlers = SocketAckManager() - - private(set) var currentAck = -1 - - private lazy var logType = "SocketIOClient{\(nsp)}" - - // MARK: Initializers - - /// Type safe way to create a new SocketIOClient. `opts` can be omitted. - /// - /// - parameter manager: The manager for this socket. - /// - parameter nsp: The namespace of the socket. - @objc - public init(manager: SocketManagerSpec, nsp: String) { - self.manager = manager - self.nsp = nsp - - super.init() - } - - /// :nodoc: - deinit { - DefaultSocketLogger.Logger.log("Client is being released", type: logType) - } - - // MARK: Methods - - /// Connect to the server. The same as calling `connect(timeoutAfter:withHandler:)` with a timeout of 0. - /// - /// Only call after adding your event listeners, unless you know what you're doing. - @objc - open func connect() { - connect(timeoutAfter: 0, withHandler: nil) - } - - /// Connect to the server. If we aren't connected after `timeoutAfter` seconds, then `withHandler` is called. - /// - /// Only call after adding your event listeners, unless you know what you're doing. - /// - /// - parameter timeoutAfter: The number of seconds after which if we are not connected we assume the connection - /// has failed. Pass 0 to never timeout. - /// - parameter handler: The handler to call when the client fails to connect. - @objc - open func connect(timeoutAfter: Double, withHandler handler: (() -> ())?) { - assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)") - - guard let manager = self.manager, status != .connected else { - DefaultSocketLogger.Logger.log("Tried connecting on an already connected socket", type: logType) - return - } - - status = .connecting - - joinNamespace() - - if manager.status == .connected && nsp == "/" { - // We might not get a connect event for the default nsp, fire immediately - didConnect(toNamespace: nsp) - - return - } - - guard timeoutAfter != 0 else { return } - - manager.handleQueue.asyncAfter(deadline: DispatchTime.now() + timeoutAfter) {[weak self] in - guard let this = self, this.status == .connecting || this.status == .notConnected else { return } - - this.status = .disconnected - this.leaveNamespace() - - handler?() - } - } - - func createOnAck(_ items: [Any], binary: Bool = true) -> OnAckCallback { - currentAck += 1 - - return OnAckCallback(ackNumber: currentAck, items: items, socket: self) - } - - /// Called when the client connects to a namespace. If the client was created with a namespace upfront, - /// then this is only called when the client connects to that namespace. - /// - /// - parameter toNamespace: The namespace that was connected to. - open func didConnect(toNamespace namespace: String) { - guard status != .connected else { return } - - DefaultSocketLogger.Logger.log("Socket connected", type: logType) - - status = .connected - - handleClientEvent(.connect, data: [namespace]) - } - - /// Called when the client has disconnected from socket.io. - /// - /// - parameter reason: The reason for the disconnection. - open func didDisconnect(reason: String) { - guard status != .disconnected else { return } - - DefaultSocketLogger.Logger.log("Disconnected: \(reason)", type: logType) - - status = .disconnected - - handleClientEvent(.disconnect, data: [reason]) - } - - /// Disconnects the socket. - /// - /// This will cause the socket to leave the namespace it is associated to, as well as remove itself from the - /// `manager`. - @objc - open func disconnect() { - DefaultSocketLogger.Logger.log("Closing socket", type: logType) - - leaveNamespace() - } - - /// Send an event to the server, with optional data items and optional write completion handler. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[eventName, items, theError]` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. May be left out. - /// - parameter completion: Callback called on transport write completion. - open func emit(_ event: String, _ items: SocketData..., completion: (() -> ())? = nil) { - do { - try emit(event, with: items.map({ try $0.socketRepresentation() }), completion: completion) - } catch { - DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", - type: logType) - - handleClientEvent(.error, data: [event, items, error]) - } - } - - /// Same as emit, but meant for Objective-C - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. Send an empty array to send no data. - @objc - open func emit(_ event: String, with items: [Any]) { - emit([event] + items) - } - - /// Same as emit, but meant for Objective-C - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. Send an empty array to send no data. - /// - parameter completion: Callback called on transport write completion. - @objc - open func emit(_ event: String, with items: [Any], completion: (() -> ())? = nil) { - emit([event] + items, completion: completion) - } - - /// Sends a message to the server, requesting an ack. - /// - /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack. - /// Check that your server's api will ack the event being sent. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[eventName, items, theError]` - /// - /// Example: - /// - /// ```swift - /// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. May be left out. - /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent. - open func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback { - do { - return emitWithAck(event, with: try items.map({ try $0.socketRepresentation() })) - } catch { - DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", - type: logType) - - handleClientEvent(.error, data: [event, items, error]) - - return OnAckCallback(ackNumber: -1, items: [], socket: self) - } - } - - /// Same as emitWithAck, but for Objective-C - /// - /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack. - /// Check that your server's api will ack the event being sent. - /// - /// Example: - /// - /// ```swift - /// socket.emitWithAck("myEvent", with: [1]).timingOut(after: 1) {data in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. Use `[]` to send nothing. - /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent. - @objc - open func emitWithAck(_ event: String, with items: [Any]) -> OnAckCallback { - return createOnAck([event] + items) - } - - func emit(_ data: [Any], - ack: Int? = nil, - binary: Bool = true, - isAck: Bool = false, - completion: (() -> ())? = nil - ) { - // wrap the completion handler so it always runs async via handlerQueue - let wrappedCompletion: (() -> ())? = (completion == nil) ? nil : {[weak self] in - guard let this = self else { return } - this.manager?.handleQueue.async { - completion!() - } - } - - guard status == .connected else { - wrappedCompletion?() - handleClientEvent(.error, data: ["Tried emitting when not connected"]) - return - } - - let packet = SocketPacket.packetFromEmit(data, id: ack ?? -1, nsp: nsp, ack: isAck, checkForBinary: binary) - let str = packet.packetString - - DefaultSocketLogger.Logger.log("Emitting: \(str), Ack: \(isAck)", type: logType) - - manager?.engine?.send(str, withData: packet.binary, completion: wrappedCompletion) - } - - /// Call when you wish to tell the server that you've received the event for `ack`. - /// - /// **You shouldn't need to call this directly.** Instead use an `SocketAckEmitter` that comes in an event callback. - /// - /// - parameter ack: The ack number. - /// - parameter with: The data for this ack. - open func emitAck(_ ack: Int, with items: [Any]) { - emit(items, ack: ack, binary: true, isAck: true) - } - - /// Called when socket.io has acked one of our emits. Causes the corresponding ack callback to be called. - /// - /// - parameter ack: The number for this ack. - /// - parameter data: The data sent back with this ack. - @objc - open func handleAck(_ ack: Int, data: [Any]) { - guard status == .connected else { return } - - DefaultSocketLogger.Logger.log("Handling ack: \(ack) with data: \(data)", type: logType) - - ackHandlers.executeAck(ack, with: data) - } - - /// Called on socket.io specific events. - /// - /// - parameter event: The `SocketClientEvent`. - /// - parameter data: The data for this event. - open func handleClientEvent(_ event: SocketClientEvent, data: [Any]) { - handleEvent(event.rawValue, data: data, isInternalMessage: true) - } - - /// Called when we get an event from socket.io. - /// - /// - parameter event: The name of the event. - /// - parameter data: The data that was sent with this event. - /// - parameter isInternalMessage: Whether this event was sent internally. If `true` it is always sent to handlers. - /// - parameter ack: If > 0 then this event expects to get an ack back from the client. - @objc - open func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int = -1) { - guard status == .connected || isInternalMessage else { return } - - DefaultSocketLogger.Logger.log("Handling event: \(event) with data: \(data)", type: logType) - - anyHandler?(SocketAnyEvent(event: event, items: data)) - - for handler in handlers where handler.event == event { - handler.executeCallback(with: data, withAck: ack, withSocket: self) - } - } - - /// Causes a client to handle a socket.io packet. The namespace for the packet must match the namespace of the - /// socket. - /// - /// - parameter packet: The packet to handle. - open func handlePacket(_ packet: SocketPacket) { - guard packet.nsp == nsp else { return } - - switch packet.type { - case .event, .binaryEvent: - handleEvent(packet.event, data: packet.args, isInternalMessage: false, withAck: packet.id) - case .ack, .binaryAck: - handleAck(packet.id, data: packet.data) - case .connect: - didConnect(toNamespace: nsp) - case .disconnect: - didDisconnect(reason: "Got Disconnect") - case .error: - handleEvent("error", data: packet.data, isInternalMessage: true, withAck: packet.id) - } - } - - /// Call when you wish to leave a namespace and disconnect this socket. - @objc - open func leaveNamespace() { - manager?.disconnectSocket(self) - } - - /// Joins `nsp`. - @objc - open func joinNamespace() { - DefaultSocketLogger.Logger.log("Joining namespace \(nsp)", type: logType) - - manager?.connectSocket(self) - } - - /// Removes handler(s) for a client event. - /// - /// If you wish to remove a client event handler, call the `off(id:)` with the UUID received from its `on` call. - /// - /// - parameter clientEvent: The event to remove handlers for. - open func off(clientEvent event: SocketClientEvent) { - off(event.rawValue) - } - - /// Removes handler(s) based on an event name. - /// - /// If you wish to remove a specific event, call the `off(id:)` with the UUID received from its `on` call. - /// - /// - parameter event: The event to remove handlers for. - @objc - open func off(_ event: String) { - DefaultSocketLogger.Logger.log("Removing handler for event: \(event)", type: logType) - - handlers = handlers.filter({ $0.event != event }) - } - - /// Removes a handler with the specified UUID gotten from an `on` or `once` - /// - /// If you want to remove all events for an event, call the off `off(_:)` method with the event name. - /// - /// - parameter id: The UUID of the handler you wish to remove. - @objc - open func off(id: UUID) { - DefaultSocketLogger.Logger.log("Removing handler with id: \(id)", type: logType) - - handlers = handlers.filter({ $0.id != id }) - } - - /// Adds a handler for an event. - /// - /// - parameter event: The event name for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - @objc - @discardableResult - open func on(_ event: String, callback: @escaping NormalCallback) -> UUID { - DefaultSocketLogger.Logger.log("Adding handler for event: \(event)", type: logType) - - let handler = SocketEventHandler(event: event, id: UUID(), callback: callback) - handlers.append(handler) - - return handler.id - } - - /// Adds a handler for a client event. - /// - /// Example: - /// - /// ```swift - /// socket.on(clientEvent: .connect) {data, ack in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - @discardableResult - open func on(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID { - return on(event.rawValue, callback: callback) - } - - /// Adds a single-use handler for a client event. - /// - /// - parameter clientEvent: The event for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - @discardableResult - open func once(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID { - return once(event.rawValue, callback: callback) - } - - /// Adds a single-use handler for an event. - /// - /// - parameter event: The event name for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - @objc - @discardableResult - open func once(_ event: String, callback: @escaping NormalCallback) -> UUID { - DefaultSocketLogger.Logger.log("Adding once handler for event: \(event)", type: logType) - - let id = UUID() - - let handler = SocketEventHandler(event: event, id: id) {[weak self] data, ack in - guard let this = self else { return } - this.off(id: id) - callback(data, ack) - } - - handlers.append(handler) - - return handler.id - } - - /// Adds a handler that will be called on every event. - /// - /// - parameter handler: The callback that will execute whenever an event is received. - @objc - open func onAny(_ handler: @escaping (SocketAnyEvent) -> ()) { - anyHandler = handler - } - - /// Tries to reconnect to the server. - @objc - @available(*, unavailable, message: "Call the manager's reconnect method") - open func reconnect() { } - - /// Removes all handlers. - /// - /// Can be used after disconnecting to break any potential remaining retain cycles. - @objc - open func removeAllHandlers() { - handlers.removeAll(keepingCapacity: false) - } - - /// Puts the socket back into the connecting state. - /// Called when the manager detects a broken connection, or when a manual reconnect is triggered. - /// - /// - parameter reason: The reason this socket is reconnecting. - @objc - open func setReconnecting(reason: String) { - status = .connecting - - handleClientEvent(.reconnect, data: [reason]) - } - - // Test properties - - var testHandlers: [SocketEventHandler] { - return handlers - } - - func setTestable() { - status = .connected - } - - func setTestStatus(_ status: SocketIOStatus) { - self.status = status - } - - func emitTest(event: String, _ data: Any...) { - emit([event] + data) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClientConfiguration.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClientConfiguration.swift deleted file mode 100644 index 0ccaace..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClientConfiguration.swift +++ /dev/null @@ -1,138 +0,0 @@ -// -// SocketIOClientConfiguration.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 8/13/16. -// -// 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. - -/// An array-like type that holds `SocketIOClientOption`s -public struct SocketIOClientConfiguration : ExpressibleByArrayLiteral, Collection, MutableCollection { - // MARK: Typealiases - - /// Type of element stored. - public typealias Element = SocketIOClientOption - - /// Index type. - public typealias Index = Array.Index - - /// Iterator type. - public typealias Iterator = Array.Iterator - - /// SubSequence type. - public typealias SubSequence = Array.SubSequence - - // MARK: Properties - - private var backingArray = [SocketIOClientOption]() - - /// The start index of this collection. - public var startIndex: Index { - return backingArray.startIndex - } - - /// The end index of this collection. - public var endIndex: Index { - return backingArray.endIndex - } - - /// Whether this collection is empty. - public var isEmpty: Bool { - return backingArray.isEmpty - } - - /// The number of elements stored in this collection. - public var count: Index.Stride { - return backingArray.count - } - - /// The first element in this collection. - public var first: Element? { - return backingArray.first - } - - public subscript(position: Index) -> Element { - get { - return backingArray[position] - } - - set { - backingArray[position] = newValue - } - } - - public subscript(bounds: Range) -> SubSequence { - get { - return backingArray[bounds] - } - - set { - backingArray[bounds] = newValue - } - } - - // MARK: Initializers - - /// Creates a new `SocketIOClientConfiguration` from an array literal. - /// - /// - parameter arrayLiteral: The elements. - public init(arrayLiteral elements: Element...) { - backingArray = elements - } - - // MARK: Methods - - /// Creates an iterator for this collection. - /// - /// - returns: An iterator over this collection. - public func makeIterator() -> Iterator { - return backingArray.makeIterator() - } - - /// - returns: The index after index. - public func index(after i: Index) -> Index { - return backingArray.index(after: i) - } - - /// Special method that inserts `element` into the collection, replacing any other instances of `element`. - /// - /// - parameter element: The element to insert. - /// - parameter replacing: Whether to replace any occurrences of element to the new item. Default is `true`. - public mutating func insert(_ element: Element, replacing replace: Bool = true) { - for i in 0.. Any -} - -/// The options for a client. -public enum SocketIOClientOption : ClientOption { - /// If given, the WebSocket transport will attempt to use compression. - case compress - - /// A dictionary of GET parameters that will be included in the connect url. - case connectParams([String: Any]) - - /// An array of cookies that will be sent during the initial connection. - case cookies([HTTPCookie]) - - /// Any extra HTTP headers that should be sent during the initial connection. - case extraHeaders([String: String]) - - /// If passed `true`, will cause the client to always create a new engine. Useful for debugging, - /// or when you want to be sure no state from previous engines is being carried over. - case forceNew(Bool) - - /// If passed `true`, the only transport that will be used will be HTTP long-polling. - case forcePolling(Bool) - - /// If passed `true`, the only transport that will be used will be WebSockets. - case forceWebsockets(Bool) - - /// If passed `true`, the WebSocket stream will be configured with the enableSOCKSProxy `true`. - case enableSOCKSProxy(Bool) - - /// The queue that all interaction with the client should occur on. This is the queue that event handlers are - /// called on. - /// - /// **This should be a serial queue! Concurrent queues are not supported and might cause crashes and races**. - case handleQueue(DispatchQueue) - - /// If passed `true`, the client will log debug information. This should be turned off in production code. - case log(Bool) - - /// Used to pass in a custom logger. - case logger(SocketLogger) - - /// A custom path to socket.io. Only use this if the socket.io server is configured to look for this path. - case path(String) - - /// If passed `false`, the client will not reconnect when it loses connection. Useful if you want full control - /// over when reconnects happen. - case reconnects(Bool) - - /// The number of times to try and reconnect before giving up. Pass `-1` to [never give up](https://www.youtube.com/watch?v=dQw4w9WgXcQ). - case reconnectAttempts(Int) - - /// The minimum number of seconds to wait before reconnect attempts. - case reconnectWait(Int) - - /// The maximum number of seconds to wait before reconnect attempts. - case reconnectWaitMax(Int) - - /// The randomization factor for calculating reconnect jitter. - case randomizationFactor(Double) - - /// Set `true` if your server is using secure transports. - case secure(Bool) - - /// Allows you to set which certs are valid. Useful for SSL pinning. - case security(SSLSecurity) - - /// If you're using a self-signed set. Only use for development. - case selfSigned(Bool) - - /// Sets an NSURLSessionDelegate for the underlying engine. Useful if you need to handle self-signed certs. - case sessionDelegate(URLSessionDelegate) - - // MARK: Properties - - /// The description of this option. - public var description: String { - let description: String - - switch self { - case .compress: - description = "compress" - case .connectParams: - description = "connectParams" - case .cookies: - description = "cookies" - case .extraHeaders: - description = "extraHeaders" - case .forceNew: - description = "forceNew" - case .forcePolling: - description = "forcePolling" - case .forceWebsockets: - description = "forceWebsockets" - case .handleQueue: - description = "handleQueue" - case .log: - description = "log" - case .logger: - description = "logger" - case .path: - description = "path" - case .reconnects: - description = "reconnects" - case .reconnectAttempts: - description = "reconnectAttempts" - case .reconnectWait: - description = "reconnectWait" - case .reconnectWaitMax: - description = "reconnectWaitMax" - case .randomizationFactor: - description = "randomizationFactor" - case .secure: - description = "secure" - case .selfSigned: - description = "selfSigned" - case .security: - description = "security" - case .sessionDelegate: - description = "sessionDelegate" - case .enableSOCKSProxy: - description = "enableSOCKSProxy" - } - - return description - } - - func getSocketIOOptionValue() -> Any { - let value: Any - - switch self { - case .compress: - value = true - case let .connectParams(params): - value = params - case let .cookies(cookies): - value = cookies - case let .extraHeaders(headers): - value = headers - case let .forceNew(force): - value = force - case let .forcePolling(force): - value = force - case let .forceWebsockets(force): - value = force - case let .handleQueue(queue): - value = queue - case let .log(log): - value = log - case let .logger(logger): - value = logger - case let .path(path): - value = path - case let .reconnects(reconnects): - value = reconnects - case let .reconnectAttempts(attempts): - value = attempts - case let .reconnectWait(wait): - value = wait - case let .reconnectWaitMax(wait): - value = wait - case let .randomizationFactor(factor): - value = factor - case let .secure(secure): - value = secure - case let .security(security): - value = security - case let .selfSigned(signed): - value = signed - case let .sessionDelegate(delegate): - value = delegate - case let .enableSOCKSProxy(enable): - value = enable - } - - return value - } - - // MARK: Operators - - /// Compares whether two options are the same. - /// - /// - parameter lhs: Left operand to compare. - /// - parameter rhs: Right operand to compare. - /// - returns: `true` if the two are the same option. - public static func ==(lhs: SocketIOClientOption, rhs: SocketIOClientOption) -> Bool { - return lhs.description == rhs.description - } - -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClientSpec.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClientSpec.swift deleted file mode 100644 index 06c67e6..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOClientSpec.swift +++ /dev/null @@ -1,353 +0,0 @@ -// -// SocketIOClientSpec.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 1/3/16. -// -// 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 Dispatch -import Foundation - -/// Defines the interface for a SocketIOClient. -public protocol SocketIOClientSpec : AnyObject { - // MARK: Properties - - /// A handler that will be called on any event. - var anyHandler: ((SocketAnyEvent) -> ())? { get } - - /// The array of handlers for this socket. - var handlers: [SocketEventHandler] { get } - - /// The manager for this socket. - var manager: SocketManagerSpec? { get } - - /// The namespace that this socket is currently connected to. - /// - /// **Must** start with a `/`. - var nsp: String { get } - - /// A view into this socket where emits do not check for binary data. - /// - /// Usage: - /// - /// ```swift - /// socket.rawEmitView.emit("myEvent", myObject) - /// ``` - /// - /// **NOTE**: It is not safe to hold on to this view beyond the life of the socket. - var rawEmitView: SocketRawView { get } - - /// The status of this client. - var status: SocketIOStatus { get } - - // MARK: Methods - - /// Connect to the server. The same as calling `connect(timeoutAfter:withHandler:)` with a timeout of 0. - /// - /// Only call after adding your event listeners, unless you know what you're doing. - func connect() - - /// Connect to the server. If we aren't connected after `timeoutAfter` seconds, then `withHandler` is called. - /// - /// Only call after adding your event listeners, unless you know what you're doing. - /// - /// - parameter timeoutAfter: The number of seconds after which if we are not connected we assume the connection - /// has failed. Pass 0 to never timeout. - /// - parameter handler: The handler to call when the client fails to connect. - func connect(timeoutAfter: Double, withHandler handler: (() -> ())?) - - /// Called when the client connects to a namespace. If the client was created with a namespace upfront, - /// then this is only called when the client connects to that namespace. - /// - /// - parameter toNamespace: The namespace that was connected to. - func didConnect(toNamespace namespace: String) - - /// Called when the client has disconnected from socket.io. - /// - /// - parameter reason: The reason for the disconnection. - func didDisconnect(reason: String) - - /// Called when the client encounters an error. - /// - /// - parameter reason: The reason for the disconnection. - func didError(reason: String) - - /// Disconnects the socket. - func disconnect() - - /// Send an event to the server, with optional data items and optional write completion handler. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[eventName, items, theError]` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. May be left out. - /// - parameter completion: Callback called on transport write completion. - func emit(_ event: String, _ items: SocketData..., completion: (() -> ())?) - - /// Call when you wish to tell the server that you've received the event for `ack`. - /// - /// - parameter ack: The ack number. - /// - parameter with: The data for this ack. - func emitAck(_ ack: Int, with items: [Any]) - - /// Sends a message to the server, requesting an ack. - /// - /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack. - /// Check that your server's api will ack the event being sent. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[eventName, items, theError]` - /// - /// Example: - /// - /// ```swift - /// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. May be left out. - /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent. - func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback - - /// Called when socket.io has acked one of our emits. Causes the corresponding ack callback to be called. - /// - /// - parameter ack: The number for this ack. - /// - parameter data: The data sent back with this ack. - func handleAck(_ ack: Int, data: [Any]) - - /// Called on socket.io specific events. - /// - /// - parameter event: The `SocketClientEvent`. - /// - parameter data: The data for this event. - func handleClientEvent(_ event: SocketClientEvent, data: [Any]) - - /// Called when we get an event from socket.io. - /// - /// - parameter event: The name of the event. - /// - parameter data: The data that was sent with this event. - /// - parameter isInternalMessage: Whether this event was sent internally. If `true` it is always sent to handlers. - /// - parameter ack: If > 0 then this event expects to get an ack back from the client. - func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int) - - /// Causes a client to handle a socket.io packet. The namespace for the packet must match the namespace of the - /// socket. - /// - /// - parameter packet: The packet to handle. - func handlePacket(_ packet: SocketPacket) - - /// Call when you wish to leave a namespace and disconnect this socket. - func leaveNamespace() - - /// Joins `nsp`. - func joinNamespace() - - /// Removes handler(s) for a client event. - /// - /// If you wish to remove a client event handler, call the `off(id:)` with the UUID received from its `on` call. - /// - /// - parameter clientEvent: The event to remove handlers for. - func off(clientEvent event: SocketClientEvent) - - /// Removes handler(s) based on an event name. - /// - /// If you wish to remove a specific event, call the `off(id:)` with the UUID received from its `on` call. - /// - /// - parameter event: The event to remove handlers for. - func off(_ event: String) - - /// Removes a handler with the specified UUID gotten from an `on` or `once` - /// - /// If you want to remove all events for an event, call the off `off(_:)` method with the event name. - /// - /// - parameter id: The UUID of the handler you wish to remove. - func off(id: UUID) - - /// Adds a handler for an event. - /// - /// - parameter event: The event name for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - func on(_ event: String, callback: @escaping NormalCallback) -> UUID - - /// Adds a handler for a client event. - /// - /// Example: - /// - /// ```swift - /// socket.on(clientEvent: .connect) {data, ack in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - func on(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID - - /// Adds a single-use handler for a client event. - /// - /// - parameter clientEvent: The event for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - func once(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID - - /// Adds a single-use handler for an event. - /// - /// - parameter event: The event name for this handler. - /// - parameter callback: The callback that will execute when this event is received. - /// - returns: A unique id for the handler that can be used to remove it. - func once(_ event: String, callback: @escaping NormalCallback) -> UUID - - /// Adds a handler that will be called on every event. - /// - /// - parameter handler: The callback that will execute whenever an event is received. - func onAny(_ handler: @escaping (SocketAnyEvent) -> ()) - - /// Removes all handlers. - /// - /// Can be used after disconnecting to break any potential remaining retain cycles. - func removeAllHandlers() - - /// Puts the socket back into the connecting state. - /// Called when the manager detects a broken connection, or when a manual reconnect is triggered. - /// - /// parameter reason: The reason this socket is going reconnecting. - func setReconnecting(reason: String) -} - -public extension SocketIOClientSpec { - /// Default implementation. - func didError(reason: String) { - DefaultSocketLogger.Logger.error("\(reason)", type: "SocketIOClient") - - handleClientEvent(.error, data: [reason]) - } -} - -/// The set of events that are generated by the client. -public enum SocketClientEvent : String { - // MARK: Cases - - /// Emitted when the client connects. This is also called on a successful reconnection. A connect event gets one - /// data item: the namespace that was connected to. - /// - /// ```swift - /// socket.on(clientEvent: .connect) {data, ack in - /// guard let nsp = data[0] as? String else { return } - /// // Some logic using the nsp - /// } - /// ``` - case connect - - /// Emitted when the socket has disconnected and will not attempt to try to reconnect. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .disconnect) {data, ack in - /// // Some cleanup logic - /// } - /// ``` - case disconnect - - /// Emitted when an error occurs. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .error) {data, ack in - /// // Some logging - /// } - /// ``` - case error - - /// Emitted whenever the engine sends a ping. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .ping) {_, _ in - /// // Maybe keep track of latency? - /// } - /// ``` - case ping - - /// Emitted whenever the engine gets a pong. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .pong) {_, _ in - /// // Maybe keep track of latency? - /// } - /// ``` - case pong - - /// Emitted when the client begins the reconnection process. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .reconnect) {data, ack in - /// // Some reconnect event logic - /// } - /// ``` - case reconnect - - /// Emitted each time the client tries to reconnect to the server. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .reconnectAttempt) {data, ack in - /// // Some reconnect attempt logging - /// } - /// ``` - case reconnectAttempt - - /// Emitted every time there is a change in the client's status. - /// - /// The payload for data is [SocketIOClientStatus, Int]. Where the second item is the raw value. Use the second one - /// if you are working in Objective-C. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .statusChange) {data, ack in - /// // Some status changing logging - /// } - /// ``` - case statusChange - - /// Emitted when when upgrading the http connection to a websocket connection. - /// - /// Usage: - /// - /// ```swift - /// socket.on(clientEvent: .websocketUpgrade) {data, ack in - /// let headers = (data as [Any])[0] - /// // Some header logic - /// } - /// ``` - case websocketUpgrade -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOStatus.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOStatus.swift deleted file mode 100644 index 4f298a2..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketIOStatus.swift +++ /dev/null @@ -1,59 +0,0 @@ -// -// SocketIOStatus.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 8/14/15. -// -// 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 Foundation - -/// Represents state of a manager or client. -@objc -public enum SocketIOStatus : Int, CustomStringConvertible { - // MARK: Cases - - /// The client/manager has never been connected. Or the client has been reset. - case notConnected - - /// The client/manager was once connected, but not anymore. - case disconnected - - /// The client/manager is in the process of connecting. - case connecting - - /// The client/manager is currently connected. - case connected - - // MARK: Properties - - /// - returns: True if this client/manager is connected/connecting to a server. - public var active: Bool { - return self == .connected || self == .connecting - } - - public var description: String { - switch self { - case .connected: return "connected" - case .connecting: return "connecting" - case .disconnected: return "disconnected" - case .notConnected: return "notConnected" - } - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketRawView.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketRawView.swift deleted file mode 100644 index e348ade..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Client/SocketRawView.swift +++ /dev/null @@ -1,163 +0,0 @@ -// -// SocketRawView.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 3/30/18. -// -// 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 Foundation - -/// Class that gives a backwards compatible way to cause an emit not to recursively check for Data objects. -/// -/// Usage: -/// -/// ```swift -/// socket.rawEmitView.emit("myEvent", myObject) -/// ``` -public final class SocketRawView : NSObject { - private unowned let socket: SocketIOClient - - init(socket: SocketIOClient) { - self.socket = socket - } - - /// Send an event to the server, with optional data items. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[eventName, items, theError]` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. May be left out. - public func emit(_ event: String, _ items: SocketData...) { - do { - try emit(event, with: items.map({ try $0.socketRepresentation() })) - } catch { - DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", - type: "SocketIOClient") - - socket.handleClientEvent(.error, data: [event, items, error]) - } - } - - /// Same as emit, but meant for Objective-C - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. Send an empty array to send no data. - @objc - public func emit(_ event: String, with items: [Any]) { - socket.emit([event] + items, binary: false) - } - - /// Sends a message to the server, requesting an ack. - /// - /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack. - /// Check that your server's api will ack the event being sent. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[eventName, items, theError]` - /// - /// Example: - /// - /// ```swift - /// socket.emitWithAck("myEvent", 1).timingOut(after: 1) {data in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. May be left out. - /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent. - public func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback { - do { - return emitWithAck(event, with: try items.map({ try $0.socketRepresentation() })) - } catch { - DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", - type: "SocketIOClient") - - socket.handleClientEvent(.error, data: [event, items, error]) - - return OnAckCallback(ackNumber: -1, items: [], socket: socket) - } - } - - /// Same as emitWithAck, but for Objective-C - /// - /// **NOTE**: It is up to the server send an ack back, just calling this method does not mean the server will ack. - /// Check that your server's api will ack the event being sent. - /// - /// Example: - /// - /// ```swift - /// socket.emitWithAck("myEvent", with: [1]).timingOut(after: 1) {data in - /// ... - /// } - /// ``` - /// - /// - parameter event: The event to send. - /// - parameter items: The items to send with this event. Use `[]` to send nothing. - /// - returns: An `OnAckCallback`. You must call the `timingOut(after:)` method before the event will be sent. - @objc - public func emitWithAck(_ event: String, with items: [Any]) -> OnAckCallback { - return socket.createOnAck([event] + items, binary: false) - } -} - -/// Class that gives a backwards compatible way to cause an emit not to recursively check for Data objects. -/// -/// Usage: -/// -/// ```swift -/// ack.rawEmitView.with(myObject) -/// ``` -public final class SocketRawAckView : NSObject { - private unowned let socket: SocketIOClient - private let ackNum: Int - - init(socket: SocketIOClient, ackNum: Int) { - self.socket = socket - self.ackNum = ackNum - } - - /// Call to ack receiving this event. - /// - /// If an error occurs trying to transform `items` into their socket representation, a `SocketClientEvent.error` - /// will be emitted. The structure of the error data is `[ackNum, items, theError]` - /// - /// - parameter items: A variable number of items to send when acking. - public func with(_ items: SocketData...) { - guard ackNum != -1 else { return } - - do { - socket.emit(try items.map({ try $0.socketRepresentation() }), ack: ackNum, binary: false, isAck: true) - } catch { - socket.handleClientEvent(.error, data: [ackNum, items, error]) - } - } - - /// Call to ack receiving this event. - /// - /// - parameter items: An array of items to send when acking. Use `[]` to send nothing. - @objc - public func with(_ items: [Any]) { - guard ackNum != -1 else { return } - - socket.emit(items, ack: ackNum, binary: false, isAck: true) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngine.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngine.swift deleted file mode 100644 index a22965f..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngine.swift +++ /dev/null @@ -1,707 +0,0 @@ -// -// SocketEngine.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 3/3/15. -// -// 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 Dispatch -import Foundation -import Starscream - -/// The class that handles the engine.io protocol and transports. -/// See `SocketEnginePollable` and `SocketEngineWebsocket` for transport specific methods. -open class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, SocketEngineWebsocket, ConfigSettable { - // MARK: Properties - - private static let logType = "SocketEngine" - - /// The queue that all engine actions take place on. - public let engineQueue = DispatchQueue(label: "com.socketio.engineHandleQueue") - - /// The connect parameters sent during a connect. - public var connectParams: [String: Any]? { - didSet { - (urlPolling, urlWebSocket) = createURLs() - } - } - - /// A dictionary of extra http headers that will be set during connection. - public var extraHeaders: [String: String]? - - /// A queue of engine.io messages waiting for POSTing - /// - /// **You should not touch this directly** - public var postWait = [Post]() - - /// `true` if there is an outstanding poll. Trying to poll before the first is done will cause socket.io to - /// disconnect us. - /// - /// **Do not touch this directly** - public var waitingForPoll = false - - /// `true` if there is an outstanding post. Trying to post before the first is done will cause socket.io to - /// disconnect us. - /// - /// **Do not touch this directly** - public var waitingForPost = false - - /// `true` if this engine is closed. - public private(set) var closed = false - - /// If `true` the engine will attempt to use WebSocket compression. - public private(set) var compress = false - - /// `true` if this engine is connected. Connected means that the initial poll connect has succeeded. - public private(set) var connected = false - - /// An array of HTTPCookies that are sent during the connection. - public private(set) var cookies: [HTTPCookie]? - - /// When `true`, the engine is in the process of switching to WebSockets. - /// - /// **Do not touch this directly** - public private(set) var fastUpgrade = false - - /// When `true`, the engine will only use HTTP long-polling as a transport. - public private(set) var forcePolling = false - - /// When `true`, the engine will only use WebSockets as a transport. - public private(set) var forceWebsockets = false - - /// `true` If engine's session has been invalidated. - public private(set) var invalidated = false - - /// If `true`, the engine is currently in HTTP long-polling mode. - public private(set) var polling = true - - /// If `true`, the engine is currently seeing whether it can upgrade to WebSockets. - public private(set) var probing = false - - /// The URLSession that will be used for polling. - public private(set) var session: URLSession? - - /// The session id for this engine. - public private(set) var sid = "" - - /// The path to engine.io. - public private(set) var socketPath = "/engine.io/" - - /// The url for polling. - public private(set) var urlPolling = URL(string: "http://localhost/")! - - /// The url for WebSockets. - public private(set) var urlWebSocket = URL(string: "http://localhost/")! - - /// If `true`, then the engine is currently in WebSockets mode. - @available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets") - public private(set) var websocket = false - - /// When `true`, the WebSocket `stream` will be configured with the enableSOCKSProxy `true`. - public private(set) var enableSOCKSProxy = false - - /// The WebSocket for this engine. - public private(set) var ws: WebSocket? - - /// The client for this engine. - public weak var client: SocketEngineClient? - - private weak var sessionDelegate: URLSessionDelegate? - - private let url: URL - - private var pingInterval: Int? - private var pingTimeout = 0 { - didSet { - pongsMissedMax = Int(pingTimeout / (pingInterval ?? 25000)) - } - } - - private var pongsMissed = 0 - private var pongsMissedMax = 0 - private var probeWait = ProbeWaitQueue() - private var secure = false - private var security: SocketIO.SSLSecurity? - private var selfSigned = false - - // MARK: Initializers - - /// Creates a new engine. - /// - /// - parameter client: The client for this engine. - /// - parameter url: The url for this engine. - /// - parameter config: An array of configuration options for this engine. - public init(client: SocketEngineClient, url: URL, config: SocketIOClientConfiguration) { - self.client = client - self.url = url - - super.init() - - setConfigs(config) - - sessionDelegate = sessionDelegate ?? self - - (urlPolling, urlWebSocket) = createURLs() - } - - /// Creates a new engine. - /// - /// - parameter client: The client for this engine. - /// - parameter url: The url for this engine. - /// - parameter options: The options for this engine. - public required convenience init(client: SocketEngineClient, url: URL, options: [String: Any]?) { - self.init(client: client, url: url, config: options?.toSocketConfiguration() ?? []) - } - - /// :nodoc: - deinit { - DefaultSocketLogger.Logger.log("Engine is being released", type: SocketEngine.logType) - closed = true - stopPolling() - } - - // MARK: Methods - - private func checkAndHandleEngineError(_ msg: String) { - do { - let dict = try msg.toDictionary() - guard let error = dict["message"] as? String else { return } - - /* - 0: Unknown transport - 1: Unknown sid - 2: Bad handshake request - 3: Bad request - */ - didError(reason: error) - } catch { - client?.engineDidError(reason: "Got unknown error from server \(msg)") - } - } - - private func handleBase64(message: String) { - // binary in base64 string - let noPrefix = String(message[message.index(message.startIndex, offsetBy: 2).. (URL, URL) { - if client == nil { - return (URL(string: "http://localhost/")!, URL(string: "http://localhost/")!) - } - - var urlPolling = URLComponents(string: url.absoluteString)! - var urlWebSocket = URLComponents(string: url.absoluteString)! - var queryString = "" - - urlWebSocket.path = socketPath - urlPolling.path = socketPath - - if secure { - urlPolling.scheme = "https" - urlWebSocket.scheme = "wss" - } else { - urlPolling.scheme = "http" - urlWebSocket.scheme = "ws" - } - - if let connectParams = self.connectParams { - for (key, value) in connectParams { - let keyEsc = key.urlEncode()! - let valueEsc = "\(value)".urlEncode()! - - queryString += "&\(keyEsc)=\(valueEsc)" - } - } - - urlWebSocket.percentEncodedQuery = "transport=websocket" + queryString - urlPolling.percentEncodedQuery = "transport=polling&b64=1" + queryString - - return (urlPolling.url!, urlWebSocket.url!) - } - - private func createWebSocketAndConnect() { - var req = URLRequest(url: urlWebSocketWithSid) - - addHeaders(to: &req, includingCookies: session?.configuration.httpCookieStorage?.cookies(for: urlPollingWithSid)) - - let stream = FoundationStream() - stream.enableSOCKSProxy = enableSOCKSProxy - ws = WebSocket(request: req, stream: stream) - ws?.callbackQueue = engineQueue - ws?.enableCompression = compress - ws?.disableSSLCertValidation = selfSigned - ws?.security = security?.security - - ws?.onConnect = {[weak self] in - guard let this = self else { return } - - this.websocketDidConnect() - } - - ws?.onDisconnect = {[weak self] error in - guard let this = self else { return } - - this.websocketDidDisconnect(error: error) - } - - ws?.onData = {[weak self] data in - guard let this = self else { return } - - this.parseEngineData(data) - } - - ws?.onText = {[weak self] message in - guard let this = self else { return } - - this.parseEngineMessage(message) - } - - ws?.onHttpResponseHeaders = {[weak self] headers in - guard let this = self else { return } - - this.client?.engineDidWebsocketUpgrade(headers: headers) - } - - ws?.connect() - } - - /// Called when an error happens during execution. Causes a disconnection. - open func didError(reason: String) { - DefaultSocketLogger.Logger.error("\(reason)", type: SocketEngine.logType) - client?.engineDidError(reason: reason) - disconnect(reason: reason) - } - - /// Disconnects from the server. - /// - /// - parameter reason: The reason for the disconnection. This is communicated up to the client. - open func disconnect(reason: String) { - engineQueue.async { - self._disconnect(reason: reason) - } - } - - private func _disconnect(reason: String) { - guard connected && !closed else { return closeOutEngine(reason: reason) } - - DefaultSocketLogger.Logger.log("Engine is being closed.", type: SocketEngine.logType) - - if polling { - disconnectPolling(reason: reason) - } else { - sendWebSocketMessage("", withType: .close, withData: [], completion: nil) - closeOutEngine(reason: reason) - } - } - - // We need to take special care when we're polling that we send it ASAP - // Also make sure we're on the emitQueue since we're touching postWait - private func disconnectPolling(reason: String) { - postWait.append((String(SocketEnginePacketType.close.rawValue), {})) - - doRequest(for: createRequestForPostWithPostWait()) {_, _, _ in } - closeOutEngine(reason: reason) - } - - /// Called to switch from HTTP long-polling to WebSockets. After calling this method the engine will be in - /// WebSocket mode. - /// - /// **You shouldn't call this directly** - open func doFastUpgrade() { - if waitingForPoll { - DefaultSocketLogger.Logger.error("Outstanding poll when switched to WebSockets," + - "we'll probably disconnect soon. You should report this.", type: SocketEngine.logType) - } - - DefaultSocketLogger.Logger.log("Switching to WebSockets", type: SocketEngine.logType) - - sendWebSocketMessage("", withType: .upgrade, withData: [], completion: nil) - polling = false - fastUpgrade = false - probing = false - flushProbeWait() - - // Need to flush postWait to socket since it connected successfully - // moved from flushProbeWait() since it is also called on connected failure, and we don't want to try and send - // packets through WebSockets when WebSockets has failed! - if !postWait.isEmpty { - flushWaitingForPostToWebSocket() - } - } - - private func flushProbeWait() { - DefaultSocketLogger.Logger.log("Flushing probe wait", type: SocketEngine.logType) - - for waiter in probeWait { - write(waiter.msg, withType: waiter.type, withData: waiter.data, completion: waiter.completion) - } - - probeWait.removeAll(keepingCapacity: false) - } - - /// Causes any packets that were waiting for POSTing to be sent through the WebSocket. This happens because when - /// the engine is attempting to upgrade to WebSocket it does not do any POSTing. - /// - /// **You shouldn't call this directly** - open func flushWaitingForPostToWebSocket() { - guard let ws = self.ws else { return } - - for msg in postWait { - ws.write(string: msg.msg, completion: msg.completion) - } - - postWait.removeAll(keepingCapacity: false) - } - - private func handleClose(_ reason: String) { - client?.engineDidClose(reason: reason) - } - - private func handleMessage(_ message: String) { - client?.parseEngineMessage(message) - } - - private func handleNOOP() { - doPoll() - } - - private func handleOpen(openData: String) { - guard let json = try? openData.toDictionary() else { - didError(reason: "Error parsing open packet") - - return - } - - guard let sid = json["sid"] as? String else { - didError(reason: "Open packet contained no sid") - - return - } - - let upgradeWs: Bool - - self.sid = sid - connected = true - pongsMissed = 0 - - if let upgrades = json["upgrades"] as? [String] { - upgradeWs = upgrades.contains("websocket") - } else { - upgradeWs = false - } - - if let pingInterval = json["pingInterval"] as? Int, let pingTimeout = json["pingTimeout"] as? Int { - self.pingInterval = pingInterval - self.pingTimeout = pingTimeout - } - - if !forcePolling && !forceWebsockets && upgradeWs { - createWebSocketAndConnect() - } - - sendPing() - - if !forceWebsockets { - doPoll() - } - - client?.engineDidOpen(reason: "Connect") - } - - private func handlePong(with message: String) { - pongsMissed = 0 - - // We should upgrade - if message == "3probe" { - DefaultSocketLogger.Logger.log("Received probe response, should upgrade to WebSockets", - type: SocketEngine.logType) - - upgradeTransport() - } - - client?.engineDidReceivePong() - } - - /// Parses raw binary received from engine.io. - /// - /// - parameter data: The data to parse. - open func parseEngineData(_ data: Data) { - DefaultSocketLogger.Logger.log("Got binary data: \(data)", type: SocketEngine.logType) - - client?.parseEngineBinaryData(data.subdata(in: 1.. pongsMissedMax { - closeOutEngine(reason: "Ping timeout") - return - } - - pongsMissed += 1 - write("", withType: .ping, withData: [], completion: nil) - - engineQueue.asyncAfter(deadline: .now() + .milliseconds(pingInterval)) {[weak self, id = self.sid] in - // Make sure not to ping old connections - guard let this = self, this.sid == id else { return } - - this.sendPing() - } - - client?.engineDidSendPing() - } - - /// Called when the engine should set/update its configs from a given configuration. - /// - /// parameter config: The `SocketIOClientConfiguration` that should be used to set/update configs. - open func setConfigs(_ config: SocketIOClientConfiguration) { - for option in config { - switch option { - case let .connectParams(params): - connectParams = params - case let .cookies(cookies): - self.cookies = cookies - case let .extraHeaders(headers): - extraHeaders = headers - case let .sessionDelegate(delegate): - sessionDelegate = delegate - case let .forcePolling(force): - forcePolling = force - case let .forceWebsockets(force): - forceWebsockets = force - case let .path(path): - socketPath = path - - if !socketPath.hasSuffix("/") { - socketPath += "/" - } - case let .secure(secure): - self.secure = secure - case let .selfSigned(selfSigned): - self.selfSigned = selfSigned - case let .security(security): - self.security = security - case .compress: - self.compress = true - case .enableSOCKSProxy: - self.enableSOCKSProxy = true - default: - continue - } - } - } - - // Moves from long-polling to websockets - private func upgradeTransport() { - if ws?.isConnected ?? false { - DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: SocketEngine.logType) - - fastUpgrade = true - sendPollMessage("", withType: .noop, withData: [], completion: nil) - // After this point, we should not send anymore polling messages - } - } - - /// Writes a message to engine.io, independent of transport. - /// - /// - parameter msg: The message to send. - /// - parameter type: The type of this message. - /// - parameter data: Any data that this message has. - /// - parameter completion: Callback called on transport write completion. - open func write(_ msg: String, withType type: SocketEnginePacketType, withData data: [Data], completion: (() -> ())? = nil) { - engineQueue.async { - guard self.connected else { - completion?() - return - } - guard !self.probing else { - self.probeWait.append((msg, type, data, completion)) - - return - } - - if self.polling { - DefaultSocketLogger.Logger.log("Writing poll: \(msg) has data: \(data.count != 0)", - type: SocketEngine.logType) - self.sendPollMessage(msg, withType: type, withData: data, completion: completion) - } else { - DefaultSocketLogger.Logger.log("Writing ws: \(msg) has data: \(data.count != 0)", - type: SocketEngine.logType) - self.sendWebSocketMessage(msg, withType: type, withData: data, completion: completion) - } - } - } - - // WebSocket Methods - - private func websocketDidConnect() { - if !forceWebsockets { - probing = true - probeWebSocket() - } else { - connected = true - probing = false - polling = false - } - } - - private func websocketDidDisconnect(error: Error?) { - probing = false - - if closed { - client?.engineDidClose(reason: "Disconnect") - - return - } - - guard !polling else { - flushProbeWait() - - return - } - - connected = false - polling = true - - if let error = error as? WSError { - didError(reason: "\(error.message). code=\(error.code), type=\(error.type)") - } else if let reason = error?.localizedDescription { - didError(reason: reason) - } else { - client?.engineDidClose(reason: "Socket Disconnected") - } - } - - // Test Properties - - func setConnected(_ value: Bool) { - connected = value - } -} - -extension SocketEngine { - // MARK: URLSessionDelegate methods - - /// Delegate called when the session becomes invalid. - public func URLSession(session: URLSession, didBecomeInvalidWithError error: NSError?) { - DefaultSocketLogger.Logger.error("Engine URLSession became invalid", type: "SocketEngine") - - didError(reason: "Engine URLSession became invalid") - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineClient.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineClient.swift deleted file mode 100644 index 00d68fa..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineClient.swift +++ /dev/null @@ -1,67 +0,0 @@ -// -// SocketEngineClient.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 3/19/15. -// -// 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 Foundation - -/// Declares that a type will be a delegate to an engine. -@objc public protocol SocketEngineClient { - // MARK: Methods - - /// Called when the engine errors. - /// - /// - parameter reason: The reason the engine errored. - func engineDidError(reason: String) - - /// Called when the engine closes. - /// - /// - parameter reason: The reason that the engine closed. - func engineDidClose(reason: String) - - /// Called when the engine opens. - /// - /// - parameter reason: The reason the engine opened. - func engineDidOpen(reason: String) - - /// Called when the engine receives a pong message. - func engineDidReceivePong() - - /// Called when the engine sends a ping to the server. - func engineDidSendPing() - - /// Called when the engine has a message that must be parsed. - /// - /// - parameter msg: The message that needs parsing. - func parseEngineMessage(_ msg: String) - - /// Called when the engine receives binary data. - /// - /// - parameter data: The data the engine received. - func parseEngineBinaryData(_ data: Data) - - /// Called when when upgrading the http connection to a websocket connection. - /// - /// - parameter headers: The http headers. - func engineDidWebsocketUpgrade(headers: [String: String]) -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEnginePacketType.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEnginePacketType.swift deleted file mode 100644 index b420ff2..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEnginePacketType.swift +++ /dev/null @@ -1,50 +0,0 @@ -// -// SocketEnginePacketType.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 10/7/15. -// -// 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 Foundation - -/// Represents the type of engine.io packet types. -@objc public enum SocketEnginePacketType : Int { - /// Open message. - case open - - /// Close message. - case close - - /// Ping message. - case ping - - /// Pong message. - case pong - - /// Regular message. - case message - - /// Upgrade message. - case upgrade - - /// NOOP. - case noop -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEnginePollable.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEnginePollable.swift deleted file mode 100644 index 9e55bd9..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEnginePollable.swift +++ /dev/null @@ -1,244 +0,0 @@ -// -// SocketEnginePollable.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 1/15/16. -// -// 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 Foundation - -/// Protocol that is used to implement socket.io polling support -public protocol SocketEnginePollable : SocketEngineSpec { - // MARK: Properties - - /// `true` If engine's session has been invalidated. - var invalidated: Bool { get } - - /// A queue of engine.io messages waiting for POSTing - /// - /// **You should not touch this directly** - var postWait: [Post] { get set } - - /// The URLSession that will be used for polling. - var session: URLSession? { get } - - /// `true` if there is an outstanding poll. Trying to poll before the first is done will cause socket.io to - /// disconnect us. - /// - /// **Do not touch this directly** - var waitingForPoll: Bool { get set } - - /// `true` if there is an outstanding post. Trying to post before the first is done will cause socket.io to - /// disconnect us. - /// - /// **Do not touch this directly** - var waitingForPost: Bool { get set } - - // MARK: Methods - - /// Call to send a long-polling request. - /// - /// You shouldn't need to call this directly, the engine should automatically maintain a long-poll request. - func doPoll() - - /// Sends an engine.io message through the polling transport. - /// - /// You shouldn't call this directly, instead call the `write` method on `SocketEngine`. - /// - /// - parameter message: The message to send. - /// - parameter withType: The type of message to send. - /// - parameter withData: The data associated with this message. - func sendPollMessage(_ message: String, withType type: SocketEnginePacketType, withData datas: [Data], completion: (() -> ())?) - - /// Call to stop polling and invalidate the URLSession. - func stopPolling() -} - -// Default polling methods -extension SocketEnginePollable { - func createRequestForPostWithPostWait() -> URLRequest { - defer { - for packet in postWait { packet.completion?() } - postWait.removeAll(keepingCapacity: true) - } - - var postStr = "" - - for packet in postWait { - postStr += "\(packet.msg.utf16.count):\(packet.msg)" - } - - DefaultSocketLogger.Logger.log("Created POST string: \(postStr)", type: "SocketEnginePolling") - - var req = URLRequest(url: urlPollingWithSid) - let postData = postStr.data(using: .utf8, allowLossyConversion: false)! - - addHeaders(to: &req) - - req.httpMethod = "POST" - req.setValue("text/plain; charset=UTF-8", forHTTPHeaderField: "Content-Type") - req.httpBody = postData - req.setValue(String(postData.count), forHTTPHeaderField: "Content-Length") - - return req - } - - /// Call to send a long-polling request. - /// - /// You shouldn't need to call this directly, the engine should automatically maintain a long-poll request. - public func doPoll() { - guard polling && !waitingForPoll && connected && !closed else { return } - - var req = URLRequest(url: urlPollingWithSid) - addHeaders(to: &req) - - doLongPoll(for: req) - } - - func doRequest(for req: URLRequest, callbackWith callback: @escaping (Data?, URLResponse?, Error?) -> ()) { - guard polling && !closed && !invalidated && !fastUpgrade else { return } - - DefaultSocketLogger.Logger.log("Doing polling \(req.httpMethod ?? "") \(req)", type: "SocketEnginePolling") - - session?.dataTask(with: req, completionHandler: callback).resume() - } - - func doLongPoll(for req: URLRequest) { - waitingForPoll = true - - doRequest(for: req) {[weak self] data, res, err in - guard let this = self, this.polling else { return } - guard let data = data, let res = res as? HTTPURLResponse, res.statusCode == 200 else { - if let err = err { - DefaultSocketLogger.Logger.error(err.localizedDescription, type: "SocketEnginePolling") - } else { - DefaultSocketLogger.Logger.error("Error during long poll request", type: "SocketEnginePolling") - } - - if this.polling { - this.didError(reason: err?.localizedDescription ?? "Error") - } - - return - } - - DefaultSocketLogger.Logger.log("Got polling response", type: "SocketEnginePolling") - - if let str = String(data: data, encoding: .utf8) { - this.parsePollingMessage(str) - } - - this.waitingForPoll = false - - if this.fastUpgrade { - this.doFastUpgrade() - } else if !this.closed && this.polling { - this.doPoll() - } - } - } - - private func flushWaitingForPost() { - guard postWait.count != 0 && connected else { return } - guard polling else { - flushWaitingForPostToWebSocket() - - return - } - - let req = createRequestForPostWithPostWait() - - waitingForPost = true - - DefaultSocketLogger.Logger.log("POSTing", type: "SocketEnginePolling") - - doRequest(for: req) {[weak self] _, res, err in - guard let this = self else { return } - guard let res = res as? HTTPURLResponse, res.statusCode == 200 else { - if let err = err { - DefaultSocketLogger.Logger.error(err.localizedDescription, type: "SocketEnginePolling") - } else { - DefaultSocketLogger.Logger.error("Error flushing waiting posts", type: "SocketEnginePolling") - } - - if this.polling { - this.didError(reason: err?.localizedDescription ?? "Error") - } - - return - } - - this.waitingForPost = false - - if !this.fastUpgrade { - this.flushWaitingForPost() - this.doPoll() - } - } - } - - func parsePollingMessage(_ str: String) { - guard str.count != 1 else { return } - - DefaultSocketLogger.Logger.log("Got poll message: \(str)", type: "SocketEnginePolling") - - var reader = SocketStringReader(message: str) - - while reader.hasNext { - if let n = Int(reader.readUntilOccurence(of: ":")) { - parseEngineMessage(reader.read(count: n)) - } else { - parseEngineMessage(str) - break - } - } - } - - /// Sends an engine.io message through the polling transport. - /// - /// You shouldn't call this directly, instead call the `write` method on `SocketEngine`. - /// - /// - parameter message: The message to send. - /// - parameter withType: The type of message to send. - /// - parameter withData: The data associated with this message. - /// - parameter completion: Callback called on transport write completion. - public func sendPollMessage(_ message: String, withType type: SocketEnginePacketType, withData datas: [Data], completion: (() -> ())? = nil) { - DefaultSocketLogger.Logger.log("Sending poll: \(message) as type: \(type.rawValue)", type: "SocketEnginePolling") - - postWait.append((String(type.rawValue) + message, completion)) - - for data in datas { - if case let .right(bin) = createBinaryDataForSend(using: data) { - postWait.append((bin, {})) - } - } - - if !waitingForPost { - flushWaitingForPost() - } - } - - /// Call to stop polling and invalidate the URLSession. - public func stopPolling() { - waitingForPoll = false - waitingForPost = false - session?.finishTasksAndInvalidate() - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineSpec.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineSpec.swift deleted file mode 100644 index a7ccf33..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineSpec.swift +++ /dev/null @@ -1,186 +0,0 @@ -// -// SocketEngineSpec.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 10/7/15. -// -// 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 Foundation -import Starscream - -/// Specifies a SocketEngine. -@objc public protocol SocketEngineSpec { - // MARK: Properties - - /// The client for this engine. - var client: SocketEngineClient? { get set } - - /// `true` if this engine is closed. - var closed: Bool { get } - - /// If `true` the engine will attempt to use WebSocket compression. - var compress: Bool { get } - - /// `true` if this engine is connected. Connected means that the initial poll connect has succeeded. - var connected: Bool { get } - - /// The connect parameters sent during a connect. - var connectParams: [String: Any]? { get set } - - /// An array of HTTPCookies that are sent during the connection. - var cookies: [HTTPCookie]? { get } - - /// The queue that all engine actions take place on. - var engineQueue: DispatchQueue { get } - - /// A dictionary of extra http headers that will be set during connection. - var extraHeaders: [String: String]? { get set } - - /// When `true`, the engine is in the process of switching to WebSockets. - var fastUpgrade: Bool { get } - - /// When `true`, the engine will only use HTTP long-polling as a transport. - var forcePolling: Bool { get } - - /// When `true`, the engine will only use WebSockets as a transport. - var forceWebsockets: Bool { get } - - /// If `true`, the engine is currently in HTTP long-polling mode. - var polling: Bool { get } - - /// If `true`, the engine is currently seeing whether it can upgrade to WebSockets. - var probing: Bool { get } - - /// The session id for this engine. - var sid: String { get } - - /// The path to engine.io. - var socketPath: String { get } - - /// The url for polling. - var urlPolling: URL { get } - - /// The url for WebSockets. - var urlWebSocket: URL { get } - - /// If `true`, then the engine is currently in WebSockets mode. - @available(*, deprecated, message: "No longer needed, if we're not polling, then we must be doing websockets") - var websocket: Bool { get } - - /// The WebSocket for this engine. - var ws: WebSocket? { get } - - // MARK: Initializers - - /// Creates a new engine. - /// - /// - parameter client: The client for this engine. - /// - parameter url: The url for this engine. - /// - parameter options: The options for this engine. - init(client: SocketEngineClient, url: URL, options: [String: Any]?) - - // MARK: Methods - - /// Starts the connection to the server. - func connect() - - /// Called when an error happens during execution. Causes a disconnection. - func didError(reason: String) - - /// Disconnects from the server. - /// - /// - parameter reason: The reason for the disconnection. This is communicated up to the client. - func disconnect(reason: String) - - /// Called to switch from HTTP long-polling to WebSockets. After calling this method the engine will be in - /// WebSocket mode. - /// - /// **You shouldn't call this directly** - func doFastUpgrade() - - /// Causes any packets that were waiting for POSTing to be sent through the WebSocket. This happens because when - /// the engine is attempting to upgrade to WebSocket it does not do any POSTing. - /// - /// **You shouldn't call this directly** - func flushWaitingForPostToWebSocket() - - /// Parses raw binary received from engine.io. - /// - /// - parameter data: The data to parse. - func parseEngineData(_ data: Data) - - /// Parses a raw engine.io packet. - /// - /// - parameter message: The message to parse. - func parseEngineMessage(_ message: String) - - /// Writes a message to engine.io, independent of transport. - /// - /// - parameter msg: The message to send. - /// - parameter type: The type of this message. - /// - parameter data: Any data that this message has. - /// - parameter completion: Callback called on transport write completion. - func write(_ msg: String, withType type: SocketEnginePacketType, withData data: [Data], completion: (() -> ())?) -} - -extension SocketEngineSpec { - var urlPollingWithSid: URL { - var com = URLComponents(url: urlPolling, resolvingAgainstBaseURL: false)! - com.percentEncodedQuery = com.percentEncodedQuery! + "&sid=\(sid.urlEncode()!)" - - return com.url! - } - - var urlWebSocketWithSid: URL { - var com = URLComponents(url: urlWebSocket, resolvingAgainstBaseURL: false)! - com.percentEncodedQuery = com.percentEncodedQuery! + (sid == "" ? "" : "&sid=\(sid.urlEncode()!)") - - return com.url! - } - - func addHeaders(to req: inout URLRequest, includingCookies additionalCookies: [HTTPCookie]? = nil) { - var cookiesToAdd: [HTTPCookie] = cookies ?? [] - cookiesToAdd += additionalCookies ?? [] - - if !cookiesToAdd.isEmpty { - req.allHTTPHeaderFields = HTTPCookie.requestHeaderFields(with: cookiesToAdd) - } - - if let extraHeaders = extraHeaders { - for (headerName, value) in extraHeaders { - req.setValue(value, forHTTPHeaderField: headerName) - } - } - } - - func createBinaryDataForSend(using data: Data) -> Either { - if polling { - return .right("b4" + data.base64EncodedString(options: Data.Base64EncodingOptions(rawValue: 0))) - } else { - return .left(Data([0x4]) + data) - } - } - - /// Send an engine message (4) - func send(_ msg: String, withData datas: [Data], completion: (() -> ())? = nil) { - write(msg, withType: .message, withData: datas, completion: completion) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineWebsocket.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineWebsocket.swift deleted file mode 100644 index ea1c53f..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Engine/SocketEngineWebsocket.swift +++ /dev/null @@ -1,82 +0,0 @@ -// -// SocketEngineWebsocket.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 1/15/16. -// -// 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 Foundation -import Starscream - -/// Protocol that is used to implement socket.io WebSocket support -public protocol SocketEngineWebsocket : SocketEngineSpec { - // MARK: Methods - - /// Sends an engine.io message through the WebSocket transport. - /// - /// You shouldn't call this directly, instead call the `write` method on `SocketEngine`. - /// - /// - parameter message: The message to send. - /// - parameter withType: The type of message to send. - /// - parameter withData: The data associated with this message. - /// - parameter completion: Callback called on transport write completion. - func sendWebSocketMessage(_ str: String, - withType type: SocketEnginePacketType, - withData datas: [Data], - completion: (() -> ())?) -} - -// WebSocket methods -extension SocketEngineWebsocket { - func probeWebSocket() { - if ws?.isConnected ?? false { - sendWebSocketMessage("probe", withType: .ping, withData: [], completion: nil) - } - } - - /// Sends an engine.io message through the WebSocket transport. - /// - /// You shouldn't call this directly, instead call the `write` method on `SocketEngine`. - /// - /// - parameter message: The message to send. - /// - parameter withType: The type of message to send. - /// - parameter withData: The data associated with this message. - /// - parameter completion: Callback called on transport write completion. - public func sendWebSocketMessage(_ str: String, - withType type: SocketEnginePacketType, - withData data: [Data], - completion: (() -> ())? - ) { - DefaultSocketLogger.Logger.log("Sending ws: \(str) as type: \(type.rawValue)", type: "SocketEngineWebSocket") - - ws?.write(string: "\(type.rawValue)\(str)") - - if data.count == 0 { - completion?() - } - - for item in data { - if case let .left(bin) = createBinaryDataForSend(using: item) { - ws?.write(data: bin, completion: completion) - } - } - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Manager/SocketManager.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Manager/SocketManager.swift deleted file mode 100644 index f87fd7c..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Manager/SocketManager.swift +++ /dev/null @@ -1,577 +0,0 @@ -// -// Created by Erik Little on 10/14/17. -// -// 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 Dispatch -import Foundation - -/// -/// A manager for a socket.io connection. -/// -/// A `SocketManager` is responsible for multiplexing multiple namespaces through a single `SocketEngineSpec`. -/// -/// Example: -/// -/// ```swift -/// let manager = SocketManager(socketURL: URL(string:"http://localhost:8080/")!) -/// let defaultNamespaceSocket = manager.defaultSocket -/// let swiftSocket = manager.socket(forNamespace: "/swift") -/// -/// // defaultNamespaceSocket and swiftSocket both share a single connection to the server -/// ``` -/// -/// Sockets created through the manager are retained by the manager. So at the very least, a single strong reference -/// to the manager must be maintained to keep sockets alive. -/// -/// To disconnect a socket and remove it from the manager, either call `SocketIOClient.disconnect()` on the socket, -/// or call one of the `disconnectSocket` methods on this class. -/// -/// **NOTE**: The manager is not thread/queue safe, all interaction with the manager should be done on the `handleQueue` -/// -open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDataBufferable, ConfigSettable { - private static let logType = "SocketManager" - - // MARK: Properties - - /// The socket associated with the default namespace ("/"). - public var defaultSocket: SocketIOClient { - return socket(forNamespace: "/") - } - - /// The URL of the socket.io server. - /// - /// If changed after calling `init`, `forceNew` must be set to `true`, or it will only connect to the url set in the - /// init. - public let socketURL: URL - - /// The configuration for this client. - /// - /// **Some configs will not take affect until after a reconnect if set after calling a connect method**. - public var config: SocketIOClientConfiguration { - get { - return _config - } - - set { - if status.active { - DefaultSocketLogger.Logger.log("Setting configs on active manager. Some configs may not be applied until reconnect", - type: SocketManager.logType) - } - - setConfigs(newValue) - } - } - - /// The engine for this manager. - public var engine: SocketEngineSpec? - - /// If `true` then every time `connect` is called, a new engine will be created. - public var forceNew = false - - /// The queue that all interaction with the client should occur on. This is the queue that event handlers are - /// called on. - /// - /// **This should be a serial queue! Concurrent queues are not supported and might cause crashes and races**. - public var handleQueue = DispatchQueue.main - - /// The sockets in this manager indexed by namespace. - public var nsps = [String: SocketIOClient]() - - /// If `true`, this client will try and reconnect on any disconnects. - public var reconnects = true - - /// The minimum number of seconds to wait before attempting to reconnect. - public var reconnectWait = 10 - - /// The maximum number of seconds to wait before attempting to reconnect. - public var reconnectWaitMax = 30 - - /// The randomization factor for calculating reconnect jitter. - public var randomizationFactor = 0.5 - - /// The status of this manager. - public private(set) var status: SocketIOStatus = .notConnected { - didSet { - switch status { - case .connected: - reconnecting = false - currentReconnectAttempt = 0 - default: - break - } - } - } - - /// A list of packets that are waiting for binary data. - /// - /// The way that socket.io works all data should be sent directly after each packet. - /// So this should ideally be an array of one packet waiting for data. - /// - /// **This should not be modified directly.** - public var waitingPackets = [SocketPacket]() - - private(set) var reconnectAttempts = -1 - - private var _config: SocketIOClientConfiguration - private var currentReconnectAttempt = 0 - private var reconnecting = false - - // MARK: Initializers - - /// Type safe way to create a new SocketIOClient. `opts` can be omitted. - /// - /// - parameter socketURL: The url of the socket.io server. - /// - parameter config: The config for this socket. - public init(socketURL: URL, config: SocketIOClientConfiguration = []) { - self._config = config - self.socketURL = socketURL - - super.init() - - setConfigs(_config) - } - - /// Not so type safe way to create a SocketIOClient, meant for Objective-C compatiblity. - /// If using Swift it's recommended to use `init(socketURL: NSURL, options: Set)` - /// - /// - parameter socketURL: The url of the socket.io server. - /// - parameter config: The config for this socket. - @objc - public convenience init(socketURL: URL, config: [String: Any]?) { - self.init(socketURL: socketURL, config: config?.toSocketConfiguration() ?? []) - } - - /// :nodoc: - deinit { - DefaultSocketLogger.Logger.log("Manager is being released", type: SocketManager.logType) - - engine?.disconnect(reason: "Manager Deinit") - } - - // MARK: Methods - - private func addEngine() { - DefaultSocketLogger.Logger.log("Adding engine", type: SocketManager.logType) - - engine?.engineQueue.sync { - self.engine?.client = nil - - // Close old engine so it will not leak because of URLSession if in polling mode - self.engine?.disconnect(reason: "Adding new engine") - } - - engine = SocketEngine(client: self, url: socketURL, config: config) - } - - /// Connects the underlying transport and the default namespace socket. - /// - /// Override if you wish to attach a custom `SocketEngineSpec`. - open func connect() { - guard !status.active else { - DefaultSocketLogger.Logger.log("Tried connecting an already active socket", type: SocketManager.logType) - - return - } - - if engine == nil || forceNew { - addEngine() - } - - status = .connecting - - engine?.connect() - } - - /// Connects a socket through this manager's engine. - /// - /// - parameter socket: The socket who we should connect through this manager. - open func connectSocket(_ socket: SocketIOClient) { - guard status == .connected else { - DefaultSocketLogger.Logger.log("Tried connecting socket when engine isn't open. Connecting", - type: SocketManager.logType) - - connect() - return - } - - engine?.send("0\(socket.nsp),", withData: []) - } - - /// Called when the manager has disconnected from socket.io. - /// - /// - parameter reason: The reason for the disconnection. - open func didDisconnect(reason: String) { - forAll {socket in - socket.didDisconnect(reason: reason) - } - } - - /// Disconnects the manager and all associated sockets. - open func disconnect() { - DefaultSocketLogger.Logger.log("Manager closing", type: SocketManager.logType) - - status = .disconnected - - engine?.disconnect(reason: "Disconnect") - } - - /// Disconnects the given socket. - /// - /// This will remove the socket for the manager's control, and make the socket instance useless and ready for - /// releasing. - /// - /// - parameter socket: The socket to disconnect. - open func disconnectSocket(_ socket: SocketIOClient) { - engine?.send("1\(socket.nsp),", withData: []) - - socket.didDisconnect(reason: "Namespace leave") - } - - /// Disconnects the socket associated with `forNamespace`. - /// - /// This will remove the socket for the manager's control, and make the socket instance useless and ready for - /// releasing. - /// - /// - parameter nsp: The namespace to disconnect from. - open func disconnectSocket(forNamespace nsp: String) { - guard let socket = nsps.removeValue(forKey: nsp) else { - DefaultSocketLogger.Logger.log("Could not find socket for \(nsp) to disconnect", - type: SocketManager.logType) - - return - } - - disconnectSocket(socket) - } - - /// Sends a client event to all sockets in `nsps` - /// - /// - parameter clientEvent: The event to emit. - open func emitAll(clientEvent event: SocketClientEvent, data: [Any]) { - forAll {socket in - socket.handleClientEvent(event, data: data) - } - } - - /// Sends an event to the server on all namespaces in this manager. - /// - /// - parameter event: The event to send. - /// - parameter items: The data to send with this event. - open func emitAll(_ event: String, _ items: SocketData...) { - guard let emitData = try? items.map({ try $0.socketRepresentation() }) else { - DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", - type: SocketManager.logType) - - return - } - - emitAll(event, withItems: emitData) - } - - /// Sends an event to the server on all namespaces in this manager. - /// - /// Same as `emitAll(_:_:)`, but meant for Objective-C. - /// - /// - parameter event: The event to send. - /// - parameter items: The data to send with this event. - open func emitAll(_ event: String, withItems items: [Any]) { - forAll {socket in - socket.emit(event, with: items, completion: nil) - } - } - - /// Called when the engine closes. - /// - /// - parameter reason: The reason that the engine closed. - open func engineDidClose(reason: String) { - handleQueue.async { - self._engineDidClose(reason: reason) - } - } - - private func _engineDidClose(reason: String) { - waitingPackets.removeAll() - - if status != .disconnected { - status = .notConnected - } - - if status == .disconnected || !reconnects { - didDisconnect(reason: reason) - } else if !reconnecting { - reconnecting = true - tryReconnect(reason: reason) - } - } - - /// Called when the engine errors. - /// - /// - parameter reason: The reason the engine errored. - open func engineDidError(reason: String) { - handleQueue.async { - self._engineDidError(reason: reason) - } - } - - private func _engineDidError(reason: String) { - DefaultSocketLogger.Logger.error("\(reason)", type: SocketManager.logType) - - emitAll(clientEvent: .error, data: [reason]) - } - - /// Called when the engine opens. - /// - /// - parameter reason: The reason the engine opened. - open func engineDidOpen(reason: String) { - handleQueue.async { - self._engineDidOpen(reason: reason) - } - } - - private func _engineDidOpen(reason: String) { - DefaultSocketLogger.Logger.log("Engine opened \(reason)", type: SocketManager.logType) - - status = .connected - nsps["/"]?.didConnect(toNamespace: "/") - - for (nsp, socket) in nsps where nsp != "/" && socket.status == .connecting { - connectSocket(socket) - } - } - - /// Called when the engine receives a pong message. - open func engineDidReceivePong() { - handleQueue.async { - self._engineDidReceivePong() - } - } - - private func _engineDidReceivePong() { - emitAll(clientEvent: .pong, data: []) - } - - /// Called when the sends a ping to the server. - open func engineDidSendPing() { - handleQueue.async { - self._engineDidSendPing() - } - } - - private func _engineDidSendPing() { - emitAll(clientEvent: .ping, data: []) - } - - private func forAll(do: (SocketIOClient) throws -> ()) rethrows { - for (_, socket) in nsps { - try `do`(socket) - } - } - - /// Called when when upgrading the http connection to a websocket connection. - /// - /// - parameter headers: The http headers. - open func engineDidWebsocketUpgrade(headers: [String: String]) { - handleQueue.async { - self._engineDidWebsocketUpgrade(headers: headers) - } - } - private func _engineDidWebsocketUpgrade(headers: [String: String]) { - emitAll(clientEvent: .websocketUpgrade, data: [headers]) - } - - /// Called when the engine has a message that must be parsed. - /// - /// - parameter msg: The message that needs parsing. - open func parseEngineMessage(_ msg: String) { - handleQueue.async { - self._parseEngineMessage(msg) - } - } - - private func _parseEngineMessage(_ msg: String) { - guard let packet = parseSocketMessage(msg) else { return } - guard !packet.type.isBinary else { - waitingPackets.append(packet) - - return - } - - nsps[packet.nsp]?.handlePacket(packet) - } - - /// Called when the engine receives binary data. - /// - /// - parameter data: The data the engine received. - open func parseEngineBinaryData(_ data: Data) { - handleQueue.async { - self._parseEngineBinaryData(data) - } - } - - private func _parseEngineBinaryData(_ data: Data) { - guard let packet = parseBinaryData(data) else { return } - - nsps[packet.nsp]?.handlePacket(packet) - } - - /// Tries to reconnect to the server. - /// - /// This will cause a `SocketClientEvent.reconnect` event to be emitted, as well as - /// `SocketClientEvent.reconnectAttempt` events. - open func reconnect() { - guard !reconnecting else { return } - - engine?.disconnect(reason: "manual reconnect") - } - - /// Removes the socket from the manager's control. One of the disconnect methods should be called before calling this - /// method. - /// - /// After calling this method the socket should no longer be considered usable. - /// - /// - parameter socket: The socket to remove. - /// - returns: The socket removed, if it was owned by the manager. - @discardableResult - open func removeSocket(_ socket: SocketIOClient) -> SocketIOClient? { - return nsps.removeValue(forKey: socket.nsp) - } - - private func tryReconnect(reason: String) { - guard reconnecting else { return } - - DefaultSocketLogger.Logger.log("Starting reconnect", type: SocketManager.logType) - - // Set status to connecting and emit reconnect for all sockets - forAll {socket in - guard socket.status == .connected else { return } - - socket.setReconnecting(reason: reason) - } - - _tryReconnect() - } - - private func _tryReconnect() { - guard reconnects && reconnecting && status != .disconnected else { return } - - if reconnectAttempts != -1 && currentReconnectAttempt + 1 > reconnectAttempts { - return didDisconnect(reason: "Reconnect Failed") - } - - DefaultSocketLogger.Logger.log("Trying to reconnect", type: SocketManager.logType) - emitAll(clientEvent: .reconnectAttempt, data: [(reconnectAttempts - currentReconnectAttempt)]) - - currentReconnectAttempt += 1 - connect() - - let interval = reconnectInterval(attempts: currentReconnectAttempt) - DefaultSocketLogger.Logger.log("Scheduling reconnect in \(interval)s", type: SocketManager.logType) - handleQueue.asyncAfter(deadline: DispatchTime.now() + interval, execute: _tryReconnect) - } - - func reconnectInterval(attempts: Int) -> Double { - // apply exponential factor - let backoffFactor = pow(1.5, attempts) - let interval = Double(reconnectWait) * Double(truncating: backoffFactor as NSNumber) - // add in a random factor smooth thundering herds - let rand = Double.random(in: 0 ..< 1) - let randomFactor = rand * randomizationFactor * Double(truncating: interval as NSNumber) - // add in random factor, and clamp to min and max values - let combined = interval + randomFactor - return Double(fmax(Double(reconnectWait), fmin(combined, Double(reconnectWaitMax)))) - } - - /// Sets manager specific configs. - /// - /// parameter config: The configs that should be set. - open func setConfigs(_ config: SocketIOClientConfiguration) { - for option in config { - switch option { - case let .forceNew(new): - self.forceNew = new - case let .handleQueue(queue): - self.handleQueue = queue - case let .reconnects(reconnects): - self.reconnects = reconnects - case let .reconnectAttempts(attempts): - self.reconnectAttempts = attempts - case let .reconnectWait(wait): - reconnectWait = abs(wait) - case let .reconnectWaitMax(wait): - reconnectWaitMax = abs(wait) - case let .randomizationFactor(factor): - randomizationFactor = factor - case let .log(log): - DefaultSocketLogger.Logger.log = log - case let .logger(logger): - DefaultSocketLogger.Logger = logger - case _: - continue - } - } - - _config = config - - if socketURL.absoluteString.hasPrefix("https://") { - _config.insert(.secure(true)) - } - - _config.insert(.path("/socket.io/"), replacing: false) - - // If `ConfigSettable` & `SocketEngineSpec`, update its configs. - if var settableEngine = engine as? ConfigSettable & SocketEngineSpec { - settableEngine.engineQueue.sync { - settableEngine.setConfigs(self._config) - } - - engine = settableEngine - } - } - - /// Returns a `SocketIOClient` for the given namespace. This socket shares a transport with the manager. - /// - /// Calling multiple times returns the same socket. - /// - /// Sockets created from this method are retained by the manager. - /// Call one of the `disconnectSocket` methods on this class to remove the socket from manager control. - /// Or call `SocketIOClient.disconnect()` on the client. - /// - /// - parameter nsp: The namespace for the socket. - /// - returns: A `SocketIOClient` for the given namespace. - open func socket(forNamespace nsp: String) -> SocketIOClient { - assert(nsp.hasPrefix("/"), "forNamespace must have a leading /") - - if let socket = nsps[nsp] { - return socket - } - - let client = SocketIOClient(manager: self, nsp: nsp) - - nsps[nsp] = client - - return client - } - - // Test properties - - func setTestStatus(_ status: SocketIOStatus) { - self.status = status - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Manager/SocketManagerSpec.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Manager/SocketManagerSpec.swift deleted file mode 100644 index 35d5afc..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Manager/SocketManagerSpec.swift +++ /dev/null @@ -1,145 +0,0 @@ -// -// Created by Erik Little on 10/18/17. -// -// 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 Dispatch -import Foundation - -// TODO Fix the types so that we aren't using concrete types - -/// -/// A manager for a socket.io connection. -/// -/// A `SocketManagerSpec` is responsible for multiplexing multiple namespaces through a single `SocketEngineSpec`. -/// -/// Example with `SocketManager`: -/// -/// ```swift -/// let manager = SocketManager(socketURL: URL(string:"http://localhost:8080/")!) -/// let defaultNamespaceSocket = manager.defaultSocket -/// let swiftSocket = manager.socket(forNamespace: "/swift") -/// -/// // defaultNamespaceSocket and swiftSocket both share a single connection to the server -/// ``` -/// -/// Sockets created through the manager are retained by the manager. So at the very least, a single strong reference -/// to the manager must be maintained to keep sockets alive. -/// -/// To disconnect a socket and remove it from the manager, either call `SocketIOClient.disconnect()` on the socket, -/// or call one of the `disconnectSocket` methods on this class. -/// -@objc -public protocol SocketManagerSpec : AnyObject, SocketEngineClient { - // MARK: Properties - - /// Returns the socket associated with the default namespace ("/"). - var defaultSocket: SocketIOClient { get } - - /// The engine for this manager. - var engine: SocketEngineSpec? { get set } - - /// If `true` then every time `connect` is called, a new engine will be created. - var forceNew: Bool { get set } - - // TODO Per socket queues? - /// The queue that all interaction with the client should occur on. This is the queue that event handlers are - /// called on. - var handleQueue: DispatchQueue { get set } - - /// The sockets in this manager indexed by namespace. - var nsps: [String: SocketIOClient] { get set } - - /// If `true`, this manager will try and reconnect on any disconnects. - var reconnects: Bool { get set } - - /// The minimum number of seconds to wait before attempting to reconnect. - var reconnectWait: Int { get set } - - /// The maximum number of seconds to wait before attempting to reconnect. - var reconnectWaitMax: Int { get set } - - /// The randomization factor for calculating reconnect jitter. - var randomizationFactor: Double { get set } - - /// The URL of the socket.io server. - var socketURL: URL { get } - - /// The status of this manager. - var status: SocketIOStatus { get } - - // MARK: Methods - - /// Connects the underlying transport. - func connect() - - /// Connects a socket through this manager's engine. - /// - /// - parameter socket: The socket who we should connect through this manager. - func connectSocket(_ socket: SocketIOClient) - - /// Called when the manager has disconnected from socket.io. - /// - /// - parameter reason: The reason for the disconnection. - func didDisconnect(reason: String) - - /// Disconnects the manager and all associated sockets. - func disconnect() - - /// Disconnects the given socket. - /// - /// - parameter socket: The socket to disconnect. - func disconnectSocket(_ socket: SocketIOClient) - - /// Disconnects the socket associated with `forNamespace`. - /// - /// - parameter nsp: The namespace to disconnect from. - func disconnectSocket(forNamespace nsp: String) - - /// Sends an event to the server on all namespaces in this manager. - /// - /// - parameter event: The event to send. - /// - parameter items: The data to send with this event. - func emitAll(_ event: String, withItems items: [Any]) - - /// Tries to reconnect to the server. - /// - /// This will cause a `disconnect` event to be emitted, as well as an `reconnectAttempt` event. - func reconnect() - - /// Removes the socket from the manager's control. - /// After calling this method the socket should no longer be considered usable. - /// - /// - parameter socket: The socket to remove. - /// - returns: The socket removed, if it was owned by the manager. - @discardableResult - func removeSocket(_ socket: SocketIOClient) -> SocketIOClient? - - /// Returns a `SocketIOClient` for the given namespace. This socket shares a transport with the manager. - /// - /// Calling multiple times returns the same socket. - /// - /// Sockets created from this method are retained by the manager. - /// Call one of the `disconnectSocket` methods on the implementing class to remove the socket from manager control. - /// Or call `SocketIOClient.disconnect()` on the client. - /// - /// - parameter nsp: The namespace for the socket. - /// - returns: A `SocketIOClient` for the given namespace. - func socket(forNamespace nsp: String) -> SocketIOClient -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Parse/SocketPacket.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Parse/SocketPacket.swift deleted file mode 100644 index 1d818db..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Parse/SocketPacket.swift +++ /dev/null @@ -1,250 +0,0 @@ -// -// SocketPacket.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 1/18/15. -// -// 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 Foundation - -/// A struct that represents a socket.io packet. -public struct SocketPacket : CustomStringConvertible { - // MARK: Properties - - private static let logType = "SocketPacket" - - /// The namespace for this packet. - public let nsp: String - - /// If > 0 then this packet is using acking. - public let id: Int - - /// The type of this packet. - public let type: PacketType - - /// An array of binary data for this packet. - public internal(set) var binary: [Data] - - /// The data for this event. - /// - /// Note: This includes all data inside of the socket.io packet payload array, which includes the event name for - /// event type packets. - public internal(set) var data: [Any] - - /// Returns the payload for this packet, minus the event name if this is an event or binaryEvent type packet. - public var args: [Any] { - if type == .event || type == .binaryEvent && data.count != 0 { - return Array(data.dropFirst()) - } else { - return data - } - } - - private let placeholders: Int - - /// A string representation of this packet. - public var description: String { - return "SocketPacket {type: \(String(type.rawValue)); data: " + - "\(String(describing: data)); id: \(id); placeholders: \(placeholders); nsp: \(nsp)}" - } - - /// The event name for this packet. - public var event: String { - return String(describing: data[0]) - } - - /// A string representation of this packet. - public var packetString: String { - return createPacketString() - } - - init(type: PacketType, data: [Any] = [Any](), id: Int = -1, nsp: String, placeholders: Int = 0, - binary: [Data] = [Data]()) { - self.data = data - self.id = id - self.nsp = nsp - self.type = type - self.placeholders = placeholders - self.binary = binary - } - - mutating func addData(_ data: Data) -> Bool { - if placeholders == binary.count { - return true - } - - binary.append(data) - - if placeholders == binary.count { - fillInPlaceholders() - return true - } else { - return false - } - } - - private func completeMessage(_ message: String) -> String { - guard data.count != 0 else { return message + "[]" } - guard let jsonSend = try? data.toJSON(), let jsonString = String(data: jsonSend, encoding: .utf8) else { - DefaultSocketLogger.Logger.error("Error creating JSON object in SocketPacket.completeMessage", - type: SocketPacket.logType) - - return message + "[]" - } - - return message + jsonString - } - - private func createPacketString() -> String { - let typeString = String(type.rawValue) - // Binary count? - let binaryCountString = typeString + (type.isBinary ? "\(String(binary.count))-" : "") - // Namespace? - let nspString = binaryCountString + (nsp != "/" ? "\(nsp)," : "") - // Ack number? - let idString = nspString + (id != -1 ? String(id) : "") - - return completeMessage(idString) - } - - // Called when we have all the binary data for a packet - // calls _fillInPlaceholders, which replaces placeholders with the - // corresponding binary - private mutating func fillInPlaceholders() { - data = data.map(_fillInPlaceholders) - } - - // Helper method that looks for placeholders - // If object is a collection it will recurse - // Returns the object if it is not a placeholder or the corresponding - // binary data - private func _fillInPlaceholders(_ object: Any) -> Any { - switch object { - case let dict as JSON: - if dict["_placeholder"] as? Bool ?? false { - return binary[dict["num"] as! Int] - } else { - return dict.reduce(into: JSON(), {cur, keyValue in - cur[keyValue.0] = _fillInPlaceholders(keyValue.1) - }) - } - case let arr as [Any]: - return arr.map(_fillInPlaceholders) - default: - return object - } - } -} - -public extension SocketPacket { - // MARK: PacketType enum - - /// The type of packets. - enum PacketType: Int { - // MARK: Cases - - /// Connect: 0 - case connect - - /// Disconnect: 1 - case disconnect - - /// Event: 2 - case event - - /// Ack: 3 - case ack - - /// Error: 4 - case error - - /// Binary Event: 5 - case binaryEvent - - /// Binary Ack: 6 - case binaryAck - - // MARK: Properties - - /// Whether or not this type is binary - public var isBinary: Bool { - return self == .binaryAck || self == .binaryEvent - } - } -} - -extension SocketPacket { - private static func findType(_ binCount: Int, ack: Bool) -> PacketType { - switch binCount { - case 0 where !ack: - return .event - case 0 where ack: - return .ack - case _ where !ack: - return .binaryEvent - case _ where ack: - return .binaryAck - default: - return .error - } - } - - static func packetFromEmit(_ items: [Any], id: Int, nsp: String, ack: Bool, checkForBinary: Bool = true) -> SocketPacket { - if checkForBinary { - let (parsedData, binary) = deconstructData(items) - - return SocketPacket(type: findType(binary.count, ack: ack), data: parsedData, id: id, nsp: nsp, - binary: binary) - } else { - return SocketPacket(type: findType(0, ack: ack), data: items, id: id, nsp: nsp) - } - } -} - -private extension SocketPacket { - // Recursive function that looks for NSData in collections - static func shred(_ data: Any, binary: inout [Data]) -> Any { - let placeholder = ["_placeholder": true, "num": binary.count] as JSON - - switch data { - case let bin as Data: - binary.append(bin) - - return placeholder - case let arr as [Any]: - return arr.map({shred($0, binary: &binary)}) - case let dict as JSON: - return dict.reduce(into: JSON(), {cur, keyValue in - cur[keyValue.0] = shred(keyValue.1, binary: &binary) - }) - default: - return data - } - } - - // Removes binary data from emit data - // Returns a type containing the de-binaryed data and the binary - static func deconstructData(_ data: [Any]) -> ([Any], [Data]) { - var binary = [Data]() - - return (data.map({ shred($0, binary: &binary) }), binary) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Parse/SocketParsable.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Parse/SocketParsable.swift deleted file mode 100644 index 9be9c60..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Parse/SocketParsable.swift +++ /dev/null @@ -1,181 +0,0 @@ -// -// SocketParsable.swift -// Socket.IO-Client-Swift -// -// 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 Foundation - -/// Defines that a type will be able to parse socket.io-protocol messages. -public protocol SocketParsable : AnyObject { - // MARK: Methods - - /// Called when the engine has received some binary data that should be attached to a packet. - /// - /// Packets binary data should be sent directly after the packet that expects it, so there's confusion over - /// where the data should go. Data should be received in the order it is sent, so that the correct data is put - /// into the correct placeholder. - /// - /// - parameter data: The data that should be attached to a packet. - func parseBinaryData(_ data: Data) -> SocketPacket? - - /// Called when the engine has received a string that should be parsed into a socket.io packet. - /// - /// - parameter message: The string that needs parsing. - /// - returns: A completed socket packet if there is no more data left to collect. - func parseSocketMessage(_ message: String) -> SocketPacket? -} - -/// Errors that can be thrown during parsing. -public enum SocketParsableError : Error { - // MARK: Cases - - /// Thrown when a packet received has an invalid data array, or is missing the data array. - case invalidDataArray - - /// Thrown when an malformed packet is received. - case invalidPacket - - /// Thrown when the parser receives an unknown packet type. - case invalidPacketType -} - -/// Says that a type will be able to buffer binary data before all data for an event has come in. -public protocol SocketDataBufferable : AnyObject { - // MARK: Properties - - /// A list of packets that are waiting for binary data. - /// - /// The way that socket.io works all data should be sent directly after each packet. - /// So this should ideally be an array of one packet waiting for data. - /// - /// **This should not be modified directly.** - var waitingPackets: [SocketPacket] { get set } -} - -public extension SocketParsable where Self: SocketManagerSpec & SocketDataBufferable { - /// Parses a message from the engine, returning a complete SocketPacket or throwing. - /// - /// - parameter message: The message to parse. - /// - returns: A completed packet, or throwing. - internal func parseString(_ message: String) throws -> SocketPacket { - var reader = SocketStringReader(message: message) - - guard let type = Int(reader.read(count: 1)).flatMap({ SocketPacket.PacketType(rawValue: $0) }) else { - throw SocketParsableError.invalidPacketType - } - - if !reader.hasNext { - return SocketPacket(type: type, nsp: "/") - } - - var namespace = "/" - var placeholders = -1 - - if type.isBinary { - if let holders = Int(reader.readUntilOccurence(of: "-")) { - placeholders = holders - } else { - throw SocketParsableError.invalidPacket - } - } - - if reader.currentCharacter == "/" { - namespace = reader.readUntilOccurence(of: ",") - } - - if !reader.hasNext { - return SocketPacket(type: type, nsp: namespace, placeholders: placeholders) - } - - var idString = "" - - if type == .error { - reader.advance(by: -1) - } else { - while let int = Int(reader.read(count: 1)) { - idString += String(int) - } - - reader.advance(by: -2) - } - - var dataArray = String(message.utf16[message.utf16.index(reader.currentIndex, offsetBy: 1)...])! - - if type == .error && !dataArray.hasPrefix("[") && !dataArray.hasSuffix("]") { - dataArray = "[" + dataArray + "]" - } - - let data = try parseData(dataArray) - - return SocketPacket(type: type, data: data, id: Int(idString) ?? -1, nsp: namespace, placeholders: placeholders) - } - - // Parses data for events - private func parseData(_ data: String) throws -> [Any] { - do { - return try data.toArray() - } catch { - throw SocketParsableError.invalidDataArray - } - } - - /// Called when the engine has received a string that should be parsed into a socket.io packet. - /// - /// - parameter message: The string that needs parsing. - /// - returns: A completed socket packet or nil if the packet is invalid. - func parseSocketMessage(_ message: String) -> SocketPacket? { - guard !message.isEmpty else { return nil } - - DefaultSocketLogger.Logger.log("Parsing \(message)", type: "SocketParser") - - do { - let packet = try parseString(message) - - DefaultSocketLogger.Logger.log("Decoded packet as: \(packet.description)", type: "SocketParser") - - return packet - } catch { - DefaultSocketLogger.Logger.error("\(error): \(message)", type: "SocketParser") - - return nil - } - } - - /// Called when the engine has received some binary data that should be attached to a packet. - /// - /// Packets binary data should be sent directly after the packet that expects it, so there's confusion over - /// where the data should go. Data should be received in the order it is sent, so that the correct data is put - /// into the correct placeholder. - /// - /// - parameter data: The data that should be attached to a packet. - /// - returns: A completed socket packet if there is no more data left to collect. - func parseBinaryData(_ data: Data) -> SocketPacket? { - guard !waitingPackets.isEmpty else { - DefaultSocketLogger.Logger.error("Got data when not remaking packet", type: "SocketParser") - - return nil - } - - // Should execute event? - guard waitingPackets[waitingPackets.count - 1].addData(data) else { return nil } - - return waitingPackets.removeLast() - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SSLSecurity.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SSLSecurity.swift deleted file mode 100644 index 2035265..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SSLSecurity.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// SSLSecurity.swift -// SocketIO-iOS -// -// Created by Lukas Schmidt on 24.09.17. -// -// 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 Foundation -import Starscream - -/// A wrapper around Starscream's SSLSecurity that provides a minimal Objective-C interface. -open class SSLSecurity : NSObject { - // MARK: Properties - - /// The internal Starscream SSLSecurity. - public let security: Starscream.SSLSecurity - - init(security: Starscream.SSLSecurity) { - self.security = security - } - - // MARK: Methods - - /// Creates a new SSLSecurity that specifies whether to use publicKeys or certificates should be used for SSL - /// pinning validation - /// - /// - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning - /// validation - @objc - public convenience init(usePublicKeys: Bool = true) { - let security = Starscream.SSLSecurity(usePublicKeys: usePublicKeys) - self.init(security: security) - } - - - /// Designated init - /// - /// - parameter certs: is the certificates or public keys to use - /// - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning - /// validation - /// - returns: a representation security object to be used with - public convenience init(certs: [SSLCert], usePublicKeys: Bool) { - let security = Starscream.SSLSecurity(certs: certs, usePublicKeys: usePublicKeys) - self.init(security: security) - } - - /// Returns whether or not the given trust is valid. - /// - /// - parameter trust: The trust to validate. - /// - parameter domain: The CN domain to validate. - /// - returns: Whether or not this is valid. - public func isValid(_ trust: SecTrust, domain: String?) -> Bool { - return security.isValid(trust, domain: domain) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketExtensions.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketExtensions.swift deleted file mode 100644 index 23170b7..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketExtensions.swift +++ /dev/null @@ -1,130 +0,0 @@ -// -// SocketExtensions.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 7/1/2016. -// -// 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 Foundation -import Starscream - -enum JSONError : Error { - case notArray - case notNSDictionary -} - -extension Array { - func toJSON() throws -> Data { - return try JSONSerialization.data(withJSONObject: self, options: JSONSerialization.WritingOptions(rawValue: 0)) - } -} - -extension CharacterSet { - static var allowedURLCharacterSet: CharacterSet { - return CharacterSet(charactersIn: "!*'();:@&=+$,/?%#[]\" {}^|").inverted - } -} - -extension Dictionary where Key == String, Value == Any { - private static func keyValueToSocketIOClientOption(key: String, value: Any) -> SocketIOClientOption? { - switch (key, value) { - case let ("connectParams", params as [String: Any]): - return .connectParams(params) - case let ("cookies", cookies as [HTTPCookie]): - return .cookies(cookies) - case let ("extraHeaders", headers as [String: String]): - return .extraHeaders(headers) - case let ("forceNew", force as Bool): - return .forceNew(force) - case let ("forcePolling", force as Bool): - return .forcePolling(force) - case let ("forceWebsockets", force as Bool): - return .forceWebsockets(force) - case let ("handleQueue", queue as DispatchQueue): - return .handleQueue(queue) - case let ("log", log as Bool): - return .log(log) - case let ("logger", logger as SocketLogger): - return .logger(logger) - case let ("path", path as String): - return .path(path) - case let ("reconnects", reconnects as Bool): - return .reconnects(reconnects) - case let ("reconnectAttempts", attempts as Int): - return .reconnectAttempts(attempts) - case let ("reconnectWait", wait as Int): - return .reconnectWait(wait) - case let ("reconnectWaitMax", wait as Int): - return .reconnectWaitMax(wait) - case let ("randomizationFactor", factor as Double): - return .randomizationFactor(factor) - case let ("secure", secure as Bool): - return .secure(secure) - case let ("security", security as SSLSecurity): - return .security(security) - case let ("selfSigned", selfSigned as Bool): - return .selfSigned(selfSigned) - case let ("sessionDelegate", delegate as URLSessionDelegate): - return .sessionDelegate(delegate) - case let ("compress", compress as Bool): - return compress ? .compress : nil - case let ("enableSOCKSProxy", enable as Bool): - return .enableSOCKSProxy(enable) - default: - return nil - } - } - - func toSocketConfiguration() -> SocketIOClientConfiguration { - var options = [] as SocketIOClientConfiguration - - for (rawKey, value) in self { - if let opt = Dictionary.keyValueToSocketIOClientOption(key: rawKey, value: value) { - options.insert(opt) - } - } - - return options - } -} - -extension String { - func toArray() throws -> [Any] { - guard let stringData = data(using: .utf16, allowLossyConversion: false) else { return [] } - guard let array = try JSONSerialization.jsonObject(with: stringData, options: .mutableContainers) as? [Any] else { - throw JSONError.notArray - } - - return array - } - - func toDictionary() throws -> [String: Any] { - guard let binData = data(using: .utf16, allowLossyConversion: false) else { return [:] } - guard let json = try JSONSerialization.jsonObject(with: binData, options: .allowFragments) as? [String: Any] else { - throw JSONError.notNSDictionary - } - - return json - } - - func urlEncode() -> String? { - return addingPercentEncoding(withAllowedCharacters: .allowedURLCharacterSet) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketLogger.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketLogger.swift deleted file mode 100644 index ccb92be..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketLogger.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// SocketLogger.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 4/11/15. -// -// 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 Foundation - -/// Represents a class will log client events. -public protocol SocketLogger : AnyObject { - // MARK: Properties - - /// Whether to log or not - var log: Bool { get set } - - // MARK: Methods - - /// Normal log messages - /// - /// - parameter message: The message being logged. Can include `%@` that will be replaced with `args` - /// - parameter type: The type of entity that called for logging. - /// - parameter args: Any args that should be inserted into the message. May be left out. - func log(_ message: @autoclosure () -> String, type: String) - - /// Error Messages - /// - /// - parameter message: The message being logged. Can include `%@` that will be replaced with `args` - /// - parameter type: The type of entity that called for logging. - /// - parameter args: Any args that should be inserted into the message. May be left out. - func error(_ message: @autoclosure () -> String, type: String) -} - -public extension SocketLogger { - /// Default implementation. - func log(_ message: @autoclosure () -> String, type: String) { - guard log else { return } - - abstractLog("LOG", message: message(), type: type) - } - - /// Default implementation. - func error(_ message: @autoclosure () -> String, type: String) { - guard log else { return } - - abstractLog("ERROR", message: message(), type: type) - } - - private func abstractLog(_ logType: String, message: @autoclosure () -> String, type: String) { - NSLog("\(logType) \(type): %@", message()) - } -} - -class DefaultSocketLogger : SocketLogger { - static var Logger: SocketLogger = DefaultSocketLogger() - - var log = false -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketStringReader.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketStringReader.swift deleted file mode 100644 index e9abb7e..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketStringReader.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// SocketStringReader.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 07.09.15. -// -// 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. - -struct SocketStringReader { - let message: String - var currentIndex: String.UTF16View.Index - var hasNext: Bool { - return currentIndex != message.utf16.endIndex - } - - var currentCharacter: String { - return String(UnicodeScalar(message.utf16[currentIndex])!) - } - - init(message: String) { - self.message = message - currentIndex = message.utf16.startIndex - } - - @discardableResult - mutating func advance(by: Int) -> String.UTF16View.Index { - currentIndex = message.utf16.index(currentIndex, offsetBy: by) - - return currentIndex - } - - mutating func read(count: Int) -> String { - let readString = String(message.utf16[currentIndex.. String { - let substring = message.utf16[currentIndex...] - - guard let foundIndex = substring.firstIndex(where: { $0 == string.utf16.first! }) else { - currentIndex = message.utf16.endIndex - - return String(substring)! - } - - advance(by: substring.distance(from: substring.startIndex, to: foundIndex) + 1) - - return String(substring[substring.startIndex.. String { - return read(count: message.utf16.distance(from: currentIndex, to: message.utf16.endIndex)) - } -} diff --git a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketTypes.swift b/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketTypes.swift deleted file mode 100644 index 7bb6517..0000000 --- a/sampleiOS/Pods/Socket.IO-Client-Swift/Source/SocketIO/Util/SocketTypes.swift +++ /dev/null @@ -1,86 +0,0 @@ -// -// SocketTypes.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 4/8/15. -// -// 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 Foundation - -/// A marking protocol that says a type can be represented in a socket.io packet. -/// -/// Example: -/// -/// ```swift -/// struct CustomData : SocketData { -/// let name: String -/// let age: Int -/// -/// func socketRepresentation() -> SocketData { -/// return ["name": name, "age": age] -/// } -/// } -/// -/// socket.emit("myEvent", CustomData(name: "Erik", age: 24)) -/// ``` -public protocol SocketData { - // MARK: Methods - - /// A representation of self that can sent over socket.io. - func socketRepresentation() throws -> SocketData -} - -public extension SocketData { - /// Default implementation. Only works for native Swift types and a few Foundation types. - func socketRepresentation() -> SocketData { - return self - } -} - -extension Array : SocketData { } -extension Bool : SocketData { } -extension Dictionary : SocketData { } -extension Double : SocketData { } -extension Int : SocketData { } -extension NSArray : SocketData { } -extension Data : SocketData { } -extension NSData : SocketData { } -extension NSDictionary : SocketData { } -extension NSString : SocketData { } -extension NSNull : SocketData { } -extension String : SocketData { } - -/// A typealias for an ack callback. -public typealias AckCallback = ([Any]) -> () - -/// A typealias for a normal callback. -public typealias NormalCallback = ([Any], SocketAckEmitter) -> () - -/// A typealias for a queued POST -public typealias Post = (msg: String, completion: (() -> ())?) - -typealias JSON = [String: Any] -typealias Probe = (msg: String, type: SocketEnginePacketType, data: [Data], completion: (() -> ())?) -typealias ProbeWaitQueue = [Probe] - -enum Either { - case left(E) - case right(V) -} diff --git a/sampleiOS/Pods/Starscream/LICENSE b/sampleiOS/Pods/Starscream/LICENSE deleted file mode 100644 index d6ab2f1..0000000 --- a/sampleiOS/Pods/Starscream/LICENSE +++ /dev/null @@ -1,176 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - Copyright (c) 2014-2016 Dalton Cherry. - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. \ No newline at end of file diff --git a/sampleiOS/Pods/Starscream/README.md b/sampleiOS/Pods/Starscream/README.md deleted file mode 100644 index 90a7e0e..0000000 --- a/sampleiOS/Pods/Starscream/README.md +++ /dev/null @@ -1,438 +0,0 @@ -![starscream](https://raw.githubusercontent.com/daltoniam/starscream/assets/starscream.jpg) - -Starscream is a conforming WebSocket ([RFC 6455](http://tools.ietf.org/html/rfc6455)) client library in Swift. - -Its Objective-C counterpart can be found here: [Jetfire](https://github.com/acmacalister/jetfire) - -## Features - -- Conforms to all of the base [Autobahn test suite](http://autobahn.ws/testsuite/). -- Nonblocking. Everything happens in the background, thanks to GCD. -- TLS/WSS support. -- Compression Extensions support ([RFC 7692](https://tools.ietf.org/html/rfc7692)) -- Simple concise codebase at just a few hundred LOC. - -## Example - -First thing is to import the framework. See the Installation instructions on how to add the framework to your project. - -```swift -import Starscream -``` - -Once imported, you can open a connection to your WebSocket server. Note that `socket` is probably best as a property, so it doesn't get deallocated right after being setup. - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!) -socket.delegate = self -socket.connect() -``` - -After you are connected, there are some delegate methods that we need to implement. - -### websocketDidConnect - -websocketDidConnect is called as soon as the client connects to the server. - -```swift -func websocketDidConnect(socket: WebSocketClient) { - print("websocket is connected") -} -``` - -### websocketDidDisconnect - -websocketDidDisconnect is called as soon as the client is disconnected from the server. - -```swift -func websocketDidDisconnect(socket: WebSocketClient, error: Error?) { - print("websocket is disconnected: \(error?.localizedDescription)") -} -``` - -### websocketDidReceiveMessage - -websocketDidReceiveMessage is called when the client gets a text frame from the connection. - -```swift -func websocketDidReceiveMessage(socket: WebSocketClient, text: String) { - print("got some text: \(text)") -} -``` - -### websocketDidReceiveData - -websocketDidReceiveData is called when the client gets a binary frame from the connection. - -```swift -func websocketDidReceiveData(socket: WebSocketClient, data: Data) { - print("got some data: \(data.count)") -} -``` - -### Optional: websocketDidReceivePong *(required protocol: WebSocketPongDelegate)* - -websocketDidReceivePong is called when the client gets a pong response from the connection. You need to implement the WebSocketPongDelegate protocol and set an additional delegate, eg: ` socket.pongDelegate = self` - -```swift -func websocketDidReceivePong(socket: WebSocketClient, data: Data?) { - print("Got pong! Maybe some data: \(data?.count)") -} -``` - -Or you can use closures. - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!) -//websocketDidConnect -socket.onConnect = { - print("websocket is connected") -} -//websocketDidDisconnect -socket.onDisconnect = { (error: Error?) in - print("websocket is disconnected: \(error?.localizedDescription)") -} -//websocketDidReceiveMessage -socket.onText = { (text: String) in - print("got some text: \(text)") -} -//websocketDidReceiveData -socket.onData = { (data: Data) in - print("got some data: \(data.count)") -} -//you could do onPong as well. -socket.connect() -``` - -One more: you can listen to socket connection and disconnection via notifications. Starscream posts `WebsocketDidConnectNotification` and `WebsocketDidDisconnectNotification`. You can find an `Error` that caused the disconection by accessing `WebsocketDisconnectionErrorKeyName` on notification `userInfo`. - - -## The delegate methods give you a simple way to handle data from the server, but how do you send data? - -### write a binary frame - -The writeData method gives you a simple way to send `Data` (binary) data to the server. - -```swift -socket.write(data: data) //write some Data over the socket! -``` - -### write a string frame - -The writeString method is the same as writeData, but sends text/string. - -```swift -socket.write(string: "Hi Server!") //example on how to write text over the socket! -``` - -### write a ping frame - -The writePing method is the same as write, but sends a ping control frame. - -```swift -socket.write(ping: Data()) //example on how to write a ping control frame over the socket! -``` - -### write a pong frame - - -the writePong method is the same as writePing, but sends a pong control frame. - -```swift -socket.write(pong: Data()) //example on how to write a pong control frame over the socket! -``` - -Starscream will automatically respond to incoming `ping` control frames so you do not need to manually send `pong`s. - -However if for some reason you need to control this process you can turn off the automatic `ping` response by disabling `respondToPingWithPong`. - -```swift -socket.respondToPingWithPong = false //Do not automaticaly respond to incoming pings with pongs. -``` - -In most cases you will not need to do this. - -### disconnect - -The disconnect method does what you would expect and closes the socket. - -```swift -socket.disconnect() -``` - -The socket can be forcefully closed, by specifying a timeout (in milliseconds). A timeout of zero will also close the socket immediately without waiting on the server. - -```swift -socket.disconnect(forceTimeout: 10, closeCode: CloseCode.normal.rawValue) -``` - -### isConnected - -Returns if the socket is connected or not. - -```swift -if socket.isConnected { - // do cool stuff. -} -``` - -### Custom Headers - -You can also override the default websocket headers with your own custom ones like so: - -```swift -var request = URLRequest(url: URL(string: "ws://localhost:8080/")!) -request.timeoutInterval = 5 -request.setValue("someother protocols", forHTTPHeaderField: "Sec-WebSocket-Protocol") -request.setValue("14", forHTTPHeaderField: "Sec-WebSocket-Version") -request.setValue("Everything is Awesome!", forHTTPHeaderField: "My-Awesome-Header") -let socket = WebSocket(request: request) -``` - -### Custom HTTP Method - -Your server may use a different HTTP method when connecting to the websocket: - -```swift -var request = URLRequest(url: URL(string: "ws://localhost:8080/")!) -request.httpMethod = "POST" -request.timeoutInterval = 5 -let socket = WebSocket(request: request) -``` - -### Protocols - -If you need to specify a protocol, simple add it to the init: - -```swift -//chat and superchat are the example protocols here -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) -socket.delegate = self -socket.connect() -``` - -### Self Signed SSL - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) - -//set this if you want to ignore SSL cert validation, so a self signed SSL certificate can be used. -socket.disableSSLCertValidation = true -``` - -### SSL Pinning - -SSL Pinning is also supported in Starscream. - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) -let data = ... //load your certificate from disk -socket.security = SSLSecurity(certs: [SSLCert(data: data)], usePublicKeys: true) -//socket.security = SSLSecurity() //uses the .cer files in your app's bundle -``` -You load either a `Data` blob of your certificate or you can use a `SecKeyRef` if you have a public key you want to use. The `usePublicKeys` bool is whether to use the certificates for validation or the public keys. The public keys will be extracted from the certificates automatically if `usePublicKeys` is choosen. - -### SSL Cipher Suites - -To use an SSL encrypted connection, you need to tell Starscream about the cipher suites your server supports. - -```swift -socket = WebSocket(url: URL(string: "wss://localhost:8080/")!, protocols: ["chat","superchat"]) - -// Set enabled cipher suites to AES 256 and AES 128 -socket.enabledSSLCipherSuites = [TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256] -``` - -If you don't know which cipher suites are supported by your server, you can try pointing [SSL Labs](https://www.ssllabs.com/ssltest/) at it and checking the results. - -### Compression Extensions - -Compression Extensions ([RFC 7692](https://tools.ietf.org/html/rfc7692)) is supported in Starscream. Compression is enabled by default, however compression will only be used if it is supported by the server as well. You may enable or disable compression via the `.enableCompression` property: - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!) -socket.enableCompression = false -``` - -Compression should be disabled if your application is transmitting already-compressed, random, or other uncompressable data. - -### Custom Queue - -A custom queue can be specified when delegate methods are called. By default `DispatchQueue.main` is used, thus making all delegate methods calls run on the main thread. It is important to note that all WebSocket processing is done on a background thread, only the delegate method calls are changed when modifying the queue. The actual processing is always on a background thread and will not pause your app. - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) -//create a custom queue -socket.callbackQueue = DispatchQueue(label: "com.vluxe.starscream.myapp") -``` - -## Example Project - -Check out the SimpleTest project in the examples directory to see how to setup a simple connection to a WebSocket server. - -## Requirements - -Starscream works with iOS 7/OSX 10.9 or above. It is recommended to use iOS 8/10.10 or above for CocoaPods/framework support. To use Starscream with a project targeting iOS 7, you must include all Swift files directly in your project. - -## Installation - -### CocoaPods - -Check out [Get Started](http://cocoapods.org/) tab on [cocoapods.org](http://cocoapods.org/). - -To use Starscream in your project add the following 'Podfile' to your project - - source 'https://github.com/CocoaPods/Specs.git' - platform :ios, '9.0' - use_frameworks! - - pod 'Starscream', '~> 3.0.2' - -Then run: - - pod install - -### Carthage - -Check out the [Carthage](https://github.com/Carthage/Carthage) docs on how to add a install. The `Starscream` framework is already setup with shared schemes. - -[Carthage Install](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) - -You can install Carthage with [Homebrew](http://brew.sh/) using the following command: - -```bash -$ brew update -$ brew install carthage -``` - -To integrate Starscream into your Xcode project using Carthage, specify it in your `Cartfile`: - -``` -github "daltoniam/Starscream" >= 3.0.2 -``` - -### Accio - -Check out the [Accio](https://github.com/JamitLabs/Accio) docs on how to add a install. - -Add the following to your Package.swift: - -```swift -.package(url: "https://github.com/daltoniam/Starscream.git", .upToNextMajor(from: "3.1.0")), -``` - -Next, add `Starscream` to your App targets dependencies like so: - -```swift -.target( - name: "App", - dependencies: [ - "Starscream", - ] -), -``` - -Then run `accio update`. - -### Rogue - -First see the [installation docs](https://github.com/acmacalister/Rogue) for how to install Rogue. - -To install Starscream run the command below in the directory you created the rogue file. - -``` -rogue add https://github.com/daltoniam/Starscream -``` - -Next open the `libs` folder and add the `Starscream.xcodeproj` to your Xcode project. Once that is complete, in your "Build Phases" add the `Starscream.framework` to your "Link Binary with Libraries" phase. Make sure to add the `libs` folder to your `.gitignore` file. - -### Swift Package Manager - -The [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. - -Once you have your Swift package set up, adding Starscream as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. - -```swift -dependencies: [ - .Package(url: "https://github.com/daltoniam/Starscream.git", majorVersion: 3) -] -``` - -### Other - -Simply grab the framework (either via git submodule or another package manager). - -Add the `Starscream.xcodeproj` to your Xcode project. Once that is complete, in your "Build Phases" add the `Starscream.framework` to your "Link Binary with Libraries" phase. - -### Add Copy Frameworks Phase - -If you are running this in an OSX app or on a physical iOS device you will need to make sure you add the `Starscream.framework` to be included in your app bundle. To do this, in Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar. In the tab bar at the top of that window, open the "Build Phases" panel. Expand the "Link Binary with Libraries" group, and add `Starscream.framework`. Click on the + button at the top left of the panel and select "New Copy Files Phase". Rename this new phase to "Copy Frameworks", set the "Destination" to "Frameworks", and add `Starscream.framework` respectively. - - -## WebSocketAdvancedDelegate -The advanced delegate acts just like the simpler delegate but provides some additional information on the connection and incoming frames. - -```swift -socket.advancedDelegate = self -``` - -In most cases you do not need the extra info and should use the normal delegate. - -#### websocketDidReceiveMessage -```swift -func websocketDidReceiveMessage(socket: WebSocketClient, text: String, response: WebSocket.WSResponse) { - print("got some text: \(text)") - print("First frame for this message arrived on \(response.firstFrame)") -} -``` - -#### websocketDidReceiveData -```swift -func websocketDidReceiveData(socket: WebSocketClient, data: Date, response: WebSocket.WSResponse) { - print("got some data it long: \(data.count)") - print("A total of \(response.frameCount) frames were used to send this data") -} -``` - -#### websocketHttpUpgrade -These methods are called when the HTTP upgrade request is sent and when the response returns. -```swift -func websocketHttpUpgrade(socket: WebSocketClient, request: CFHTTPMessage) { - print("the http request was sent we can check the raw http if we need to") -} -``` - -```swift -func websocketHttpUpgrade(socket: WebSocketClient, response: CFHTTPMessage) { - print("the http response has returned.") -} -``` - -## Swift versions - -* Swift 4.2 - 3.0.6 - -## KNOWN ISSUES -- WatchOS does not have the the CFNetwork String constants to modify the stream's SSL behavior. It will be the default Foundation SSL behavior. This means watchOS CANNOT use `SSLCiphers`, `disableSSLCertValidation`, or SSL pinning. All these values set on watchOS will do nothing. -- Linux does not have the security framework, so it CANNOT use SSL pinning or `SSLCiphers` either. - - -## TODOs - -- [ ] Add Unit Tests - Local WebSocket server that runs against Autobahn - -## License - -Starscream is licensed under the Apache v2 License. - -## Contact - -### Dalton Cherry -* https://github.com/daltoniam -* http://twitter.com/daltoniam -* http://daltoniam.com - -### Austin Cherry ### -* https://github.com/acmacalister -* http://twitter.com/acmacalister -* http://austincherry.me diff --git a/sampleiOS/Pods/Starscream/Sources/Starscream/Compression.swift b/sampleiOS/Pods/Starscream/Sources/Starscream/Compression.swift deleted file mode 100644 index ab65790..0000000 --- a/sampleiOS/Pods/Starscream/Sources/Starscream/Compression.swift +++ /dev/null @@ -1,177 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Compression.swift -// -// Created by Joseph Ross on 7/16/14. -// Copyright © 2017 Joseph Ross. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Compression implementation is implemented in conformance with RFC 7692 Compression Extensions -// for WebSocket: https://tools.ietf.org/html/rfc7692 -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -import Foundation -import zlib - -class Decompressor { - private var strm = z_stream() - private var buffer = [UInt8](repeating: 0, count: 0x2000) - private var inflateInitialized = false - private let windowBits:Int - - init?(windowBits:Int) { - self.windowBits = windowBits - guard initInflate() else { return nil } - } - - private func initInflate() -> Bool { - if Z_OK == inflateInit2_(&strm, -CInt(windowBits), - ZLIB_VERSION, CInt(MemoryLayout.size)) - { - inflateInitialized = true - return true - } - return false - } - - func reset() throws { - teardownInflate() - guard initInflate() else { throw WSError(type: .compressionError, message: "Error for decompressor on reset", code: 0) } - } - - func decompress(_ data: Data, finish: Bool) throws -> Data { - return try data.withUnsafeBytes { (bytes:UnsafePointer) -> Data in - return try decompress(bytes: bytes, count: data.count, finish: finish) - } - } - - func decompress(bytes: UnsafePointer, count: Int, finish: Bool) throws -> Data { - var decompressed = Data() - try decompress(bytes: bytes, count: count, out: &decompressed) - - if finish { - let tail:[UInt8] = [0x00, 0x00, 0xFF, 0xFF] - try decompress(bytes: tail, count: tail.count, out: &decompressed) - } - - return decompressed - - } - - private func decompress(bytes: UnsafePointer, count: Int, out:inout Data) throws { - var res:CInt = 0 - strm.next_in = UnsafeMutablePointer(mutating: bytes) - strm.avail_in = CUnsignedInt(count) - - repeat { - strm.next_out = UnsafeMutablePointer(&buffer) - strm.avail_out = CUnsignedInt(buffer.count) - - res = inflate(&strm, 0) - - let byteCount = buffer.count - Int(strm.avail_out) - out.append(buffer, count: byteCount) - } while res == Z_OK && strm.avail_out == 0 - - guard (res == Z_OK && strm.avail_out > 0) - || (res == Z_BUF_ERROR && Int(strm.avail_out) == buffer.count) - else { - throw WSError(type: .compressionError, message: "Error on decompressing", code: 0) - } - } - - private func teardownInflate() { - if inflateInitialized, Z_OK == inflateEnd(&strm) { - inflateInitialized = false - } - } - - deinit { - teardownInflate() - } -} - -class Compressor { - private var strm = z_stream() - private var buffer = [UInt8](repeating: 0, count: 0x2000) - private var deflateInitialized = false - private let windowBits:Int - - init?(windowBits: Int) { - self.windowBits = windowBits - guard initDeflate() else { return nil } - } - - private func initDeflate() -> Bool { - if Z_OK == deflateInit2_(&strm, Z_DEFAULT_COMPRESSION, Z_DEFLATED, - -CInt(windowBits), 8, Z_DEFAULT_STRATEGY, - ZLIB_VERSION, CInt(MemoryLayout.size)) - { - deflateInitialized = true - return true - } - return false - } - - func reset() throws { - teardownDeflate() - guard initDeflate() else { throw WSError(type: .compressionError, message: "Error for compressor on reset", code: 0) } - } - - func compress(_ data: Data) throws -> Data { - var compressed = Data() - var res:CInt = 0 - data.withUnsafeBytes { (ptr:UnsafePointer) -> Void in - strm.next_in = UnsafeMutablePointer(mutating: ptr) - strm.avail_in = CUnsignedInt(data.count) - - repeat { - strm.next_out = UnsafeMutablePointer(&buffer) - strm.avail_out = CUnsignedInt(buffer.count) - - res = deflate(&strm, Z_SYNC_FLUSH) - - let byteCount = buffer.count - Int(strm.avail_out) - compressed.append(buffer, count: byteCount) - } - while res == Z_OK && strm.avail_out == 0 - - } - - guard res == Z_OK && strm.avail_out > 0 - || (res == Z_BUF_ERROR && Int(strm.avail_out) == buffer.count) - else { - throw WSError(type: .compressionError, message: "Error on compressing", code: 0) - } - - compressed.removeLast(4) - return compressed - } - - private func teardownDeflate() { - if deflateInitialized, Z_OK == deflateEnd(&strm) { - deflateInitialized = false - } - } - - deinit { - teardownDeflate() - } -} - diff --git a/sampleiOS/Pods/Starscream/Sources/Starscream/SSLClientCertificate.swift b/sampleiOS/Pods/Starscream/Sources/Starscream/SSLClientCertificate.swift deleted file mode 100644 index 3410912..0000000 --- a/sampleiOS/Pods/Starscream/Sources/Starscream/SSLClientCertificate.swift +++ /dev/null @@ -1,92 +0,0 @@ -// -// SSLClientCertificate.swift -// Starscream -// -// Created by Tomasz Trela on 08/03/2018. -// Copyright © 2018 Vluxe. All rights reserved. -// - -import Foundation - -public struct SSLClientCertificateError: LocalizedError { - public var errorDescription: String? - - init(errorDescription: String) { - self.errorDescription = errorDescription - } -} - -public class SSLClientCertificate { - internal let streamSSLCertificates: NSArray - - /** - Convenience init. - - parameter pkcs12Path: Path to pkcs12 file containing private key and X.509 ceritifacte (.p12) - - parameter password: file password, see **kSecImportExportPassphrase** - */ - public convenience init(pkcs12Path: String, password: String) throws { - let pkcs12Url = URL(fileURLWithPath: pkcs12Path) - do { - try self.init(pkcs12Url: pkcs12Url, password: password) - } catch { - throw error - } - } - - /** - Designated init. For more information, see SSLSetCertificate() in Security/SecureTransport.h. - - parameter identity: SecIdentityRef, see **kCFStreamSSLCertificates** - - parameter identityCertificate: CFArray of SecCertificateRefs, see **kCFStreamSSLCertificates** - */ - public init(identity: SecIdentity, identityCertificate: SecCertificate) { - self.streamSSLCertificates = NSArray(objects: identity, identityCertificate) - } - - /** - Convenience init. - - parameter pkcs12Url: URL to pkcs12 file containing private key and X.509 ceritifacte (.p12) - - parameter password: file password, see **kSecImportExportPassphrase** - */ - public convenience init(pkcs12Url: URL, password: String) throws { - let importOptions = [kSecImportExportPassphrase as String : password] as CFDictionary - do { - try self.init(pkcs12Url: pkcs12Url, importOptions: importOptions) - } catch { - throw error - } - } - - /** - Designated init. - - parameter pkcs12Url: URL to pkcs12 file containing private key and X.509 ceritifacte (.p12) - - parameter importOptions: A dictionary containing import options. A - kSecImportExportPassphrase entry is required at minimum. Only password-based - PKCS12 blobs are currently supported. See **SecImportExport.h** - */ - public init(pkcs12Url: URL, importOptions: CFDictionary) throws { - do { - let pkcs12Data = try Data(contentsOf: pkcs12Url) - var rawIdentitiesAndCertificates: CFArray? - let pkcs12CFData: CFData = pkcs12Data as CFData - let importStatus = SecPKCS12Import(pkcs12CFData, importOptions, &rawIdentitiesAndCertificates) - - guard importStatus == errSecSuccess else { - throw SSLClientCertificateError(errorDescription: "(Starscream) Error during 'SecPKCS12Import', see 'SecBase.h' - OSStatus: \(importStatus)") - } - guard let identitiyAndCertificate = (rawIdentitiesAndCertificates as? Array>)?.first else { - throw SSLClientCertificateError(errorDescription: "(Starscream) Error - PKCS12 file is empty") - } - - let identity = identitiyAndCertificate[kSecImportItemIdentity as String] as! SecIdentity - var identityCertificate: SecCertificate? - let copyStatus = SecIdentityCopyCertificate(identity, &identityCertificate) - guard copyStatus == errSecSuccess else { - throw SSLClientCertificateError(errorDescription: "(Starscream) Error during 'SecIdentityCopyCertificate', see 'SecBase.h' - OSStatus: \(copyStatus)") - } - self.streamSSLCertificates = NSArray(objects: identity, identityCertificate!) - } catch { - throw error - } - } -} - diff --git a/sampleiOS/Pods/Starscream/Sources/Starscream/SSLSecurity.swift b/sampleiOS/Pods/Starscream/Sources/Starscream/SSLSecurity.swift deleted file mode 100644 index 6a14dd1..0000000 --- a/sampleiOS/Pods/Starscream/Sources/Starscream/SSLSecurity.swift +++ /dev/null @@ -1,266 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// SSLSecurity.swift -// Starscream -// -// Created by Dalton Cherry on 5/16/15. -// Copyright (c) 2014-2016 Dalton Cherry. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -////////////////////////////////////////////////////////////////////////////////////////////////// -#if os(Linux) -#else -import Foundation -import Security - -public protocol SSLTrustValidator { - func isValid(_ trust: SecTrust, domain: String?) -> Bool -} - -open class SSLCert { - var certData: Data? - var key: SecKey? - - /** - Designated init for certificates - - - parameter data: is the binary data of the certificate - - - returns: a representation security object to be used with - */ - public init(data: Data) { - self.certData = data - } - - /** - Designated init for public keys - - - parameter key: is the public key to be used - - - returns: a representation security object to be used with - */ - public init(key: SecKey) { - self.key = key - } -} - -open class SSLSecurity : SSLTrustValidator { - public var validatedDN = true //should the domain name be validated? - public var validateEntireChain = true //should the entire cert chain be validated - - var isReady = false //is the key processing done? - var certificates: [Data]? //the certificates - var pubKeys: [SecKey]? //the public keys - var usePublicKeys = false //use public keys or certificate validation? - - /** - Use certs from main app bundle - - - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning validation - - - returns: a representation security object to be used with - */ - public convenience init(usePublicKeys: Bool = false) { - let paths = Bundle.main.paths(forResourcesOfType: "cer", inDirectory: ".") - - let certs = paths.reduce([SSLCert]()) { (certs: [SSLCert], path: String) -> [SSLCert] in - var certs = certs - if let data = NSData(contentsOfFile: path) { - certs.append(SSLCert(data: data as Data)) - } - return certs - } - - self.init(certs: certs, usePublicKeys: usePublicKeys) - } - - /** - Designated init - - - parameter certs: is the certificates or public keys to use - - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning validation - - - returns: a representation security object to be used with - */ - public init(certs: [SSLCert], usePublicKeys: Bool) { - self.usePublicKeys = usePublicKeys - - if self.usePublicKeys { - DispatchQueue.global(qos: .default).async { - let pubKeys = certs.reduce([SecKey]()) { (pubKeys: [SecKey], cert: SSLCert) -> [SecKey] in - var pubKeys = pubKeys - if let data = cert.certData, cert.key == nil { - cert.key = self.extractPublicKey(data) - } - if let key = cert.key { - pubKeys.append(key) - } - return pubKeys - } - - self.pubKeys = pubKeys - self.isReady = true - } - } else { - let certificates = certs.reduce([Data]()) { (certificates: [Data], cert: SSLCert) -> [Data] in - var certificates = certificates - if let data = cert.certData { - certificates.append(data) - } - return certificates - } - self.certificates = certificates - self.isReady = true - } - } - - /** - Valid the trust and domain name. - - - parameter trust: is the serverTrust to validate - - parameter domain: is the CN domain to validate - - - returns: if the key was successfully validated - */ - open func isValid(_ trust: SecTrust, domain: String?) -> Bool { - - var tries = 0 - while !self.isReady { - usleep(1000) - tries += 1 - if tries > 5 { - return false //doesn't appear it is going to ever be ready... - } - } - var policy: SecPolicy - if self.validatedDN { - policy = SecPolicyCreateSSL(true, domain as NSString?) - } else { - policy = SecPolicyCreateBasicX509() - } - SecTrustSetPolicies(trust,policy) - if self.usePublicKeys { - if let keys = self.pubKeys { - let serverPubKeys = publicKeyChain(trust) - for serverKey in serverPubKeys as [AnyObject] { - for key in keys as [AnyObject] { - if serverKey.isEqual(key) { - return true - } - } - } - } - } else if let certs = self.certificates { - let serverCerts = certificateChain(trust) - var collect = [SecCertificate]() - for cert in certs { - collect.append(SecCertificateCreateWithData(nil,cert as CFData)!) - } - SecTrustSetAnchorCertificates(trust,collect as NSArray) - var result: SecTrustResultType = .unspecified - SecTrustEvaluate(trust,&result) - if result == .unspecified || result == .proceed { - if !validateEntireChain { - return true - } - var trustedCount = 0 - for serverCert in serverCerts { - for cert in certs { - if cert == serverCert { - trustedCount += 1 - break - } - } - } - if trustedCount == serverCerts.count { - return true - } - } - } - return false - } - - /** - Get the public key from a certificate data - - - parameter data: is the certificate to pull the public key from - - - returns: a public key - */ - public func extractPublicKey(_ data: Data) -> SecKey? { - guard let cert = SecCertificateCreateWithData(nil, data as CFData) else { return nil } - - return extractPublicKey(cert, policy: SecPolicyCreateBasicX509()) - } - - /** - Get the public key from a certificate - - - parameter data: is the certificate to pull the public key from - - - returns: a public key - */ - public func extractPublicKey(_ cert: SecCertificate, policy: SecPolicy) -> SecKey? { - var possibleTrust: SecTrust? - SecTrustCreateWithCertificates(cert, policy, &possibleTrust) - - guard let trust = possibleTrust else { return nil } - var result: SecTrustResultType = .unspecified - SecTrustEvaluate(trust, &result) - return SecTrustCopyPublicKey(trust) - } - - /** - Get the certificate chain for the trust - - - parameter trust: is the trust to lookup the certificate chain for - - - returns: the certificate chain for the trust - */ - public func certificateChain(_ trust: SecTrust) -> [Data] { - let certificates = (0.. [Data] in - var certificates = certificates - let cert = SecTrustGetCertificateAtIndex(trust, index) - certificates.append(SecCertificateCopyData(cert!) as Data) - return certificates - } - - return certificates - } - - /** - Get the public key chain for the trust - - - parameter trust: is the trust to lookup the certificate chain and extract the public keys - - - returns: the public keys from the certifcate chain for the trust - */ - public func publicKeyChain(_ trust: SecTrust) -> [SecKey] { - let policy = SecPolicyCreateBasicX509() - let keys = (0.. [SecKey] in - var keys = keys - let cert = SecTrustGetCertificateAtIndex(trust, index) - if let key = extractPublicKey(cert!, policy: policy) { - keys.append(key) - } - - return keys - } - - return keys - } - - -} -#endif diff --git a/sampleiOS/Pods/Starscream/Sources/Starscream/WebSocket.swift b/sampleiOS/Pods/Starscream/Sources/Starscream/WebSocket.swift deleted file mode 100644 index 7d48a20..0000000 --- a/sampleiOS/Pods/Starscream/Sources/Starscream/WebSocket.swift +++ /dev/null @@ -1,1356 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Websocket.swift -// -// Created by Dalton Cherry on 7/16/14. -// Copyright (c) 2014-2017 Dalton Cherry. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -import Foundation -import CoreFoundation -import CommonCrypto - -public let WebsocketDidConnectNotification = "WebsocketDidConnectNotification" -public let WebsocketDidDisconnectNotification = "WebsocketDidDisconnectNotification" -public let WebsocketDisconnectionErrorKeyName = "WebsocketDisconnectionErrorKeyName" - -//Standard WebSocket close codes -public enum CloseCode : UInt16 { - case normal = 1000 - case goingAway = 1001 - case protocolError = 1002 - case protocolUnhandledType = 1003 - // 1004 reserved. - case noStatusReceived = 1005 - //1006 reserved. - case encoding = 1007 - case policyViolated = 1008 - case messageTooBig = 1009 -} - -public enum ErrorType: Error { - case outputStreamWriteError //output stream error during write - case compressionError - case invalidSSLError //Invalid SSL certificate - case writeTimeoutError //The socket timed out waiting to be ready to write - case protocolError //There was an error parsing the WebSocket frames - case upgradeError //There was an error during the HTTP upgrade - case closeError //There was an error during the close (socket probably has been dereferenced) -} - -public struct WSError: Error { - public let type: ErrorType - public let message: String - public let code: Int -} - -//WebSocketClient is setup to be dependency injection for testing -public protocol WebSocketClient: class { - var delegate: WebSocketDelegate? {get set} - var pongDelegate: WebSocketPongDelegate? {get set} - var disableSSLCertValidation: Bool {get set} - var overrideTrustHostname: Bool {get set} - var desiredTrustHostname: String? {get set} - var sslClientCertificate: SSLClientCertificate? {get set} - #if os(Linux) - #else - var security: SSLTrustValidator? {get set} - var enabledSSLCipherSuites: [SSLCipherSuite]? {get set} - #endif - var isConnected: Bool {get} - - func connect() - func disconnect(forceTimeout: TimeInterval?, closeCode: UInt16) - func write(string: String, completion: (() -> ())?) - func write(data: Data, completion: (() -> ())?) - func write(ping: Data, completion: (() -> ())?) - func write(pong: Data, completion: (() -> ())?) -} - -//implements some of the base behaviors -extension WebSocketClient { - public func write(string: String) { - write(string: string, completion: nil) - } - - public func write(data: Data) { - write(data: data, completion: nil) - } - - public func write(ping: Data) { - write(ping: ping, completion: nil) - } - - public func write(pong: Data) { - write(pong: pong, completion: nil) - } - - public func disconnect() { - disconnect(forceTimeout: nil, closeCode: CloseCode.normal.rawValue) - } -} - -//SSL settings for the stream -public struct SSLSettings { - public let useSSL: Bool - public let disableCertValidation: Bool - public var overrideTrustHostname: Bool - public var desiredTrustHostname: String? - public let sslClientCertificate: SSLClientCertificate? - #if os(Linux) - #else - public let cipherSuites: [SSLCipherSuite]? - #endif -} - -public protocol WSStreamDelegate: class { - func newBytesInStream() - func streamDidError(error: Error?) -} - -//This protocol is to allow custom implemention of the underlining stream. This way custom socket libraries (e.g. linux) can be used -public protocol WSStream { - var delegate: WSStreamDelegate? {get set} - func connect(url: URL, port: Int, timeout: TimeInterval, ssl: SSLSettings, completion: @escaping ((Error?) -> Void)) - func write(data: Data) -> Int - func read() -> Data? - func cleanup() - #if os(Linux) || os(watchOS) - #else - func sslTrust() -> (trust: SecTrust?, domain: String?) - #endif -} - -open class FoundationStream : NSObject, WSStream, StreamDelegate { - private let workQueue = DispatchQueue(label: "com.vluxe.starscream.websocket", attributes: []) - private var inputStream: InputStream? - private var outputStream: OutputStream? - public weak var delegate: WSStreamDelegate? - let BUFFER_MAX = 4096 - - public var enableSOCKSProxy = false - - public func connect(url: URL, port: Int, timeout: TimeInterval, ssl: SSLSettings, completion: @escaping ((Error?) -> Void)) { - var readStream: Unmanaged? - var writeStream: Unmanaged? - let h = url.host! as NSString - CFStreamCreatePairWithSocketToHost(nil, h, UInt32(port), &readStream, &writeStream) - inputStream = readStream!.takeRetainedValue() - outputStream = writeStream!.takeRetainedValue() - - #if os(watchOS) //watchOS us unfortunately is missing the kCFStream properties to make this work - #else - if enableSOCKSProxy { - let proxyDict = CFNetworkCopySystemProxySettings() - let socksConfig = CFDictionaryCreateMutableCopy(nil, 0, proxyDict!.takeRetainedValue()) - let propertyKey = CFStreamPropertyKey(rawValue: kCFStreamPropertySOCKSProxy) - CFWriteStreamSetProperty(outputStream, propertyKey, socksConfig) - CFReadStreamSetProperty(inputStream, propertyKey, socksConfig) - } - #endif - - guard let inStream = inputStream, let outStream = outputStream else { return } - inStream.delegate = self - outStream.delegate = self - if ssl.useSSL { - inStream.setProperty(StreamSocketSecurityLevel.negotiatedSSL as AnyObject, forKey: Stream.PropertyKey.socketSecurityLevelKey) - outStream.setProperty(StreamSocketSecurityLevel.negotiatedSSL as AnyObject, forKey: Stream.PropertyKey.socketSecurityLevelKey) - #if os(watchOS) //watchOS us unfortunately is missing the kCFStream properties to make this work - #else - var settings = [NSObject: NSObject]() - if ssl.disableCertValidation { - settings[kCFStreamSSLValidatesCertificateChain] = NSNumber(value: false) - } - if ssl.overrideTrustHostname { - if let hostname = ssl.desiredTrustHostname { - settings[kCFStreamSSLPeerName] = hostname as NSString - } else { - settings[kCFStreamSSLPeerName] = kCFNull - } - } - if let sslClientCertificate = ssl.sslClientCertificate { - settings[kCFStreamSSLCertificates] = sslClientCertificate.streamSSLCertificates - } - - inStream.setProperty(settings, forKey: kCFStreamPropertySSLSettings as Stream.PropertyKey) - outStream.setProperty(settings, forKey: kCFStreamPropertySSLSettings as Stream.PropertyKey) - #endif - - #if os(Linux) - #else - if let cipherSuites = ssl.cipherSuites { - #if os(watchOS) //watchOS us unfortunately is missing the kCFStream properties to make this work - #else - if let sslContextIn = CFReadStreamCopyProperty(inputStream, CFStreamPropertyKey(rawValue: kCFStreamPropertySSLContext)) as! SSLContext?, - let sslContextOut = CFWriteStreamCopyProperty(outputStream, CFStreamPropertyKey(rawValue: kCFStreamPropertySSLContext)) as! SSLContext? { - let resIn = SSLSetEnabledCiphers(sslContextIn, cipherSuites, cipherSuites.count) - let resOut = SSLSetEnabledCiphers(sslContextOut, cipherSuites, cipherSuites.count) - if resIn != errSecSuccess { - completion(WSError(type: .invalidSSLError, message: "Error setting ingoing cypher suites", code: Int(resIn))) - } - if resOut != errSecSuccess { - completion(WSError(type: .invalidSSLError, message: "Error setting outgoing cypher suites", code: Int(resOut))) - } - } - #endif - } - #endif - } - - CFReadStreamSetDispatchQueue(inStream, workQueue) - CFWriteStreamSetDispatchQueue(outStream, workQueue) - inStream.open() - outStream.open() - - var out = timeout// wait X seconds before giving up - workQueue.async { [weak self] in - while !outStream.hasSpaceAvailable { - usleep(100) // wait until the socket is ready - out -= 100 - if out < 0 { - completion(WSError(type: .writeTimeoutError, message: "Timed out waiting for the socket to be ready for a write", code: 0)) - return - } else if let error = outStream.streamError { - completion(error) - return // disconnectStream will be called. - } else if self == nil { - completion(WSError(type: .closeError, message: "socket object has been dereferenced", code: 0)) - return - } - } - completion(nil) //success! - } - } - - public func write(data: Data) -> Int { - guard let outStream = outputStream else {return -1} - let buffer = UnsafeRawPointer((data as NSData).bytes).assumingMemoryBound(to: UInt8.self) - return outStream.write(buffer, maxLength: data.count) - } - - public func read() -> Data? { - guard let stream = inputStream else {return nil} - let buf = NSMutableData(capacity: BUFFER_MAX) - let buffer = UnsafeMutableRawPointer(mutating: buf!.bytes).assumingMemoryBound(to: UInt8.self) - let length = stream.read(buffer, maxLength: BUFFER_MAX) - if length < 1 { - return nil - } - return Data(bytes: buffer, count: length) - } - - public func cleanup() { - if let stream = inputStream { - stream.delegate = nil - CFReadStreamSetDispatchQueue(stream, nil) - stream.close() - } - if let stream = outputStream { - stream.delegate = nil - CFWriteStreamSetDispatchQueue(stream, nil) - stream.close() - } - outputStream = nil - inputStream = nil - } - - #if os(Linux) || os(watchOS) - #else - public func sslTrust() -> (trust: SecTrust?, domain: String?) { - guard let outputStream = outputStream else { return (nil, nil) } - - let trust = outputStream.property(forKey: kCFStreamPropertySSLPeerTrust as Stream.PropertyKey) as! SecTrust? - var domain = outputStream.property(forKey: kCFStreamSSLPeerName as Stream.PropertyKey) as! String? - if domain == nil, - let sslContextOut = CFWriteStreamCopyProperty(outputStream, CFStreamPropertyKey(rawValue: kCFStreamPropertySSLContext)) as! SSLContext? { - var peerNameLen: Int = 0 - SSLGetPeerDomainNameLength(sslContextOut, &peerNameLen) - var peerName = Data(count: peerNameLen) - let _ = peerName.withUnsafeMutableBytes { (peerNamePtr: UnsafeMutablePointer) in - SSLGetPeerDomainName(sslContextOut, peerNamePtr, &peerNameLen) - } - if let peerDomain = String(bytes: peerName, encoding: .utf8), peerDomain.count > 0 { - domain = peerDomain - } - } - - return (trust, domain) - } - #endif - - /** - Delegate for the stream methods. Processes incoming bytes - */ - open func stream(_ aStream: Stream, handle eventCode: Stream.Event) { - if eventCode == .hasBytesAvailable { - if aStream == inputStream { - delegate?.newBytesInStream() - } - } else if eventCode == .errorOccurred { - delegate?.streamDidError(error: aStream.streamError) - } else if eventCode == .endEncountered { - delegate?.streamDidError(error: nil) - } - } -} - -//WebSocket implementation - -//standard delegate you should use -public protocol WebSocketDelegate: class { - func websocketDidConnect(socket: WebSocketClient) - func websocketDidDisconnect(socket: WebSocketClient, error: Error?) - func websocketDidReceiveMessage(socket: WebSocketClient, text: String) - func websocketDidReceiveData(socket: WebSocketClient, data: Data) -} - -//got pongs -public protocol WebSocketPongDelegate: class { - func websocketDidReceivePong(socket: WebSocketClient, data: Data?) -} - -// A Delegate with more advanced info on messages and connection etc. -public protocol WebSocketAdvancedDelegate: class { - func websocketDidConnect(socket: WebSocket) - func websocketDidDisconnect(socket: WebSocket, error: Error?) - func websocketDidReceiveMessage(socket: WebSocket, text: String, response: WebSocket.WSResponse) - func websocketDidReceiveData(socket: WebSocket, data: Data, response: WebSocket.WSResponse) - func websocketHttpUpgrade(socket: WebSocket, request: String) - func websocketHttpUpgrade(socket: WebSocket, response: String) -} - - -open class WebSocket : NSObject, StreamDelegate, WebSocketClient, WSStreamDelegate { - - public enum OpCode : UInt8 { - case continueFrame = 0x0 - case textFrame = 0x1 - case binaryFrame = 0x2 - // 3-7 are reserved. - case connectionClose = 0x8 - case ping = 0x9 - case pong = 0xA - // B-F reserved. - } - - public static let ErrorDomain = "WebSocket" - - // Where the callback is executed. It defaults to the main UI thread queue. - public var callbackQueue = DispatchQueue.main - - // MARK: - Constants - - let headerWSUpgradeName = "Upgrade" - let headerWSUpgradeValue = "websocket" - let headerWSHostName = "Host" - let headerWSConnectionName = "Connection" - let headerWSConnectionValue = "Upgrade" - let headerWSProtocolName = "Sec-WebSocket-Protocol" - let headerWSVersionName = "Sec-WebSocket-Version" - let headerWSVersionValue = "13" - let headerWSExtensionName = "Sec-WebSocket-Extensions" - let headerWSKeyName = "Sec-WebSocket-Key" - let headerOriginName = "Origin" - let headerWSAcceptName = "Sec-WebSocket-Accept" - let BUFFER_MAX = 4096 - let FinMask: UInt8 = 0x80 - let OpCodeMask: UInt8 = 0x0F - let RSVMask: UInt8 = 0x70 - let RSV1Mask: UInt8 = 0x40 - let MaskMask: UInt8 = 0x80 - let PayloadLenMask: UInt8 = 0x7F - let MaxFrameSize: Int = 32 - let httpSwitchProtocolCode = 101 - let supportedSSLSchemes = ["wss", "https"] - - public class WSResponse { - var isFin = false - public var code: OpCode = .continueFrame - var bytesLeft = 0 - public var frameCount = 0 - public var buffer: NSMutableData? - public let firstFrame = { - return Date() - }() - } - - // MARK: - Delegates - - /// Responds to callback about new messages coming in over the WebSocket - /// and also connection/disconnect messages. - public weak var delegate: WebSocketDelegate? - - /// The optional advanced delegate can be used instead of of the delegate - public weak var advancedDelegate: WebSocketAdvancedDelegate? - - /// Receives a callback for each pong message recived. - public weak var pongDelegate: WebSocketPongDelegate? - - public var onConnect: (() -> Void)? - public var onDisconnect: ((Error?) -> Void)? - public var onText: ((String) -> Void)? - public var onData: ((Data) -> Void)? - public var onPong: ((Data?) -> Void)? - public var onHttpResponseHeaders: (([String: String]) -> Void)? - - public var disableSSLCertValidation = false - public var overrideTrustHostname = false - public var desiredTrustHostname: String? = nil - public var sslClientCertificate: SSLClientCertificate? = nil - - public var enableCompression = true - #if os(Linux) - #else - public var security: SSLTrustValidator? - public var enabledSSLCipherSuites: [SSLCipherSuite]? - #endif - - public var isConnected: Bool { - mutex.lock() - let isConnected = connected - mutex.unlock() - return isConnected - } - public var request: URLRequest //this is only public to allow headers, timeout, etc to be modified on reconnect - public var currentURL: URL { return request.url! } - - public var respondToPingWithPong: Bool = true - - // MARK: - Private - - private struct CompressionState { - var supportsCompression = false - var messageNeedsDecompression = false - var serverMaxWindowBits = 15 - var clientMaxWindowBits = 15 - var clientNoContextTakeover = false - var serverNoContextTakeover = false - var decompressor:Decompressor? = nil - var compressor:Compressor? = nil - } - - private var stream: WSStream - private var connected = false - private var isConnecting = false - private let mutex = NSLock() - private var compressionState = CompressionState() - private var writeQueue = OperationQueue() - private var readStack = [WSResponse]() - private var inputQueue = [Data]() - private var fragBuffer: Data? - private var certValidated = false - private var didDisconnect = false - private var readyToWrite = false - private var headerSecKey = "" - private var canDispatch: Bool { - mutex.lock() - let canWork = readyToWrite - mutex.unlock() - return canWork - } - - /// Used for setting protocols. - public init(request: URLRequest, protocols: [String]? = nil, stream: WSStream = FoundationStream()) { - self.request = request - self.stream = stream - if request.value(forHTTPHeaderField: headerOriginName) == nil { - guard let url = request.url else {return} - var origin = url.absoluteString - if let hostUrl = URL (string: "/", relativeTo: url) { - origin = hostUrl.absoluteString - origin.remove(at: origin.index(before: origin.endIndex)) - } - self.request.setValue(origin, forHTTPHeaderField: headerOriginName) - } - if let protocols = protocols, !protocols.isEmpty { - self.request.setValue(protocols.joined(separator: ","), forHTTPHeaderField: headerWSProtocolName) - } - writeQueue.maxConcurrentOperationCount = 1 - } - - public convenience init(url: URL, protocols: [String]? = nil) { - var request = URLRequest(url: url) - request.timeoutInterval = 5 - self.init(request: request, protocols: protocols) - } - - // Used for specifically setting the QOS for the write queue. - public convenience init(url: URL, writeQueueQOS: QualityOfService, protocols: [String]? = nil) { - self.init(url: url, protocols: protocols) - writeQueue.qualityOfService = writeQueueQOS - } - - /** - Connect to the WebSocket server on a background thread. - */ - open func connect() { - guard !isConnecting else { return } - didDisconnect = false - isConnecting = true - createHTTPRequest() - } - - /** - Disconnect from the server. I send a Close control frame to the server, then expect the server to respond with a Close control frame and close the socket from its end. I notify my delegate once the socket has been closed. - - If you supply a non-nil `forceTimeout`, I wait at most that long (in seconds) for the server to close the socket. After the timeout expires, I close the socket and notify my delegate. - - If you supply a zero (or negative) `forceTimeout`, I immediately close the socket (without sending a Close control frame) and notify my delegate. - - - Parameter forceTimeout: Maximum time to wait for the server to close the socket. - - Parameter closeCode: The code to send on disconnect. The default is the normal close code for cleanly disconnecting a webSocket. - */ - open func disconnect(forceTimeout: TimeInterval? = nil, closeCode: UInt16 = CloseCode.normal.rawValue) { - guard isConnected else { return } - switch forceTimeout { - case .some(let seconds) where seconds > 0: - let milliseconds = Int(seconds * 1_000) - callbackQueue.asyncAfter(deadline: .now() + .milliseconds(milliseconds)) { [weak self] in - self?.disconnectStream(nil) - } - fallthrough - case .none: - writeError(closeCode) - default: - disconnectStream(nil) - break - } - } - - /** - Write a string to the websocket. This sends it as a text frame. - - If you supply a non-nil completion block, I will perform it when the write completes. - - - parameter string: The string to write. - - parameter completion: The (optional) completion handler. - */ - open func write(string: String, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(string.data(using: String.Encoding.utf8)!, code: .textFrame, writeCompletion: completion) - } - - /** - Write binary data to the websocket. This sends it as a binary frame. - - If you supply a non-nil completion block, I will perform it when the write completes. - - - parameter data: The data to write. - - parameter completion: The (optional) completion handler. - */ - open func write(data: Data, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(data, code: .binaryFrame, writeCompletion: completion) - } - - /** - Write a ping to the websocket. This sends it as a control frame. - Yodel a sound to the planet. This sends it as an astroid. http://youtu.be/Eu5ZJELRiJ8?t=42s - */ - open func write(ping: Data, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(ping, code: .ping, writeCompletion: completion) - } - - /** - Write a pong to the websocket. This sends it as a control frame. - Respond to a Yodel. - */ - open func write(pong: Data, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(pong, code: .pong, writeCompletion: completion) - } - - /** - Private method that starts the connection. - */ - private func createHTTPRequest() { - guard let url = request.url else {return} - var port = url.port - if port == nil { - if supportedSSLSchemes.contains(url.scheme!) { - port = 443 - } else { - port = 80 - } - } - request.setValue(headerWSUpgradeValue, forHTTPHeaderField: headerWSUpgradeName) - request.setValue(headerWSConnectionValue, forHTTPHeaderField: headerWSConnectionName) - headerSecKey = generateWebSocketKey() - request.setValue(headerWSVersionValue, forHTTPHeaderField: headerWSVersionName) - request.setValue(headerSecKey, forHTTPHeaderField: headerWSKeyName) - - if enableCompression { - let val = "permessage-deflate; client_max_window_bits; server_max_window_bits=15" - request.setValue(val, forHTTPHeaderField: headerWSExtensionName) - } - let hostValue = request.allHTTPHeaderFields?[headerWSHostName] ?? "\(url.host!):\(port!)" - request.setValue(hostValue, forHTTPHeaderField: headerWSHostName) - - var path = url.absoluteString - let offset = (url.scheme?.count ?? 2) + 3 - path = String(path[path.index(path.startIndex, offsetBy: offset).. String { - var key = "" - let seed = 16 - for _ in 0.., bufferLen: Int) { - let code = processHTTP(buffer, bufferLen: bufferLen) - switch code { - case 0: - break - case -1: - fragBuffer = Data(bytes: buffer, count: bufferLen) - break // do nothing, we are going to collect more data - default: - doDisconnect(WSError(type: .upgradeError, message: "Invalid HTTP upgrade", code: code)) - } - } - - /** - Finds the HTTP Packet in the TCP stream, by looking for the CRLF. - */ - private func processHTTP(_ buffer: UnsafePointer, bufferLen: Int) -> Int { - let CRLFBytes = [UInt8(ascii: "\r"), UInt8(ascii: "\n"), UInt8(ascii: "\r"), UInt8(ascii: "\n")] - var k = 0 - var totalSize = 0 - for i in 0.. 0 { - let code = validateResponse(buffer, bufferLen: totalSize) - if code != 0 { - return code - } - isConnecting = false - mutex.lock() - connected = true - mutex.unlock() - didDisconnect = false - if canDispatch { - callbackQueue.async { [weak self] in - guard let self = self else { return } - self.onConnect?() - self.delegate?.websocketDidConnect(socket: self) - self.advancedDelegate?.websocketDidConnect(socket: self) - NotificationCenter.default.post(name: NSNotification.Name(WebsocketDidConnectNotification), object: self) - } - } - //totalSize += 1 //skip the last \n - let restSize = bufferLen - totalSize - if restSize > 0 { - processRawMessagesInBuffer(buffer + totalSize, bufferLen: restSize) - } - return 0 //success - } - return -1 // Was unable to find the full TCP header. - } - - /** - Validates the HTTP is a 101 as per the RFC spec. - */ - private func validateResponse(_ buffer: UnsafePointer, bufferLen: Int) -> Int { - guard let str = String(data: Data(bytes: buffer, count: bufferLen), encoding: .utf8) else { return -1 } - let splitArr = str.components(separatedBy: "\r\n") - var code = -1 - var i = 0 - var headers = [String: String]() - for str in splitArr { - if i == 0 { - let responseSplit = str.components(separatedBy: .whitespaces) - guard responseSplit.count > 1 else { return -1 } - if let c = Int(responseSplit[1]) { - code = c - } - } else { - let responseSplit = str.components(separatedBy: ":") - guard responseSplit.count > 1 else { break } - let key = responseSplit[0].trimmingCharacters(in: .whitespaces) - let val = responseSplit[1].trimmingCharacters(in: .whitespaces) - headers[key.lowercased()] = val - } - i += 1 - } - advancedDelegate?.websocketHttpUpgrade(socket: self, response: str) - onHttpResponseHeaders?(headers) - if code != httpSwitchProtocolCode { - return code - } - - if let extensionHeader = headers[headerWSExtensionName.lowercased()] { - processExtensionHeader(extensionHeader) - } - - if let acceptKey = headers[headerWSAcceptName.lowercased()] { - if acceptKey.count > 0 { - if headerSecKey.count > 0 { - let sha = "\(headerSecKey)258EAFA5-E914-47DA-95CA-C5AB0DC85B11".sha1Base64() - if sha != acceptKey as String { - return -1 - } - } - return 0 - } - } - return -1 - } - - /** - Parses the extension header, setting up the compression parameters. - */ - func processExtensionHeader(_ extensionHeader: String) { - let parts = extensionHeader.components(separatedBy: ";") - for p in parts { - let part = p.trimmingCharacters(in: .whitespaces) - if part == "permessage-deflate" { - compressionState.supportsCompression = true - } else if part.hasPrefix("server_max_window_bits=") { - let valString = part.components(separatedBy: "=")[1] - if let val = Int(valString.trimmingCharacters(in: .whitespaces)) { - compressionState.serverMaxWindowBits = val - } - } else if part.hasPrefix("client_max_window_bits=") { - let valString = part.components(separatedBy: "=")[1] - if let val = Int(valString.trimmingCharacters(in: .whitespaces)) { - compressionState.clientMaxWindowBits = val - } - } else if part == "client_no_context_takeover" { - compressionState.clientNoContextTakeover = true - } else if part == "server_no_context_takeover" { - compressionState.serverNoContextTakeover = true - } - } - if compressionState.supportsCompression { - compressionState.decompressor = Decompressor(windowBits: compressionState.serverMaxWindowBits) - compressionState.compressor = Compressor(windowBits: compressionState.clientMaxWindowBits) - } - } - - /** - Read a 16 bit big endian value from a buffer - */ - private static func readUint16(_ buffer: UnsafePointer, offset: Int) -> UInt16 { - return (UInt16(buffer[offset + 0]) << 8) | UInt16(buffer[offset + 1]) - } - - /** - Read a 64 bit big endian value from a buffer - */ - private static func readUint64(_ buffer: UnsafePointer, offset: Int) -> UInt64 { - var value = UInt64(0) - for i in 0...7 { - value = (value << 8) | UInt64(buffer[offset + i]) - } - return value - } - - /** - Write a 16-bit big endian value to a buffer. - */ - private static func writeUint16(_ buffer: UnsafeMutablePointer, offset: Int, value: UInt16) { - buffer[offset + 0] = UInt8(value >> 8) - buffer[offset + 1] = UInt8(value & 0xff) - } - - /** - Write a 64-bit big endian value to a buffer. - */ - private static func writeUint64(_ buffer: UnsafeMutablePointer, offset: Int, value: UInt64) { - for i in 0...7 { - buffer[offset + i] = UInt8((value >> (8*UInt64(7 - i))) & 0xff) - } - } - - /** - Process one message at the start of `buffer`. Return another buffer (sharing storage) that contains the leftover contents of `buffer` that I didn't process. - */ - private func processOneRawMessage(inBuffer buffer: UnsafeBufferPointer) -> UnsafeBufferPointer { - let response = readStack.last - guard let baseAddress = buffer.baseAddress else {return emptyBuffer} - let bufferLen = buffer.count - if response != nil && bufferLen < 2 { - fragBuffer = Data(buffer: buffer) - return emptyBuffer - } - if let response = response, response.bytesLeft > 0 { - var len = response.bytesLeft - var extra = bufferLen - response.bytesLeft - if response.bytesLeft > bufferLen { - len = bufferLen - extra = 0 - } - response.bytesLeft -= len - response.buffer?.append(Data(bytes: baseAddress, count: len)) - _ = processResponse(response) - return buffer.fromOffset(bufferLen - extra) - } else { - let isFin = (FinMask & baseAddress[0]) - let receivedOpcodeRawValue = (OpCodeMask & baseAddress[0]) - let receivedOpcode = OpCode(rawValue: receivedOpcodeRawValue) - let isMasked = (MaskMask & baseAddress[1]) - let payloadLen = (PayloadLenMask & baseAddress[1]) - var offset = 2 - if compressionState.supportsCompression && receivedOpcode != .continueFrame { - compressionState.messageNeedsDecompression = (RSV1Mask & baseAddress[0]) > 0 - } - if (isMasked > 0 || (RSVMask & baseAddress[0]) > 0) && receivedOpcode != .pong && !compressionState.messageNeedsDecompression { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(WSError(type: .protocolError, message: "masked and rsv data is not currently supported", code: Int(errCode))) - writeError(errCode) - return emptyBuffer - } - let isControlFrame = (receivedOpcode == .connectionClose || receivedOpcode == .ping) - if !isControlFrame && (receivedOpcode != .binaryFrame && receivedOpcode != .continueFrame && - receivedOpcode != .textFrame && receivedOpcode != .pong) { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(WSError(type: .protocolError, message: "unknown opcode: \(receivedOpcodeRawValue)", code: Int(errCode))) - writeError(errCode) - return emptyBuffer - } - if isControlFrame && isFin == 0 { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(WSError(type: .protocolError, message: "control frames can't be fragmented", code: Int(errCode))) - writeError(errCode) - return emptyBuffer - } - var closeCode = CloseCode.normal.rawValue - if receivedOpcode == .connectionClose { - if payloadLen == 1 { - closeCode = CloseCode.protocolError.rawValue - } else if payloadLen > 1 { - closeCode = WebSocket.readUint16(baseAddress, offset: offset) - if closeCode < 1000 || (closeCode > 1003 && closeCode < 1007) || (closeCode > 1013 && closeCode < 3000) { - closeCode = CloseCode.protocolError.rawValue - } - } - if payloadLen < 2 { - doDisconnect(WSError(type: .protocolError, message: "connection closed by server", code: Int(closeCode))) - writeError(closeCode) - return emptyBuffer - } - } else if isControlFrame && payloadLen > 125 { - writeError(CloseCode.protocolError.rawValue) - return emptyBuffer - } - var dataLength = UInt64(payloadLen) - if dataLength == 127 { - dataLength = WebSocket.readUint64(baseAddress, offset: offset) - offset += MemoryLayout.size - } else if dataLength == 126 { - dataLength = UInt64(WebSocket.readUint16(baseAddress, offset: offset)) - offset += MemoryLayout.size - } - if bufferLen < offset || UInt64(bufferLen - offset) < dataLength { - fragBuffer = Data(bytes: baseAddress, count: bufferLen) - return emptyBuffer - } - var len = dataLength - if dataLength > UInt64(bufferLen) { - len = UInt64(bufferLen-offset) - } - if receivedOpcode == .connectionClose && len > 0 { - let size = MemoryLayout.size - offset += size - len -= UInt64(size) - } - let data: Data - if compressionState.messageNeedsDecompression, let decompressor = compressionState.decompressor { - do { - data = try decompressor.decompress(bytes: baseAddress+offset, count: Int(len), finish: isFin > 0) - if isFin > 0 && compressionState.serverNoContextTakeover { - try decompressor.reset() - } - } catch { - let closeReason = "Decompression failed: \(error)" - let closeCode = CloseCode.encoding.rawValue - doDisconnect(WSError(type: .protocolError, message: closeReason, code: Int(closeCode))) - writeError(closeCode) - return emptyBuffer - } - } else { - data = Data(bytes: baseAddress+offset, count: Int(len)) - } - - if receivedOpcode == .connectionClose { - var closeReason = "connection closed by server" - if let customCloseReason = String(data: data, encoding: .utf8) { - closeReason = customCloseReason - } else { - closeCode = CloseCode.protocolError.rawValue - } - doDisconnect(WSError(type: .protocolError, message: closeReason, code: Int(closeCode))) - writeError(closeCode) - return emptyBuffer - } - if receivedOpcode == .pong { - if canDispatch { - callbackQueue.async { [weak self] in - guard let self = self else { return } - let pongData: Data? = data.count > 0 ? data : nil - self.onPong?(pongData) - self.pongDelegate?.websocketDidReceivePong(socket: self, data: pongData) - } - } - return buffer.fromOffset(offset + Int(len)) - } - var response = readStack.last - if isControlFrame { - response = nil // Don't append pings. - } - if isFin == 0 && receivedOpcode == .continueFrame && response == nil { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(WSError(type: .protocolError, message: "continue frame before a binary or text frame", code: Int(errCode))) - writeError(errCode) - return emptyBuffer - } - var isNew = false - if response == nil { - if receivedOpcode == .continueFrame { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(WSError(type: .protocolError, message: "first frame can't be a continue frame", code: Int(errCode))) - writeError(errCode) - return emptyBuffer - } - isNew = true - response = WSResponse() - response!.code = receivedOpcode! - response!.bytesLeft = Int(dataLength) - response!.buffer = NSMutableData(data: data) - } else { - if receivedOpcode == .continueFrame { - response!.bytesLeft = Int(dataLength) - } else { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(WSError(type: .protocolError, message: "second and beyond of fragment message must be a continue frame", code: Int(errCode))) - writeError(errCode) - return emptyBuffer - } - response!.buffer!.append(data) - } - if let response = response { - response.bytesLeft -= Int(len) - response.frameCount += 1 - response.isFin = isFin > 0 ? true : false - if isNew { - readStack.append(response) - } - _ = processResponse(response) - } - - let step = Int(offset + numericCast(len)) - return buffer.fromOffset(step) - } - } - - /** - Process all messages in the buffer if possible. - */ - private func processRawMessagesInBuffer(_ pointer: UnsafePointer, bufferLen: Int) { - var buffer = UnsafeBufferPointer(start: pointer, count: bufferLen) - repeat { - buffer = processOneRawMessage(inBuffer: buffer) - } while buffer.count >= 2 - if buffer.count > 0 { - fragBuffer = Data(buffer: buffer) - } - } - - /** - Process the finished response of a buffer. - */ - private func processResponse(_ response: WSResponse) -> Bool { - if response.isFin && response.bytesLeft <= 0 { - if response.code == .ping { - if respondToPingWithPong { - let data = response.buffer! // local copy so it is perverse for writing - dequeueWrite(data as Data, code: .pong) - } - } else if response.code == .textFrame { - guard let str = String(data: response.buffer! as Data, encoding: .utf8) else { - writeError(CloseCode.encoding.rawValue) - return false - } - if canDispatch { - callbackQueue.async { [weak self] in - guard let self = self else { return } - self.onText?(str) - self.delegate?.websocketDidReceiveMessage(socket: self, text: str) - self.advancedDelegate?.websocketDidReceiveMessage(socket: self, text: str, response: response) - } - } - } else if response.code == .binaryFrame { - if canDispatch { - let data = response.buffer! // local copy so it is perverse for writing - callbackQueue.async { [weak self] in - guard let self = self else { return } - self.onData?(data as Data) - self.delegate?.websocketDidReceiveData(socket: self, data: data as Data) - self.advancedDelegate?.websocketDidReceiveData(socket: self, data: data as Data, response: response) - } - } - } - readStack.removeLast() - return true - } - return false - } - - /** - Write an error to the socket - */ - private func writeError(_ code: UInt16) { - let buf = NSMutableData(capacity: MemoryLayout.size) - let buffer = UnsafeMutableRawPointer(mutating: buf!.bytes).assumingMemoryBound(to: UInt8.self) - WebSocket.writeUint16(buffer, offset: 0, value: code) - dequeueWrite(Data(bytes: buffer, count: MemoryLayout.size), code: .connectionClose) - } - - /** - Used to write things to the stream - */ - private func dequeueWrite(_ data: Data, code: OpCode, writeCompletion: (() -> ())? = nil) { - let operation = BlockOperation() - operation.addExecutionBlock { [weak self, weak operation] in - //stream isn't ready, let's wait - guard let self = self else { return } - guard let sOperation = operation else { return } - var offset = 2 - var firstByte:UInt8 = self.FinMask | code.rawValue - var data = data - if [.textFrame, .binaryFrame].contains(code), let compressor = self.compressionState.compressor { - do { - data = try compressor.compress(data) - if self.compressionState.clientNoContextTakeover { - try compressor.reset() - } - firstByte |= self.RSV1Mask - } catch { - // TODO: report error? We can just send the uncompressed frame. - } - } - let dataLength = data.count - let frame = NSMutableData(capacity: dataLength + self.MaxFrameSize) - let buffer = UnsafeMutableRawPointer(frame!.mutableBytes).assumingMemoryBound(to: UInt8.self) - buffer[0] = firstByte - if dataLength < 126 { - buffer[1] = CUnsignedChar(dataLength) - } else if dataLength <= Int(UInt16.max) { - buffer[1] = 126 - WebSocket.writeUint16(buffer, offset: offset, value: UInt16(dataLength)) - offset += MemoryLayout.size - } else { - buffer[1] = 127 - WebSocket.writeUint64(buffer, offset: offset, value: UInt64(dataLength)) - offset += MemoryLayout.size - } - buffer[1] |= self.MaskMask - let maskKey = UnsafeMutablePointer(buffer + offset) - _ = SecRandomCopyBytes(kSecRandomDefault, Int(MemoryLayout.size), maskKey) - offset += MemoryLayout.size - - for i in 0...size] - offset += 1 - } - var total = 0 - while !sOperation.isCancelled { - if !self.readyToWrite { - self.doDisconnect(WSError(type: .outputStreamWriteError, message: "output stream had an error during write", code: 0)) - break - } - let stream = self.stream - let writeBuffer = UnsafeRawPointer(frame!.bytes+total).assumingMemoryBound(to: UInt8.self) - let len = stream.write(data: Data(bytes: writeBuffer, count: offset-total)) - if len <= 0 { - self.doDisconnect(WSError(type: .outputStreamWriteError, message: "output stream had an error during write", code: 0)) - break - } else { - total += len - } - if total >= offset { - if let callback = writeCompletion { - self.callbackQueue.async { - callback() - } - } - - break - } - } - } - writeQueue.addOperation(operation) - } - - /** - Used to preform the disconnect delegate - */ - private func doDisconnect(_ error: Error?) { - guard !didDisconnect else { return } - didDisconnect = true - isConnecting = false - mutex.lock() - connected = false - mutex.unlock() - guard canDispatch else {return} - callbackQueue.async { [weak self] in - guard let self = self else { return } - self.onDisconnect?(error) - self.delegate?.websocketDidDisconnect(socket: self, error: error) - self.advancedDelegate?.websocketDidDisconnect(socket: self, error: error) - let userInfo = error.map{ [WebsocketDisconnectionErrorKeyName: $0] } - NotificationCenter.default.post(name: NSNotification.Name(WebsocketDidDisconnectNotification), object: self, userInfo: userInfo) - } - } - - // MARK: - Deinit - - deinit { - mutex.lock() - readyToWrite = false - cleanupStream() - mutex.unlock() - writeQueue.cancelAllOperations() - } - -} - -private extension String { - func sha1Base64() -> String { - let data = self.data(using: String.Encoding.utf8)! - var digest = [UInt8](repeating: 0, count:Int(CC_SHA1_DIGEST_LENGTH)) - data.withUnsafeBytes { _ = CC_SHA1($0, CC_LONG(data.count), &digest) } - return Data(bytes: digest).base64EncodedString() - } -} - -private extension Data { - - init(buffer: UnsafeBufferPointer) { - self.init(bytes: buffer.baseAddress!, count: buffer.count) - } - -} - -private extension UnsafeBufferPointer { - - func fromOffset(_ offset: Int) -> UnsafeBufferPointer { - return UnsafeBufferPointer(start: baseAddress?.advanced(by: offset), count: count - offset) - } - -} - -private let emptyBuffer = UnsafeBufferPointer(start: nil, count: 0) - -#if swift(>=4) -#else -fileprivate extension String { - var count: Int { - return self.characters.count - } -} -#endif diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-Info.plist b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-Info.plist deleted file mode 100644 index c2ce7ef..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 0.5.4 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-dummy.m b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-dummy.m deleted file mode 100644 index 5890f4e..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_AMBubbleTableViewController : NSObject -@end -@implementation PodsDummy_AMBubbleTableViewController -@end diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-prefix.pch b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-umbrella.h b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-umbrella.h deleted file mode 100644 index 2935f08..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController-umbrella.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "AMBubbleAccessoryView.h" -#import "AMBubbleFlatAccessoryView.h" -#import "AMBubbleGlobals.h" -#import "AMBubbleTableCell.h" -#import "AMBubbleTableViewController.h" - -FOUNDATION_EXPORT double AMBubbleTableViewControllerVersionNumber; -FOUNDATION_EXPORT const unsigned char AMBubbleTableViewControllerVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.debug.xcconfig b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.debug.xcconfig deleted file mode 100644 index 4b0168d..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.debug.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/AMBubbleTableViewController -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.modulemap b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.modulemap deleted file mode 100644 index 9d14db6..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module AMBubbleTableViewController { - umbrella header "AMBubbleTableViewController-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.release.xcconfig b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.release.xcconfig deleted file mode 100644 index 4b0168d..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.release.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/AMBubbleTableViewController -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.xcconfig b/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.xcconfig deleted file mode 100644 index 722019b..0000000 --- a/sampleiOS/Pods/Target Support Files/AMBubbleTableViewController/AMBubbleTableViewController.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/AMBubbleTableViewController -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.debug.xcconfig deleted file mode 100644 index 94be4dd..0000000 --- a/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.debug.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Crashlytics -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Crashlytics -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.release.xcconfig b/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.release.xcconfig deleted file mode 100644 index 94be4dd..0000000 --- a/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.release.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Crashlytics -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Crashlytics -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.xcconfig b/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.xcconfig deleted file mode 100644 index 5670941..0000000 --- a/sampleiOS/Pods/Target Support Files/Crashlytics/Crashlytics.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Crashlytics -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "Security" -framework "SystemConfiguration" -framework "UIKit" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Crashlytics -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/EnablexWebRTC/EnablexWebRTC.debug.xcconfig b/sampleiOS/Pods/Target Support Files/EnablexWebRTC/EnablexWebRTC.debug.xcconfig deleted file mode 100644 index 4a941b6..0000000 --- a/sampleiOS/Pods/Target Support Files/EnablexWebRTC/EnablexWebRTC.debug.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/EnablexWebRTC -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/EnablexWebRTC -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/EnablexWebRTC/EnablexWebRTC.release.xcconfig b/sampleiOS/Pods/Target Support Files/EnablexWebRTC/EnablexWebRTC.release.xcconfig deleted file mode 100644 index 4a941b6..0000000 --- a/sampleiOS/Pods/Target Support Files/EnablexWebRTC/EnablexWebRTC.release.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/EnablexWebRTC -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/EnablexWebRTC -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.debug.xcconfig b/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.debug.xcconfig deleted file mode 100644 index 288b225..0000000 --- a/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.debug.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/EnxRTCiOS -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/EnxRTCiOS -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.release.xcconfig b/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.release.xcconfig deleted file mode 100644 index 288b225..0000000 --- a/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.release.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/EnxRTCiOS -ENABLE_BITCODE = NO -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/EnxRTCiOS -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.xcconfig b/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.xcconfig deleted file mode 100644 index f461570..0000000 --- a/sampleiOS/Pods/Target Support Files/EnxRTCiOS/EnxRTCiOS.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/EnxRTCiOS -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/GoogleWebRTC/Frameworks/frameworks" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/EnxRTCiOS -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Fabric/Fabric.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Fabric/Fabric.debug.xcconfig deleted file mode 100644 index 742ad9a..0000000 --- a/sampleiOS/Pods/Target Support Files/Fabric/Fabric.debug.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Fabric -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "UIKit" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Fabric -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Fabric/Fabric.release.xcconfig b/sampleiOS/Pods/Target Support Files/Fabric/Fabric.release.xcconfig deleted file mode 100644 index 742ad9a..0000000 --- a/sampleiOS/Pods/Target Support Files/Fabric/Fabric.release.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Fabric -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "UIKit" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Fabric -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Fabric/Fabric.xcconfig b/sampleiOS/Pods/Target Support Files/Fabric/Fabric.xcconfig deleted file mode 100644 index 75d41da..0000000 --- a/sampleiOS/Pods/Target Support Files/Fabric/Fabric.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Fabric -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "UIKit" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Fabric -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Info.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Info.plist deleted file mode 100755 index 2243fe6..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-Info.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-Info.plist deleted file mode 100644 index 19cf209..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-acknowledgements.markdown b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-acknowledgements.markdown deleted file mode 100755 index e8c1a29..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-acknowledgements.markdown +++ /dev/null @@ -1,503 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## AMBubbleTableViewController - -Copyright (c) 2012 Andrea Mazzini. All rights reserved. - -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. - -## Crashlytics - -Fabric: Copyright 2018 Google, Inc. All Rights Reserved. Use of this software is subject to the terms and conditions of the Fabric Software and Services Agreement located at https://fabric.io/terms. Crashlytics Kit: Copyright 2018 Crashlytics, Inc. All Rights Reserved. Use of this software is subject to the terms and conditions of the Crashlytics Terms of Service located at http://try.crashlytics.com/terms/terms-of-service.pdf and the Crashlytics Privacy Policy located at http://try.crashlytics.com/terms/privacy-policy.pdf. OSS: http://get.fabric.io/terms/opensource.txt - -## EnablexWebRTC - -https://www.enablex.io/legals/tou/ - -## EnxRTCiOS - -https://www.enablex.io/legals/tou/ - -## Fabric - -Fabric: Copyright 2018 Google, Inc. All Rights Reserved. Use of this software is subject to the terms and conditions of the Fabric Software and Services Agreement located at https://fabric.io/terms. OSS: http://get.fabric.io/terms/opensource.txt - -## ReachabilitySwift - -Copyright (c) 2016 Ashley Mills - -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. - - -## SVProgressHUD - -MIT License - -Copyright (c) 2011-2018 Sam Vermette, Tobias Tiemerding and contributors. - -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. - - -## Socket.IO-Client-Swift - -The MIT License (MIT) - -Copyright (c) 2014-2015 Erik Little - -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. - - - -This library makes use of the following third party libraries: - -Starscream ----------- - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -## Starscream - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - Copyright (c) 2014-2016 Dalton Cherry. - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. -Generated by CocoaPods - https://cocoapods.org diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-acknowledgements.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-acknowledgements.plist deleted file mode 100755 index fdff00c..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-acknowledgements.plist +++ /dev/null @@ -1,583 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2012 Andrea Mazzini. All rights reserved. - -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. - License - MIT - Title - AMBubbleTableViewController - Type - PSGroupSpecifier - - - FooterText - Fabric: Copyright 2018 Google, Inc. All Rights Reserved. Use of this software is subject to the terms and conditions of the Fabric Software and Services Agreement located at https://fabric.io/terms. Crashlytics Kit: Copyright 2018 Crashlytics, Inc. All Rights Reserved. Use of this software is subject to the terms and conditions of the Crashlytics Terms of Service located at http://try.crashlytics.com/terms/terms-of-service.pdf and the Crashlytics Privacy Policy located at http://try.crashlytics.com/terms/privacy-policy.pdf. OSS: http://get.fabric.io/terms/opensource.txt - License - Commercial - Title - Crashlytics - Type - PSGroupSpecifier - - - FooterText - https://www.enablex.io/legals/tou/ - License - Vcloudx License, Version 1.1 - Title - EnablexWebRTC - Type - PSGroupSpecifier - - - FooterText - https://www.enablex.io/legals/tou/ - License - Vcloudx License, Version 1.1 - Title - EnxRTCiOS - Type - PSGroupSpecifier - - - FooterText - Fabric: Copyright 2018 Google, Inc. All Rights Reserved. Use of this software is subject to the terms and conditions of the Fabric Software and Services Agreement located at https://fabric.io/terms. OSS: http://get.fabric.io/terms/opensource.txt - License - Commercial - Title - Fabric - Type - PSGroupSpecifier - - - FooterText - Copyright (c) 2016 Ashley Mills - -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. - - License - MIT - Title - ReachabilitySwift - Type - PSGroupSpecifier - - - FooterText - MIT License - -Copyright (c) 2011-2018 Sam Vermette, Tobias Tiemerding and contributors. - -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. - - License - MIT - Title - SVProgressHUD - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014-2015 Erik Little - -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. - - - -This library makes use of the following third party libraries: - -Starscream ----------- - -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - License - MIT - Title - Socket.IO-Client-Swift - Type - PSGroupSpecifier - - - FooterText - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - Copyright (c) 2014-2016 Dalton Cherry. - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - License - Apache License, Version 2.0 - Title - Starscream - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-dummy.m b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-dummy.m deleted file mode 100755 index dc9e409..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_sampleiOS : NSObject -@end -@implementation PodsDummy_Pods_sampleiOS -@end diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Debug-input-files.xcfilelist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Debug-input-files.xcfilelist deleted file mode 100644 index e1dc744..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Debug-input-files.xcfilelist +++ /dev/null @@ -1,8 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks.sh -${BUILT_PRODUCTS_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework -${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC/WebRTC.framework -${PODS_ROOT}/EnxRTCiOS/EnxRTCiOS.framework -${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework -${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework -${BUILT_PRODUCTS_DIR}/Socket.IO-Client-Swift/SocketIO.framework -${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework \ No newline at end of file diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Debug-output-files.xcfilelist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Debug-output-files.xcfilelist deleted file mode 100644 index 5f307e6..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Debug-output-files.xcfilelist +++ /dev/null @@ -1,7 +0,0 @@ -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AMBubbleTableViewController.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/EnxRTCiOS.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketIO.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Starscream.framework \ No newline at end of file diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Release-input-files.xcfilelist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Release-input-files.xcfilelist deleted file mode 100644 index e1dc744..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Release-input-files.xcfilelist +++ /dev/null @@ -1,8 +0,0 @@ -${PODS_ROOT}/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks.sh -${BUILT_PRODUCTS_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework -${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC/WebRTC.framework -${PODS_ROOT}/EnxRTCiOS/EnxRTCiOS.framework -${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework -${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework -${BUILT_PRODUCTS_DIR}/Socket.IO-Client-Swift/SocketIO.framework -${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework \ No newline at end of file diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Release-output-files.xcfilelist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Release-output-files.xcfilelist deleted file mode 100644 index 5f307e6..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks-Release-output-files.xcfilelist +++ /dev/null @@ -1,7 +0,0 @@ -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AMBubbleTableViewController.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/WebRTC.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/EnxRTCiOS.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SocketIO.framework -${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Starscream.framework \ No newline at end of file diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks.sh b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks.sh deleted file mode 100755 index d911d57..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks.sh +++ /dev/null @@ -1,198 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -function on_error { - echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" -} -trap 'on_error $LINENO' ERR - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" -BCSYMBOLMAP_DIR="BCSymbolMaps" - - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink -f "${source}")" - fi - - if [ -d "${source}/${BCSYMBOLMAP_DIR}" ]; then - # Locate and install any .bcsymbolmaps if present, and remove them from the .framework before the framework is copied - find "${source}/${BCSYMBOLMAP_DIR}" -name "*.bcsymbolmap"|while read f; do - echo "Installing $f" - install_bcsymbolmap "$f" "$destination" - rm "$f" - done - rmdir "${source}/${BCSYMBOLMAP_DIR}" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - elif [ -L "${binary}" ]; then - echo "Destination binary is symlinked..." - dirname="$(dirname "${binary}")" - binary="${dirname}/$(readlink "${binary}")" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - warn_missing_arch=${2:-true} - if [ -r "$source" ]; then - # Copy the dSYM into the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .dSYM "$source")" - binary_name="$(ls "$source/Contents/Resources/DWARF")" - binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" - - # Strip invalid architectures from the dSYM. - if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then - strip_invalid_archs "$binary" "$warn_missing_arch" - fi - if [[ $STRIP_BINARY_RETVAL == 0 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - mkdir -p "${DWARF_DSYM_FOLDER_PATH}" - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" - fi - fi -} - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - warn_missing_arch=${2:-true} - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - if [[ "$warn_missing_arch" == "true" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - fi - STRIP_BINARY_RETVAL=1 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=0 -} - -# Copies the bcsymbolmap files of a vendored framework -install_bcsymbolmap() { - local bcsymbolmap_path="$1" - local destination="${BUILT_PRODUCTS_DIR}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identity - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework" - install_framework "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC/WebRTC.framework" - install_framework "${PODS_ROOT}/EnxRTCiOS/EnxRTCiOS.framework" - install_framework "${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Socket.IO-Client-Swift/SocketIO.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "${BUILT_PRODUCTS_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework" - install_framework "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC/WebRTC.framework" - install_framework "${PODS_ROOT}/EnxRTCiOS/EnxRTCiOS.framework" - install_framework "${BUILT_PRODUCTS_DIR}/ReachabilitySwift/Reachability.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Socket.IO-Client-Swift/SocketIO.framework" - install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" -fi -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-resources.sh b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-resources.sh deleted file mode 100755 index 345301f..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-umbrella.h b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-umbrella.h deleted file mode 100755 index 965486b..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_sampleiOSVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_sampleiOSVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.debug.xcconfig deleted file mode 100755 index da230fb..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.debug.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift/SocketIO.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AMBubbleTableViewController" -framework "CoreTelephony" -framework "Crashlytics" -framework "EnxRTCiOS" -framework "Fabric" -framework "QuartzCore" -framework "Reachability" -framework "SVProgressHUD" -framework "Security" -framework "SocketIO" -framework "Starscream" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.modulemap b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.modulemap deleted file mode 100755 index e6e7153..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_sampleiOS { - umbrella header "Pods-sampleiOS-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.release.xcconfig b/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.release.xcconfig deleted file mode 100755 index da230fb..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.release.xcconfig +++ /dev/null @@ -1,16 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift/SocketIO.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -LD_RUNPATH_SEARCH_PATHS = $(inherited) /usr/lib/swift '@executable_path/Frameworks' '@loader_path/Frameworks' -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"z" -framework "AMBubbleTableViewController" -framework "CoreTelephony" -framework "Crashlytics" -framework "EnxRTCiOS" -framework "Fabric" -framework "QuartzCore" -framework "Reachability" -framework "SVProgressHUD" -framework "Security" -framework "SocketIO" -framework "Starscream" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Info.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Info.plist deleted file mode 100755 index 2243fe6..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-Info.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-Info.plist deleted file mode 100644 index 19cf209..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-acknowledgements.markdown b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-acknowledgements.markdown deleted file mode 100755 index 102af75..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-acknowledgements.markdown +++ /dev/null @@ -1,3 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: -Generated by CocoaPods - https://cocoapods.org diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-acknowledgements.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-acknowledgements.plist deleted file mode 100755 index 7acbad1..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-acknowledgements.plist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-dummy.m b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-dummy.m deleted file mode 100755 index 67d2810..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_sampleiOSTests : NSObject -@end -@implementation PodsDummy_Pods_sampleiOSTests -@end diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-frameworks.sh b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-frameworks.sh deleted file mode 100755 index 08e3eaa..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-frameworks.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-resources.sh b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-resources.sh deleted file mode 100755 index 345301f..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-umbrella.h b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-umbrella.h deleted file mode 100755 index 5bc7fc9..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_sampleiOSTestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_sampleiOSTestsVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.debug.xcconfig deleted file mode 100755 index 8090986..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.debug.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift/SocketIO.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AMBubbleTableViewController" -framework "CoreTelephony" -framework "EnxRTCiOS" -framework "QuartzCore" -framework "Reachability" -framework "SVProgressHUD" -framework "Security" -framework "SocketIO" -framework "Starscream" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.modulemap b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.modulemap deleted file mode 100755 index 123ea57..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_sampleiOSTests { - umbrella header "Pods-sampleiOSTests-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.release.xcconfig b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.release.xcconfig deleted file mode 100755 index 8090986..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.release.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift/SocketIO.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AMBubbleTableViewController" -framework "CoreTelephony" -framework "EnxRTCiOS" -framework "QuartzCore" -framework "Reachability" -framework "SVProgressHUD" -framework "Security" -framework "SocketIO" -framework "Starscream" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Info.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Info.plist deleted file mode 100755 index 2243fe6..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-Info.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-Info.plist deleted file mode 100644 index 19cf209..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-acknowledgements.markdown b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-acknowledgements.markdown deleted file mode 100755 index 102af75..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-acknowledgements.markdown +++ /dev/null @@ -1,3 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: -Generated by CocoaPods - https://cocoapods.org diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-acknowledgements.plist b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-acknowledgements.plist deleted file mode 100755 index 7acbad1..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-acknowledgements.plist +++ /dev/null @@ -1,29 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-dummy.m b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-dummy.m deleted file mode 100755 index b53afbb..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_sampleiOSUITests : NSObject -@end -@implementation PodsDummy_Pods_sampleiOSUITests -@end diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-frameworks.sh b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-frameworks.sh deleted file mode 100755 index 08e3eaa..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-frameworks.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then - # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy - # frameworks to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -# Used as a return value for each invocation of `strip_invalid_archs` function. -STRIP_BINARY_RETVAL=0 - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -# Copies and strips a vendored framework -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Copies and strips a vendored dSYM -install_dsym() { - local source="$1" - if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" - - local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" - fi - - if [[ $STRIP_BINARY_RETVAL == 1 ]]; then - # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" - else - # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" - fi - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current target binary - binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" - # Intersect them with the architectures we are building for - intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" - # If there are no archs supported by this binary then warn the user - if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." - STRIP_BINARY_RETVAL=0 - return - fi - stripped="" - for arch in $binary_archs; do - if ! [[ "${ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi - STRIP_BINARY_RETVAL=1 -} - -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-resources.sh b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-resources.sh deleted file mode 100755 index 345301f..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-resources.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/sh -set -e -set -u -set -o pipefail - -if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then - # If UNLOCALIZED_RESOURCES_FOLDER_PATH is not set, then there's nowhere for us to copy - # resources to, so exit 0 (signalling the script phase was successful). - exit 0 -fi - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -# This protects against multiple targets copying the same framework dependency at the same time. The solution -# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html -RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") - -case "${TARGETED_DEVICE_FAMILY:-}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - 4) - TARGET_DEVICE_ARGS="--target-device watch" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" || true - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - if [ -z ${ASSETCATALOG_COMPILER_APPICON_NAME+x} ]; then - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - else - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" --app-icon "${ASSETCATALOG_COMPILER_APPICON_NAME}" --output-partial-info-plist "${TARGET_TEMP_DIR}/assetcatalog_generated_info_cocoapods.plist" - fi -fi diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-umbrella.h b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-umbrella.h deleted file mode 100755 index 26d95e9..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_sampleiOSUITestsVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_sampleiOSUITestsVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.debug.xcconfig deleted file mode 100755 index 8090986..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.debug.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift/SocketIO.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AMBubbleTableViewController" -framework "CoreTelephony" -framework "EnxRTCiOS" -framework "QuartzCore" -framework "Reachability" -framework "SVProgressHUD" -framework "Security" -framework "SocketIO" -framework "Starscream" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.modulemap b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.modulemap deleted file mode 100755 index 8f2336b..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_sampleiOSUITests { - umbrella header "Pods-sampleiOSUITests-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.release.xcconfig b/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.release.xcconfig deleted file mode 100755 index 8090986..0000000 --- a/sampleiOS/Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.release.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_ROOT}/Crashlytics/iOS" "${PODS_ROOT}/EnablexWebRTC/EnablexWebRTC" "${PODS_ROOT}/EnxRTCiOS" "${PODS_ROOT}/Fabric/iOS" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AMBubbleTableViewController/AMBubbleTableViewController.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD/SVProgressHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift/SocketIO.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "AMBubbleTableViewController" -framework "CoreTelephony" -framework "EnxRTCiOS" -framework "QuartzCore" -framework "Reachability" -framework "SVProgressHUD" -framework "Security" -framework "SocketIO" -framework "Starscream" -framework "SystemConfiguration" -framework "UIKit" -framework "WebRTC" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_PODFILE_DIR_PATH = ${SRCROOT}/. -PODS_ROOT = ${SRCROOT}/Pods -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/Info.plist b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/Info.plist deleted file mode 100755 index a83149a..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 4.3.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist deleted file mode 100644 index 577fdfa..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 5.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-dummy.m b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-dummy.m deleted file mode 100755 index 5b7a617..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_ReachabilitySwift : NSObject -@end -@implementation PodsDummy_ReachabilitySwift -@end diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-prefix.pch b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-prefix.pch deleted file mode 100755 index beb2a24..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-umbrella.h b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-umbrella.h deleted file mode 100755 index a78f29c..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double ReachabilityVersionNumber; -FOUNDATION_EXPORT const unsigned char ReachabilityVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.debug.xcconfig b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.debug.xcconfig deleted file mode 100644 index 32238a7..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.debug.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -framework "CoreTelephony" -framework "SystemConfiguration" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/ReachabilitySwift -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap deleted file mode 100755 index 60076d3..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Reachability { - umbrella header "ReachabilitySwift-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.release.xcconfig b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.release.xcconfig deleted file mode 100644 index 32238a7..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.release.xcconfig +++ /dev/null @@ -1,15 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -framework "CoreTelephony" -framework "SystemConfiguration" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/ReachabilitySwift -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.xcconfig b/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.xcconfig deleted file mode 100755 index 00fed59..0000000 --- a/sampleiOS/Pods/Target Support Files/ReachabilitySwift/ReachabilitySwift.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "CoreTelephony" -framework "SystemConfiguration" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/ReachabilitySwift -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/Info.plist b/sampleiOS/Pods/Target Support Files/SVProgressHUD/Info.plist deleted file mode 100755 index ce4ba6f..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.2.5 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-Info.plist b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-Info.plist deleted file mode 100644 index 91b625b..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.2.5 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-dummy.m b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-dummy.m deleted file mode 100755 index 696032a..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_SVProgressHUD : NSObject -@end -@implementation PodsDummy_SVProgressHUD -@end diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch deleted file mode 100755 index beb2a24..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-umbrella.h b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-umbrella.h deleted file mode 100755 index bff1d78..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD-umbrella.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - -#import "SVIndefiniteAnimatedView.h" -#import "SVProgressAnimatedView.h" -#import "SVProgressHUD.h" -#import "SVRadialGradientLayer.h" - -FOUNDATION_EXPORT double SVProgressHUDVersionNumber; -FOUNDATION_EXPORT const unsigned char SVProgressHUDVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.debug.xcconfig b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.debug.xcconfig deleted file mode 100644 index 5784bf2..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.debug.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/SVProgressHUD -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.modulemap b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.modulemap deleted file mode 100755 index 2eaf140..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module SVProgressHUD { - umbrella header "SVProgressHUD-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.release.xcconfig b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.release.xcconfig deleted file mode 100644 index 5784bf2..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.release.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/SVProgressHUD -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig b/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig deleted file mode 100755 index 98bea56..0000000 --- a/sampleiOS/Pods/Target Support Files/SVProgressHUD/SVProgressHUD.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_LDFLAGS = $(inherited) -framework "QuartzCore" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/SVProgressHUD -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Info.plist b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Info.plist deleted file mode 100755 index a5b642f..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 12.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-Info.plist b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-Info.plist deleted file mode 100644 index 5262b13..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 15.2.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-dummy.m b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-dummy.m deleted file mode 100755 index cf4ff51..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Socket_IO_Client_Swift : NSObject -@end -@implementation PodsDummy_Socket_IO_Client_Swift -@end diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-prefix.pch b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-prefix.pch deleted file mode 100755 index beb2a24..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-umbrella.h b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-umbrella.h deleted file mode 100755 index 6a25533..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SocketIOVersionNumber; -FOUNDATION_EXPORT const unsigned char SocketIOVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.debug.xcconfig deleted file mode 100644 index 6d2d8ed..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.debug.xcconfig +++ /dev/null @@ -1,17 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -framework "Starscream" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Socket.IO-Client-Swift -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_VERSION = 5.0 -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.modulemap b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.modulemap deleted file mode 100755 index f91c479..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module SocketIO { - umbrella header "Socket.IO-Client-Swift-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.release.xcconfig b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.release.xcconfig deleted file mode 100644 index 6d2d8ed..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.release.xcconfig +++ /dev/null @@ -1,17 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_LDFLAGS = $(inherited) -framework "Starscream" -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Socket.IO-Client-Swift -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_VERSION = 5.0 -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.xcconfig b/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.xcconfig deleted file mode 100755 index c31f7a8..0000000 --- a/sampleiOS/Pods/Target Support Files/Socket.IO-Client-Swift/Socket.IO-Client-Swift.xcconfig +++ /dev/null @@ -1,12 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Socket.IO-Client-Swift -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Socket.IO-Client-Swift -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -SWIFT_VERSION = 5.0 -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-Info.plist b/sampleiOS/Pods/Target Support Files/Starscream/Starscream-Info.plist deleted file mode 100644 index 56509df..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - ${PODS_DEVELOPMENT_LANGUAGE} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.1.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-dummy.m b/sampleiOS/Pods/Target Support Files/Starscream/Starscream-dummy.m deleted file mode 100644 index 94456b3..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Starscream : NSObject -@end -@implementation PodsDummy_Starscream -@end diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-prefix.pch b/sampleiOS/Pods/Target Support Files/Starscream/Starscream-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-umbrella.h b/sampleiOS/Pods/Target Support Files/Starscream/Starscream-umbrella.h deleted file mode 100644 index 7bffee0..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double StarscreamVersionNumber; -FOUNDATION_EXPORT const unsigned char StarscreamVersionString[]; - diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.debug.xcconfig b/sampleiOS/Pods/Target Support Files/Starscream/Starscream.debug.xcconfig deleted file mode 100644 index b4844ad..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.debug.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Starscream -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Starscream -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.modulemap b/sampleiOS/Pods/Target Support Files/Starscream/Starscream.modulemap deleted file mode 100644 index 2b90970..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Starscream { - umbrella header "Starscream-umbrella.h" - - export * - module * { export * } -} diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.release.xcconfig b/sampleiOS/Pods/Target Support Files/Starscream/Starscream.release.xcconfig deleted file mode 100644 index b4844ad..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.release.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Starscream -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LIBRARY_SEARCH_PATHS = $(inherited) "${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" /usr/lib/swift -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_DEVELOPMENT_LANGUAGE = ${DEVELOPMENT_LANGUAGE} -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Starscream -PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.xcconfig b/sampleiOS/Pods/Target Support Files/Starscream/Starscream.xcconfig deleted file mode 100644 index 37ec293..0000000 --- a/sampleiOS/Pods/Target Support Files/Starscream/Starscream.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Starscream -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/Starscream -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/sampleiOS/sampleiOS.xcodeproj/project.pbxproj b/sampleiOS/sampleiOS.xcodeproj/project.pbxproj index 3caf527..38c24ae 100644 --- a/sampleiOS/sampleiOS.xcodeproj/project.pbxproj +++ b/sampleiOS/sampleiOS.xcodeproj/project.pbxproj @@ -7,7 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 04F9DE7C00BC3B2BCFBF5607 /* Pods_sampleiOSUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A4808C905CBDC9EFB9D87F1 /* Pods_sampleiOSUITests.framework */; }; + 1768132EAE204A208DADBCCB /* Pods_sampleiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 90B25C30A82387CA3CDF284E /* Pods_sampleiOS.framework */; }; + 49C4B563E14BABE517012B73 /* Pods_sampleiOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26F04294D28725C44EAF1998 /* Pods_sampleiOSTests.framework */; }; + 6176C25D5F3AA53A028A51E2 /* Pods_sampleiOSUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 001F74329C0A2449039796E7 /* Pods_sampleiOSUITests.framework */; }; BD0CCFF621AE75E7001711B8 /* VCXAppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD0CCFF521AE75E7001711B8 /* VCXAppDelegate.swift */; }; BD0CCFF821AE75E7001711B8 /* VCXJoinRoomViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD0CCFF721AE75E7001711B8 /* VCXJoinRoomViewController.swift */; }; BD0CCFFB21AE75E7001711B8 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BD0CCFF921AE75E7001711B8 /* Main.storyboard */; }; @@ -57,8 +59,6 @@ BD4EEFC1232766800078776C /* bubbleFlatIncoming@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BD4EEF9F232766800078776C /* bubbleFlatIncoming@2x.png */; }; BD4EEFC3232769670078776C /* EnxToastView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4EEFC2232769670078776C /* EnxToastView.swift */; }; BD4EEFC923279A770078776C /* EnxUserList.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD4EEFC823279A770078776C /* EnxUserList.swift */; }; - C9CBF11DB03171FC8D89EC76 /* Pods_sampleiOSTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D9B8CADAD53F7E5266636F3 /* Pods_sampleiOSTests.framework */; }; - DC7F441FBFD40AA519463AFD /* Pods_sampleiOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72E6F3E9912D86CF1AA58A45 /* Pods_sampleiOS.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -92,15 +92,14 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 11CCA7A83599E8550D430F43 /* Pods-sampleiOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.debug.xcconfig"; sourceTree = ""; }; - 5D9B8CADAD53F7E5266636F3 /* Pods_sampleiOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleiOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 637C0DD64C798AE33003571E /* Pods-sampleiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOS.release.xcconfig"; path = "Pods/Target Support Files/Pods-sampleiOS/Pods-sampleiOS.release.xcconfig"; sourceTree = ""; }; - 64FCF7EAC6D6F4A277D1CC64 /* Pods-sampleiOSUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.debug.xcconfig"; sourceTree = ""; }; - 72E6F3E9912D86CF1AA58A45 /* Pods_sampleiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8A4808C905CBDC9EFB9D87F1 /* Pods_sampleiOSUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleiOSUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - AA9B778A2563806373CB6183 /* Pods-sampleiOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.release.xcconfig"; sourceTree = ""; }; - B64C04944F83560E19FA5261 /* Pods-sampleiOSUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSUITests.release.xcconfig"; path = "Pods/Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.release.xcconfig"; sourceTree = ""; }; - B831E91D661201BB0AD62E3C /* Pods-sampleiOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.debug.xcconfig"; sourceTree = ""; }; + 001F74329C0A2449039796E7 /* Pods_sampleiOSUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleiOSUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 04D596D6386B7CAC052D9446 /* Pods-sampleiOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOS.debug.xcconfig"; path = "Target Support Files/Pods-sampleiOS/Pods-sampleiOS.debug.xcconfig"; sourceTree = ""; }; + 26F04294D28725C44EAF1998 /* Pods_sampleiOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleiOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5DE2FA09481601B0CF4C6D1C /* Pods-sampleiOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSTests.release.xcconfig"; path = "Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.release.xcconfig"; sourceTree = ""; }; + 7146D6F530E00FC2C07D614A /* Pods-sampleiOSUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSUITests.debug.xcconfig"; path = "Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.debug.xcconfig"; sourceTree = ""; }; + 90B25C30A82387CA3CDF284E /* Pods_sampleiOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_sampleiOS.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 94D6FE4F15B7345C8F797DC2 /* Pods-sampleiOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOS.release.xcconfig"; path = "Target Support Files/Pods-sampleiOS/Pods-sampleiOS.release.xcconfig"; sourceTree = ""; }; + 9E7459B4385E08849C942416 /* Pods-sampleiOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSTests.debug.xcconfig"; path = "Target Support Files/Pods-sampleiOSTests/Pods-sampleiOSTests.debug.xcconfig"; sourceTree = ""; }; BD0CCFF221AE75E7001711B8 /* sampleiOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sampleiOS.app; sourceTree = BUILT_PRODUCTS_DIR; }; BD0CCFF521AE75E7001711B8 /* VCXAppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCXAppDelegate.swift; sourceTree = ""; }; BD0CCFF721AE75E7001711B8 /* VCXJoinRoomViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VCXJoinRoomViewController.swift; sourceTree = ""; }; @@ -156,6 +155,7 @@ BD4EEF9F232766800078776C /* bubbleFlatIncoming@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bubbleFlatIncoming@2x.png"; sourceTree = ""; }; BD4EEFC2232769670078776C /* EnxToastView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnxToastView.swift; sourceTree = ""; }; BD4EEFC823279A770078776C /* EnxUserList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnxUserList.swift; sourceTree = ""; }; + C3AB18F21653B0C0F9B2EBE1 /* Pods-sampleiOSUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sampleiOSUITests.release.xcconfig"; path = "Target Support Files/Pods-sampleiOSUITests/Pods-sampleiOSUITests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -163,7 +163,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC7F441FBFD40AA519463AFD /* Pods_sampleiOS.framework in Frameworks */, + 1768132EAE204A208DADBCCB /* Pods_sampleiOS.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -171,7 +171,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C9CBF11DB03171FC8D89EC76 /* Pods_sampleiOSTests.framework in Frameworks */, + 49C4B563E14BABE517012B73 /* Pods_sampleiOSTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -179,24 +179,35 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 04F9DE7C00BC3B2BCFBF5607 /* Pods_sampleiOSUITests.framework in Frameworks */, + 6176C25D5F3AA53A028A51E2 /* Pods_sampleiOSUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - B0BE134DB280D40571993793 /* Pods */ = { + 17BDEE44B8F552466F372D9B /* Pods */ = { isa = PBXGroup; children = ( - 11CCA7A83599E8550D430F43 /* Pods-sampleiOS.debug.xcconfig */, - 637C0DD64C798AE33003571E /* Pods-sampleiOS.release.xcconfig */, - B831E91D661201BB0AD62E3C /* Pods-sampleiOSTests.debug.xcconfig */, - AA9B778A2563806373CB6183 /* Pods-sampleiOSTests.release.xcconfig */, - 64FCF7EAC6D6F4A277D1CC64 /* Pods-sampleiOSUITests.debug.xcconfig */, - B64C04944F83560E19FA5261 /* Pods-sampleiOSUITests.release.xcconfig */, + 04D596D6386B7CAC052D9446 /* Pods-sampleiOS.debug.xcconfig */, + 94D6FE4F15B7345C8F797DC2 /* Pods-sampleiOS.release.xcconfig */, + 9E7459B4385E08849C942416 /* Pods-sampleiOSTests.debug.xcconfig */, + 5DE2FA09481601B0CF4C6D1C /* Pods-sampleiOSTests.release.xcconfig */, + 7146D6F530E00FC2C07D614A /* Pods-sampleiOSUITests.debug.xcconfig */, + C3AB18F21653B0C0F9B2EBE1 /* Pods-sampleiOSUITests.release.xcconfig */, ); name = Pods; + path = Pods; + sourceTree = ""; + }; + 6487F15AC59AEF681B163122 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 90B25C30A82387CA3CDF284E /* Pods_sampleiOS.framework */, + 26F04294D28725C44EAF1998 /* Pods_sampleiOSTests.framework */, + 001F74329C0A2449039796E7 /* Pods_sampleiOSUITests.framework */, + ); + name = Frameworks; sourceTree = ""; }; BD0CCFE921AE75E7001711B8 = { @@ -206,8 +217,8 @@ BD0CD00921AE75EE001711B8 /* sampleiOSTests */, BD0CD01421AE75EE001711B8 /* sampleiOSUITests */, BD0CCFF321AE75E7001711B8 /* Products */, - B0BE134DB280D40571993793 /* Pods */, - C5D7692410838A6EF0EA9681 /* Frameworks */, + 17BDEE44B8F552466F372D9B /* Pods */, + 6487F15AC59AEF681B163122 /* Frameworks */, ); sourceTree = ""; }; @@ -334,16 +345,6 @@ path = Resources; sourceTree = ""; }; - C5D7692410838A6EF0EA9681 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 72E6F3E9912D86CF1AA58A45 /* Pods_sampleiOS.framework */, - 5D9B8CADAD53F7E5266636F3 /* Pods_sampleiOSTests.framework */, - 8A4808C905CBDC9EFB9D87F1 /* Pods_sampleiOSUITests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -351,13 +352,13 @@ isa = PBXNativeTarget; buildConfigurationList = BD0CD01A21AE75EE001711B8 /* Build configuration list for PBXNativeTarget "sampleiOS" */; buildPhases = ( - EE4627E813544EDF330FDBFC /* [CP] Check Pods Manifest.lock */, + 614689ECC61B5C4A82878FFE /* [CP] Check Pods Manifest.lock */, BD0CCFEE21AE75E7001711B8 /* Sources */, BD0CCFEF21AE75E7001711B8 /* Frameworks */, BD0CCFF021AE75E7001711B8 /* Resources */, - 833340487167DFA25B8B1BC1 /* [CP] Embed Pods Frameworks */, BDC864A821C267F2005D96AB /* ShellScript */, BD7E59282216C3060043092A /* Embed Frameworks */, + 33B8AFCFC525A29CCA5D7EB0 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -372,7 +373,7 @@ isa = PBXNativeTarget; buildConfigurationList = BD0CD01D21AE75EE001711B8 /* Build configuration list for PBXNativeTarget "sampleiOSTests" */; buildPhases = ( - 0B703EB17168E528D3F2F065 /* [CP] Check Pods Manifest.lock */, + DDE568172077A9F3878179F8 /* [CP] Check Pods Manifest.lock */, BD0CD00221AE75EE001711B8 /* Sources */, BD0CD00321AE75EE001711B8 /* Frameworks */, BD0CD00421AE75EE001711B8 /* Resources */, @@ -391,7 +392,7 @@ isa = PBXNativeTarget; buildConfigurationList = BD0CD02021AE75EE001711B8 /* Build configuration list for PBXNativeTarget "sampleiOSUITests" */; buildPhases = ( - C5F35E851F2194170FEAF507 /* [CP] Check Pods Manifest.lock */, + 65B0078A899AADDC7D78C1E1 /* [CP] Check Pods Manifest.lock */, BD0CD00D21AE75EE001711B8 /* Sources */, BD0CD00E21AE75EE001711B8 /* Frameworks */, BD0CD00F21AE75EE001711B8 /* Resources */, @@ -516,25 +517,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0B703EB17168E528D3F2F065 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleiOSTests-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; - }; - 833340487167DFA25B8B1BC1 /* [CP] Embed Pods Frameworks */ = { + 33B8AFCFC525A29CCA5D7EB0 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -551,7 +534,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-sampleiOS/Pods-sampleiOS-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - BDC864A821C267F2005D96AB /* ShellScript */ = { + 614689ECC61B5C4A82878FFE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -559,25 +542,34 @@ inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-sampleiOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Fabric/run\" 6db66bb09589a86b6c8ca0a363283eae3d10fc21 95a89475e2a08b213555f788be00d1c32b3aec5692fd969f501e38aeea88ba0c\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; }; - C5F35E851F2194170FEAF507 /* [CP] Check Pods Manifest.lock */ = { + 65B0078A899AADDC7D78C1E1 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( "$(DERIVED_FILE_DIR)/Pods-sampleiOSUITests-checkManifestLockResult.txt", ); @@ -586,18 +578,39 @@ 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; }; - EE4627E813544EDF330FDBFC /* [CP] Check Pods Manifest.lock */ = { + BDC864A821C267F2005D96AB /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Fabric/run\" 6db66bb09589a86b6c8ca0a363283eae3d10fc21 95a89475e2a08b213555f788be00d1c32b3aec5692fd969f501e38aeea88ba0c\n"; + }; + DDE568172077A9F3878179F8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-sampleiOS-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-sampleiOSTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -793,7 +806,7 @@ }; BD0CD01B21AE75EE001711B8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 11CCA7A83599E8550D430F43 /* Pods-sampleiOS.debug.xcconfig */; + baseConfigurationReference = 04D596D6386B7CAC052D9446 /* Pods-sampleiOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -822,7 +835,7 @@ }; BD0CD01C21AE75EE001711B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 637C0DD64C798AE33003571E /* Pods-sampleiOS.release.xcconfig */; + baseConfigurationReference = 94D6FE4F15B7345C8F797DC2 /* Pods-sampleiOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -851,7 +864,7 @@ }; BD0CD01E21AE75EE001711B8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B831E91D661201BB0AD62E3C /* Pods-sampleiOSTests.debug.xcconfig */; + baseConfigurationReference = 9E7459B4385E08849C942416 /* Pods-sampleiOSTests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -873,7 +886,7 @@ }; BD0CD01F21AE75EE001711B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA9B778A2563806373CB6183 /* Pods-sampleiOSTests.release.xcconfig */; + baseConfigurationReference = 5DE2FA09481601B0CF4C6D1C /* Pods-sampleiOSTests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; BUNDLE_LOADER = "$(TEST_HOST)"; @@ -895,7 +908,7 @@ }; BD0CD02121AE75EE001711B8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 64FCF7EAC6D6F4A277D1CC64 /* Pods-sampleiOSUITests.debug.xcconfig */; + baseConfigurationReference = 7146D6F530E00FC2C07D614A /* Pods-sampleiOSUITests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; @@ -916,7 +929,7 @@ }; BD0CD02221AE75EE001711B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B64C04944F83560E19FA5261 /* Pods-sampleiOSUITests.release.xcconfig */; + baseConfigurationReference = C3AB18F21653B0C0F9B2EBE1 /* Pods-sampleiOSUITests.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CODE_SIGN_STYLE = Automatic; diff --git a/sampleiOS/sampleiOS.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist b/sampleiOS/sampleiOS.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist index d8ebff7..891151c 100755 --- a/sampleiOS/sampleiOS.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/sampleiOS/sampleiOS.xcodeproj/xcuserdata/jaykumar.xcuserdatad/xcschemes/xcschememanagement.plist @@ -7,7 +7,7 @@ sampleiOS.xcscheme_^#shared#^_ orderHint - 12 + 14 diff --git a/sampleiOS/sampleiOS.xcworkspace/contents.xcworkspacedata b/sampleiOS/sampleiOS.xcworkspace/contents.xcworkspacedata old mode 100755 new mode 100644 diff --git a/sampleiOS/sampleiOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/sampleiOS/sampleiOS.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist old mode 100755 new mode 100644 diff --git a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/daljeet.xcuserdatad/UserInterfaceState.xcuserstate b/sampleiOS/sampleiOS.xcworkspace/xcuserdata/daljeet.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 499a8e5..0000000 Binary files a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/daljeet.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/daljeet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/sampleiOS/sampleiOS.xcworkspace/xcuserdata/daljeet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100644 index 41a4084..0000000 --- a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/daljeet.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - diff --git a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/UserInterfaceState.xcuserstate b/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/UserInterfaceState.xcuserstate old mode 100755 new mode 100644 index fb0ee4d..8367fc9 Binary files a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/UserInterfaceState.xcuserstate and b/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist deleted file mode 100755 index c0731a5..0000000 --- a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/jaykumar.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - diff --git a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate b/sampleiOS/sampleiOS.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index cf6b283..0000000 Binary files a/sampleiOS/sampleiOS.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/sampleiOS/sampleiOS/VCXAppDelegate.swift b/sampleiOS/sampleiOS/VCXAppDelegate.swift index c3400e4..875f123 100755 --- a/sampleiOS/sampleiOS/VCXAppDelegate.swift +++ b/sampleiOS/sampleiOS/VCXAppDelegate.swift @@ -18,8 +18,8 @@ class VCXAppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { Fabric.with([Crashlytics.self]) //This is to enable EnxRTCiOS logs. - let logger = EnxUtilityManager.shareInstance() - logger?.startLog() + let logger = EnxUtilityManager.shareInstance + logger.startLog() // Override point for customization after application launch. return true } diff --git a/sampleiOS/sampleiOS/VCXConfrenceViewController.swift b/sampleiOS/sampleiOS/VCXConfrenceViewController.swift index e95232a..c90cb41 100755 --- a/sampleiOS/sampleiOS/VCXConfrenceViewController.swift +++ b/sampleiOS/sampleiOS/VCXConfrenceViewController.swift @@ -135,11 +135,11 @@ class VCXConfrenceViewController: AMBubbleTableViewController { DispatchQueue.main.async { // Success Response from server if let token = tokenInfo.token { - let videoSize : NSDictionary = ["minWidth" : 320 , "minHeight" : 180 , "maxWidth" : 1280, "maxHeight" :720] - let localStreamInfo : NSDictionary = ["video" : self.param["video"]! ,"audio" : self.param["audio"]! ,"data" :self.param["chat"]! ,"name" :self.roomInfo.participantName!,"type" : "public", "chat_only" : true ,"maxVideoBW" : 120 ,"minVideoBW" : 80 , "videoSize" : videoSize] + let videoSize : [String : Any] = ["minWidth" : 320 , "minHeight" : 180 , "maxWidth" : 1280, "maxHeight" :720] + let localStreamInfo : [String : Any] = ["video" : self.param["video"]! ,"audio" : self.param["audio"]! ,"data" :self.param["chat"]! ,"name" :self.roomInfo.participantName!,"type" : "public", "chat_only" : true ,"maxVideoBW" : 120 ,"minVideoBW" : 80 , "videoSize" : videoSize] let roomInfoparam = ["allow_reconnect" : true , "number_of_attempts" : 3,"timeout_interval" : 20] as [String : Any] - _ = self.objectJoin.joinRoom(token, delegate: self, publishStreamInfo: (localStreamInfo as! [AnyHashable : Any]), roomInfo: roomInfoparam, advanceOptions: nil) + let Stream = self.objectJoin.joinRoom(token, delegate: self, publishStreamInfo: localStreamInfo, roomInfo: roomInfoparam, advanceOptions: nil) } //Handel if Room is full else if (tokenInfo.token == nil && tokenInfo.error == nil){ @@ -181,11 +181,15 @@ class VCXConfrenceViewController: AMBubbleTableViewController { Delegates Methods */ extension VCXConfrenceViewController : EnxRoomDelegate, EnxStreamDelegate { + func room(_ room: EnxRoom?, didAddedStream stream: EnxStream?) { + //todo + } + //Mark - EnxRoom Delegates /* This Delegate will notify to User Once he got succes full join Room */ - func room(_ room: EnxRoom?, didConnect roomMetadata: [AnyHashable : Any]?) { + func room(_ room: EnxRoom?, didConnect roomMetadata: [String : Any]?) { remoteRoom = room EnxToastView.showInParent(parentView: self.view, withText: "Room Connection succesful", forDuration: 1.0) guard roomMetadata?["userList"] as? [Any] != nil else{ @@ -239,9 +243,6 @@ extension VCXConfrenceViewController : EnxRoomDelegate, EnxStreamDelegate { func didRoomDisconnect(_ response: [Any]?) { self.navigationController?.popViewController(animated: true) } - func room(_ room: EnxRoom?, didReceiveData data: [AnyHashable : Any]?, from stream: EnxStream?) { - //To Do - } /* This Delegate will notify to User if any new User Reconnect the room */ @@ -289,28 +290,31 @@ extension VCXConfrenceViewController : EnxRoomDelegate, EnxStreamDelegate { /* This Delegate will notify when internet connection lost. */ - func room(_ room: EnxRoom, didConnectionLost data: [Any]) { + func room(_ room: EnxRoom?, didConnectionLost data: [Any]?) { } /* This Delegate will notify on connection interuption example switching from Wifi to 4g. */ - func room(_ room: EnxRoom, didConnectionInterrupted data: [Any]) { + func room(_ room: EnxRoom?, didConnectionInterrupted data: [Any]?) { } /* This Delegate will notify reconnect success. */ - func room(_ room: EnxRoom, didUserReconnectSuccess data: [AnyHashable : Any]) { + func room(_ room: EnxRoom?, didUserReconnectSuccess data: [String : Any]?) { } } extension VCXConfrenceViewController: AMBubbleTableDelegate,AMBubbleTableDataSource{ func didSendText(_ text: String!) { - remoteRoom.sendMessage(text, isBroadCast: true, recipientIDs: nil) + guard remoteRoom != nil else { + return + } + remoteRoom.sendMessage(text, isBroadCast: true, recipientIDs: []) let dict :[String : Any] = ["text": text!, "date": NSDate(), "type": AMBubbleCellSent,