diff --git a/Example/Podfile.lock b/Example/Podfile.lock index b8bcf17..45b638f 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,18 +1,18 @@ PODS: - - AFNetworking (3.2.0): - - AFNetworking/NSURLSession (= 3.2.0) - - AFNetworking/Reachability (= 3.2.0) - - AFNetworking/Security (= 3.2.0) - - AFNetworking/Serialization (= 3.2.0) - - AFNetworking/UIKit (= 3.2.0) - - AFNetworking/NSURLSession (3.2.0): + - AFNetworking (3.2.1): + - AFNetworking/NSURLSession (= 3.2.1) + - AFNetworking/Reachability (= 3.2.1) + - AFNetworking/Security (= 3.2.1) + - AFNetworking/Serialization (= 3.2.1) + - AFNetworking/UIKit (= 3.2.1) + - AFNetworking/NSURLSession (3.2.1): - AFNetworking/Reachability - AFNetworking/Security - AFNetworking/Serialization - - AFNetworking/Reachability (3.2.0) - - AFNetworking/Security (3.2.0) - - AFNetworking/Serialization (3.2.0) - - AFNetworking/UIKit (3.2.0): + - AFNetworking/Reachability (3.2.1) + - AFNetworking/Security (3.2.1) + - AFNetworking/Serialization (3.2.1) + - AFNetworking/UIKit (3.2.1): - AFNetworking/NSURLSession - Bolts (1.9.0): - Bolts/AppLinks (= 1.9.0) @@ -26,19 +26,19 @@ PODS: - DJLocalization/Core (= 1.2.2) - DJLocalization/Core (1.2.2) - Expecta (1.0.6) - - FBSDKCoreKit (4.33.0): + - FBSDKCoreKit (4.37.0): - Bolts (~> 1.7) - - FBSDKLoginKit (4.33.0): + - FBSDKLoginKit (4.37.0): - FBSDKCoreKit - - FBSDKShareKit (4.33.0): - - FBSDKCoreKit (~> 4.33.0) + - FBSDKShareKit (4.37.0): + - FBSDKCoreKit (~> 4.37.0) - NSDataAES (0.2.2) - NSDate_Utils (1.1.0): - DJLocalization - - NSString-Helper (1.1.0) + - NSString-Helper (1.2.0) - nv-ios-http-status (0.0.1) - PEAR-FileManager-iOS (1.3.1) - - PNObject (2.5.7): + - PNObject (2.6.0): - AFNetworking - CodFis-Helper - DDDKeychainWrapper @@ -54,11 +54,11 @@ PODS: - RZDataBinding - StrongestPasswordValidator - UIDevice-Utils - - PureLayout (3.0.2) - - RZDataBinding (2.1.0) + - PureLayout (3.1.2) + - RZDataBinding (2.1.1) - Specta (1.0.7) - StrongestPasswordValidator (0.1.2) - - UIDevice-Utils (1.0.8) + - UIDevice-Utils (1.0.9) DEPENDENCIES: - Expecta @@ -67,7 +67,7 @@ DEPENDENCIES: - Specta SPEC REPOS: - https://github.com/CocoaPods/Specs.git: + https://github.com/cocoapods/specs.git: - AFNetworking - Bolts - CodFis-Helper @@ -93,27 +93,27 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - AFNetworking: 8ac6017b94ea105479f7776e5288e48ae9c59bb4 + AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 Bolts: ac6567323eac61e203f6a9763667d0f711be34c8 CodFis-Helper: 28be4c74d7202542459d72354f59b1215871de87 DDDKeychainWrapper: e681a4daba6448786fa83b4941f58102a33b1897 DJLocalization: 0c84029af375647d4104a42ae36be87194c46c47 Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - FBSDKCoreKit: 572b047a7e029bc44542bcf8a59414e7ff2b543e - FBSDKLoginKit: 88cb456349cfb3b554427ce4f8b43729d85dfb40 - FBSDKShareKit: b7b5002833a4104fbecad75e8e4e082e91c7a08a + FBSDKCoreKit: fe5f3474499a81963e11e3f3a5c753d0a95ca2b4 + FBSDKLoginKit: 2f7249686d1e30ce8a5ef5400eedf50b3e3df332 + FBSDKShareKit: 52e0083222c38e930eb6878007478326599195c3 NSDataAES: 967ea3337476a80e9838a533c25d570a06855ed0 NSDate_Utils: c858a89da6e204ecf53aca48dbccb4da4d25bc9e - NSString-Helper: 645162758421206f509cb46cbd10023eab7594ed + NSString-Helper: 1c259caa6c845e79e0bb45ee25e34f95d86d2317 nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3 - PNObject: 524a8d655fb150c0da2f262441bbbe24dd9bd8b9 - PureLayout: 4d550abe49a94f24c2808b9b95db9131685fe4cd - RZDataBinding: 6981e90ddaae2f5e02028323b1043f8c31013109 + PNObject: d92d660eb43b9385e7148e42598b8a7d3a785834 + PureLayout: 4634d0b61e3b5021166e8ec7c18e9e0ca0720c8b + RZDataBinding: 289e2fbdce8b9585afef69def83425c5d380ffbd Specta: 3e1bd89c3517421982dc4d1c992503e48bd5fe66 StrongestPasswordValidator: 921e42615bdf353513c6f925bffd4fc29865dbd7 - UIDevice-Utils: a629b53a88c1429cfb4bdff35b18287feebd164a + UIDevice-Utils: 6ba44475416a1e823f214a8ed26fc9a0761db096 PODFILE CHECKSUM: eec9c921f7aee591fd1fdea1fd3e5a191b74a436 -COCOAPODS: 1.5.0 +COCOAPODS: 1.5.3 diff --git a/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h b/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h new file mode 100644 index 0000000..a83d134 --- /dev/null +++ b/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h @@ -0,0 +1,37 @@ +// AFCompatibilityMacros.h +// Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) +// +// 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. + +#ifndef AFCompatibilityMacros_h +#define AFCompatibilityMacros_h + +#ifdef API_UNAVAILABLE + #define AF_API_UNAVAILABLE(x) API_UNAVAILABLE(x) +#else + #define AF_API_UNAVAILABLE(x) +#endif // API_UNAVAILABLE + +#if __has_warning("-Wunguarded-availability-new") + #define AF_CAN_USE_AT_AVAILABLE 1 +#else + #define AF_CAN_USE_AT_AVAILABLE 0 +#endif + +#endif /* AFCompatibilityMacros_h */ diff --git a/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h b/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h index 72296d4..21982a0 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h @@ -108,11 +108,14 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithReachability:(SCNetworkReachabilityRef)reachability NS_DESIGNATED_INITIALIZER; /** - * Initializes an instance of a network reachability manager - * - * @return nil as this method is unavailable + * Unavailable initializer */ -- (nullable instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/** + * Unavailable initializer + */ +- (instancetype)init NS_UNAVAILABLE; ///-------------------------------------------------- /// @name Starting & Stopping Reachability Monitoring diff --git a/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m b/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m index d458364..ce746c3 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m @@ -170,8 +170,11 @@ static void AFNetworkReachabilityReleaseCallback(const void *info) { return self; } -- (instancetype)init NS_UNAVAILABLE +- (instancetype)init { + @throw [NSException exceptionWithName:NSGenericException + reason:@"`-init` unavailable. Use `-initWithReachability:` instead" + userInfo:nil]; return nil; } diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h index d2b28ce..e7ae0d8 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h @@ -25,6 +25,7 @@ #import "AFURLResponseSerialization.h" #import "AFURLRequestSerialization.h" #import "AFSecurityPolicy.h" +#import "AFCompatibilityMacros.h" #if !TARGET_OS_WATCH #import "AFNetworkReachabilityManager.h" #endif @@ -414,7 +415,7 @@ NS_ASSUME_NONNULL_BEGIN @param block A block object to be executed once all messages enqueued for a session have been delivered. The block has no return value and takes a single argument: the session. */ -- (void)setDidFinishEventsForBackgroundURLSessionBlock:(nullable void (^)(NSURLSession *session))block; +- (void)setDidFinishEventsForBackgroundURLSessionBlock:(nullable void (^)(NSURLSession *session))block AF_API_UNAVAILABLE(macos); ///----------------------------------------------- /// @name Setting Download Task Delegate Callbacks diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m index 9586c75..aeb1af3 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m @@ -148,15 +148,17 @@ typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id re progress.pausingHandler = ^{ [weakTask suspend]; }; -#if __has_warning("-Wunguarded-availability-new") - if (@available(iOS 9, macOS 10.11, *)) { +#if AF_CAN_USE_AT_AVAILABLE + if (@available(iOS 9, macOS 10.11, *)) #else - if ([progress respondsToSelector:@selector(setResumingHandler:)]) { + if ([progress respondsToSelector:@selector(setResumingHandler:)]) #endif + { progress.resumingHandler = ^{ [weakTask resume]; }; } + [progress addObserver:self forKeyPath:NSStringFromSelector(@selector(fractionCompleted)) options:NSKeyValueObservingOptionNew @@ -452,7 +454,7 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi @property (readwrite, nonatomic, strong) NSLock *lock; @property (readwrite, nonatomic, copy) AFURLSessionDidBecomeInvalidBlock sessionDidBecomeInvalid; @property (readwrite, nonatomic, copy) AFURLSessionDidReceiveAuthenticationChallengeBlock sessionDidReceiveAuthenticationChallenge; -@property (readwrite, nonatomic, copy) AFURLSessionDidFinishEventsForBackgroundURLSessionBlock didFinishEventsForBackgroundURLSession; +@property (readwrite, nonatomic, copy) AFURLSessionDidFinishEventsForBackgroundURLSessionBlock didFinishEventsForBackgroundURLSession AF_API_UNAVAILABLE(macos); @property (readwrite, nonatomic, copy) AFURLSessionTaskWillPerformHTTPRedirectionBlock taskWillPerformHTTPRedirection; @property (readwrite, nonatomic, copy) AFURLSessionTaskDidReceiveAuthenticationChallengeBlock taskDidReceiveAuthenticationChallenge; @property (readwrite, nonatomic, copy) AFURLSessionTaskNeedNewBodyStreamBlock taskNeedNewBodyStream; @@ -839,9 +841,11 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi self.sessionDidReceiveAuthenticationChallenge = block; } +#if !TARGET_OS_OSX - (void)setDidFinishEventsForBackgroundURLSessionBlock:(void (^)(NSURLSession *session))block { self.didFinishEventsForBackgroundURLSession = block; } +#endif #pragma mark - @@ -910,9 +914,12 @@ static NSString * const AFNSURLSessionTaskDidSuspendNotification = @"com.alamofi return self.dataTaskDidReceiveResponse != nil; } else if (selector == @selector(URLSession:dataTask:willCacheResponse:completionHandler:)) { return self.dataTaskWillCacheResponse != nil; - } else if (selector == @selector(URLSessionDidFinishEventsForBackgroundURLSession:)) { + } +#if !TARGET_OS_OSX + else if (selector == @selector(URLSessionDidFinishEventsForBackgroundURLSession:)) { return self.didFinishEventsForBackgroundURLSession != nil; } +#endif return [[self class] instancesRespondToSelector:selector]; } @@ -1130,6 +1137,7 @@ didBecomeDownloadTask:(NSURLSessionDownloadTask *)downloadTask } } +#if !TARGET_OS_OSX - (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session { if (self.didFinishEventsForBackgroundURLSession) { dispatch_async(dispatch_get_main_queue(), ^{ @@ -1137,6 +1145,7 @@ didBecomeDownloadTask:(NSURLSessionDownloadTask *)downloadTask }); } } +#endif #pragma mark - NSURLSessionDownloadDelegate diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m index 1f0a778..41c18a6 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m @@ -75,17 +75,20 @@ success:(void (^)(NSURLRequest *request, NSHTTPURLResponse * _Nullable response, UIImage *image))success failure:(void (^)(NSURLRequest *request, NSHTTPURLResponse * _Nullable response, NSError *error))failure { - + if ([urlRequest URL] == nil) { - [self cancelImageDownloadTask]; self.image = placeholderImage; + if (failure) { + NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadURL userInfo:nil]; + failure(urlRequest, nil, error); + } return; } - + if ([self isActiveTaskURLEqualToURLRequest:urlRequest]){ return; } - + [self cancelImageDownloadTask]; AFImageDownloader *downloader = [[self class] sharedImageDownloader]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.h index c712416..994b4b8 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.h @@ -77,6 +77,11 @@ FBSDK_EXTERN NSString *const FBSDKAccessTokenDidExpire; */ @property (readonly, copy, nonatomic) NSString *appID; +/** + Returns the expiration date for data access + */ +@property (readonly, copy, nonatomic) NSDate *dataAccessExpirationDate; + /** Returns the known declined permissions. */ @@ -112,20 +117,51 @@ FBSDK_EXTERN NSString *const FBSDKAccessTokenDidExpire; */ @property (readonly, assign, nonatomic, getter = isExpired) BOOL expired; +/** + Returns whether user data access is still active for the given access token + */ +@property (readonly, assign, nonatomic, getter = isDataAccessExpired) BOOL dataAccessExpired; + - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; +/** + Initializes a new instance. + @param tokenString the opaque token string. + @param permissions the granted permissions. Note this is converted to NSSet and is only + an NSArray for the convenience of literal syntax. + @param declinedPermissions the declined permissions. Note this is converted to NSSet and is only + an NSArray for the convenience of literal syntax. + @param appID the app ID. + @param userID the user ID. + @param expirationDate the optional expiration date (defaults to distantFuture). + @param refreshDate the optional date the token was last refreshed (defaults to today). + + This initializer should only be used for advanced apps that + manage tokens explicitly. Typical login flows only need to use `FBSDKLoginManager` + along with `+currentAccessToken`. + */ +- (instancetype)initWithTokenString:(NSString *)tokenString + permissions:(NSArray *)permissions + declinedPermissions:(NSArray *)declinedPermissions + appID:(NSString *)appID + userID:(NSString *)userID + expirationDate:(NSDate *)expirationDate + refreshDate:(NSDate *)refreshDate; + /** Initializes a new instance. - - Parameter tokenString: the opaque token string. - - Parameter permissions: the granted permissions. Note this is converted to NSSet and is only + @param tokenString the opaque token string. + @param permissions the granted permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - - Parameter declinedPermissions: the declined permissions. Note this is converted to NSSet and is only + @param declinedPermissions the declined permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - - Parameter appID: the app ID. - - Parameter userID: the user ID. - - Parameter expirationDate: the optional expiration date (defaults to distantFuture). - - Parameter refreshDate: the optional date the token was last refreshed (defaults to today). + @param appID the app ID. + @param userID the user ID. + @param expirationDate the optional expiration date (defaults to distantFuture). + @param refreshDate the optional date the token was last refreshed (defaults to today). + @param dataAccessExpirationDate the date which data access will expire for the given user + (defaults to distantFuture). This initializer should only be used for advanced apps that manage tokens explicitly. Typical login flows only need to use `FBSDKLoginManager` @@ -138,18 +174,19 @@ FBSDK_EXTERN NSString *const FBSDKAccessTokenDidExpire; userID:(NSString *)userID expirationDate:(NSDate *)expirationDate refreshDate:(NSDate *)refreshDate + dataAccessExpirationDate:(NSDate *)dataAccessExpirationDate NS_DESIGNATED_INITIALIZER; /** Convenience getter to determine if a permission has been granted - - Parameter permission: The permission to check. + @param permission The permission to check. */ - (BOOL)hasGranted:(NSString *)permission; /** Compares the receiver to another FBSDKAccessToken - - Parameter token: The other token - - Returns: YES if the receiver's values are equal to the other token's values; otherwise NO + @param token The other token + @return YES if the receiver's values are equal to the other token's values; otherwise NO */ - (BOOL)isEqualToAccessToken:(FBSDKAccessToken *)token; @@ -169,7 +206,7 @@ NS_DESIGNATED_INITIALIZER; /** Sets the "global" access token that represents the currently logged in user. - - Parameter token: The access token to set. + @param token The access token to set. This will broadcast a notification and save the token to the app keychain. */ @@ -178,7 +215,7 @@ NS_DESIGNATED_INITIALIZER; /** Refresh the current access token's permission state and extend the token's expiration date, if possible. - - Parameter completionHandler: an optional callback handler that can surface any errors related to permission refreshing. + @param completionHandler an optional callback handler that can surface any errors related to permission refreshing. On a successful refresh, the currentAccessToken will be updated so you typically only need to observe the `FBSDKAccessTokenDidChangeNotification` notification. diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.m index 5147b05..3bb920a 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.m @@ -38,6 +38,8 @@ static FBSDKAccessToken *g_currentAccessToken; #define FBSDK_ACCESSTOKEN_USERID_KEY @"userID" #define FBSDK_ACCESSTOKEN_REFRESHDATE_KEY @"refreshDate" #define FBSDK_ACCESSTOKEN_EXPIRATIONDATE_KEY @"expirationDate" +#define FBSDK_ACCESSTOKEN_DATA_EXPIRATIONDATE_KEY @"dataAccessExpirationDate" + @implementation FBSDKAccessToken @@ -53,6 +55,25 @@ static FBSDKAccessToken *g_currentAccessToken; userID:(NSString *)userID expirationDate:(NSDate *)expirationDate refreshDate:(NSDate *)refreshDate +{ + return [self initWithTokenString:tokenString + permissions:permissions + declinedPermissions:declinedPermissions + appID:appID + userID:userID + expirationDate:expirationDate + refreshDate:refreshDate + dataAccessExpirationDate:[NSDate distantFuture]]; +} + +- (instancetype)initWithTokenString:(NSString *)tokenString + permissions:(NSArray *)permissions + declinedPermissions:(NSArray *)declinedPermissions + appID:(NSString *)appID + userID:(NSString *)userID + expirationDate:(NSDate *)expirationDate + refreshDate:(NSDate *)refreshDate + dataAccessExpirationDate:(NSDate *)dataAccessExpirationDate { if ((self = [super init])) { _tokenString = [tokenString copy]; @@ -62,6 +83,7 @@ static FBSDKAccessToken *g_currentAccessToken; _userID = [userID copy]; _expirationDate = [expirationDate copy] ?: [NSDate distantFuture]; _refreshDate = [refreshDate copy] ?: [NSDate date]; + _dataAccessExpirationDate = [dataAccessExpirationDate copy] ?: [NSDate distantFuture]; } return self; } @@ -69,6 +91,12 @@ static FBSDKAccessToken *g_currentAccessToken; - (BOOL)hasGranted:(NSString *)permission { return [self.permissions containsObject:permission]; + +} + +- (BOOL)isDataAccessExpired +{ + return [self.dataAccessExpirationDate compare:NSDate.date] == NSOrderedAscending; } - (BOOL)isExpired @@ -137,7 +165,8 @@ static FBSDKAccessToken *g_currentAccessToken; [self.appID hash], [self.userID hash], [self.refreshDate hash], - [self.expirationDate hash] + [self.expirationDate hash], + [self.dataAccessExpirationDate hash] }; return [FBSDKMath hashWithIntegerArray:subhashes count:sizeof(subhashes) / sizeof(subhashes[0])]; } @@ -162,7 +191,8 @@ static FBSDKAccessToken *g_currentAccessToken; [FBSDKInternalUtility object:self.appID isEqualToObject:token.appID] && [FBSDKInternalUtility object:self.userID isEqualToObject:token.userID] && [FBSDKInternalUtility object:self.refreshDate isEqualToObject:token.refreshDate] && - [FBSDKInternalUtility object:self.expirationDate isEqualToObject:token.expirationDate] ); + [FBSDKInternalUtility object:self.expirationDate isEqualToObject:token.expirationDate] && + [FBSDKInternalUtility object:self.dataAccessExpirationDate isEqualToObject:token.dataAccessExpirationDate] ); } #pragma mark - NSCopying @@ -189,6 +219,7 @@ static FBSDKAccessToken *g_currentAccessToken; NSString *userID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_ACCESSTOKEN_USERID_KEY]; NSDate *refreshDate = [decoder decodeObjectOfClass:[NSDate class] forKey:FBSDK_ACCESSTOKEN_REFRESHDATE_KEY]; NSDate *expirationDate = [decoder decodeObjectOfClass:[NSDate class] forKey:FBSDK_ACCESSTOKEN_EXPIRATIONDATE_KEY]; + NSDate *dataAccessExpirationDate = [decoder decodeObjectOfClass:[NSDate class] forKey:FBSDK_ACCESSTOKEN_DATA_EXPIRATIONDATE_KEY]; return [self initWithTokenString:tokenString permissions:[permissions allObjects] @@ -196,7 +227,8 @@ static FBSDKAccessToken *g_currentAccessToken; appID:appID userID:userID expirationDate:expirationDate - refreshDate:refreshDate]; + refreshDate:refreshDate + dataAccessExpirationDate:dataAccessExpirationDate]; } - (void)encodeWithCoder:(NSCoder *)encoder @@ -208,6 +240,7 @@ static FBSDKAccessToken *g_currentAccessToken; [encoder encodeObject:self.userID forKey:FBSDK_ACCESSTOKEN_USERID_KEY]; [encoder encodeObject:self.expirationDate forKey:FBSDK_ACCESSTOKEN_EXPIRATIONDATE_KEY]; [encoder encodeObject:self.refreshDate forKey:FBSDK_ACCESSTOKEN_REFRESHDATE_KEY]; + [encoder encodeObject:self.dataAccessExpirationDate forKey:FBSDK_ACCESSTOKEN_DATA_EXPIRATIONDATE_KEY]; } @end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.h index 71260ca..3735685 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.h @@ -18,6 +18,10 @@ #import +#if !TARGET_OS_TV +#import +#endif + #import #import "FBSDKMacros.h" @@ -51,6 +55,45 @@ typedef NS_ENUM(NSUInteger, FBSDKAppEventsFlushBehavior) }; +/** + NS_ENUM(NSUInteger, FBSDKProductAvailability) + Specifies product availability for Product Catalog product item update + */ +typedef NS_ENUM(NSUInteger, FBSDKProductAvailability) +{ + /** + * Item ships immediately + */ + FBSDKProductAvailabilityInStock = 0, + /** + * No plan to restock + */ + FBSDKProductAvailabilityOutOfStock, + /** + * Available in future + */ + FBSDKProductAvailabilityPreOrder, + /** + * Ships in 1-2 weeks + */ + FBSDKProductAvailabilityAvailableForOrder, + /** + * Discontinued + */ + FBSDKProductAvailabilityDiscontinued, +}; + +/** + NS_ENUM(NSUInteger, FBSDKProductCondition) + Specifies product condition for Product Catalog product item update + */ +typedef NS_ENUM(NSUInteger, FBSDKProductCondition) +{ + FBSDKProductConditionNew = 0, + FBSDKProductConditionRefurbished, + FBSDKProductConditionUsed, +}; + /** @methodgroup Predefined event names for logging events common to many apps. Logging occurs through the `logEvent` family of methods on `FBSDKAppEvents`. Common event parameters are provided in the `FBSDKAppEventsParameterNames*` constants. @@ -92,6 +135,36 @@ FBSDK_EXTERN NSString *const FBSDKAppEventNameUnlockedAchievement; /** Log this event when a user has viewed a form of content in the app. */ FBSDK_EXTERN NSString *const FBSDKAppEventNameViewedContent; +/** A telephone/SMS, email, chat or other type of contact between a customer and your business. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameContact; + +/** The customization of products through a configuration tool or other application your business owns. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameCustomizeProduct; + +/** The donation of funds to your organization or cause. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameDonate; + +/** When a person finds one of your locations via web or application, with an intention to visit (example: find product at a local store). */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameFindLocation; + +/** The booking of an appointment to visit one of your locations. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameSchedule; + +/** The start of a free trial of a product or service you offer (example: trial subscription). */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameStartTrial; + +/** The submission of an application for a product, service or program you offer (example: credit card, educational program or job).. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameSubmitApplication; + +/** The start of a paid subscription for a product or service you offer. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameSubscribe; + +/** Log this event when the user views an ad. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameAdImpression; + +/** Log this event when the user clicks an ad. */ +FBSDK_EXTERN NSString *const FBSDKAppEventNameAdClick; + /** @methodgroup Predefined event name parameters for common additional information to accompany events logged through the `logEvent` family of methods on `FBSDKAppEvents`. Common event names are provided in the `FBAppEventName*` constants. @@ -149,6 +222,14 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueYes; /** No-valued parameter value to be used with parameter keys that need a Yes/No value */ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; +/** Parameter key used to specify the type of ad in an FBSDKAppEventNameAdImpression + * or FBSDKAppEventNameAdClick event. + * E.g. "banner", "interstitial", "rewarded_video", "native" */ +FBSDK_EXTERN NSString *const FBSDKAppEventParameterNameAdType; + +/** Parameter key used to specify the unique ID for all events within a subscription + * in an FBSDKAppEventNameSubscribe or FBSDKAppEventNameStartTrial event. */ +FBSDK_EXTERN NSString *const FBSDKAppEventParameterNameOrderID; /** @@ -209,7 +290,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log an event with just an eventName. - - Parameter eventName: The name of the event to record. Limitations on number of events and name length + @param eventName The name of the event to record. Limitations on number of events and name length are given in the `FBSDKAppEvents` documentation. */ @@ -219,10 +300,10 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log an event with an eventName and a numeric value to be aggregated with other events of this name. - - Parameter eventName: The name of the event to record. Limitations on number of events and name length + @param eventName The name of the event to record. Limitations on number of events and name length are given in the `FBSDKAppEvents` documentation. Common event names are provided in `FBAppEventName*` constants. - - Parameter valueToSum: Amount to be aggregated into all events of this eventName, and App Insights will report + @param valueToSum Amount to be aggregated into all events of this eventName, and App Insights will report the cumulative and average value of this amount. */ + (void)logEvent:(NSString *)eventName @@ -234,10 +315,10 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log an event with an eventName and a set of key/value pairs in the parameters dictionary. Parameter limitations are described above. - - Parameter eventName: The name of the event to record. Limitations on number of events and name construction + @param eventName The name of the event to record. Limitations on number of events and name construction are given in the `FBSDKAppEvents` documentation. Common event names are provided in `FBAppEventName*` constants. - - Parameter parameters: Arbitrary parameter dictionary of characteristics. The keys to this dictionary must + @param parameters Arbitrary parameter dictionary of characteristics. The keys to this dictionary must be NSString's, and the values are expected to be NSString or NSNumber. Limitations on the number of parameters and name construction are given in the `FBSDKAppEvents` documentation. Commonly used parameter names are provided in `FBSDKAppEventParameterName*` constants. @@ -250,13 +331,13 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log an event with an eventName, a numeric value to be aggregated with other events of this name, and a set of key/value pairs in the parameters dictionary. - - Parameter eventName: The name of the event to record. Limitations on number of events and name construction + @param eventName The name of the event to record. Limitations on number of events and name construction are given in the `FBSDKAppEvents` documentation. Common event names are provided in `FBAppEventName*` constants. - - Parameter valueToSum: Amount to be aggregated into all events of this eventName, and App Insights will report + @param valueToSum Amount to be aggregated into all events of this eventName, and App Insights will report the cumulative and average value of this amount. - - Parameter parameters: Arbitrary parameter dictionary of characteristics. The keys to this dictionary must + @param parameters Arbitrary parameter dictionary of characteristics. The keys to this dictionary must be NSString's, and the values are expected to be NSString or NSNumber. Limitations on the number of parameters and name construction are given in the `FBSDKAppEvents` documentation. Commonly used parameter names are provided in `FBSDKAppEventParameterName*` constants. @@ -273,19 +354,19 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; and a set of key/value pairs in the parameters dictionary. Providing session lets the developer target a particular . If nil is provided, then `[FBSession activeSession]` will be used. - - Parameter eventName: The name of the event to record. Limitations on number of events and name construction + @param eventName The name of the event to record. Limitations on number of events and name construction are given in the `FBSDKAppEvents` documentation. Common event names are provided in `FBAppEventName*` constants. - - Parameter valueToSum: Amount to be aggregated into all events of this eventName, and App Insights will report + @param valueToSum Amount to be aggregated into all events of this eventName, and App Insights will report the cumulative and average value of this amount. Note that this is an NSNumber, and a value of `nil` denotes that this event doesn't have a value associated with it for summation. - - Parameter parameters: Arbitrary parameter dictionary of characteristics. The keys to this dictionary must + @param parameters Arbitrary parameter dictionary of characteristics. The keys to this dictionary must be NSString's, and the values are expected to be NSString or NSNumber. Limitations on the number of parameters and name construction are given in the `FBSDKAppEvents` documentation. Commonly used parameter names are provided in `FBSDKAppEventParameterName*` constants. - - Parameter accessToken: The optional access token to log the event as. + @param accessToken The optional access token to log the event as. */ + (void)logEvent:(NSString *)eventName valueToSum:(NSNumber *)valueToSum @@ -300,10 +381,10 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log a purchase of the specified amount, in the specified currency. - - Parameter purchaseAmount: Purchase amount to be logged, as expressed in the specified currency. This value + @param purchaseAmount Purchase amount to be logged, as expressed in the specified currency. This value will be rounded to the thousandths place (e.g., 12.34567 becomes 12.346). - - Parameter currency: Currency, is denoted as, e.g. "USD", "EUR", "GBP". See ISO-4217 for + @param currency Currency, is denoted as, e.g. "USD", "EUR", "GBP". See ISO-4217 for specific values. One reference for these is . @@ -319,13 +400,13 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log a purchase of the specified amount, in the specified currency, also providing a set of additional characteristics describing the purchase. - - Parameter purchaseAmount: Purchase amount to be logged, as expressed in the specified currency.This value + @param purchaseAmount Purchase amount to be logged, as expressed in the specified currency.This value will be rounded to the thousandths place (e.g., 12.34567 becomes 12.346). - - Parameter currency: Currency, is denoted as, e.g. "USD", "EUR", "GBP". See ISO-4217 for + @param currency Currency, is denoted as, e.g. "USD", "EUR", "GBP". See ISO-4217 for specific values. One reference for these is . - - Parameter parameters: Arbitrary parameter dictionary of characteristics. The keys to this dictionary must + @param parameters Arbitrary parameter dictionary of characteristics. The keys to this dictionary must be NSString's, and the values are expected to be NSString or NSNumber. Limitations on the number of parameters and name construction are given in the `FBSDKAppEvents` documentation. Commonly used parameter names are provided in `FBSDKAppEventParameterName*` constants. @@ -344,18 +425,18 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Log a purchase of the specified amount, in the specified currency, also providing a set of additional characteristics describing the purchase, as well as an to log to. - - Parameter purchaseAmount: Purchase amount to be logged, as expressed in the specified currency.This value + @param purchaseAmount Purchase amount to be logged, as expressed in the specified currency.This value will be rounded to the thousandths place (e.g., 12.34567 becomes 12.346). - - Parameter currency: Currency, is denoted as, e.g. "USD", "EUR", "GBP". See ISO-4217 for + @param currency Currency, is denoted as, e.g. "USD", "EUR", "GBP". See ISO-4217 for specific values. One reference for these is . - - Parameter parameters: Arbitrary parameter dictionary of characteristics. The keys to this dictionary must + @param parameters Arbitrary parameter dictionary of characteristics. The keys to this dictionary must be NSString's, and the values are expected to be NSString or NSNumber. Limitations on the number of parameters and name construction are given in the `FBSDKAppEvents` documentation. Commonly used parameter names are provided in `FBSDKAppEventParameterName*` constants. - - Parameter accessToken: The optional access token to log the event as. + @param accessToken The optional access token to log the event as. This event immediately triggers a flush of the `FBSDKAppEvents` event queue, unless the `flushBehavior` is set @@ -375,18 +456,58 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; /** Log an app event that tracks that the application was open via Push Notification. - - Parameter payload: Notification payload received via `UIApplicationDelegate`. + @param payload Notification payload received via `UIApplicationDelegate`. */ + (void)logPushNotificationOpen:(NSDictionary *)payload; /** Log an app event that tracks that a custom action was taken from a push notification. - - Parameter payload: Notification payload received via `UIApplicationDelegate`. - - Parameter action: Name of the action that was taken. + @param payload Notification payload received via `UIApplicationDelegate`. + @param action Name of the action that was taken. */ + (void)logPushNotificationOpen:(NSDictionary *)payload action:(NSString *)action; +/** + Uploads product catalog product item as an app event + @param itemID Unique ID for the item. Can be a variant for a product. + Max size is 100. + @param availability If item is in stock. Accepted values are: + in stock - Item ships immediately + out of stock - No plan to restock + preorder - Available in future + available for order - Ships in 1-2 weeks + discontinued - Discontinued + @param condition Product condition: new, refurbished or used. + @param description Short text describing product. Max size is 5000. + @param imageLink Link to item image used in ad. + @param link Link to merchant's site where someone can buy the item. + @param title Title of item. + @param priceAmount Amount of purchase, in the currency specified by the 'currency' + parameter. This value will be rounded to the thousandths place + (e.g., 12.34567 becomes 12.346). + @param currency Currency used to specify the amount. + E.g. "USD", "EUR", "GBP". See ISO-4217 for specific values. One reference for these is + @param gtin Global Trade Item Number including UPC, EAN, JAN and ISBN + @param mpn Unique manufacture ID for product + @param brand Name of the brand + Note: Either gtin, mpn or brand is required. + @param parameters Optional fields for deep link specification. + */ ++ (void)logProductItem:(NSString *)itemID + availability:(FBSDKProductAvailability)availability + condition:(FBSDKProductCondition)condition + description:(NSString *)description + imageLink:(NSString *)imageLink + link:(NSString *)link + title:(NSString *)title + priceAmount:(double)priceAmount + currency:(NSString *)currency + gtin:(NSString *)gtin + mpn:(NSString *)mpn + brand:(NSString *)brand + parameters:(NSDictionary *)parameters; + /** Notifies the events system that the app has launched and, when appropriate, logs an "activated app" event. @@ -419,7 +540,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Sets and sends a device token from `NSData` representation that you get from `UIApplicationDelegate.-application:didRegisterForRemoteNotificationsWithDeviceToken:`. - - Parameter deviceToken: Device token data. + @param deviceToken Device token data. */ + (void)setPushNotificationsDeviceToken:(NSData *)deviceToken; @@ -437,7 +558,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Set the current event flushing behavior specifying when events are sent back to Facebook servers. - - Parameter flushBehavior: The desired `FBSDKAppEventsFlushBehavior` to be used. + @param flushBehavior The desired `FBSDKAppEventsFlushBehavior` to be used. */ + (void)setFlushBehavior:(FBSDKAppEventsFlushBehavior)flushBehavior; @@ -454,7 +575,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; This should be set before any other calls are made to `FBSDKAppEvents`. Thus, you should set it in your application delegate's `application:didFinishLaunchingWithOptions:` delegate. - - Parameter appID: The Facebook App ID to be used for App Event logging. + @param appID The Facebook App ID to be used for App Event logging. */ + (void)setLoggingOverrideAppID:(NSString *)appID; @@ -462,7 +583,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Get the 'override' App ID for App Event logging. -- See:setLoggingOverrideAppID: +@see setLoggingOverrideAppID: */ + (NSString *)loggingOverrideAppID; @@ -479,7 +600,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; Callers will send this ID back to their own servers, collect up a set to create a Facebook Custom Audience with, and then use the resultant Custom Audience to target ads. - - Parameter accessToken: The access token to use to establish the user's identity for users logged into Facebook through this app. + @param accessToken The access token to use to establish the user's identity for users logged into Facebook through this app. If `nil`, then the `[FBSDKAccessToken currentAccessToken]` is used. @@ -506,18 +627,96 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo; */ + (void)setUserID:(NSString *)userID; +/* + Clears the custom user ID to associate with all app events. + */ ++ (void)clearUserID; + /* Returns the set custom user ID. */ + (NSString *)userID; +/* + Sets custom user data to associate with all app events. All user data are hashed + and used to match Facebook user from this instance of an application. + + The user data will be persisted between application instances. + + @param userData user data to identify the user. User data should be formated as + a NSDictionary of data type name and value. + Supported data types and names are: + Email: em + First Name: fn + Last Name: ln + Phone: ph + Date of Birth: db + Gender: ge + City: ct + State: st + Zip: zp + Country: country + */ ++ (void)setUserData:(NSDictionary *)userData + DEPRECATED_MSG_ATTRIBUTE("Renamed `setUserEmail:firstName: ...`"); + +/* + Sets custom user data to associate with all app events. All user data are hashed + and used to match Facebook user from this instance of an application. + + The user data will be persisted between application instances. + + @param email user's email + @param firstName user's first name + @param lastName user's last name + @param phone user's phone + @param dateOfBirth user's date of birth + @param gender user's gender + @param city user's city + @param state user's state + @param zip user's zip + @param country user's country + */ ++ (void)setUserEmail:(nullable NSString *)email + firstName:(nullable NSString *)firstName + lastName:(nullable NSString *)lastName + phone:(nullable NSString *)phone + dateOfBirth:(nullable NSString *)dateOfBirth + gender:(nullable NSString *)gender + city:(nullable NSString *)city + state:(nullable NSString *)state + zip:(nullable NSString *)zip + country:(nullable NSString *)country; +/* + Returns the set user data else nil +*/ ++ (NSString *)getUserData; + +/* + Clears the current user data +*/ ++ (void)clearUserData; + /* Sends a request to update the properties for the current user, set by `setUserID:` You must call `FBSDKAppEvents setUserID:` before making this call. - - Parameter properties: the custom user properties - - Parameter handler: the optional completion handler + @param properties the custom user properties + @param handler the optional completion handler */ + (void)updateUserProperties:(NSDictionary *)properties handler:(FBSDKGraphRequestHandler)handler; +#if !TARGET_OS_TV +/* + Intended to be used as part of a hybrid webapp. + If you call this method, the FB SDK will inject a new JavaScript object into your webview. + If the FB Pixel is used within the webview, and references the app ID of this app, + then it will detect the presence of this injected JavaScript object + and pass Pixel events back to the FB SDK for logging using the AppEvents framework. + + @param webView The webview to augment with the additional JavaScript behaviour + */ ++ (void)augmentHybridWKWebView:(WKWebView *)webView; +#endif + @end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.m index dd7aa97..57788a1 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.m @@ -26,6 +26,7 @@ #import "FBSDKAppEventsStateManager.h" #import "FBSDKAppEventsUtility.h" #import "FBSDKConstants.h" +#import "FBSDKDynamicFrameworkLoader.h" #import "FBSDKError.h" #import "FBSDKGraphRequest+Internal.h" #import "FBSDKInternalUtility.h" @@ -36,6 +37,12 @@ #import "FBSDKSettings.h" #import "FBSDKTimeSpentData.h" #import "FBSDKUtility.h" +#import "FBSDKUserDataStore.h" + +#if !TARGET_OS_TV +#import "FBSDKEventBindingManager.h" +#import "FBSDKHybridAppEventsScriptMessageHandler.h" +#endif // // Public event names @@ -47,13 +54,23 @@ NSString *const FBSDKAppEventNameViewedContent = @"fb_mobile_content_v NSString *const FBSDKAppEventNameSearched = @"fb_mobile_search"; NSString *const FBSDKAppEventNameRated = @"fb_mobile_rate"; NSString *const FBSDKAppEventNameCompletedTutorial = @"fb_mobile_tutorial_completion"; -NSString *const FBSDKAppEventParameterLaunchSource = @"fb_mobile_launch_source"; +NSString *const FBSDKAppEventNameContact = @"Contact"; +NSString *const FBSDKAppEventNameCustomizeProduct = @"CustomizeProduct"; +NSString *const FBSDKAppEventNameDonate = @"Donate"; +NSString *const FBSDKAppEventNameFindLocation = @"FindLocation"; +NSString *const FBSDKAppEventNameSchedule = @"Schedule"; +NSString *const FBSDKAppEventNameStartTrial = @"StartTrial"; +NSString *const FBSDKAppEventNameSubmitApplication = @"SubmitApplication"; +NSString *const FBSDKAppEventNameSubscribe = @"Subscribe"; +NSString *const FBSDKAppEventNameAdImpression = @"AdImpression"; +NSString *const FBSDKAppEventNameAdClick = @"AdClick"; // Ecommerce related NSString *const FBSDKAppEventNameAddedToCart = @"fb_mobile_add_to_cart"; NSString *const FBSDKAppEventNameAddedToWishlist = @"fb_mobile_add_to_wishlist"; NSString *const FBSDKAppEventNameInitiatedCheckout = @"fb_mobile_initiated_checkout"; NSString *const FBSDKAppEventNameAddedPaymentInfo = @"fb_mobile_add_payment_info"; +NSString *const FBSDKAppEventNameProductCatalogUpdate = @"fb_mobile_catalog_update"; // Gaming related NSString *const FBSDKAppEventNameAchievedLevel = @"fb_mobile_level_achieved"; @@ -76,6 +93,9 @@ NSString *const FBSDKAppEventParameterNamePaymentInfoAvailable = @"fb_payment_ NSString *const FBSDKAppEventParameterNameNumItems = @"fb_num_items"; NSString *const FBSDKAppEventParameterNameLevel = @"fb_level"; NSString *const FBSDKAppEventParameterNameDescription = @"fb_description"; +NSString *const FBSDKAppEventParameterLaunchSource = @"fb_mobile_launch_source"; +NSString *const FBSDKAppEventParameterNameAdType = @"ad_type"; +NSString *const FBSDKAppEventParameterNameOrderID = @"fb_order_id"; // // Public event parameter values @@ -181,6 +201,19 @@ NSString *const FBSDKAppEventParameterLiveStreamingVideoID = @"live_stream NSString *const FBSDKAppEventParameterLiveStreamingMicEnabled = @"live_streaming_mic_enabled"; NSString *const FBSDKAppEventParameterLiveStreamingCameraEnabled = @"live_streaming_camera_enabled"; +NSString *const FBSDKAppEventParameterProductItemID = @"fb_product_item_id"; +NSString *const FBSDKAppEventParameterProductAvailability = @"fb_product_availability"; +NSString *const FBSDKAppEventParameterProductCondition = @"fb_product_condition"; +NSString *const FBSDKAppEventParameterProductDescription = @"fb_product_description"; +NSString *const FBSDKAppEventParameterProductImageLink = @"fb_product_image_link"; +NSString *const FBSDKAppEventParameterProductLink = @"fb_product_link"; +NSString *const FBSDKAppEventParameterProductTitle = @"fb_product_title"; +NSString *const FBSDKAppEventParameterProductGTIN = @"fb_product_gtin"; +NSString *const FBSDKAppEventParameterProductMPN = @"fb_product_mpn"; +NSString *const FBSDKAppEventParameterProductBrand = @"fb_product_brand"; +NSString *const FBSDKAppEventParameterProductPriceAmount = @"fb_product_price_amount"; +NSString *const FBSDKAppEventParameterProductPriceCurrency = @"fb_product_price_currency"; + // Event parameter values internal to this file NSString *const FBSDKAppEventsDialogOutcomeValue_Completed = @"Completed"; NSString *const FBSDKAppEventsDialogOutcomeValue_Cancelled = @"Cancelled"; @@ -224,9 +257,18 @@ static NSString *const FBSDKAppEventParameterPushAction = @"fb_push_action"; static NSString *const FBSDKAppEventsPushPayloadKey = @"fb_push_payload"; static NSString *const FBSDKAppEventsPushPayloadCampaignKey = @"campaign"; +// +// Augmentation of web browser constants +// +NSString *const FBSDKAppEventsWKWebViewMessagesPixelIDKey = @"pixelID"; +NSString *const FBSDKAppEventsWKWebViewMessagesHandlerKey = @"fbmqHandler"; +NSString *const FBSDKAppEventsWKWebViewMessagesEventKey = @"event"; +NSString *const FBSDKAppEventsWKWebViewMessagesParamsKey = @"params"; +NSString *const FBSDKAPPEventsWKWebViewMessagesProtocolKey = @"fbmq-0.1"; + + #define NUM_LOG_EVENTS_TO_TRY_TO_FLUSH_AFTER 100 #define FLUSH_PERIOD_IN_SECONDS 15 -#define APP_SUPPORTS_ATTRIBUTION_ID_RECHECK_PERIOD 60 * 60 * 24 #define USER_ID_USER_DEFAULTS_KEY @"com.facebook.sdk.appevents.userid" static NSString *g_overrideAppID = nil; @@ -240,7 +282,6 @@ static NSString *g_overrideAppID = nil; @property (nonatomic, copy) NSString *pushNotificationsDeviceTokenString; @property (nonatomic, strong) dispatch_source_t flushTimer; -@property (nonatomic, strong) dispatch_source_t attributionIDRecheckTimer; @end @@ -249,6 +290,9 @@ static NSString *g_overrideAppID = nil; BOOL _explicitEventsLoggedYet; FBSDKServerConfiguration *_serverConfiguration; FBSDKAppEventsState *_appEventsState; +#if !TARGET_OS_TV + FBSDKEventBindingManager *_eventBindingManager; +#endif NSString *_userID; } @@ -273,29 +317,6 @@ static NSString *g_overrideAppID = nil; [weakSelf flushTimerFired:nil]; }]; - self.attributionIDRecheckTimer = [FBSDKUtility startGCDTimerWithInterval:APP_SUPPORTS_ATTRIBUTION_ID_RECHECK_PERIOD - block:^{ - [weakSelf appSettingsFetchStateResetTimerFired:nil]; - }]; - - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(applicationMovingFromActiveStateOrTerminating) - name:UIApplicationWillResignActiveNotification - object:NULL]; - - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(applicationMovingFromActiveStateOrTerminating) - name:UIApplicationWillTerminateNotification - object:NULL]; - - [[NSNotificationCenter defaultCenter] - addObserver:self - selector:@selector(applicationDidBecomeActive) - name:UIApplicationDidBecomeActiveNotification - object:NULL]; - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; _userID = [defaults stringForKey:USER_ID_USER_DEFAULTS_KEY]; } @@ -303,11 +324,30 @@ static NSString *g_overrideAppID = nil; return self; } +- (void)registerNotifications { + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(applicationMovingFromActiveStateOrTerminating) + name:UIApplicationWillResignActiveNotification + object:NULL]; + + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(applicationMovingFromActiveStateOrTerminating) + name:UIApplicationWillTerminateNotification + object:NULL]; + + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(applicationDidBecomeActive) + name:UIApplicationDidBecomeActiveNotification + object:NULL]; +} + - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [FBSDKUtility stopGCDTimer:self.flushTimer]; - [FBSDKUtility stopGCDTimer:self.attributionIDRecheckTimer]; } #pragma mark - Public Methods @@ -432,6 +472,109 @@ static NSString *g_overrideAppID = nil; [self logEvent:FBSDKAppEventNamePushOpened parameters:parameters]; } +/* + * Uploads product catalog product item as an app event + */ ++ (void)logProductItem:(NSString *)itemID + availability:(FBSDKProductAvailability)availability + condition:(FBSDKProductCondition)condition + description:(NSString *)description + imageLink:(NSString *)imageLink + link:(NSString *)link + title:(NSString *)title + priceAmount:(double)priceAmount + currency:(NSString *)currency + gtin:(NSString *)gtin + mpn:(NSString *)mpn + brand:(NSString *)brand + parameters:(NSDictionary *)parameters { + if (itemID == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"itemID cannot be null"]; + return; + } else if (description == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"description cannot be null"]; + return; + } else if (imageLink == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"imageLink cannot be null"]; + return; + } else if (link == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"link cannot be null"]; + return; + } else if (title == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"title cannot be null"]; + return; + } else if (currency == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"currency cannot be null"]; + return; + } else if (gtin == nil && mpn == nil && brand == nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"Either gtin, mpn or brand is required"]; + return; + } + + NSMutableDictionary *dict = [NSMutableDictionary dictionary]; + if (nil != parameters) { + [dict setValuesForKeysWithDictionary:parameters]; + } + + [dict setObject:itemID forKey:FBSDKAppEventParameterProductItemID]; + + NSString *avail = nil; + switch (availability) { + case FBSDKProductAvailabilityInStock: + avail = @"IN_STOCK"; break; + case FBSDKProductAvailabilityOutOfStock: + avail = @"OUT_OF_STOCK"; break; + case FBSDKProductAvailabilityPreOrder: + avail = @"PREORDER"; break; + case FBSDKProductAvailabilityAvailableForOrder: + avail = @"AVALIABLE_FOR_ORDER"; break; + case FBSDKProductAvailabilityDiscontinued: + avail = @"DISCONTINUED"; break; + } + if (avail) { + [dict setObject:avail forKey:FBSDKAppEventParameterProductAvailability]; + } + + NSString *cond = nil; + switch (condition) { + case FBSDKProductConditionNew: + cond = @"NEW"; break; + case FBSDKProductConditionRefurbished: + cond = @"REFURBISHED"; break; + case FBSDKProductConditionUsed: + cond = @"USED"; break; + } + if (cond) { + [dict setObject:cond forKey:FBSDKAppEventParameterProductCondition]; + } + + [dict setObject:description forKey:FBSDKAppEventParameterProductDescription]; + [dict setObject:imageLink forKey:FBSDKAppEventParameterProductImageLink]; + [dict setObject:link forKey:FBSDKAppEventParameterProductLink]; + [dict setObject:title forKey:FBSDKAppEventParameterProductTitle]; + [dict setObject:[NSString stringWithFormat:@"%.3lf", priceAmount] forKey:FBSDKAppEventParameterProductPriceAmount]; + [dict setObject:currency forKey:FBSDKAppEventParameterProductPriceCurrency]; + if (gtin) { + [dict setObject:gtin forKey:FBSDKAppEventParameterProductGTIN]; + } + if (mpn) { + [dict setObject:mpn forKey:FBSDKAppEventParameterProductMPN]; + } + if (brand) { + [dict setObject:brand forKey:FBSDKAppEventParameterProductBrand]; + } + + [FBSDKAppEvents logEvent:FBSDKAppEventNameProductCatalogUpdate + parameters:dict]; +} + + (void)activateApp { [FBSDKAppEventsUtility ensureOnMainThread:NSStringFromSelector(_cmd) className:NSStringFromClass(self)]; @@ -446,6 +589,7 @@ static NSString *g_overrideAppID = nil; // when appropriate, result in logging an "activated app" and "deactivated app" (for the // previous session) App Event. [FBSDKTimeSpentData restore:YES]; + [FBSDKUserDataStore initStore]; } + (void)setPushNotificationsDeviceToken:(NSData *)deviceToken @@ -509,11 +653,63 @@ static NSString *g_overrideAppID = nil; [defaults synchronize]; } ++ (void)clearUserID +{ + [self setUserID:nil]; +} + + (NSString *)userID { return [[self class] singleton]->_userID; } ++ (void)setUserData:(NSDictionary*)userData +{ + [FBSDKUserDataStore setUserDataAndHash:userData]; +} + ++ (void)setUserEmail:(nullable NSString *)email + firstName:(nullable NSString *)firstName + lastName:(nullable NSString *)lastName + phone:(nullable NSString *)phone + dateOfBirth:(nullable NSString *)dateOfBirth + gender:(nullable NSString *)gender + city:(nullable NSString *)city + state:(nullable NSString *)state + zip:(nullable NSString *)zip + country:(nullable NSString *)country +{ + [FBSDKUserDataStore setUserDataAndHash:email + firstName:firstName + lastName:lastName + phone:phone + dateOfBirth:dateOfBirth + gender:gender + city:city + state:state + zip:zip + country:country]; +} + ++ (NSString*)getUserData +{ + return [FBSDKUserDataStore getHashedUserData]; +} + ++ (void)clearUserData +{ + [FBSDKUserDataStore setUserDataAndHash:nil + firstName:nil + lastName:nil + phone:nil + dateOfBirth:nil + gender:nil + city:nil + state:nil + zip:nil + country:nil]; +} + + (void)updateUserProperties:(NSDictionary *)properties handler:(FBSDKGraphRequestHandler)handler { NSString *userID = [[self class] userID]; @@ -560,6 +756,35 @@ static NSString *g_overrideAppID = nil; [request startWithCompletionHandler:handler]; } +#if !TARGET_OS_TV ++ (void)augmentHybridWKWebView:(WKWebView *)webView { + // Ensure we can instantiate WebKit before trying this + Class WKWebViewClass = fbsdkdfl_WKWebViewClass(); + if (WKWebViewClass != nil && [webView isKindOfClass:WKWebViewClass]) { + Class WKUserScriptClass = fbsdkdfl_WKUserScriptClass(); + if (WKUserScriptClass != nil) { + WKUserContentController *controller = webView.configuration.userContentController; + FBSDKHybridAppEventsScriptMessageHandler *scriptHandler = [[FBSDKHybridAppEventsScriptMessageHandler alloc] init]; + [controller addScriptMessageHandler:scriptHandler name:FBSDKAppEventsWKWebViewMessagesHandlerKey]; + + NSString *js = [NSString stringWithFormat:@"window.fbmq_%@={'sendEvent': function(pixel_id,event_name,custom_data){var msg={\"%@\":pixel_id, \"%@\":event_name,\"%@\":custom_data};window.webkit.messageHandlers[\"%@\"].postMessage(msg);}, 'getProtocol':function(){return \"%@\";}}", + [[self singleton] appID], + FBSDKAppEventsWKWebViewMessagesPixelIDKey, + FBSDKAppEventsWKWebViewMessagesEventKey, + FBSDKAppEventsWKWebViewMessagesParamsKey, + FBSDKAppEventsWKWebViewMessagesHandlerKey, + FBSDKAPPEventsWKWebViewMessagesProtocolKey + ]; + + [controller addUserScript:[[WKUserScriptClass alloc] initWithSource:js injectionTime:WKUserScriptInjectionTimeAtDocumentStart forMainFrameOnly:NO]]; + } + } + else { + [FBSDKAppEventsUtility logAndNotify:@"You must call augmentHybridWKWebView with WebKit linked to your project and a WKWebView instance"]; + } +} +#endif + #pragma mark - Internal Methods + (void)logImplicitEvent:(NSString *)eventName @@ -624,7 +849,7 @@ static NSString *g_overrideAppID = nil; [self fetchServerConfiguration:^{ NSDictionary *params = [FBSDKAppEventsUtility activityParametersDictionaryForEvent:@"MOBILE_APP_INSTALL" implicitEventsOnly:NO - shouldAccessAdvertisingID:_serverConfiguration.isAdvertisingIDEnabled]; + shouldAccessAdvertisingID:self->_serverConfiguration.isAdvertisingIDEnabled]; NSString *path = [NSString stringWithFormat:@"%@/activities", appID]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:path parameters:params @@ -642,27 +867,38 @@ static NSString *g_overrideAppID = nil; }]; } +#if !TARGET_OS_TV +- (void)enableCodelessEvents { + if (_serverConfiguration.isCodelessEventsEnabled) { + if (!_eventBindingManager) { + _eventBindingManager = [[FBSDKEventBindingManager alloc] init]; + [_eventBindingManager start]; + } + + [_eventBindingManager updateBindings:[FBSDKEventBindingManager + parseArray:_serverConfiguration.eventBindings]]; + } +} +#endif + // app events can use a server configuration up to 24 hours old to minimize network traffic. - (void)fetchServerConfiguration:(void (^)(void))callback { - if (_serverConfiguration == nil) { - [FBSDKServerConfigurationManager loadServerConfigurationWithCompletionBlock:^(FBSDKServerConfiguration *serverConfiguration, NSError *error) { - _serverConfiguration = serverConfiguration; + [FBSDKServerConfigurationManager loadServerConfigurationWithCompletionBlock:^(FBSDKServerConfiguration *serverConfiguration, NSError *error) { + self->_serverConfiguration = serverConfiguration; - if (_serverConfiguration.implicitPurchaseLoggingEnabled) { - [FBSDKPaymentObserver startObservingTransactions]; - } else { - [FBSDKPaymentObserver stopObservingTransactions]; - } - if (callback) { - callback(); - } - }]; - return; - } - if (callback) { - callback(); - } + if (self->_serverConfiguration.implicitPurchaseLoggingEnabled) { + [FBSDKPaymentObserver startObservingTransactions]; + } else { + [FBSDKPaymentObserver stopObservingTransactions]; + } +#if !TARGET_OS_TV + [self enableCodelessEvents]; +#endif + if (callback) { + callback(); + } + }]; } - (void)instanceLogEvent:(NSString *)eventName @@ -819,7 +1055,7 @@ static NSString *g_overrideAppID = nil; [self fetchServerConfiguration:^(void) { NSString *receipt_data = [appEventsState extractReceiptData]; - NSString *encodedEvents = [appEventsState JSONStringForEvents:_serverConfiguration.implicitLoggingEnabled]; + NSString *encodedEvents = [appEventsState JSONStringForEvents:self->_serverConfiguration.implicitLoggingEnabled]; if (!encodedEvents) { [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorAppEvents logEntry:@"FBSDKAppEvents: Flushing skipped - no events after removing implicitly logged ones.\n"]; @@ -828,7 +1064,7 @@ static NSString *g_overrideAppID = nil; NSMutableDictionary *postParameters = [FBSDKAppEventsUtility activityParametersDictionaryForEvent:@"CUSTOM_APP_EVENTS" implicitEventsOnly:appEventsState.areAllEventsImplicit - shouldAccessAdvertisingID:_serverConfiguration.advertisingIDEnabled]; + shouldAccessAdvertisingID:self->_serverConfiguration.advertisingIDEnabled]; NSInteger length = [receipt_data length]; if (length > 0) { postParameters[@"receipt_data"] = receipt_data; @@ -861,6 +1097,7 @@ static NSString *g_overrideAppID = nil; prettyPrintedJsonEvents]; } + [FBSDKAppEventsUtility logAndNotify:[NSString stringWithFormat:@"param %@", postParameters]]; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:[NSString stringWithFormat:@"%@/activities", appEventsState.appID] parameters:postParameters tokenString:appEventsState.tokenString @@ -943,11 +1180,6 @@ static NSString *g_overrideAppID = nil; } } -- (void)appSettingsFetchStateResetTimerFired:(id)arg -{ - _serverConfiguration = nil; -} - - (void)applicationDidBecomeActive { [FBSDKAppEventsUtility ensureOnMainThread:NSStringFromSelector(_cmd) className:NSStringFromClass([self class])]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.h new file mode 100644 index 0000000..4bd2d01 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.h @@ -0,0 +1,63 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +#import "FBSDKAppLinkTarget.h" + +NS_ASSUME_NONNULL_BEGIN + +/*! The version of the App Link protocol that this library supports */ +FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersion; + +/*! + Contains App Link metadata relevant for navigation on this device + derived from the HTML at a given URL. + */ +@interface FBSDKAppLink : NSObject + +/*! + Creates a FBSDKAppLink with the given list of FBSDKAppLinkTargets and target URL. + + Generally, this will only be used by implementers of the FBSDKAppLinkResolving protocol, + as these implementers will produce App Link metadata for a given URL. + + @param sourceURL the URL from which this App Link is derived + @param targets an ordered list of FBSDKAppLinkTargets for this platform derived + from App Link metadata. + @param webURL the fallback web URL, if any, for the app link. + */ ++ (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL + targets:(NSArray *)targets + webURL:(nullable NSURL *)webURL; + +/*! The URL from which this FBSDKAppLink was derived */ +@property (nonatomic, strong, readonly) NSURL *sourceURL; + +/*! + The ordered list of targets applicable to this platform that will be used + for navigation. + */ +@property (nonatomic, copy, readonly) NSArray *targets; + +/*! The fallback web URL to use if no targets are installed on this device. */ +@property (nonatomic, strong, readonly, nullable) NSURL *webURL; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.m new file mode 100644 index 0000000..f3dfacd --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.m @@ -0,0 +1,70 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLink_Internal.h" + +NSString *const FBSDKAppLinkDataParameterName = @"al_applink_data"; +NSString *const FBSDKAppLinkTargetKeyName = @"target_url"; +NSString *const FBSDKAppLinkUserAgentKeyName = @"user_agent"; +NSString *const FBSDKAppLinkExtrasKeyName = @"extras"; +NSString *const FBSDKAppLinkRefererAppLink = @"referer_app_link"; +NSString *const FBSDKAppLinkRefererAppName = @"app_name"; +NSString *const FBSDKAppLinkRefererUrl = @"url"; +NSString *const FBSDKAppLinkVersionKeyName = @"version"; +NSString *const FBSDKAppLinkVersion = @"1.0"; + +@interface FBSDKAppLink () + +@property (nonatomic, strong, readwrite) NSURL *sourceURL; +@property (nonatomic, copy, readwrite) NSArray *targets; +@property (nonatomic, strong, readwrite) NSURL *webURL; + +@property (nonatomic, assign, readwrite, getter=isBackToReferrer) BOOL backToReferrer; + +@end + +@implementation FBSDKAppLink + ++ (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL + targets:(NSArray *)targets + webURL:(NSURL *)webURL + isBackToReferrer:(BOOL)isBackToReferrer { + FBSDKAppLink *link = [[self alloc] initWithIsBackToReferrer:isBackToReferrer]; + link.sourceURL = sourceURL; + link.targets = [targets copy]; + link.webURL = webURL; + return link; +} + ++ (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL + targets:(NSArray *)targets + webURL:(NSURL *)webURL { + return [self appLinkWithSourceURL:sourceURL + targets:targets + webURL:webURL + isBackToReferrer:NO]; +} + +- (FBSDKAppLink *)initWithIsBackToReferrer:(BOOL)backToReferrer { + if ((self = [super init])) { + _backToReferrer = backToReferrer; + } + return self; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.h new file mode 100644 index 0000000..8c99e42 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.h @@ -0,0 +1,137 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +#import "FBSDKAppLink.h" +#import "FBSDKAppLinkResolving.h" + +NS_ASSUME_NONNULL_BEGIN + +/*! + The result of calling navigate on a FBSDKAppLinkNavigation + */ +typedef NS_ENUM(NSInteger, FBSDKAppLinkNavigationType) { + /*! Indicates that the navigation failed and no app was opened */ + FBSDKAppLinkNavigationTypeFailure, + /*! Indicates that the navigation succeeded by opening the URL in the browser */ + FBSDKAppLinkNavigationTypeBrowser, + /*! Indicates that the navigation succeeded by opening the URL in an app on the device */ + FBSDKAppLinkNavigationTypeApp +}; + +/** + Describes the callback for appLinkFromURLInBackground. + @param navType the FBSDKAppLink representing the deferred App Link + @param error the error during the request, if any + + */ +typedef void (^FBSDKAppLinkNavigationHandler)(FBSDKAppLinkNavigationType navType, NSError * _Nullable error); + +/*! + Represents a pending request to navigate to an App Link. Most developers will + simply use navigateToURLInBackground: to open a URL, but developers can build + custom requests with additional navigation and app data attached to them by + creating FBSDKAppLinkNavigations themselves. + */ +NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") +@interface FBSDKAppLinkNavigation : NSObject + +/*! + The extras for the AppLinkNavigation. This will generally contain application-specific + data that should be passed along with the request, such as advertiser or affiliate IDs or + other such metadata relevant on this device. + */ +@property (nonatomic, copy, readonly) NSDictionary *extras; + +/*! + The al_applink_data for the AppLinkNavigation. This will generally contain data common to + navigation attempts such as back-links, user agents, and other information that may be used + in routing and handling an App Link request. + */ +@property (nonatomic, copy, readonly) NSDictionary *appLinkData; + +/*! The AppLink to navigate to */ +@property (nonatomic, strong, readonly) FBSDKAppLink *appLink; + +/*! Creates an AppLinkNavigation with the given link, extras, and App Link data */ ++ (instancetype)navigationWithAppLink:(FBSDKAppLink *)appLink + extras:(NSDictionary *)extras + appLinkData:(NSDictionary *)appLinkData; + +/*! + Creates an NSDictionary with the correct format for iOS callback URLs, + to be used as 'appLinkData' argument in the call to navigationWithAppLink:extras:appLinkData: + */ ++ (NSDictionary *> *)callbackAppLinkDataForAppWithName:(NSString *)appName + url:(NSString *)url; + +/*! Performs the navigation */ +- (FBSDKAppLinkNavigationType)navigate:(NSError *__autoreleasing *)error; + +/*! Returns a FBSDKAppLink for the given URL */ ++ (void)resolveAppLink:(NSURL *)destination handler:(FBSDKAppLinkFromURLHandler)handler; + +/*! Returns a FBSDKAppLink for the given URL using the given App Link resolution strategy */ ++ (void)resolveAppLink:(NSURL *)destination + resolver:(id)resolver + handler:(FBSDKAppLinkFromURLHandler)handler; + +/*! Navigates to a FBSDKAppLink and returns whether it opened in-app or in-browser */ ++ (FBSDKAppLinkNavigationType)navigateToAppLink:(FBSDKAppLink *)link error:(NSError *__autoreleasing *)error; + +/*! + Returns a FBSDKAppLinkNavigationType based on a FBSDKAppLink. + It's essentially a no-side-effect version of navigateToAppLink:error:, + allowing apps to determine flow based on the link type (e.g. open an + internal web view instead of going straight to the browser for regular links.) + */ ++ (FBSDKAppLinkNavigationType)navigationTypeForLink:(FBSDKAppLink *)link; + +/*! + Return navigation type for current instance. + No-side-effect version of navigate: + */ +- (FBSDKAppLinkNavigationType)navigationType; + +/*! Navigates to a URL (an asynchronous action) and returns a FBSDKNavigationType */ ++ (void)navigateToURL:(NSURL *)destination handler:(FBSDKAppLinkNavigationHandler)handler; + +/*! + Navigates to a URL (an asynchronous action) using the given App Link resolution + strategy and returns a FBSDKNavigationType + */ ++ (void)navigateToURL:(NSURL *)destination + resolver:(id)resolver + handler:(FBSDKAppLinkNavigationHandler)handler; + +/*! + Gets the default resolver to be used for App Link resolution. If the developer has not set one explicitly, + a basic, built-in resolver will be used. + */ ++ (id)defaultResolver; + +/*! + Sets the default resolver to be used for App Link resolution. Setting this to nil will revert the + default resolver to the basic, built-in resolver provided by FBSDK. + */ ++ (void)setDefaultResolver:(id)resolver; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.m new file mode 100644 index 0000000..318e092 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.m @@ -0,0 +1,302 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLinkNavigation.h" + +#import "FBSDKAppLinkTarget.h" +#import "FBSDKAppLink_Internal.h" +#import "FBSDKMeasurementEvent_Internal.h" +#import "FBSDKSettings.h" +#import "FBSDKWebViewAppLinkResolver.h" + +FOUNDATION_EXPORT NSString *const FBSDKAppLinkDataParameterName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkTargetKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkUserAgentKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkExtrasKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersionKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkRefererAppLink; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkRefererAppName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkRefererUrl; + +static id defaultResolver; + +@interface FBSDKAppLinkNavigation () + +@property (nonatomic, copy, readwrite) NSDictionary *extras; +@property (nonatomic, copy, readwrite) NSDictionary *appLinkData; +@property (nonatomic, strong, readwrite) FBSDKAppLink *appLink; + +@end + +@implementation FBSDKAppLinkNavigation + ++ (instancetype)navigationWithAppLink:(FBSDKAppLink *)appLink + extras:(NSDictionary *)extras + appLinkData:(NSDictionary *)appLinkData { + FBSDKAppLinkNavigation *navigation = [[self alloc] init]; + navigation.appLink = appLink; + navigation.extras = extras; + navigation.appLinkData = appLinkData; + return navigation; +} + ++ (NSDictionary *> *)callbackAppLinkDataForAppWithName:(NSString *)appName + url:(NSString *)url { + return @{FBSDKAppLinkRefererAppLink: @{FBSDKAppLinkRefererAppName: appName, FBSDKAppLinkRefererUrl: url}}; +} + +- (NSString *)stringByEscapingQueryString:(NSString *)string { +#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0 || __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9 + return [string stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; +#else + return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, + (CFStringRef)string, + NULL, + (CFStringRef) @":/?#[]@!$&'()*+,;=", + kCFStringEncodingUTF8)); +#endif +} + +- (NSURL *)appLinkURLWithTargetURL:(NSURL *)targetUrl error:(NSError **)error { + NSMutableDictionary *appLinkData = + [NSMutableDictionary dictionaryWithDictionary:self.appLinkData ?: @{}]; + + // Add applink protocol data + if (!appLinkData[FBSDKAppLinkUserAgentKeyName]) { + appLinkData[FBSDKAppLinkUserAgentKeyName] = [NSString stringWithFormat:@"FBSDK %@", FBSDKSettings.sdkVersion]; + } + if (!appLinkData[FBSDKAppLinkVersionKeyName]) { + appLinkData[FBSDKAppLinkVersionKeyName] = FBSDKAppLinkVersion; + } + if (self.appLink.sourceURL.absoluteString) { + appLinkData[FBSDKAppLinkTargetKeyName] = self.appLink.sourceURL.absoluteString; + } + appLinkData[FBSDKAppLinkExtrasKeyName] = self.extras ?: @{}; + + // JSON-ify the applink data + NSError *jsonError = nil; + NSData *jsonBlob = [NSJSONSerialization dataWithJSONObject:appLinkData options:0 error:&jsonError]; + if (!jsonError) { + NSString *jsonString = [[NSString alloc] initWithData:jsonBlob encoding:NSUTF8StringEncoding]; + NSString *encoded = [self stringByEscapingQueryString:jsonString]; + + NSString *endUrlString = [NSString stringWithFormat:@"%@%@%@=%@", + [targetUrl absoluteString], + targetUrl.query ? @"&" : @"?", + FBSDKAppLinkDataParameterName, + encoded]; + + return [NSURL URLWithString:endUrlString]; + } else { + if (error) { + *error = jsonError; + } + + // If there was an error encoding the app link data, fail hard. + return nil; + } +} + +- (FBSDKAppLinkNavigationType)navigate:(NSError **)error { + NSURL *openedURL = nil; + NSError *encodingError = nil; + FBSDKAppLinkNavigationType retType = FBSDKAppLinkNavigationTypeFailure; + + // Find the first eligible/launchable target in the FBSDKAppLink. + for (FBSDKAppLinkTarget *target in self.appLink.targets) { + NSURL *appLinkAppURL = [self appLinkURLWithTargetURL:target.URL error:&encodingError]; + if (encodingError || !appLinkAppURL) { + if (error) { + *error = encodingError; + } + } else if ([[UIApplication sharedApplication] openURL:appLinkAppURL]) { + retType = FBSDKAppLinkNavigationTypeApp; + openedURL = appLinkAppURL; + break; + } + } + + if (!openedURL && self.appLink.webURL) { + // Fall back to opening the url in the browser if available. + NSURL *appLinkBrowserURL = [self appLinkURLWithTargetURL:self.appLink.webURL error:&encodingError]; + if (encodingError || !appLinkBrowserURL) { + // If there was an error encoding the app link data, fail hard. + if (error) { + *error = encodingError; + } + } else if ([[UIApplication sharedApplication] openURL:appLinkBrowserURL]) { + // This was a browser navigation. + retType = FBSDKAppLinkNavigationTypeBrowser; + openedURL = appLinkBrowserURL; + } + } + + [self postAppLinkNavigateEventNotificationWithTargetURL:openedURL + error:error ? *error : nil + type:retType]; + return retType; +} + +- (void)postAppLinkNavigateEventNotificationWithTargetURL:(NSURL *)outputURL error:(NSError *)error type:(FBSDKAppLinkNavigationType)type { + NSString *const EVENT_YES_VAL = @"1"; + NSString *const EVENT_NO_VAL = @"0"; + NSMutableDictionary *logData = + [[NSMutableDictionary alloc] init]; + + NSString *outputURLScheme = [outputURL scheme]; + NSString *outputURLString = [outputURL absoluteString]; + if (outputURLScheme) { + logData[@"outputURLScheme"] = outputURLScheme; + } + if (outputURLString) { + logData[@"outputURL"] = outputURLString; + } + + NSString *sourceURLString = [self.appLink.sourceURL absoluteString]; + NSString *sourceURLHost = [self.appLink.sourceURL host]; + NSString *sourceURLScheme = [self.appLink.sourceURL scheme]; + if (sourceURLString) { + logData[@"sourceURL"] = sourceURLString; + } + if (sourceURLHost) { + logData[@"sourceHost"] = sourceURLHost; + } + if (sourceURLScheme) { + logData[@"sourceScheme"] = sourceURLScheme; + } + if ([error localizedDescription]) { + logData[@"error"] = [error localizedDescription]; + } + NSString *success = nil; //no + NSString *linkType = nil; // unknown; + switch (type) { + case FBSDKAppLinkNavigationTypeFailure: + success = EVENT_NO_VAL; + linkType = @"fail"; + break; + case FBSDKAppLinkNavigationTypeBrowser: + success = EVENT_YES_VAL; + linkType = @"web"; + break; + case FBSDKAppLinkNavigationTypeApp: + success = EVENT_YES_VAL; + linkType = @"app"; + break; + default: + break; + } + if (success) { + logData[@"success"] = success; + } + if (linkType) { + logData[@"type"] = linkType; + } + + if ([self.appLink isBackToReferrer]) { + [FBSDKMeasurementEvent postNotificationForEventName:FBSDKAppLinkNavigateBackToReferrerEventName args:logData]; + } else { + [FBSDKMeasurementEvent postNotificationForEventName:FBSDKAppLinkNavigateOutEventName args:logData]; + } +} + ++ (void)resolveAppLink:(NSURL *)destination + resolver:(id)resolver + handler:(FBSDKAppLinkFromURLHandler)handler { + [resolver appLinkFromURL:destination handler:handler]; +} + ++ (void)resolveAppLink:(NSURL *)destination handler:(FBSDKAppLinkFromURLHandler)handler { + [self resolveAppLink:destination resolver:[self defaultResolver] handler:handler]; +} + ++ (void)navigateToURL:(NSURL *)destination handler:(FBSDKAppLinkNavigationHandler)handler { + [self navigateToURL:destination resolver:[self defaultResolver] handler:handler]; +} + ++ (void)navigateToURL:(NSURL *)destination + resolver:(id)resolver + handler:(FBSDKAppLinkNavigationHandler)handler { + + dispatch_async(dispatch_get_main_queue(), ^{ + [self resolveAppLink:destination + resolver:resolver + handler:^(FBSDKAppLink * _Nullable appLink, NSError * _Nullable error) { + if (error) { + handler(FBSDKAppLinkNavigationTypeFailure, error); + return; + } + + NSError *navigateError = nil; + FBSDKAppLinkNavigationType result = [self navigateToAppLink:appLink error:&navigateError]; + handler(result, navigateError); + }]; + }); +} + ++ (FBSDKAppLinkNavigationType)navigateToAppLink:(FBSDKAppLink *)link error:(NSError **)error { + return [[FBSDKAppLinkNavigation navigationWithAppLink:link + extras:@{} + appLinkData:@{}] navigate:error]; +} + ++ (FBSDKAppLinkNavigationType)navigationTypeForLink:(FBSDKAppLink *)link { + return [[self navigationWithAppLink:link extras:@{} appLinkData:@{}] navigationType]; +} + +- (FBSDKAppLinkNavigationType)navigationType { + FBSDKAppLinkTarget *eligibleTarget = nil; + for (FBSDKAppLinkTarget *target in self.appLink.targets) { + if ([[UIApplication sharedApplication] canOpenURL:target.URL]) { + eligibleTarget = target; + break; + } + } + + if (eligibleTarget != nil) { + NSURL *appLinkURL = [self appLinkURLWithTargetURL:eligibleTarget.URL error:nil]; + if (appLinkURL != nil) { + return FBSDKAppLinkNavigationTypeApp; + } else { + return FBSDKAppLinkNavigationTypeFailure; + } + } + + if (self.appLink.webURL != nil) { + NSURL *appLinkURL = [self appLinkURLWithTargetURL:eligibleTarget.URL error:nil]; + if (appLinkURL != nil) { + return FBSDKAppLinkNavigationTypeBrowser; + } else { + return FBSDKAppLinkNavigationTypeFailure; + } + } + + return FBSDKAppLinkNavigationTypeFailure; +} + ++ (id)defaultResolver { + if (defaultResolver) { + return defaultResolver; + } + return [FBSDKWebViewAppLinkResolver sharedInstance]; +} + ++ (void)setDefaultResolver:(id)resolver { + defaultResolver = resolver; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.h index c97b6b3..39b5dc0 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.h @@ -18,12 +18,15 @@ #import +#import "FBSDKAppLinkResolving.h" + @class BFTask; + // Check if Bolts.framework is available for import #if __has_include() // Import it if it's available -# import +#import #else // Otherwise - redeclare BFAppLinkResolving protocol to resolve the problem of missing symbols // Please note: Bolts.framework is still required for AppLink resolving to work, @@ -34,15 +37,17 @@ App Links that may include pre-fetching, caching, or querying for App Link data from an index provided by a service provider. */ +DEPRECATED_MSG_ATTRIBUTE("Use `FBSDKAppLinkResolving`") @protocol BFAppLinkResolving /** Asynchronously resolves App Link data for a given URL. - - Parameter url: The URL to resolve into an App Link. - - Returns: A BFTask that will return a BFAppLink for the given URL. + @param url The URL to resolve into an App Link. + @return A BFTask that will return a BFAppLink for the given URL. */ -- (BFTask *)appLinkFromURLInBackground:(NSURL *)url; +- (BFTask *)appLinkFromURLInBackground:(NSURL *)url +DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURL:handler:`"); @end @@ -59,20 +64,40 @@ Usage of this type requires a client token. See `[FBSDKSettings setClientToken:]` and linking Bolts.framework */ -@interface FBSDKAppLinkResolver : NSObject +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +@interface FBSDKAppLinkResolver : NSObject +#pragma clang diagnostic pop /** Asynchronously resolves App Link data for multiple URLs. - - Parameter urls: An array of NSURLs to resolve into App Links. - - Returns: A BFTask that will return dictionary mapping input NSURLs to their + @param urls An array of NSURLs to resolve into App Links. + @return A BFTask that will return dictionary mapping input NSURLs to their corresponding BFAppLink. - - You should set the client token before making this call. See `[FBSDKSettings setClientToken:]` */ -- (BFTask *)appLinksFromURLsInBackground:(NSArray *)urls; +- (BFTask *)appLinksFromURLsInBackground:(NSArray *)urls +DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURLs:handler:`"); + +/** + Asynchronously resolves App Link data for a given URL. + + @param url The URL to resolve into an App Link. + @return A BFTask that will return a BFAppLink for the given URL. + */ +- (BFTask *)appLinkFromURLInBackground:(NSURL *)url +DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURL:handler:`"); + +/** + Asynchronously resolves App Link data for a given array of URLs. + + @param urls The URLs to resolve into an App Link. + @param handler The completion block that will return an App Link for the given URL. + */ +- (void)appLinksFromURLs:(NSArray *)urls handler:(FBSDKAppLinksFromURLArrayHandler)handler +NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension"); /** Allocates and initializes a new instance of FBSDKAppLinkResolver. diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.m index 2dec493..0f1f624 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.m @@ -26,6 +26,7 @@ #import #import "FBSDKAccessToken.h" +#import "FBSDKAppLink.h" #import "FBSDKGraphRequest+Internal.h" #import "FBSDKGraphRequestConnection.h" #import "FBSDKInternalUtility.h" @@ -45,7 +46,8 @@ static NSString *const kAppLinksKey = @"app_links"; @interface FBSDKAppLinkResolver () -@property (nonatomic, strong) NSMutableDictionary *cachedLinks; +@property (nonatomic, strong) NSMutableDictionary *cachedBFAppLinks; +@property (nonatomic, strong) NSMutableDictionary *cachedFBSDKAppLinks; @property (nonatomic, assign) UIUserInterfaceIdiom userInterfaceIdiom; @end @@ -67,29 +69,133 @@ static Class g_BFTaskClass; } } -- (id)initWithUserInterfaceIdiom:(UIUserInterfaceIdiom)userInterfaceIdiom +- (instancetype)initWithUserInterfaceIdiom:(UIUserInterfaceIdiom)userInterfaceIdiom { if (self = [super init]) { - self.cachedLinks = [NSMutableDictionary dictionary]; + self.cachedBFAppLinks = [NSMutableDictionary dictionary]; + self.cachedFBSDKAppLinks = [NSMutableDictionary dictionary]; self.userInterfaceIdiom = userInterfaceIdiom; } return self; } +- (void)appLinkFromURL:(NSURL *)url handler:(FBSDKAppLinkFromURLHandler)handler +{ + [self appLinksFromURLs:@[url] handler:^(NSDictionary *urls, NSError * _Nullable error) { + handler(urls[url], error); + }]; +} + +- (void)appLinksFromURLs:(NSArray *)urls handler:(FBSDKAppLinksFromURLArrayHandler)handler +{ + if (![FBSDKSettings clientToken] && ![FBSDKAccessToken currentAccessToken]) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"A user access token or clientToken is required to use FBAppLinkResolver"]; + } + NSMutableDictionary *appLinks = [NSMutableDictionary dictionary]; + NSMutableArray *toFind = [NSMutableArray array]; + NSMutableArray *toFindStrings = [NSMutableArray array]; + + @synchronized (self.cachedFBSDKAppLinks) { + for (NSURL *url in urls) { + if (self.cachedFBSDKAppLinks[url]) { + appLinks[url] = self.cachedFBSDKAppLinks[url]; + } else { + [toFind addObject:url]; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + NSString *toFindString = [url.absoluteString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; +#pragma clang diagnostic pop + if (toFindString) { + [toFindStrings addObject:toFindString]; + } + } + } + } + if (toFind.count == 0) { + // All of the URLs have already been found. + handler(_cachedFBSDKAppLinks, nil); + } + NSMutableArray *fields = [NSMutableArray arrayWithObject:kIOSKey]; + + NSString *idiomSpecificField = nil; + + switch (self.userInterfaceIdiom) { + case UIUserInterfaceIdiomPad: + idiomSpecificField = kIPadKey; + break; + case UIUserInterfaceIdiomPhone: + idiomSpecificField = kIPhoneKey; + break; + default: + break; + } + if (idiomSpecificField) { + [fields addObject:idiomSpecificField]; + } + NSString *path = [NSString stringWithFormat:@"?fields=%@.fields(%@)&ids=%@", + kAppLinksKey, + [fields componentsJoinedByString:@","], + [toFindStrings componentsJoinedByString:@","]]; + FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:path + parameters:nil + flags:FBSDKGraphRequestFlagDoNotInvalidateTokenOnError | FBSDKGraphRequestFlagDisableErrorRecovery]; + + [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { + if (error) { + handler(@{}, error); + return; + } + for (NSURL *url in toFind) { + id nestedObject = [[result objectForKey:url.absoluteString] objectForKey:kAppLinksKey]; + NSMutableArray *rawTargets = [NSMutableArray array]; + if (idiomSpecificField) { + [rawTargets addObjectsFromArray:[nestedObject objectForKey:idiomSpecificField]]; + } + [rawTargets addObjectsFromArray:[nestedObject objectForKey:kIOSKey]]; + + NSMutableArray *targets = [NSMutableArray arrayWithCapacity:rawTargets.count]; + for (id rawTarget in rawTargets) { + [targets addObject:[FBSDKAppLinkTarget appLinkTargetWithURL:[NSURL URLWithString:[rawTarget objectForKey:kURLKey]] + appStoreId:[rawTarget objectForKey:kIOSAppStoreIdKey] + appName:[rawTarget objectForKey:kIOSAppNameKey]]]; + } + + id webTarget = [nestedObject objectForKey:kWebKey]; + NSString *webFallbackString = [webTarget objectForKey:kURLKey]; + NSURL *fallbackUrl = webFallbackString ? [NSURL URLWithString:webFallbackString] : url; + + NSNumber *shouldFallback = [webTarget objectForKey:kShouldFallbackKey]; + if (shouldFallback && !shouldFallback.boolValue) { + fallbackUrl = nil; + } + + FBSDKAppLink *link = [FBSDKAppLink appLinkWithSourceURL:url + targets:targets + webURL:fallbackUrl]; + @synchronized (self.cachedFBSDKAppLinks) { + self.cachedFBSDKAppLinks[url] = link; + } + appLinks[url] = link; + } + handler(appLinks, nil); + }]; +} + - (BFTask *)appLinksFromURLsInBackground:(NSArray *)urls { if (![FBSDKSettings clientToken] && ![FBSDKAccessToken currentAccessToken]) { [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors logEntry:@"A user access token or clientToken is required to use FBAppLinkResolver"]; } - NSMutableDictionary *appLinks = [NSMutableDictionary dictionary]; - NSMutableArray *toFind = [NSMutableArray array]; - NSMutableArray *toFindStrings = [NSMutableArray array]; + NSMutableDictionary *appLinks = [NSMutableDictionary dictionary]; + NSMutableArray *toFind = [NSMutableArray array]; + NSMutableArray *toFindStrings = [NSMutableArray array]; - @synchronized (self.cachedLinks) { + @synchronized (self.cachedBFAppLinks) { for (NSURL *url in urls) { - if (self.cachedLinks[url]) { - appLinks[url] = self.cachedLinks[url]; + if (self.cachedBFAppLinks[url]) { + appLinks[url] = self.cachedBFAppLinks[url]; } else { [toFind addObject:url]; #pragma clang diagnostic push @@ -103,7 +209,7 @@ static Class g_BFTaskClass; // All of the URLs have already been found. return [g_BFTaskClass taskWithResult:appLinks]; } - NSMutableArray *fields = [NSMutableArray arrayWithObject:kIOSKey]; + NSMutableArray *fields = [NSMutableArray arrayWithObject:kIOSKey]; NSString *idiomSpecificField = nil; @@ -141,7 +247,7 @@ static Class g_BFTaskClass; } [rawTargets addObjectsFromArray:[nestedObject objectForKey:kIOSKey]]; - NSMutableArray *targets = [NSMutableArray arrayWithCapacity:rawTargets.count]; + NSMutableArray *targets = [NSMutableArray arrayWithCapacity:rawTargets.count]; for (id rawTarget in rawTargets) { [targets addObject:[g_BFAppLinkTargetClass appLinkTargetWithURL:[NSURL URLWithString:[rawTarget objectForKey:kURLKey]] appStoreId:[rawTarget objectForKey:kIOSAppStoreIdKey] @@ -160,8 +266,8 @@ static Class g_BFTaskClass; BFAppLink *link = [g_BFAppLinkClass appLinkWithSourceURL:url targets:targets webURL:fallbackUrl]; - @synchronized (self.cachedLinks) { - self.cachedLinks[url] = link; + @synchronized (self.cachedBFAppLinks) { + self.cachedBFAppLinks[url] = link; } appLinks[url] = link; } @@ -170,6 +276,8 @@ static Class g_BFTaskClass; return tcs.task; } +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" - (BFTask *)appLinkFromURLInBackground:(NSURL *)url { // Implement in terms of appLinksFromURLsInBackground @@ -178,6 +286,7 @@ static Class g_BFTaskClass; return task.result[url]; }]; } +#pragma clang diagnostic pop + (id)resolver { diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolving.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolving.h new file mode 100644 index 0000000..fac2425 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolving.h @@ -0,0 +1,60 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +NS_ASSUME_NONNULL_BEGIN + +@class FBSDKAppLink; + +/** + Describes the callback for appLinkFromURLInBackground. + @param appLink the FBSDKAppLink representing the deferred App Link + @param error the error during the request, if any + + */ +typedef void (^FBSDKAppLinkFromURLHandler)(FBSDKAppLink * _Nullable appLink, NSError * _Nullable error); + + +/** + Describes the callback for appLinkFromURLInBackground. + @param appLinks the FBSDKAppLinks representing the deferred App Links + @param error the error during the request, if any + */ +typedef void (^FBSDKAppLinksFromURLArrayHandler)(NSDictionary * appLinks, + NSError * _Nullable error); + +/*! + Implement this protocol to provide an alternate strategy for resolving + App Links that may include pre-fetching, caching, or querying for App Link + data from an index provided by a service provider. + */ +@protocol FBSDKAppLinkResolving + +/** + Asynchronously resolves App Link data for a given URL. + + @param url The URL to resolve into an App Link. + @param handler The completion block that will return an App Link for the given URL. + */ +- (void)appLinkFromURL:(NSURL *)url handler:(FBSDKAppLinkFromURLHandler)handler +NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension"); + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h new file mode 100644 index 0000000..3f587a6 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h @@ -0,0 +1,100 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 +#import + +#import "FBSDKAppLinkReturnToRefererView.h" + +NS_ASSUME_NONNULL_BEGIN + +@class FBSDKAppLink; +@class FBSDKAppLinkReturnToRefererController; + +/*! + Protocol that a class can implement in order to be notified when the user has navigated back + to the referer of an App Link. + */ +@protocol FBSDKAppLinkReturnToRefererControllerDelegate + +@optional + +/*! Called when the user has tapped to navigate, but before the navigation has been performed. */ +- (void)returnToRefererController:(FBSDKAppLinkReturnToRefererController *)controller + willNavigateToAppLink:(FBSDKAppLink *)appLink; + +/*! Called after the navigation has been attempted, with an indication of whether the referer + app link was successfully opened. */ +- (void)returnToRefererController:(FBSDKAppLinkReturnToRefererController *)controller + didNavigateToAppLink:(FBSDKAppLink *)url + type:(FBSDKAppLinkNavigationType)type; + +@end + +/*! + A controller class that implements default behavior for a FBSDKAppLinkReturnToRefererView, including + the ability to display the view above the navigation bar for navigation-based apps. + */ +NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") +@interface FBSDKAppLinkReturnToRefererController : NSObject + +/*! + The delegate that will be notified when the user navigates back to the referer. + */ +@property (nonatomic, weak, nullable) id delegate; + +/*! + The FBSDKAppLinkReturnToRefererView this controller is controlling. + */ +@property (nonatomic, strong) FBSDKAppLinkReturnToRefererView *view; + +/*! + Initializes a controller suitable for controlling a FBSDKAppLinkReturnToRefererView that is to be displayed + contained within another UIView (i.e., not displayed above the navigation bar). + */ +- (instancetype)init NS_DESIGNATED_INITIALIZER; + +/*! + Initializes a controller suitable for controlling a FBSDKAppLinkReturnToRefererView that is to be displayed + displayed above the navigation bar. + */ +- (instancetype)initForDisplayAboveNavController:(UINavigationController *)navController; + +/*! + Removes the view entirely from the navigation controller it is currently displayed in. + */ +- (void)removeFromNavController; + +/*! + Shows the FBSDKAppLinkReturnToRefererView with the specified referer information. If nil or missing data, + the view will not be displayed. */ +- (void)showViewForRefererAppLink:(FBSDKAppLink *)refererAppLink; + +/*! + Shows the FBSDKAppLinkReturnToRefererView with referer information extracted from the specified URL. + If nil or missing referer App Link data, the view will not be displayed. */ +- (void)showViewForRefererURL:(NSURL *)url; + +/*! + Closes the view, possibly animating it. + */ +- (void)closeViewAnimated:(BOOL)animated; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.m new file mode 100644 index 0000000..5a11c25 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.m @@ -0,0 +1,238 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLinkReturnToRefererController.h" + +#import "FBSDKAppLink.h" +#import "FBSDKAppLinkReturnToRefererView_Internal.h" +#import "FBSDKURL_Internal.h" + +static const CFTimeInterval kFBSDKViewAnimationDuration = 0.25f; + +@implementation FBSDKAppLinkReturnToRefererController { + UINavigationController *_navigationController; + FBSDKAppLinkReturnToRefererView *_view; +} + +#pragma mark - Object lifecycle + +- (instancetype)init { + return [super init]; +} + +- (instancetype)initForDisplayAboveNavController:(UINavigationController *)navController { + self = [self init]; + if (self) { + _navigationController = navController; + + if (_navigationController != nil) { + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + [nc addObserver:self + selector:@selector(statusBarFrameWillChange:) + name:UIApplicationWillChangeStatusBarFrameNotification + object:nil]; + [nc addObserver:self + selector:@selector(statusBarFrameDidChange:) + name:UIApplicationDidChangeStatusBarFrameNotification + object:nil]; + [nc addObserver:self + selector:@selector(orientationDidChange:) + name:UIDeviceOrientationDidChangeNotification + object:nil]; + } + } + return self; +} + +- (void)dealloc { + _view.delegate = nil; + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} + +#pragma mark - Public API + +- (FBSDKAppLinkReturnToRefererView *)view { + if (!_view) { + self.view = [[FBSDKAppLinkReturnToRefererView alloc] initWithFrame:CGRectZero]; + if (_navigationController) { + [_navigationController.view addSubview:_view]; + } + } + return _view; +} + +- (void)setView:(FBSDKAppLinkReturnToRefererView *)view { + if (_view != view) { + _view.delegate = nil; + } + + _view = view; + _view.delegate = self; + + if (_navigationController) { + _view.includeStatusBarInSize = FBSDKIncludeStatusBarInSizeAlways; + } +} + +- (void)showViewForRefererAppLink:(FBSDKAppLink *)refererAppLink { + self.view.refererAppLink = refererAppLink; + + [_view sizeToFit]; + + if (_navigationController) { + if (!_view.closed) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self moveNavigationBar]; + }); + } + } +} + +- (void)showViewForRefererURL:(NSURL *)url { + FBSDKAppLink *appLink = [FBSDKURL URLForRenderBackToReferrerBarURL:url].appLinkReferer; + [self showViewForRefererAppLink:appLink]; +} + +- (void)removeFromNavController { + if (_navigationController) { + [_view removeFromSuperview]; + _navigationController = nil; + } +} + +#pragma mark - FBSDKAppLinkReturnToRefererViewDelegate + +- (void)returnToRefererViewDidTapInsideCloseButton:(FBSDKAppLinkReturnToRefererView *)view { + [self closeViewAnimated:YES explicitlyClosed:YES]; +} + +- (void)returnToRefererViewDidTapInsideLink:(FBSDKAppLinkReturnToRefererView *)view + link:(FBSDKAppLink *)link { + [self openRefererAppLink:link]; + [self closeViewAnimated:NO explicitlyClosed:NO]; +} + +#pragma mark - Private + +- (void)statusBarFrameWillChange:(NSNotification *)notification { + NSValue *rectValue = [[notification userInfo] valueForKey:UIApplicationStatusBarFrameUserInfoKey]; + CGRect newFrame; + [rectValue getValue:&newFrame]; + + if (_navigationController && !_view.closed) { + if (CGRectGetHeight(newFrame) == 40) { + UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState; + [UIView animateWithDuration:kFBSDKViewAnimationDuration delay:0.0 options:options animations:^{ + self->_view.frame = CGRectMake(0.0, 0.0, CGRectGetWidth(self->_view.bounds), 0.0); + } completion:nil]; + } + } +} + +- (void)statusBarFrameDidChange:(NSNotification *)notification { + NSValue *rectValue = [[notification userInfo] valueForKey:UIApplicationStatusBarFrameUserInfoKey]; + CGRect newFrame; + [rectValue getValue:&newFrame]; + + if (_navigationController && !_view.closed) { + if (CGRectGetHeight(newFrame) == 40) { + UIViewAnimationOptions options = UIViewAnimationOptionBeginFromCurrentState; + [UIView animateWithDuration:kFBSDKViewAnimationDuration delay:0.0 options:options animations:^{ + [self->_view sizeToFit]; + [self moveNavigationBar]; + } completion:nil]; + } + } +} + +- (void)orientationDidChange:(NSNotificationCenter *)notification { + if (_navigationController && !_view.closed && CGRectGetHeight(_view.bounds) > 0) { + dispatch_async(dispatch_get_main_queue(), ^{ + [self moveNavigationBar]; + }); + } +} + +- (void)moveNavigationBar { + if (_view.closed || !_view.refererAppLink) { + return; + } + + [self updateNavigationBarY:CGRectGetHeight(_view.bounds)]; +} + +- (void)updateNavigationBarY:(CGFloat)y { + UINavigationBar *navigationBar = _navigationController.navigationBar; + CGRect navigationBarFrame = navigationBar.frame; + CGFloat oldContainerViewY = CGRectGetMaxY(navigationBarFrame); + navigationBarFrame.origin.y = y; + navigationBar.frame = navigationBarFrame; + + CGFloat dy = CGRectGetMaxY(navigationBarFrame) - oldContainerViewY; + UIView *containerView = _navigationController.visibleViewController.view.superview; + containerView.frame = UIEdgeInsetsInsetRect(containerView.frame, UIEdgeInsetsMake(dy, 0.0, 0.0, 0.0)); +} + +- (void)closeViewAnimated:(BOOL)animated { + [self closeViewAnimated:animated explicitlyClosed:YES]; +} + +- (void)closeViewAnimated:(BOOL)animated explicitlyClosed:(BOOL)explicitlyClosed { + void (^closer)(void) = ^{ + if (self->_navigationController) { + [self updateNavigationBarY:self->_view.statusBarHeight]; + } + + CGRect frame = self->_view.frame; + frame.size.height = 0.0; + self->_view.frame = frame; + }; + + if (animated) { + [UIView animateWithDuration:kFBSDKViewAnimationDuration animations:^{ + closer(); + } completion:^(BOOL finished) { + if (explicitlyClosed) { + self->_view.closed = YES; + } + }]; + } else { + closer(); + if (explicitlyClosed) { + self->_view.closed = YES; + } + } +} + +- (void)openRefererAppLink:(FBSDKAppLink *)refererAppLink { + if (refererAppLink) { + id delegate = _delegate; + if ([delegate respondsToSelector:@selector(returnToRefererController:willNavigateToAppLink:)]) { + [delegate returnToRefererController:self willNavigateToAppLink:refererAppLink]; + } + + NSError *error = nil; + FBSDKAppLinkNavigationType type = [FBSDKAppLinkNavigation navigateToAppLink:refererAppLink error:&error]; + + if ([delegate respondsToSelector:@selector(returnToRefererController:didNavigateToAppLink:type:)]) { + [delegate returnToRefererController:self didNavigateToAppLink:refererAppLink type:type]; + } + } +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h new file mode 100644 index 0000000..c5378b7 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h @@ -0,0 +1,90 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 +#import + +#import "FBSDKAppLinkNavigation.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef NS_ENUM(NSUInteger, FBSDKIncludeStatusBarInSize) { + FBSDKIncludeStatusBarInSizeNever, + FBSDKIncludeStatusBarInSizeIOS7AndLater, + FBSDKIncludeStatusBarInSizeAlways, +}; + +@class FBSDKAppLinkReturnToRefererView; +@class FBSDKURL; + +/*! + Protocol that a class can implement in order to be notified when the user has navigated back + to the referer of an App Link. + */ +@protocol FBSDKAppLinkReturnToRefererViewDelegate + +/*! + Called when the user has tapped inside the close button. + */ +- (void)returnToRefererViewDidTapInsideCloseButton:(FBSDKAppLinkReturnToRefererView *)view; + +/*! + Called when the user has tapped inside the App Link portion of the view. + */ +- (void)returnToRefererViewDidTapInsideLink:(FBSDKAppLinkReturnToRefererView *)view + link:(FBSDKAppLink *)link; + +@end + +/*! + Provides a UIView that displays a button allowing users to navigate back to the + application that launched the App Link currently being handled, if the App Link + contained referer data. The user can also close the view by clicking a close button + rather than navigating away. If the view is provided an App Link that does not contain + referer data, it will have zero size and no UI will be displayed. + */ +NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") +@interface FBSDKAppLinkReturnToRefererView : UIView + +/*! + The delegate that will be notified when the user navigates back to the referer. + */ +@property (nonatomic, weak, nullable) id delegate; + +/*! + The color of the text label and close button. + */ +@property (nonatomic, strong) UIColor *textColor; + +@property (nonatomic, strong) FBSDKAppLink *refererAppLink; + +/*! + Indicates whether to extend the size of the view to include the current status bar + size, for use in scenarios where the view might extend under the status bar on iOS 7 and + above; this property has no effect on earlier versions of iOS. + */ +@property (nonatomic, assign) FBSDKIncludeStatusBarInSize includeStatusBarInSize; + +/*! + Indicates whether the user has closed the view by clicking the close button. + */ +@property (nonatomic, assign) BOOL closed; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.m new file mode 100644 index 0000000..7537c60 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.m @@ -0,0 +1,275 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLinkReturnToRefererView.h" + +#import "FBSDKAppLink.h" +#import "FBSDKAppLinkTarget.h" + +static const CGFloat FBSDKMarginX = 8.5f; +static const CGFloat FBSDKMarginY = 8.5f; + +static NSString *const FBSDKRefererAppLink = @"referer_app_link"; +static NSString *const FBSDKRefererAppName = @"app_name"; +static NSString *const FBSDKRefererUrl = @"url"; +static const CGFloat FBSDKCloseButtonWidth = 12.0; +static const CGFloat FBSDKCloseButtonHeight = 12.0; + +@interface FBSDKAppLinkReturnToRefererView () + +@property (nonatomic, strong) UILabel *labelView; +@property (nonatomic, strong) UIButton *closeButton; +@property (nonatomic, strong) UITapGestureRecognizer *insideTapGestureRecognizer; + +@end + +@implementation FBSDKAppLinkReturnToRefererView { + BOOL _explicitlyHidden; +} + +#pragma mark - Initialization + +- (instancetype)initWithFrame:(CGRect)frame { + self = [super initWithFrame:frame]; + if (self) { + [self commonInit]; + [self sizeToFit]; + } + return self; +} + +- (instancetype)initWithCoder:(NSCoder *)aDecoder { + self = [super initWithCoder:aDecoder]; + if (self) { + [self commonInit]; + } + return self; +} + +- (void)commonInit { + // Initialization code + _includeStatusBarInSize = FBSDKIncludeStatusBarInSizeIOS7AndLater; + + // iOS 7 system blue color + self.backgroundColor = [UIColor colorWithRed:0.0f green:122.0f / 255.0f blue:1.0f alpha:1.0f]; + self.textColor = [UIColor whiteColor]; + self.clipsToBounds = YES; + + [self initViews]; +} + +- (void)initViews { + if (!_labelView && !_closeButton) { + _closeButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _closeButton.backgroundColor = [UIColor clearColor]; + _closeButton.userInteractionEnabled = YES; + _closeButton.clipsToBounds = YES; + _closeButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin; + _closeButton.contentMode = UIViewContentModeCenter; + [_closeButton addTarget:self action:@selector(closeButtonTapped:) forControlEvents:UIControlEventTouchUpInside]; + + [self addSubview:_closeButton]; + + _labelView = [[UILabel alloc] initWithFrame:CGRectZero]; + _labelView.font = [UIFont systemFontOfSize:[UIFont smallSystemFontSize]]; + _labelView.textColor = [UIColor whiteColor]; + _labelView.backgroundColor = [UIColor clearColor]; +#ifdef __IPHONE_6_0 + _labelView.textAlignment = NSTextAlignmentCenter; +#else + _labelView.textAlignment = UITextAlignmentCenter; +#endif + _labelView.clipsToBounds = YES; + [self updateLabelText]; + [self addSubview:_labelView]; + + _insideTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTapInside:)]; + _labelView.userInteractionEnabled = YES; + [_labelView addGestureRecognizer:_insideTapGestureRecognizer]; + + [self updateColors]; + } +} + +#pragma mark - Layout + +- (CGSize)intrinsicContentSize { + CGSize size = self.bounds.size; + if (_closed || !self.hasRefererData) { + size.height = 0.0; + } else { + CGSize labelSize = [_labelView sizeThatFits:size]; + size = CGSizeMake(size.width, labelSize.height + 2 * FBSDKMarginY + self.statusBarHeight); + } + return size; +} + +- (void)layoutSubviews { + [super layoutSubviews]; + + CGRect bounds = self.bounds; + + _labelView.preferredMaxLayoutWidth = _labelView.bounds.size.width; + CGSize labelSize = [_labelView sizeThatFits:bounds.size]; + _labelView.frame = CGRectMake(FBSDKMarginX, + CGRectGetMaxY(bounds) - labelSize.height - 1.5f * FBSDKMarginY, + CGRectGetMaxX(bounds) - FBSDKCloseButtonWidth - 3 * FBSDKMarginX, + labelSize.height + FBSDKMarginY); + + _closeButton.frame = CGRectMake(CGRectGetMaxX(bounds) - FBSDKCloseButtonWidth - 2 * FBSDKMarginX, + _labelView.center.y - FBSDKCloseButtonHeight / 2.0f - FBSDKMarginY, + FBSDKCloseButtonWidth + 2 * FBSDKMarginX, + FBSDKCloseButtonHeight + 2 * FBSDKMarginY); +} + +- (CGSize)sizeThatFits:(CGSize)size { + if (_closed || !self.hasRefererData) { + size = CGSizeMake(size.width, 0.0); + } else { + CGSize labelSize = [_labelView sizeThatFits:size]; + size = CGSizeMake(size.width, labelSize.height + 2 * FBSDKMarginY + self.statusBarHeight); + } + return size; +} + +- (CGFloat)statusBarHeight { + UIApplication *application = [UIApplication sharedApplication]; + + BOOL include; + switch (_includeStatusBarInSize) { + case FBSDKIncludeStatusBarInSizeAlways: + include = YES; + break; + case FBSDKIncludeStatusBarInSizeIOS7AndLater: { + float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; + include = (systemVersion >= 7.0); + break; + } + case FBSDKIncludeStatusBarInSizeNever: + include = NO; + break; + } + if (include && !application.statusBarHidden) { + BOOL landscape = UIInterfaceOrientationIsLandscape(application.statusBarOrientation); + CGRect statusBarFrame = application.statusBarFrame; + return landscape ? CGRectGetWidth(statusBarFrame) : CGRectGetHeight(statusBarFrame); + } + + return 0; +} + +#pragma mark - Public API + +- (void)setIncludeStatusBarInSize:(FBSDKIncludeStatusBarInSize)includeStatusBarInSize { + _includeStatusBarInSize = includeStatusBarInSize; + [self setNeedsLayout]; + [self invalidateIntrinsicContentSize]; +} + +- (void)setTextColor:(UIColor *)textColor { + _textColor = textColor; + [self updateColors]; +} + +- (void)setRefererAppLink:(FBSDKAppLink *)refererAppLink { + _refererAppLink = refererAppLink; + [self updateLabelText]; + [self updateHidden]; + [self invalidateIntrinsicContentSize]; +} + +- (void)setClosed:(BOOL)closed { + if (_closed != closed) { + _closed = closed; + [self updateHidden]; + [self invalidateIntrinsicContentSize]; + } +} + +- (void)setHidden:(BOOL)hidden { + _explicitlyHidden = hidden; + [self updateHidden]; +} + +#pragma mark - Private + +- (void)updateLabelText { + NSString *appName = (_refererAppLink && _refererAppLink.targets[0]) ? [_refererAppLink.targets[0] appName] : nil; + _labelView.text = [self localizedLabelForReferer:appName]; +} + +- (void)updateColors { + UIImage *closeButtonImage = [self drawCloseButtonImageWithColor:_textColor]; + + _labelView.textColor = _textColor; + [_closeButton setImage:closeButtonImage forState:UIControlStateNormal]; +} + +- (UIImage *)drawCloseButtonImageWithColor:(UIColor *)color { + + UIGraphicsBeginImageContextWithOptions(CGSizeMake(FBSDKCloseButtonWidth, FBSDKCloseButtonHeight), NO, 0.0f); + + CGContextRef context = UIGraphicsGetCurrentContext(); + + CGContextSetStrokeColorWithColor(context, [color CGColor]); + CGContextSetFillColorWithColor(context, [color CGColor]); + + CGContextSetLineWidth(context, 1.25f); + + CGFloat inset = 0.5f; + + CGContextMoveToPoint(context, inset, inset); + CGContextAddLineToPoint(context, FBSDKCloseButtonWidth - inset, FBSDKCloseButtonHeight - inset); + CGContextStrokePath(context); + + CGContextMoveToPoint(context, FBSDKCloseButtonWidth - inset, inset); + CGContextAddLineToPoint(context, inset, FBSDKCloseButtonHeight - inset); + CGContextStrokePath(context); + + UIImage *result = UIGraphicsGetImageFromCurrentImageContext(); + UIGraphicsEndImageContext(); + + return result; +} + +- (NSString *)localizedLabelForReferer:(NSString *)refererName { + if (!refererName) { + return nil; + } + + NSString *format = NSLocalizedString(@"Touch to return to %1$@", @"Format for the string to return to a calling app."); + return [NSString stringWithFormat:format, refererName]; +} + +- (BOOL)hasRefererData { + return _refererAppLink && _refererAppLink.targets[0]; +} + +- (void)closeButtonTapped:(id)sender { + [_delegate returnToRefererViewDidTapInsideCloseButton:self]; +} + +- (void)onTapInside:(UIGestureRecognizer *)sender { + [_delegate returnToRefererViewDidTapInsideLink:self link:_refererAppLink]; +} + +- (void)updateHidden { + [super setHidden:_explicitlyHidden || _closed || !self.hasRefererData]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.h new file mode 100644 index 0000000..091d66a --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.h @@ -0,0 +1,45 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +NS_ASSUME_NONNULL_BEGIN + +/*! + Represents a target defined in App Link metadata, consisting of at least + a URL, and optionally an App Store ID and name. + */ +@interface FBSDKAppLinkTarget : NSObject + +/*! Creates a FBSDKAppLinkTarget with the given app site and target URL. */ ++ (instancetype)appLinkTargetWithURL:(NSURL *)url + appStoreId:(nullable NSString *)appStoreId + appName:(NSString *)appName; + +/*! The URL prefix for this app link target */ +@property (nonatomic, strong, readonly) NSURL *URL; + +/*! The app ID for the app store */ +@property (nonatomic, copy, readonly, nullable) NSString *appStoreId; + +/*! The name of the app */ +@property (nonatomic, copy, readonly) NSString *appName; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.m new file mode 100644 index 0000000..5a0c26b --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.m @@ -0,0 +1,41 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLinkTarget.h" + +@interface FBSDKAppLinkTarget () + +@property (nonatomic, strong, readwrite) NSURL *URL; +@property (nonatomic, copy, readwrite) NSString *appStoreId; +@property (nonatomic, copy, readwrite) NSString *appName; + +@end + +@implementation FBSDKAppLinkTarget + ++ (instancetype)appLinkTargetWithURL:(NSURL *)url + appStoreId:(NSString *)appStoreId + appName:(NSString *)appName { + FBSDKAppLinkTarget *target = [[self alloc] init]; + target.URL = url; + target.appStoreId = appStoreId; + target.appName = appName; + return target; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.h index 1cc549a..c242f29 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.h @@ -20,8 +20,8 @@ /** Describes the callback for fetchDeferredAppLink. - - Parameter url: the url representing the deferred App Link - - Parameter error: the error during the request, if any + @param url the url representing the deferred App Link + @param error the error during the request, if any The url may also have a fb_click_time_utc query parameter that @@ -32,7 +32,7 @@ typedef void (^FBSDKDeferredAppLinkHandler)(NSURL *url, NSError *error); /** Describes the callback for fetchOrganicDeferredAppLink. - - Parameter url: the url representing the deferred App Link + @param url the url representing the deferred App Link */ typedef void (^FBSDKDeferredAppInviteHandler)(NSURL *url); @@ -49,7 +49,7 @@ typedef void (^FBSDKDeferredAppInviteHandler)(NSURL *url); data (this will only return a valid URL once, and future calls will result in a nil URL value in the callback). - - Parameter handler: the handler to be invoked if there is deferred App Link data + @param handler the handler to be invoked if there is deferred App Link data The handler may contain an NSError instance to capture any errors. In the @@ -63,7 +63,7 @@ typedef void (^FBSDKDeferredAppInviteHandler)(NSURL *url); /** -- Warning:This method is no longer available and will always return NO. +@warning This method is no longer available and will always return NO. */ + (BOOL)fetchDeferredAppInvite:(FBSDKDeferredAppInviteHandler)handler __attribute__((deprecated("This method is no longer available.")));; @@ -75,9 +75,9 @@ __attribute__((deprecated("This method is no longer available.")));; Note: This throws an exception if Bolts.framework is not linked. Add '[BFURL class]' in intialize method of your AppDelegate. - - Parameter url: App Link url that was passed to the app. + @param url App Link url that was passed to the app. - - Returns: Promotion code string. + @return Promotion code string. Call this method to fetch App Invite Promotion Code from applink if present. diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h index ebaef4d..c1eca10 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h @@ -41,15 +41,15 @@ of the AppDelegate for your app. It should be invoked for the proper processing of responses during interaction with the native Facebook app or Safari as part of SSO authorization flow or Facebook dialogs. - - Parameter application: The application as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. + @param application The application as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. - - Parameter url: The URL as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. + @param url The URL as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. - - Parameter sourceApplication: The sourceApplication as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. + @param sourceApplication The sourceApplication as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. - - Parameter annotation: The annotation as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. + @param annotation The annotation as passed to [UIApplicationDelegate application:openURL:sourceApplication:annotation:]. - - Returns: YES if the url was intended for the Facebook SDK, NO if not. + @return YES if the url was intended for the Facebook SDK, NO if not. */ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url @@ -62,13 +62,13 @@ of the AppDelegate for your app. It should be invoked for the proper processing of responses during interaction with the native Facebook app or Safari as part of SSO authorization flow or Facebook dialogs. - - Parameter application: The application as passed to [UIApplicationDelegate application:openURL:options:]. + @param application The application as passed to [UIApplicationDelegate application:openURL:options:]. - - Parameter url: The URL as passed to [UIApplicationDelegate application:openURL:options:]. + @param url The URL as passed to [UIApplicationDelegate application:openURL:options:]. - - Parameter options: The options dictionary as passed to [UIApplicationDelegate application:openURL:options:]. + @param options The options dictionary as passed to [UIApplicationDelegate application:openURL:options:]. - - Returns: YES if the url was intended for the Facebook SDK, NO if not. + @return YES if the url was intended for the Facebook SDK, NO if not. */ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url @@ -81,11 +81,11 @@ As part of SDK initialization basic auto logging of app events will occur, this can be controlled via 'FacebookAutoLogAppEventsEnabled' key in the project info plist file. - - Parameter application: The application as passed to [UIApplicationDelegate application:didFinishLaunchingWithOptions:]. + @param application The application as passed to [UIApplicationDelegate application:didFinishLaunchingWithOptions:]. - - Parameter launchOptions: The launchOptions as passed to [UIApplicationDelegate application:didFinishLaunchingWithOptions:]. + @param launchOptions The launchOptions as passed to [UIApplicationDelegate application:didFinishLaunchingWithOptions:]. - - Returns: YES if the url was intended for the Facebook SDK, NO if not. + @return YES if the url was intended for the Facebook SDK, NO if not. */ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.m index 2ca33d8..716f2f0 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.m @@ -56,10 +56,13 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; FBSDKBridgeAPICallbackBlock _pendingRequestCompletionBlock; id _pendingURLOpen; SFAuthenticationSession *_authenticationSession NS_AVAILABLE_IOS(11_0); + SFAuthenticationCompletionHandler _authenticationSessionCompletionHandler NS_AVAILABLE_IOS(11_0); #endif BOOL _expectingBackground; + BOOL _isRequestingSFAuthenticationSession; UIViewController *_safariViewController; BOOL _isDismissingSafariViewController; + BOOL _isAppLaunched; } #pragma mark - Class Methods @@ -78,6 +81,9 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; + (void)initializeWithLaunchData:(NSNotification *)note { NSDictionary *launchData = note.userInfo; + + [[self sharedInstance] application:[UIApplication sharedApplication] didFinishLaunchingWithOptions:launchData]; + #if !TARGET_OS_TV // Register Listener for Bolts measurement events [FBSDKBoltsMeasurementEventListener defaultListener]; @@ -112,6 +118,8 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter]; [defaultCenter addObserver:self selector:@selector(applicationDidEnterBackground:) name:UIApplicationDidEnterBackgroundNotification object:nil]; [defaultCenter addObserver:self selector:@selector(applicationDidBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil]; + + [[FBSDKAppEvents singleton] registerNotifications]; } return self; } @@ -156,12 +164,12 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; id pendingURLOpen = _pendingURLOpen; void (^completePendingOpenURLBlock)(void) = ^{ - _pendingURLOpen = nil; + self->_pendingURLOpen = nil; [pendingURLOpen application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; - _isDismissingSafariViewController = NO; + self->_isDismissingSafariViewController = NO; }; // if they completed a SFVC flow, dismiss it. if (_safariViewController) { @@ -195,12 +203,19 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + if (_isAppLaunched) { + return NO; + } + + _isAppLaunched = YES; FBSDKAccessToken *cachedToken = [[FBSDKSettings accessTokenCache] fetchAccessToken]; [FBSDKAccessToken setCurrentAccessToken:cachedToken]; // fetch app settings [FBSDKServerConfigurationManager loadServerConfigurationWithCompletionBlock:NULL]; - [self _logSDKInitialize]; + if ([[FBSDKSettings autoLogAppEventsEnabled] boolValue]) { + [self _logSDKInitialize]; + } #if !TARGET_OS_TV FBSDKProfile *cachedProfile = [FBSDKProfile fetchCachedProfile]; [FBSDKProfile setCurrentProfile:cachedProfile]; @@ -226,6 +241,7 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; - (void)applicationDidEnterBackground:(NSNotification *)notification { + _isRequestingSFAuthenticationSession = NO; _active = NO; _expectingBackground = NO; } @@ -239,9 +255,12 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; // _expectingBackground can be YES if the caller started doing work (like login) // within the app delegate's lifecycle like openURL, in which case there // might have been a "didBecomeActive" event pending that we want to ignore. - BOOL notExpectingBackground = !_expectingBackground && !_safariViewController && !_isDismissingSafariViewController; + BOOL notExpectingBackground = !_expectingBackground && !_safariViewController && !_isDismissingSafariViewController && !_isRequestingSFAuthenticationSession; #if !TARGET_OS_TV if (@available(iOS 11.0, *)) { + if (notExpectingBackground && _authenticationSessionCompletionHandler != nil) { + _authenticationSessionCompletionHandler(nil, nil); + } notExpectingBackground = notExpectingBackground && !_authenticationSession; } #endif @@ -309,8 +328,8 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; _pendingRequestCompletionBlock = [completionBlock copy]; void (^handler)(BOOL, NSError *) = ^(BOOL openedURL, NSError *anError) { if (!openedURL) { - _pendingRequest = nil; - _pendingRequestCompletionBlock = nil; + self->_pendingRequest = nil; + self->_pendingRequestCompletionBlock = nil; NSError *openedURLError; if ([request.scheme hasPrefix:@"http"]) { openedURLError = [FBSDKError errorWithCode:FBSDKBrowserUnavailableErrorCode @@ -349,13 +368,26 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; if ([sender isAuthenticationURL:url]) { Class SFAuthenticationSessionClass = fbsdkdfl_SFAuthenticationSessionClass(); if (SFAuthenticationSessionClass != nil) { - _authenticationSession = [[SFAuthenticationSessionClass alloc] initWithURL:url callbackURLScheme:[FBSDKInternalUtility appURLScheme] completionHandler:^ (NSURL *aURL, NSError *error) { + if (_authenticationSession != nil) { + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + formatString:@"There is already a request for authenticated session. Cancelling active SFAuthenticationSession before starting the new one.", nil]; + [_authenticationSession cancel]; + } + __weak typeof(self) weakSelf = self; + _authenticationSessionCompletionHandler = ^ (NSURL *aURL, NSError *error) { + typeof(self) strongSelf = weakSelf; + strongSelf->_isRequestingSFAuthenticationSession = NO; handler(error == nil, error); if (error == nil) { - [self application:[UIApplication sharedApplication] openURL:aURL sourceApplication:@"com.apple" annotation:nil]; + [strongSelf application:[UIApplication sharedApplication] openURL:aURL sourceApplication:@"com.apple" annotation:nil]; } - _authenticationSession = nil; - }]; + strongSelf->_authenticationSession = nil; + strongSelf->_authenticationSessionCompletionHandler = nil; + }; + _authenticationSession = [[SFAuthenticationSessionClass alloc] initWithURL:url + callbackURLScheme:[FBSDKInternalUtility appURLScheme] + completionHandler:_authenticationSessionCompletionHandler]; + _isRequestingSFAuthenticationSession = YES; [_authenticationSession start]; return; } @@ -385,11 +417,11 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; // Wait until the transition is finished before presenting SafariVC to avoid a blank screen. [parent.transitionCoordinator animateAlongsideTransition:NULL completion:^(id context) { // Note SFVC init must occur inside block to avoid blank screen. - _safariViewController = [[SFSafariViewControllerClass alloc] initWithURL:url]; + self->_safariViewController = [[SFSafariViewControllerClass alloc] initWithURL:url]; // Disable dismissing with edge pan gesture - _safariViewController.modalPresentationStyle = UIModalPresentationOverFullScreen; - [_safariViewController performSelector:@selector(setDelegate:) withObject:self]; - [container displayChildController:_safariViewController]; + self->_safariViewController.modalPresentationStyle = UIModalPresentationOverFullScreen; + [self->_safariViewController performSelector:@selector(setDelegate:) withObject:self]; + [container displayChildController:self->_safariViewController]; [parent presentViewController:container animated:YES completion:nil]; }]; } else { @@ -507,6 +539,9 @@ static NSString *const FBSDKAppLinkInboundEvent = @"fb_al_inbound"; if (objc_lookUpClass("FBSDKTVInterfaceFactory.m") != nil) { [params setObject:@1 forKey:@"tv_lib_included"]; } + if (objc_lookUpClass("FBSDKAutoLog") != nil) { + [params setObject:@1 forKey:@"marketing_lib_included"]; + } [FBSDKAppEvents logEvent:@"fb_sdk_initialize" parameters:params]; } diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.h index 98cfd73..fc2779f 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.h @@ -111,7 +111,7 @@ typedef NS_ENUM(NSInteger, FBSDKErrorCode) /** -- Warning:use FBSDKBrowserUnavailableErrorCode instead +@warning use FBSDKBrowserUnavailableErrorCode instead */ FBSDKBrowswerUnavailableErrorCode __attribute__ ((deprecated("use FBSDKBrowserUnavailableErrorCode instead"))) = FBSDKBrowserUnavailableErrorCode, }; @@ -207,11 +207,11 @@ FBSDK_EXTERN NSString *const FBSDKGraphRequestErrorParsedJSONResponseKey; /** attempt the recovery - - Parameter error: the error - - Parameter recoveryOptionIndex: the selected option index - - Parameter delegate: the delegate - - Parameter didRecoverSelector: the callback selector, see discussion. - - Parameter contextInfo: context info to pass back to callback selector, see discussion. + @param error the error + @param recoveryOptionIndex the selected option index + @param delegate the delegate + @param didRecoverSelector the callback selector, see discussion. + @param contextInfo context info to pass back to callback selector, see discussion. Given that an error alert has been presented document-modally to the user, and the user has chosen one of the error's recovery options, attempt recovery from the error, and send the selected message to the specified delegate. The option index is an index into the error's array of localized recovery options. The method selected by didRecoverSelector must have the same signature as: diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCopying.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCopying.h index c84975c..039302b 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCopying.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCopying.h @@ -27,7 +27,7 @@ /** Implemented by NSObject as a convenience to copyWithZone:. - - Returns: A copy of the receiver. + @return A copy of the receiver. */ - (id)copy; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit.h index 1940203..95e6016 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit.h @@ -33,16 +33,25 @@ #import #if !TARGET_OS_TV +#import +#import #import +#import +#import +#import +#import #import #import +#import #import #import #import +#import +#import #else #import #import #endif -#define FBSDK_VERSION_STRING @"4.33.0" -#define FBSDK_TARGET_PLATFORM_VERSION @"v3.0" +#define FBSDK_VERSION_STRING @"4.37.0" +#define FBSDK_TARGET_PLATFORM_VERSION @"v3.1" diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.h index 658bc46..1fb560e 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.h @@ -30,17 +30,17 @@ /** Indicates the error recovery has been attempted. - - Parameter processor: the processor instance. - - Parameter didRecover: YES if the recovery was successful. - - Parameter error: the error that that was attempted to be recovered from. + @param processor the processor instance. + @param didRecover YES if the recovery was successful. + @param error the error that that was attempted to be recovered from. */ - (void)processorDidAttemptRecovery:(FBSDKGraphErrorRecoveryProcessor *)processor didRecover:(BOOL)didRecover error:(NSError *)error; @optional /** Indicates the processor is about to process the error. - - Parameter processor: the processor instance. - - Parameter error: the error is about to be processed. + @param processor the processor instance. + @param error the error is about to be processed. return NO if the processor should not process the error. For example, if you want to prevent alerts of localized messages but otherwise perform retries and recoveries, @@ -83,16 +83,16 @@ /** Attempts to process the error, return YES if the error can be processed. - - Parameter error: the error to process. - - Parameter request: the related request that may be reissued. - - Parameter delegate: the delegate that will be retained until recovery is complete. + @param error the error to process. + @param request the related request that may be reissued. + @param delegate the delegate that will be retained until recovery is complete. */ - (BOOL)processError:(NSError *)error request:(FBSDKGraphRequest *)request delegate:(id) delegate; /** The callback for FBSDKErrorRecoveryAttempting - - Parameter didRecover: if the recovery succeeded - - Parameter contextInfo: unused + @param didRecover if the recovery succeeded + @param contextInfo unused */ - (void)didPresentErrorWithRecovery:(BOOL)didRecover contextInfo:(void *)contextInfo; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.m index 498e19a..0fc8c5d 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.m @@ -67,9 +67,9 @@ // the block returns YES if recovery UI is started (meaning we wait for the alertviewdelegate to resume control flow). BOOL (^standardRecoveryWork)(void) = ^BOOL{ NSArray *recoveryOptionsTitles = error.userInfo[NSLocalizedRecoveryOptionsErrorKey]; - if (recoveryOptionsTitles.count > 0 && _recoveryAttempter) { + if (recoveryOptionsTitles.count > 0 && self->_recoveryAttempter) { NSString *recoverySuggestion = error.userInfo[NSLocalizedRecoverySuggestionErrorKey]; - _error = error; + self->_error = error; dispatch_async(dispatch_get_main_queue(), ^{ [self displayAlertWithRecoverySuggestion:recoverySuggestion recoveryOptionsTitles:recoveryOptionsTitles]; }); @@ -90,7 +90,7 @@ [self.delegate processorDidAttemptRecovery:self didRecover:YES error:nil]; self.delegate = nil; } else if (!standardRecoveryWork()) { - [self.delegate processorDidAttemptRecovery:self didRecover:NO error:_error]; + [self.delegate processorDidAttemptRecovery:self didRecover:NO error:self->_error]; }; }); }]; @@ -133,7 +133,7 @@ UIAlertAction *option = [UIAlertAction actionWithTitle:title style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { - [_recoveryAttempter attemptRecoveryFromError:_error + [self->_recoveryAttempter attemptRecoveryFromError:self->_error optionIndex:i delegate:self didRecoverSelector:@selector(didPresentErrorWithRecovery:contextInfo:) @@ -170,7 +170,7 @@ UIAlertAction *OKAction = [UIAlertAction actionWithTitle:localizedOK style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { - [_recoveryAttempter attemptRecoveryFromError:_error + [self->_recoveryAttempter attemptRecoveryFromError:self->_error optionIndex:0 delegate:self didRecoverSelector:@selector(didPresentErrorWithRecovery:contextInfo:) diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.h index 2743ec3..99b1de3 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.h @@ -39,23 +39,23 @@ By default, FBSDKGraphRequest will attempt to recover any errors returned from Facebook. You can disable this via `disableErrorRecovery:`. -- See:FBSDKGraphErrorRecoveryProcessor + @see FBSDKGraphErrorRecoveryProcessor */ @interface FBSDKGraphRequest : NSObject /** Initializes a new instance that use use `[FBSDKAccessToken currentAccessToken]`. - - Parameter graphPath: the graph path (e.g., @"me"). - - Parameter parameters: the optional parameters dictionary. + @param graphPath the graph path (e.g., @"me"). + @param parameters the optional parameters dictionary. */ - (instancetype)initWithGraphPath:(NSString *)graphPath parameters:(NSDictionary *)parameters; /** Initializes a new instance that use use `[FBSDKAccessToken currentAccessToken]`. - - Parameter graphPath: the graph path (e.g., @"me"). - - Parameter parameters: the optional parameters dictionary. - - Parameter HTTPMethod: the optional HTTP method. nil defaults to @"GET". + @param graphPath the graph path (e.g., @"me"). + @param parameters the optional parameters dictionary. + @param HTTPMethod the optional HTTP method. nil defaults to @"GET". */ - (instancetype)initWithGraphPath:(NSString *)graphPath parameters:(NSDictionary *)parameters @@ -63,11 +63,11 @@ /** Initializes a new instance. - - Parameter graphPath: the graph path (e.g., @"me"). - - Parameter parameters: the optional parameters dictionary. - - Parameter tokenString: the token string to use. Specifying nil will cause no token to be used. - - Parameter version: the optional Graph API version (e.g., @"v2.0"). nil defaults to `[FBSDKSettings graphAPIVersion]`. - - Parameter HTTPMethod: the optional HTTP method (e.g., @"POST"). nil defaults to @"GET". + @param graphPath the graph path (e.g., @"me"). + @param parameters the optional parameters dictionary. + @param tokenString the token string to use. Specifying nil will cause no token to be used. + @param version the optional Graph API version (e.g., @"v2.0"). nil defaults to `[FBSDKSettings graphAPIVersion]`. + @param HTTPMethod the optional HTTP method (e.g., @"POST"). nil defaults to @"GET". */ - (instancetype)initWithGraphPath:(NSString *)graphPath parameters:(NSDictionary *)parameters @@ -103,7 +103,7 @@ NS_DESIGNATED_INITIALIZER; /** If set, disables the automatic error recovery mechanism. - - Parameter disable: whether to disable the automatic error recovery mechanism + @param disable whether to disable the automatic error recovery mechanism By default, non-batched FBSDKGraphRequest instances will automatically try to recover from errors by constructing a `FBSDKGraphErrorRecoveryProcessor` instance that @@ -116,7 +116,7 @@ NS_DESIGNATED_INITIALIZER; /** Starts a connection to the Graph API. - - Parameter handler: The handler block to call when the request completes. + @param handler The handler block to call when the request completes. */ - (FBSDKGraphRequestConnection *)startWithCompletionHandler:(FBSDKGraphRequestHandler)handler; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.h index 3eca584..b8cc0f3 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.h @@ -34,13 +34,13 @@ Pass a block of this type when calling addRequest. This will be called once the request completes. The call occurs on the UI thread. - - Parameter connection: The `FBSDKGraphRequestConnection` that sent the request. + @param connection The `FBSDKGraphRequestConnection` that sent the request. - - Parameter result: The result of the request. This is a translation of + @param result The result of the request. This is a translation of JSON data to `NSDictionary` and `NSArray` objects. This is nil if there was an error. - - Parameter error: The `NSError` representing any error that occurred. + @param error The `NSError` representing any error that occurred. */ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection, @@ -68,7 +68,7 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection start, the object returned from the convenience method has already begun loading and this method will not be called when the delegate is set. - - Parameter connection: The request connection that is starting a network request + @param connection The request connection that is starting a network request */ - (void)requestConnectionWillBeginLoading:(FBSDKGraphRequestConnection *)connection; @@ -86,7 +86,7 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection This method is invoked after the completion handler for each . - - Parameter connection: The request connection that successfully completed a network request + @param connection The request connection that successfully completed a network request */ - (void)requestConnectionDidFinishLoading:(FBSDKGraphRequestConnection *)connection; @@ -101,8 +101,8 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection argument specifies why the network connection failed. The `NSError` object passed to the FBSDKGraphRequestHandler block may contain additional information. - - Parameter connection: The request connection that successfully completed a network request - - Parameter error: The `NSError` representing the network error that occurred, if any. May be nil + @param connection The request connection that successfully completed a network request + @param error The `NSError` representing the network error that occurred, if any. May be nil in some circumstances. Consult the `NSError` for the for reliable failure information. */ @@ -120,10 +120,10 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection Like `NSURLConnection`, the values may change in unexpected ways if data needs to be resent. - - Parameter connection: The request connection transmitting data to a remote host - - Parameter bytesWritten: The number of bytes sent in the last transmission - - Parameter totalBytesWritten: The total number of bytes sent to the remote host - - Parameter totalBytesExpectedToWrite: The total number of bytes expected to send to the remote host + @param connection The request connection transmitting data to a remote host + @param bytesWritten The number of bytes sent in the last transmission + @param totalBytesWritten The total number of bytes sent to the remote host + @param totalBytesExpectedToWrite The total number of bytes expected to send to the remote host */ - (void)requestConnection:(FBSDKGraphRequestConnection *)connection didSendBodyData:(NSInteger)bytesWritten @@ -177,7 +177,7 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; This method sets the default timeout on all FBSDKGraphRequestConnection instances. Defaults to 60 seconds. - - Parameter defaultConnectionTimeout: The timeout interval. + @param defaultConnectionTimeout The timeout interval. */ + (void)setDefaultConnectionTimeout:(NSTimeInterval)defaultConnectionTimeout; @@ -190,8 +190,8 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; This method adds an object to this connection. - - Parameter request: A request to be included in the round-trip when start is called. - - Parameter handler: A handler to call back when the round-trip completes or times out. + @param request A request to be included in the round-trip when start is called. + @param handler A handler to call back when the round-trip completes or times out. @@ -206,12 +206,12 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; This method adds an object to this connection. - - Parameter request: A request to be included in the round-trip when start is called. + @param request A request to be included in the round-trip when start is called. - - Parameter handler: A handler to call back when the round-trip completes or times out. + @param handler A handler to call back when the round-trip completes or times out. The handler will be invoked on the main thread. - - Parameter name: An optional name for this request. This can be used to feed + @param name An optional name for this request. This can be used to feed the results of one request to the input of another in the same `FBSDKGraphRequestConnection` as described in [Graph API Batch Requests]( https://developers.facebook.com/docs/reference/api/batch/ ). @@ -231,11 +231,11 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; This method adds an object to this connection. - - Parameter request: A request to be included in the round-trip when start is called. + @param request A request to be included in the round-trip when start is called. - - Parameter handler: A handler to call back when the round-trip completes or times out. + @param handler A handler to call back when the round-trip completes or times out. - - Parameter batchParameters: The optional dictionary of parameters to include for this request + @param batchParameters The optional dictionary of parameters to include for this request as described in [Graph API Batch Requests]( https://developers.facebook.com/docs/reference/api/batch/ ). Examples include "depends_on", "name", or "omit_response_on_success". @@ -285,7 +285,7 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; /** Determines the operation queue that is used to call methods on the connection's delegate. - - Parameter queue: The operation queue to use when calling delegate methods. + @param queue The operation queue to use when calling delegate methods. By default, a connection is scheduled on the current thread in the default mode when it is created. You cannot reschedule a connection after it has started. @@ -305,7 +305,7 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; for applications. If you want to override the version part while using batch requests on the connection, call this method to set the version for the batch request. - - Parameter version: This is a string in the form @"v2.0" which will be used for the version part of an API path + @param version This is a string in the form @"v2.0" which will be used for the version part of an API path */ - (void)overrideVersionPartWith:(NSString *)version; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.m index e210e79..33cad15 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.m @@ -76,7 +76,8 @@ static FBSDKAccessToken *_CreateExpiredAccessToken(FBSDKAccessToken *accessToken appID:accessToken.appID userID:accessToken.userID expirationDate:expirationDate - refreshDate:expirationDate]; + refreshDate:expirationDate + dataAccessExpirationDate:expirationDate]; } #endif @@ -726,9 +727,9 @@ NSURLSessionDataDelegate #if !TARGET_OS_TV if (resultError && ![metadata.request isGraphErrorRecoveryDisabled] && isSingleRequestToRecover) { - _recoveringRequestMetadata = metadata; - _errorRecoveryProcessor = [[FBSDKGraphErrorRecoveryProcessor alloc] init]; - if ([_errorRecoveryProcessor processError:resultError request:metadata.request delegate:self]) { + self->_recoveringRequestMetadata = metadata; + self->_errorRecoveryProcessor = [[FBSDKGraphErrorRecoveryProcessor alloc] init]; + if ([self->_errorRecoveryProcessor processError:resultError request:metadata.request delegate:self]) { return; } } @@ -753,9 +754,9 @@ NSURLSessionDataDelegate } [metadata invokeCompletionHandlerForConnection:self withResults:body error:error]; - if (--_expectingResults == 0) { - if (canNotifyDelegate && [_delegate respondsToSelector:@selector(requestConnectionDidFinishLoading:)]) { - [_delegate requestConnectionDidFinishLoading:self]; + if (--self->_expectingResults == 0) { + if (canNotifyDelegate && [self->_delegate respondsToSelector:@selector(requestConnectionDidFinishLoading:)]) { + [self->_delegate requestConnectionDidFinishLoading:self]; } } }; @@ -793,7 +794,7 @@ NSURLSessionDataDelegate adapter.forceBlockingRenew = YES; } else { [adapter renewSystemAuthorization:^(ACAccountCredentialRenewResult result, NSError *renewError) { - NSOperationQueue *queue = _delegateQueue ?: [NSOperationQueue mainQueue]; + NSOperationQueue *queue = self->_delegateQueue ?: [NSOperationQueue mainQueue]; [queue addOperationWithBlock:^{ clearToken(errorSubcode); finishAndInvokeCompletionHandler(); @@ -806,7 +807,7 @@ NSURLSessionDataDelegate } else if (errorCode >= 200 && errorCode < 300) { // permission error [adapter renewSystemAuthorization:^(ACAccountCredentialRenewResult result, NSError *renewError) { - NSOperationQueue *queue = _delegateQueue ?: [NSOperationQueue mainQueue]; + NSOperationQueue *queue = self->_delegateQueue ?: [NSOperationQueue mainQueue]; [queue addOperationWithBlock:finishAndInvokeCompletionHandler]; }]; return; @@ -1028,8 +1029,8 @@ totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend FBSDKGraphRequestMetadata *retryMetadata = [[FBSDKGraphRequestMetadata alloc] initWithRequest:retryRequest completionHandler:_recoveringRequestMetadata.completionHandler batchParameters:_recoveringRequestMetadata.batchParameters]; [retryRequest startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *retriedError) { [self processResultBody:result error:retriedError metadata:retryMetadata canNotifyDelegate:YES]; - _errorRecoveryProcessor = nil; - _recoveringRequestMetadata = nil; + self->_errorRecoveryProcessor = nil; + self->_recoveringRequestMetadata = nil; }]; } else { [self processResultBody:nil error:error metadata:_recoveringRequestMetadata canNotifyDelegate:YES]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.h index edf0f78..17a10df 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.h @@ -25,9 +25,9 @@ /** Initializes the receiver with the attachment data and metadata. - - Parameter data: The attachment data (retained, not copied) - - Parameter filename: The filename for the attachment - - Parameter contentType: The content type for the attachment + @param data The attachment data (retained, not copied) + @param filename The filename for the attachment + @param contentType The content type for the attachment */ - (instancetype)initWithData:(NSData *)data filename:(NSString *)filename diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.h new file mode 100644 index 0000000..057cb96 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.h @@ -0,0 +1,57 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +NS_ASSUME_NONNULL_BEGIN + +/*! The name of the notification posted by FBSDKMeasurementEvent */ +FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNotificationName; + +/*! Defines keys in the userInfo object for the notification named FBSDKMeasurementEventNotificationName */ +/*! The string field for the name of the event */ +FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNameKey; +/*! The dictionary field for the arguments of the event */ +FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventArgsKey; + +/*! Events raised by FBSDKMeasurementEvent for Applink */ +/*! + The name of the event posted when [FBSDKURL URLWithURL:] is called successfully. This represents the successful parsing of an app link URL. + */ +FOUNDATION_EXPORT NSString *const FBSDKAppLinkParseEventName; + +/*! + The name of the event posted when [FBSDKURL URLWithInboundURL:] is called successfully. + This represents parsing an inbound app link URL from a different application + */ +FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateInEventName; + +/*! The event raised when the user navigates from your app to other apps */ +FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateOutEventName; + +/*! + The event raised when the user navigates out from your app and back to the referrer app. + e.g when the user leaves your app after tapping the back-to-referrer navigation bar + */ +FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateBackToReferrerEventName; + +@interface FBSDKMeasurementEvent : NSObject + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.m new file mode 100644 index 0000000..11a1822 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.m @@ -0,0 +1,68 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKMeasurementEvent_Internal.h" + +NSString *const FBSDKMeasurementEventNotificationName = @"com.facebook.facebook-objc-sdk.measurement_event"; + +NSString *const FBSDKMeasurementEventNameKey = @"event_name"; +NSString *const FBSDKMeasurementEventArgsKey = @"event_args"; + +/* app Link Event raised by this FBSDKURL */ +NSString *const FBSDKAppLinkParseEventName = @"al_link_parse"; +NSString *const FBSDKAppLinkNavigateInEventName = @"al_nav_in"; + +/*! AppLink events raised in this class */ +NSString *const FBSDKAppLinkNavigateOutEventName = @"al_nav_out"; +NSString *const FBSDKAppLinkNavigateBackToReferrerEventName = @"al_ref_back_out"; + +@implementation FBSDKMeasurementEvent { + NSString *_name; + NSDictionary *_args; +} + +- (void)postNotification { + if (!_name) { + NSLog(@"Warning: Missing event name when logging FBSDK measurement event. \n" + " Ignoring this event in logging."); + return; + } + NSNotificationCenter *center = [NSNotificationCenter defaultCenter]; + NSDictionary *userInfo = @{FBSDKMeasurementEventNameKey : _name, + FBSDKMeasurementEventArgsKey : _args}; + + [center postNotificationName:FBSDKMeasurementEventNotificationName + object:self + userInfo:userInfo]; +} + +- (instancetype)initEventWithName:(NSString *)name + args:(NSDictionary *)args { + if ((self = [super init])) { + _name = name; + _args = args ? args : @{}; + } + return self; +} + ++ (void)postNotificationForEventName:(NSString *)name + args:(NSDictionary *)args { + [[[self alloc] initEventWithName:name args:args] postNotification]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h index 1b351db..3fada94 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h @@ -29,7 +29,7 @@ /** Implemented by NSObject as a convenience to mutableCopyWithZone:. - - Returns: A mutable copy of the receiver. + @return A mutable copy of the receiver. */ - (id)mutableCopy; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.h index 1f33f16..2c1ec26 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.h @@ -56,13 +56,13 @@ FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey; /** initializes a new instance. - - Parameter userID: the user ID - - Parameter firstName: the user's first name - - Parameter middleName: the user's middle name - - Parameter lastName: the user's last name - - Parameter name: the user's complete name - - Parameter linkURL: the link for this profile - - Parameter refreshDate: the optional date this profile was fetched. Defaults to [NSDate date]. + @param userID the user ID + @param firstName the user's first name + @param middleName the user's middle name + @param lastName the user's last name + @param name the user's complete name + @param linkURL the link for this profile + @param refreshDate the optional date this profile was fetched. Defaults to [NSDate date]. */ - (instancetype)initWithUserID:(NSString *)userID firstName:(NSString *)firstName @@ -112,7 +112,7 @@ FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey; /** Sets the current instance and posts the appropriate notification if the profile parameter is different than the receiver. - - Parameter profile: the profile to set + @param profile the profile to set This persists the profile to NSUserDefaults. */ @@ -120,7 +120,7 @@ FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey; /** Indicates if `currentProfile` will automatically observe `FBSDKAccessTokenDidChangeNotification` notifications - - Parameter enable: YES is observing + @param enable YES is observing If observing, this class will issue a graph request for public profile data when the current token's userID differs from the current profile. You can observe `FBSDKProfileDidChangeNotification` for when the profile is updated. @@ -132,7 +132,7 @@ FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey; /** Loads the current profile and passes it to the completion block. - - Parameter completion: The block to be executed once the profile is loaded + @param completion The block to be executed once the profile is loaded If the profile is already loaded, this method will call the completion block synchronously, otherwise it will begin a graph request to update `currentProfile` and then call the completion block when finished. @@ -141,26 +141,26 @@ FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey; /** A convenience method for returning a complete `NSURL` for retrieving the user's profile image. - - Parameter mode: The picture mode - - Parameter size: The height and width. This will be rounded to integer precision. + @param mode The picture mode + @param size The height and width. This will be rounded to integer precision. */ - (NSURL *)imageURLForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size; /** A convenience method for returning a Graph API path for retrieving the user's profile image. -- Warning:use `imageURLForPictureMode:size:` instead +@warning use `imageURLForPictureMode:size:` instead You can pass this to a `FBSDKGraphRequest` instance to download the image. - - Parameter mode: The picture mode - - Parameter size: The height and width. This will be rounded to integer precision. + @param mode The picture mode + @param size The height and width. This will be rounded to integer precision. */ - (NSString *)imagePathForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size __attribute__ ((deprecated("use imageURLForPictureMode:size: instead"))); /** Returns YES if the profile is equivalent to the receiver. - - Parameter profile: the profile to compare to. + @param profile the profile to compare to. */ - (BOOL)isEqualToProfile:(FBSDKProfile *)profile; @end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.h index 22347b7..f854710 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.h @@ -67,7 +67,7 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; /** Set the Facebook App ID to be used by the SDK. - - Parameter appID: The Facebook App ID to be used by the SDK. + @param appID The Facebook App ID to be used by the SDK. */ + (void)setAppID:(NSString *)appID; @@ -80,7 +80,7 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; /** Set the app url scheme suffix used by the SDK. - - Parameter appURLSchemeSuffix: The url scheme suffix to be used by the SDK. + @param appURLSchemeSuffix The url scheme suffix to be used by the SDK. */ + (void)setAppURLSchemeSuffix:(NSString *)appURLSchemeSuffix; @@ -95,14 +95,14 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; Sets the Client Token for the Facebook App. This is needed for certain API calls when made anonymously, without a user-based access token. - - Parameter clientToken: The Facebook App's "client token", which, for a given appid can be found in the Security + @param clientToken The Facebook App's "client token", which, for a given appid can be found in the Security section of the Advanced tab of the Facebook App settings found at */ + (void)setClientToken:(NSString *)clientToken; /** A convenient way to toggle error recovery for all FBSDKGraphRequest instances created after this is set. - - Parameter disableGraphErrorRecovery: YES or NO. + @param disableGraphErrorRecovery YES or NO. */ + (void)setGraphErrorRecoveryDisabled:(BOOL)disableGraphErrorRecovery; @@ -118,7 +118,7 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; This should match the Display Name that has been set for the app with the corresponding Facebook App ID, in the Facebook App Dashboard. - - Parameter displayName: The Facebook Display Name to be used by the SDK. + @param displayName The Facebook Display Name to be used by the SDK. */ + (void)setDisplayName:(NSString *)displayName; @@ -134,7 +134,7 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; This can be used to change the Facebook domain (e.g. @"beta") so that requests will be sent to graph.beta.facebook.com - - Parameter facebookDomainPart: The domain part to be inserted into facebook.com. + @param facebookDomainPart The domain part to be inserted into facebook.com. */ + (void)setFacebookDomainPart:(NSString *)facebookDomainPart; @@ -143,14 +143,14 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; If not explicitly set, the default is 0.9. -- See:[UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ + @see [UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ + (CGFloat)JPEGCompressionQuality; /** Set the quality of JPEG images sent to Facebook from the SDK. - - Parameter JPEGCompressionQuality: The quality for JPEG images, expressed as a value from 0.0 to 1.0. + @param JPEGCompressionQuality The quality for JPEG images, expressed as a value from 0.0 to 1.0. -- See:[UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ + @see [UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ + (void)setJPEGCompressionQuality:(CGFloat)JPEGCompressionQuality; /** @@ -161,10 +161,22 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; /** Set the flag which controls the auto logging of basic app events, such as activateApp and deactivateApp. - - Parameter AutoLogAppEventsEnabled: Flag value, expressed as a value from 0 - false or 1 - true. + @param AutoLogAppEventsEnabled Flag value, expressed as a value from 0 - false or 1 - true. */ + (void)setAutoLogAppEventsEnabled:(NSNumber *)AutoLogAppEventsEnabled; +/** + Flag which controls the fb_codeless_debug logging event + If not explicitly set, the default is 1 - true + */ ++ (NSNumber *)codelessDebugLogEnabled; + +/** + Set the flag which controls the fb_codeless_debug logging event + @param CodelessDebugLogEnabled Flag value, expressed as a value from 0 - false or 1 - true. + */ ++ (void)setCodelessDebugLogEnabled:(NSNumber *)CodelessDebugLogEnabled; + /** Gets whether data such as that generated through FBSDKAppEvents and sent to Facebook should be restricted from being used for other than analytics and conversions. Defaults to NO. This value is stored on the device and persists across app launches. */ @@ -173,7 +185,7 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; /** Sets whether data such as that generated through FBSDKAppEvents and sent to Facebook should be restricted from being used for other than analytics and conversions. Defaults to NO. This value is stored on the device and persists across app launches. - - Parameter limitEventAndDataUsage: The desired value. + @param limitEventAndDataUsage The desired value. */ + (void)setLimitEventAndDataUsage:(BOOL)limitEventAndDataUsage; @@ -191,7 +203,7 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; Set the current Facebook SDK logging behavior. This should consist of strings defined as constants with FBSDKLoggingBehavior*. - - Parameter loggingBehavior: A set of strings indicating what information should be logged. If nil is provided, the logging + @param loggingBehavior A set of strings indicating what information should be logged. If nil is provided, the logging behavior is reset to the default set of enabled behaviors. Set to an empty set in order to disable all logging. @@ -202,21 +214,21 @@ FBSDK_EXTERN NSString *const FBSDKLoggingBehaviorDeveloperErrors; /** Enable a particular Facebook SDK logging behavior. - - Parameter loggingBehavior: The LoggingBehavior to enable. This should be a string defined as a constant with FBSDKLoggingBehavior*. + @param loggingBehavior The LoggingBehavior to enable. This should be a string defined as a constant with FBSDKLoggingBehavior*. */ + (void)enableLoggingBehavior:(NSString *)loggingBehavior; /** Disable a particular Facebook SDK logging behavior. - - Parameter loggingBehavior: The LoggingBehavior to disable. This should be a string defined as a constant with FBSDKLoggingBehavior*. + @param loggingBehavior The LoggingBehavior to disable. This should be a string defined as a constant with FBSDKLoggingBehavior*. */ + (void)disableLoggingBehavior:(NSString *)loggingBehavior; /** Set the user defaults key used by legacy token caches. - - Parameter tokenInformationKeyName: the key used by legacy token caches. + @param tokenInformationKeyName the key used by legacy token caches. Use this only if you customized FBSessionTokenCachingStrategy in v3.x of diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.m index 403ecd3..7bc6346 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.m @@ -75,6 +75,8 @@ FBSDKSETTINGS_PLIST_CONFIGURATION_SETTING_IMPL(NSString, FacebookDomainPart, fac FBSDKSETTINGS_PLIST_CONFIGURATION_SETTING_IMPL(NSNumber, FacebookJpegCompressionQuality, _JPEGCompressionQualityNumber, _setJPEGCompressionQualityNumber, @0.9); FBSDKSETTINGS_PLIST_CONFIGURATION_SETTING_IMPL(NSNumber, FacebookAutoLogAppEventsEnabled, autoLogAppEventsEnabled, setAutoLogAppEventsEnabled, @1); +FBSDKSETTINGS_PLIST_CONFIGURATION_SETTING_IMPL(NSNumber, FacebookCodelessDebugLogEnabled, codelessDebugLogEnabled, + setCodelessDebugLogEnabled, @0); + (void)setGraphErrorRecoveryDisabled:(BOOL)disableGraphErrorRecovery { g_disableErrorRecovery = disableGraphErrorRecovery; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.h index 3be9529..17a5ea5 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.h @@ -50,20 +50,20 @@ typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; /** construct or return the shared instance - - Parameter appID: the Facebook app id - - Parameter appSecret: the Facebook app secret + @param appID the Facebook app id + @param appSecret the Facebook app secret */ + (instancetype)sharedInstanceForAppID:(NSString *)appID appSecret:(NSString *)appSecret; /** retrieve FBSDKAccessToken instances for test accounts with the specific permissions. - - Parameter arraysOfPermissions: an array of permissions sets, such as @[ [NSSet setWithObject:@"email"], [NSSet setWithObject:@"user_birthday"]] + @param arraysOfPermissions an array of permissions sets, such as @[ [NSSet setWithObject:@"email"], [NSSet setWithObject:@"user_birthday"]] if you needed two test accounts with email and birthday permissions, respectively. You can pass in empty nested sets if you need two arbitrary test accounts. For convenience, passing nil is treated as @[ [NSSet set] ] for fetching a single test user. - - Parameter createIfNotFound: if YES, new test accounts are created if no test accounts existed that fit the permissions + @param createIfNotFound if YES, new test accounts are created if no test accounts existed that fit the permissions requirement - - Parameter handler: the callback to invoke which will return an array of `FBAccessTokenData` instances or an `NSError`. + @param handler the callback to invoke which will return an array of `FBAccessTokenData` instances or an `NSError`. If param `createIfNotFound` is NO, the array may contain `[NSNull null]` instances. @@ -77,24 +77,24 @@ typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; /** add a test account with the specified permissions - - Parameter permissions: the set of permissions, e.g., [NSSet setWithObjects:@"email", @"user_friends"] - - Parameter handler: the callback handler + @param permissions the set of permissions, e.g., [NSSet setWithObjects:@"email", @"user_friends"] + @param handler the callback handler */ - (void)addTestAccountWithPermissions:(NSSet *)permissions completionHandler:(FBSDKTestUsersManagerRetrieveTestAccountTokensHandler)handler; /** remove a test account for the given user id - - Parameter userId: the user id - - Parameter handler: the callback handler + @param userId the user id + @param handler the callback handler */ - (void)removeTestAccount:(NSString *)userId completionHandler:(FBSDKTestUsersManagerRemoveTestAccountHandler)handler; /** Make two test users friends with each other. - - Parameter first: the token of the first user - - Parameter second: the token of the second user - - Parameter callback: the callback handler + @param first the token of the first user + @param second the token of the second user + @param callback the callback handler */ - (void)makeFriendsWithFirst:(FBSDKAccessToken *)first second:(FBSDKAccessToken *)second callback:(void (^)(NSError *))callback; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.m index aba4648..acc0571 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.m @@ -149,7 +149,7 @@ static NSMutableDictionary *gInstancesDictionary; NSMutableDictionary *accountData = [NSMutableDictionary dictionaryWithCapacity:2]; accountData[kAccountsDictionaryPermissionsKey] = [NSSet setWithSet:permissions]; accountData[kAccountsDictionaryTokenKey] = result[@"access_token"]; - _accounts[result[@"id"]] = accountData; + self->_accounts[result[@"id"]] = accountData; if (handler) { FBSDKAccessToken *token = [self tokenDataForTokenString:accountData[kAccountsDictionaryTokenKey] @@ -216,7 +216,8 @@ static NSMutableDictionary *gInstancesDictionary; appID:_appID userID:userId expirationDate:nil - refreshDate:nil]; + refreshDate:nil + dataAccessExpirationDate:nil]; } - (NSArray *)userIdAndTokenOfExistingAccountWithPermissions:(NSSet *)permissions skip:(NSSet *)setToSkip { @@ -264,15 +265,15 @@ static NSMutableDictionary *gInstancesDictionary; handler(error); } // on errors, clear out accounts since it may be in a bad state - [_accounts removeAllObjects]; + [self->_accounts removeAllObjects]; return; } else { for (NSDictionary *account in result[@"data"]) { NSString *userId = account[@"id"]; NSString *token = account[@"access_token"]; if (userId && token) { - _accounts[userId] = [NSMutableDictionary dictionaryWithCapacity:2]; - _accounts[userId][kAccountsDictionaryTokenKey] = token; + self->_accounts[userId] = [NSMutableDictionary dictionaryWithCapacity:2]; + self->_accounts[userId][kAccountsDictionaryTokenKey] = token; expectedTestAccounts++; [permissionConnection addRequest:[[FBSDKGraphRequest alloc] initWithGraphPath:[NSString stringWithFormat:@"%@?fields=permissions", userId] parameters:nil @@ -280,7 +281,7 @@ static NSMutableDictionary *gInstancesDictionary; version:nil HTTPMethod:nil] completionHandler:^(FBSDKGraphRequestConnection *innerConnection2, id innerResult, NSError *innerError) { - if (_accounts.count == 0) { + if (self->_accounts.count == 0) { // indicates an earlier error that was already passed to handler, so just short circuit. return; } @@ -288,7 +289,7 @@ static NSMutableDictionary *gInstancesDictionary; if (handler) { handler(innerError); } - [_accounts removeAllObjects]; + [self->_accounts removeAllObjects]; return; } else { NSMutableSet *grantedPermissions = [NSMutableSet set]; @@ -298,7 +299,7 @@ static NSMutableDictionary *gInstancesDictionary; [grantedPermissions addObject:obj[@"permission"]]; } }]; - _accounts[userId][kAccountsDictionaryPermissionsKey] = grantedPermissions; + self->_accounts[userId][kAccountsDictionaryPermissionsKey] = grantedPermissions; } expectedTestAccounts--; if (!expectedTestAccounts) { diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.h new file mode 100644 index 0000000..e0e3d4c --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.h @@ -0,0 +1,87 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +NS_ASSUME_NONNULL_BEGIN + +@class FBSDKAppLink; + +/*! + Provides a set of utilities for working with NSURLs, such as parsing of query parameters + and handling for App Link requests. + */ +@interface FBSDKURL : NSObject + +/*! + Creates a link target from a raw URL. + On success, this posts the FBSDKAppLinkParseEventName measurement event. If you are constructing the FBSDKURL within your application delegate's + application:openURL:sourceApplication:annotation:, you should instead use URLWithInboundURL:sourceApplication: + to support better FBSDKMeasurementEvent notifications + @param url The instance of `NSURL` to create FBSDKURL from. + */ ++ (FBSDKURL *)URLWithURL:(NSURL *)url; + +/*! + Creates a link target from a raw URL received from an external application. This is typically called from the app delegate's + application:openURL:sourceApplication:annotation: and will post the FBSDKAppLinkNavigateInEventName measurement event. + @param url The instance of `NSURL` to create FBSDKURL from. + @param sourceApplication the bundle ID of the app that is requesting your app to open the URL. The same sourceApplication in application:openURL:sourceApplication:annotation: + */ ++ (FBSDKURL *)URLWithInboundURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication; + +/*! + Gets the target URL. If the link is an App Link, this is the target of the App Link. + Otherwise, it is the url that created the target. + */ +@property (nonatomic, strong, readonly) NSURL *targetURL; + +/*! + Gets the query parameters for the target, parsed into an NSDictionary. + */ +@property (nonatomic, strong, readonly) NSDictionary *targetQueryParameters; + +/*! + If this link target is an App Link, this is the data found in al_applink_data. + Otherwise, it is nil. + */ +@property (nonatomic, strong, readonly) NSDictionary *appLinkData; + +/*! + If this link target is an App Link, this is the data found in extras. + */ +@property (nonatomic, strong, readonly) NSDictionary *appLinkExtras; + +/*! + The App Link indicating how to navigate back to the referer app, if any. + */ +@property (nonatomic, strong, readonly) FBSDKAppLink *appLinkReferer; + +/*! + The URL that was used to create this FBSDKURL. + */ +@property (nonatomic, strong, readonly) NSURL *inputURL; + +/*! + The query parameters of the inputURL, parsed into an NSDictionary. + */ +@property (nonatomic, strong, readonly) NSDictionary *inputQueryParameters; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.m new file mode 100644 index 0000000..1a27e29 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.m @@ -0,0 +1,152 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKURL_Internal.h" + +#import "FBSDKAppLinkTarget.h" +#import "FBSDKAppLink_Internal.h" +#import "FBSDKMeasurementEvent_Internal.h" + +@implementation FBSDKURL + +- (instancetype)initWithURL:(NSURL *)url forOpenInboundURL:(BOOL)forOpenURLEvent sourceApplication:(NSString *)sourceApplication forRenderBackToReferrerBar:(BOOL)forRenderBackToReferrerBar { + self = [super init]; + if (!self) return nil; + + _inputURL = url; + _targetURL = url; + + // Parse the query string parameters for the base URL + NSDictionary *baseQuery = [FBSDKURL queryParametersForURL:url]; + _inputQueryParameters = baseQuery; + _targetQueryParameters = baseQuery; + + // Check for applink_data + NSString *appLinkDataString = baseQuery[FBSDKAppLinkDataParameterName]; + if (appLinkDataString) { + // Try to parse the JSON + NSError *error = nil; + NSDictionary *applinkData = + [NSJSONSerialization JSONObjectWithData:[appLinkDataString dataUsingEncoding:NSUTF8StringEncoding] + options:0 + error:&error]; + if (!error && [applinkData isKindOfClass:[NSDictionary class]]) { + // If the version is not specified, assume it is 1. + NSString *version = applinkData[FBSDKAppLinkVersionKeyName] ?: @"1.0"; + NSString *target = applinkData[FBSDKAppLinkTargetKeyName]; + if ([version isKindOfClass:[NSString class]] && + [version isEqual:FBSDKAppLinkVersion]) { + // There's applink data! The target should actually be the applink target. + _appLinkData = applinkData; + id applinkExtras = applinkData[FBSDKAppLinkExtrasKeyName]; + if (applinkExtras && [applinkExtras isKindOfClass:[NSDictionary class]]) { + _appLinkExtras = applinkExtras; + } + _targetURL = ([target isKindOfClass:[NSString class]] ? [NSURL URLWithString:target] : url); + _targetQueryParameters = [FBSDKURL queryParametersForURL:_targetURL]; + + NSDictionary *refererAppLink = _appLinkData[FBSDKAppLinkRefererAppLink]; + NSString *refererURLString = refererAppLink[FBSDKAppLinkRefererUrl]; + NSString *refererAppName = refererAppLink[FBSDKAppLinkRefererAppName]; + + if (refererURLString && refererAppName) { + FBSDKAppLinkTarget *appLinkTarget = [FBSDKAppLinkTarget appLinkTargetWithURL:[NSURL URLWithString:refererURLString] + appStoreId:nil + appName:refererAppName]; + _appLinkReferer = [FBSDKAppLink appLinkWithSourceURL:[NSURL URLWithString:refererURLString] + targets:@[ appLinkTarget ] + webURL:nil + isBackToReferrer:YES]; + } + + // Raise Measurement Event + NSString *const EVENT_YES_VAL = @"1"; + NSString *const EVENT_NO_VAL = @"0"; + NSMutableDictionary *logData = [[NSMutableDictionary alloc] init]; + logData[@"version"] = version; + if (refererURLString) { + logData[@"refererURL"] = refererURLString; + } + if (refererAppName) { + logData[@"refererAppName"] = refererAppName; + } + if (sourceApplication) { + logData[@"sourceApplication"] = sourceApplication; + } + if ([_targetURL absoluteString]) { + logData[@"targetURL"] = [_targetURL absoluteString]; + } + if ([_inputURL absoluteString]) { + logData[@"inputURL"] = [_inputURL absoluteString]; + } + if ([_inputURL scheme]) { + logData[@"inputURLScheme"] = [_inputURL scheme]; + } + logData[@"forRenderBackToReferrerBar"] = forRenderBackToReferrerBar ? EVENT_YES_VAL : EVENT_NO_VAL; + logData[@"forOpenUrl"] = forOpenURLEvent ? EVENT_YES_VAL : EVENT_NO_VAL; + [FBSDKMeasurementEvent postNotificationForEventName:FBSDKAppLinkParseEventName args:logData]; + if (forOpenURLEvent) { + [FBSDKMeasurementEvent postNotificationForEventName:FBSDKAppLinkNavigateInEventName args:logData]; + } + } + } + } + + return self; +} + ++ (FBSDKURL *)URLWithURL:(NSURL *)url { + return [[FBSDKURL alloc] initWithURL:url forOpenInboundURL:NO sourceApplication:nil forRenderBackToReferrerBar:NO]; +} + ++ (FBSDKURL *)URLWithInboundURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication { + return [[FBSDKURL alloc] initWithURL:url forOpenInboundURL:YES sourceApplication:sourceApplication forRenderBackToReferrerBar:NO]; +} + ++ (FBSDKURL *)URLForRenderBackToReferrerBarURL:(NSURL *)url { + return [[FBSDKURL alloc] initWithURL:url forOpenInboundURL:NO sourceApplication:nil forRenderBackToReferrerBar:YES]; +} + ++ (NSString *)decodeURLString:(NSString *)string { + return (NSString *)CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapes(NULL, + (CFStringRef)string, + CFSTR(""))); +} + ++ (NSDictionary *)queryParametersForURL:(NSURL *)url { + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + NSString *query = url.query; + if ([query isEqualToString:@""]) { + return @{}; + } + NSArray *queryComponents = [query componentsSeparatedByString:@"&"]; + for (NSString *component in queryComponents) { + NSRange equalsLocation = [component rangeOfString:@"="]; + if (equalsLocation.location == NSNotFound) { + // There's no equals, so associate the key with NSNull + parameters[[self decodeURLString:component]] = [NSNull null]; + } else { + NSString *key = [self decodeURLString:[component substringToIndex:equalsLocation.location]]; + NSString *value = [self decodeURLString:[component substringFromIndex:equalsLocation.location + 1]]; + parameters[key] = value; + } + } + return [NSDictionary dictionaryWithDictionary:parameters]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.h index abd0efa..5a7fdff 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.h @@ -25,45 +25,52 @@ /** Parses a query string into a dictionary. - - Parameter queryString: The query string value. - - Returns: A dictionary with the key/value pairs. + @param queryString The query string value. + @return A dictionary with the key/value pairs. */ + (NSDictionary *)dictionaryWithQueryString:(NSString *)queryString; /** Constructs a query string from a dictionary. - - Parameter dictionary: The dictionary with key/value pairs for the query string. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: Query string representation of the parameters. + @param dictionary The dictionary with key/value pairs for the query string. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return Query string representation of the parameters. */ + (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary error:(NSError *__autoreleasing *)errorRef; /** Decodes a value from an URL. - - Parameter value: The value to decode. - - Returns: The decoded value. + @param value The value to decode. + @return The decoded value. */ + (NSString *)URLDecode:(NSString *)value; /** Encodes a value for an URL. - - Parameter value: The value to encode. - - Returns: The encoded value. + @param value The value to encode. + @return The encoded value. */ + (NSString *)URLEncode:(NSString *)value; /** Creates a timer using Grand Central Dispatch. - - Parameter interval: The interval to fire the timer, in seconds. - - Parameter block: The code block to execute when timer is fired. - - Returns: The dispatch handle. + @param interval The interval to fire the timer, in seconds. + @param block The code block to execute when timer is fired. + @return The dispatch handle. */ + (dispatch_source_t)startGCDTimerWithInterval:(double)interval block:(dispatch_block_t)block; /** Stop a timer that was started by startGCDTimerWithInterval. - - Parameter timer: The dispatch handle received from startGCDTimerWithInterval. + @param timer The dispatch handle received from startGCDTimerWithInterval. */ + (void)stopGCDTimer:(dispatch_source_t)timer; +/** + Get SHA256 hased string of NSString/NSData + + @param input The data that needs to be hashed, it could be NSString or NSData. + */ ++ (NSString *)SHA256Hash:(NSObject *)input; + @end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.m index b28c22d..1735d6c 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.m @@ -18,6 +18,8 @@ #import "FBSDKUtility.h" +#import + #import "FBSDKInternalUtility.h" #import "FBSDKMacros.h" @@ -107,6 +109,30 @@ } } ++ (NSString *)SHA256Hash:(NSObject *)input +{ + NSData *data = nil; + + if ([input isKindOfClass:[NSString class]]) { + data = [(NSString *)input dataUsingEncoding:NSUTF8StringEncoding]; + } else if ([input isKindOfClass:[NSData class]]) { + data = (NSData *)input; + } + + if (!data) { + return nil; + } + + uint8_t digest[CC_SHA256_DIGEST_LENGTH]; + CC_SHA256(data.bytes, (CC_LONG)data.length, digest); + NSMutableString *encryptedStuff = [NSMutableString stringWithCapacity:CC_SHA256_DIGEST_LENGTH * 2]; + for (int i = 0; i < CC_SHA256_DIGEST_LENGTH; i++) { + [encryptedStuff appendFormat:@"%02x", digest[i]]; + } + + return encryptedStuff; +} + - (instancetype)init { FBSDK_NO_DESIGNATED_INITIALIZER(); diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h new file mode 100644 index 0000000..33eba98 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h @@ -0,0 +1,38 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +#import "FBSDKAppLinkResolving.h" + +NS_ASSUME_NONNULL_BEGIN + +/*! + A reference implementation for an App Link resolver that uses a hidden UIWebView + to parse the HTML containing App Link metadata. + */ +@interface FBSDKWebViewAppLinkResolver : NSObject + +/*! + Gets the instance of a FBSDKWebViewAppLinkResolver. + */ ++ (instancetype)sharedInstance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.m new file mode 100644 index 0000000..3f40440 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.m @@ -0,0 +1,308 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKWebViewAppLinkResolver.h" + +#import + +#import "FBSDKAppLink.h" +#import "FBSDKAppLinkTarget.h" + +/** + Describes the callback for appLinkFromURLInBackground. + @param result the results from following redirects + @param error the error during the request, if any + + */ +typedef void (^FBSDKURLFollowRedirectsHandler)(NSDictionary *result, NSError * _Nullable error); + +// Defines JavaScript to extract app link tags from HTML content +static NSString *const FBSDKWebViewAppLinkResolverTagExtractionJavaScript = @"" +"(function() {" +" var metaTags = document.getElementsByTagName('meta');" +" var results = [];" +" for (var i = 0; i < metaTags.length; i++) {" +" var property = metaTags[i].getAttribute('property');" +" if (property && property.substring(0, 'al:'.length) === 'al:') {" +" var tag = { \"property\": metaTags[i].getAttribute('property') };" +" if (metaTags[i].hasAttribute('content')) {" +" tag['content'] = metaTags[i].getAttribute('content');" +" }" +" results.push(tag);" +" }" +" }" +" return JSON.stringify(results);" +"})()"; +static NSString *const FBSDKWebViewAppLinkResolverIOSURLKey = @"url"; +static NSString *const FBSDKWebViewAppLinkResolverIOSAppStoreIdKey = @"app_store_id"; +static NSString *const FBSDKWebViewAppLinkResolverIOSAppNameKey = @"app_name"; +static NSString *const FBSDKWebViewAppLinkResolverDictionaryValueKey = @"_value"; +static NSString *const FBSDKWebViewAppLinkResolverPreferHeader = @"Prefer-Html-Meta-Tags"; +static NSString *const FBSDKWebViewAppLinkResolverMetaTagPrefix = @"al"; +static NSString *const FBSDKWebViewAppLinkResolverWebKey = @"web"; +static NSString *const FBSDKWebViewAppLinkResolverIOSKey = @"ios"; +static NSString *const FBSDKWebViewAppLinkResolverIPhoneKey = @"iphone"; +static NSString *const FBSDKWebViewAppLinkResolverIPadKey = @"ipad"; +static NSString *const FBSDKWebViewAppLinkResolverWebURLKey = @"url"; +static NSString *const FBSDKWebViewAppLinkResolverShouldFallbackKey = @"should_fallback"; + +@interface FBSDKWebViewAppLinkResolverWebViewDelegate : NSObject + +@property (nonatomic, copy) void (^didFinishLoad)(UIWebView *webView); +@property (nonatomic, copy) void (^didFailLoadWithError)(UIWebView *webView, NSError *error); +@property (nonatomic, assign) BOOL hasLoaded; + +@end + +@implementation FBSDKWebViewAppLinkResolverWebViewDelegate + +- (void)webViewDidFinishLoad:(UIWebView *)webView { + if (self.didFinishLoad) { + self.didFinishLoad(webView); + } +} + +- (void)webViewDidStartLoad:(UIWebView *)webView { +} + +- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { + if (self.didFailLoadWithError) { + self.didFailLoadWithError(webView, error); + } +} + +- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { + if (self.hasLoaded) { + // Consider loading a second resource to be "success", since it indicates an inner frame + // or redirect is happening. We can run the tag extraction script at this point. + self.didFinishLoad(webView); + return NO; + } + self.hasLoaded = YES; + return YES; +} + +@end + +@implementation FBSDKWebViewAppLinkResolver + ++ (instancetype)sharedInstance { + static id instance; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + instance = [[self alloc] init]; + }); + return instance; +} + +- (void)followRedirects:(NSURL *)url handler:(FBSDKURLFollowRedirectsHandler)handler +{ + // This task will be resolved with either the redirect NSURL + // or a dictionary with the response data to be returned. + void (^completion)(NSURLResponse *response, NSData *data, NSError *error) = ^(NSURLResponse *response, NSData *data, NSError *error) { + if (error) { + handler(nil, error); + return; + } + + if ([response isKindOfClass:[NSHTTPURLResponse class]]) { + NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; + + // NSURLConnection usually follows redirects automatically, but the + // documentation is unclear what the default is. This helps it along. + if (httpResponse.statusCode >= 300 && httpResponse.statusCode < 400) { + NSString *redirectString = httpResponse.allHeaderFields[@"Location"]; + NSURL *redirectURL = [NSURL URLWithString:redirectString]; + [self followRedirects:redirectURL handler:handler]; + return; + } + } + + handler(@{ @"response" : response, @"data" : data }, nil); + }; + + NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; + [request setValue:FBSDKWebViewAppLinkResolverMetaTagPrefix forHTTPHeaderField:FBSDKWebViewAppLinkResolverPreferHeader]; + +#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_7_0 || __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_9 + NSURLSession *session = [NSURLSession sharedSession]; + [[session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { + completion(response, data, error); + }] resume]; +#else + [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:completion]; +#endif +} + +- (void)appLinkFromURL:(NSURL *)url handler:(FBSDKAppLinkFromURLHandler)handler +{ + dispatch_async(dispatch_get_main_queue(), ^{ + [self followRedirects:url handler:^(NSDictionary *result, NSError * _Nullable error) { + + if (error) { + handler(nil, error); + return; + } + + NSData *responseData = result[@"data"]; + NSHTTPURLResponse *response = result[@"response"]; + + UIWebView *webView = [[UIWebView alloc] init]; + FBSDKWebViewAppLinkResolverWebViewDelegate *listener = [[FBSDKWebViewAppLinkResolverWebViewDelegate alloc] init]; + __block FBSDKWebViewAppLinkResolverWebViewDelegate *retainedListener = listener; + listener.didFinishLoad = ^(UIWebView *view) { + if (retainedListener) { + NSDictionary *ogData = [self getALDataFromLoadedPage:view]; + [view removeFromSuperview]; + view.delegate = nil; + retainedListener = nil; + handler([self appLinkFromALData:ogData destination:url], nil); + } + }; + listener.didFailLoadWithError = ^(UIWebView* view, NSError *loadError) { + if (retainedListener) { + [view removeFromSuperview]; + view.delegate = nil; + retainedListener = nil; + handler(nil, loadError); + } + }; + webView.delegate = listener; + webView.hidden = YES; + [webView loadData:responseData + MIMEType:response.MIMEType + textEncodingName:response.textEncodingName + baseURL:response.URL]; + UIWindow *window = [UIApplication sharedApplication].windows.firstObject; + [window addSubview:webView]; + }]; + }); +} + +/* + Builds up a data structure filled with the app link data from the meta tags on a page. + The structure of this object is a dictionary where each key holds an array of app link + data dictionaries. Values are stored in a key called "_value". + */ +- (NSDictionary *)parseALData:(NSArray *> *)dataArray { + NSMutableDictionary *al = [NSMutableDictionary dictionary]; + for (NSDictionary *tag in dataArray) { + NSString *name = tag[@"property"]; + if (![name isKindOfClass:[NSString class]]) { + continue; + } + NSArray *nameComponents = [name componentsSeparatedByString:@":"]; + if (![nameComponents[0] isEqualToString:FBSDKWebViewAppLinkResolverMetaTagPrefix]) { + continue; + } + NSMutableDictionary *root = al; + for (NSUInteger i = 1; i < nameComponents.count; i++) { + NSMutableArray *> *children = root[nameComponents[i]]; + if (!children) { + children = [NSMutableArray array]; + root[nameComponents[i]] = children; + } + NSMutableDictionary *child = children.lastObject; + if (!child || i == nameComponents.count - 1) { + child = [NSMutableDictionary dictionary]; + [children addObject:child]; + } + root = child; + } + if (tag[@"content"]) { + root[FBSDKWebViewAppLinkResolverDictionaryValueKey] = tag[@"content"]; + } + } + return al; +} + +- (NSDictionary *)getALDataFromLoadedPage:(UIWebView *)webView { + // Run some JavaScript in the webview to fetch the meta tags. + NSString *jsonString = [webView stringByEvaluatingJavaScriptFromString:FBSDKWebViewAppLinkResolverTagExtractionJavaScript]; + NSError *error = nil; + NSArray *> *arr = + [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] + options:0 + error:&error]; + return [self parseALData:arr]; +} + +/* + Converts app link data into a FBSDKAppLink containing the targets relevant for this platform. + */ +- (FBSDKAppLink *)appLinkFromALData:(NSDictionary *)appLinkDict destination:(NSURL *)destination { + NSMutableArray *linkTargets = [NSMutableArray array]; + + NSArray *platformData = nil; + + const UIUserInterfaceIdiom idiom = UI_USER_INTERFACE_IDIOM(); + if (idiom == UIUserInterfaceIdiomPad) { + platformData = @[ appLinkDict[FBSDKWebViewAppLinkResolverIPadKey] ?: @{}, + appLinkDict[FBSDKWebViewAppLinkResolverIOSKey] ?: @{} ]; + } else if (idiom == UIUserInterfaceIdiomPhone) { + platformData = @[ appLinkDict[FBSDKWebViewAppLinkResolverIPhoneKey] ?: @{}, + appLinkDict[FBSDKWebViewAppLinkResolverIOSKey] ?: @{} ]; + } else { + // Future-proofing. Other User Interface idioms should only hit ios. + platformData = @[ appLinkDict[FBSDKWebViewAppLinkResolverIOSKey] ?: @{} ]; + } + + for (NSArray *platformObjects in platformData) { + for (NSDictionary *platformDict in platformObjects) { + // The schema requires a single url/app store id/app name, + // but we could find multiple of them. We'll make a best effort + // to interpret this data. + NSArray *> *urls = platformDict[FBSDKWebViewAppLinkResolverIOSURLKey]; + NSArray *> *appStoreIds = platformDict[FBSDKWebViewAppLinkResolverIOSAppStoreIdKey]; + NSArray *> *appNames = platformDict[FBSDKWebViewAppLinkResolverIOSAppNameKey]; + + NSUInteger maxCount = MAX(urls.count, MAX(appStoreIds.count, appNames.count)); + + for (NSUInteger i = 0; i < maxCount; i++) { + NSString *urlString = urls[i][FBSDKWebViewAppLinkResolverDictionaryValueKey]; + NSURL *url = urlString ? [NSURL URLWithString:urlString] : nil; + NSString *appStoreId = appStoreIds[i][FBSDKWebViewAppLinkResolverDictionaryValueKey]; + NSString *appName = appNames[i][FBSDKWebViewAppLinkResolverDictionaryValueKey]; + FBSDKAppLinkTarget *target = [FBSDKAppLinkTarget appLinkTargetWithURL:url + appStoreId:appStoreId + appName:appName]; + [linkTargets addObject:target]; + } + } + } + + NSDictionary *webDict = appLinkDict[FBSDKWebViewAppLinkResolverWebKey][0]; + NSString *webUrlString = webDict[FBSDKWebViewAppLinkResolverWebURLKey][0][FBSDKWebViewAppLinkResolverDictionaryValueKey]; + NSString *shouldFallbackString = webDict[FBSDKWebViewAppLinkResolverShouldFallbackKey][0][FBSDKWebViewAppLinkResolverDictionaryValueKey]; + + NSURL *webUrl = destination; + + if (shouldFallbackString && + [@[ @"no", @"false", @"0" ] containsObject:[shouldFallbackString lowercaseString]]) { + webUrl = nil; + } + if (webUrl && webUrlString) { + webUrl = [NSURL URLWithString:webUrlString]; + } + + return [FBSDKAppLink appLinkWithSourceURL:destination + targets:linkTargets + webURL:webUrl]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessMacros.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessMacros.h new file mode 100644 index 0000000..213e6f3 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessMacros.h @@ -0,0 +1,48 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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. +#ifndef FBSDKCodelessMacros_h +#define FBSDKCodelessMacros_h + +// keys for event binding path compoenent +#define CODELESS_MAPPING_METHOD_KEY @"method" +#define CODELESS_MAPPING_EVENT_NAME_KEY @"event_name" +#define CODELESS_MAPPING_EVENT_TYPE_KEY @"event_type" +#define CODELESS_MAPPING_APP_VERSION_KEY @"app_version" +#define CODELESS_MAPPING_PATH_KEY @"path" +#define CODELESS_MAPPING_PATH_TYPE_KEY @"path_type" +#define CODELESS_MAPPING_CLASS_NAME_KEY @"class_name" +#define CODELESS_MAPPING_MATCH_BITMASK_KEY @"match_bitmask" +#define CODELESS_MAPPING_ID_KEY @"id" +#define CODELESS_MAPPING_INDEX_KEY @"index" +#define CODELESS_MAPPING_SECTION_KEY @"section" +#define CODELESS_MAPPING_ROW_KEY @"row" +#define CODELESS_MAPPING_TEXT_KEY @"text" +#define CODELESS_MAPPING_TAG_KEY @"tag" +#define CODELESS_MAPPING_DESC_KEY @"description" +#define CODELESS_MAPPING_HINT_KEY @"hint" +#define CODELESS_MAPPING_PARAMETERS_KEY @"parameters" +#define CODELESS_MAPPING_PARAMETER_NAME_KEY @"name" +#define CODELESS_MAPPING_PARAMETER_VALUE_KEY @"value" + +#define CODELESS_MAPPING_PARENT_CLASS_NAME @".." +#define CODELESS_MAPPING_CURRENT_CLASS_NAME @"." + +#define ReactNativeClassRCTView @"RCTView" +#define ReactNativeClassRCTRootView @"RCTRootView" + +#endif /* FBSDKCodelessMacros_h */ diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.h new file mode 100644 index 0000000..e2debc5 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.h @@ -0,0 +1,30 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +@interface FBSDKCodelessParameterComponent : NSObject + +@property (nonatomic, copy, readonly) NSString *name; +@property (nonatomic, copy, readonly) NSString *value; +@property (nonatomic, readonly) NSArray *path; +@property (nonatomic, copy, readonly) NSString *pathType; + +- (instancetype)initWithJSON:(NSDictionary *)dict; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.m new file mode 100644 index 0000000..ea57563 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.m @@ -0,0 +1,45 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKCodelessParameterComponent.h" + +#import "FBSDKCodelessMacros.h" +#import "FBSDKCodelessPathComponent.h" + +@implementation FBSDKCodelessParameterComponent + +- (instancetype)initWithJSON:(NSDictionary *)dict { + if (self = [super init]) { + _name = [[dict objectForKey:CODELESS_MAPPING_PARAMETER_NAME_KEY] copy]; + _value = [[dict objectForKey:CODELESS_MAPPING_PARAMETER_VALUE_KEY] copy]; + _pathType = [[dict objectForKey:CODELESS_MAPPING_PATH_TYPE_KEY] copy]; + + NSArray *ary = [dict objectForKey:CODELESS_MAPPING_PATH_KEY]; + NSMutableArray *mut = [NSMutableArray array]; + for (NSDictionary *info in ary) { + FBSDKCodelessPathComponent *component = [[FBSDKCodelessPathComponent alloc] + initWithJSON:info]; + [mut addObject:component]; + } + _path = [mut copy]; + } + + return self; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.h new file mode 100644 index 0000000..15bed07 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.h @@ -0,0 +1,44 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +typedef NS_OPTIONS(int, FBSDKCodelessMatchBitmaskField) +{ + FBSDKCodelessMatchBitmaskFieldID = 1, + FBSDKCodelessMatchBitmaskFieldText = 1 << 1, + FBSDKCodelessMatchBitmaskFieldTag = 1 << 2, + FBSDKCodelessMatchBitmaskFieldDescription = 1 << 3, + FBSDKCodelessMatchBitmaskFieldHint = 1 << 4 +}; + +@interface FBSDKCodelessPathComponent : NSObject + +@property (nonatomic, copy, readonly) NSString *className; +@property (nonatomic, copy, readonly) NSString *text; +@property (nonatomic, copy, readonly) NSString *hint; +@property (nonatomic, copy, readonly) NSString *desc; // description +@property (nonatomic, readonly) int index; +@property (nonatomic, readonly) int tag; +@property (nonatomic, readonly) int section; +@property (nonatomic, readonly) int row; +@property (nonatomic, readonly) int matchBitmask; + +- (instancetype)initWithJSON:(NSDictionary*)dict; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.m new file mode 100644 index 0000000..77f433f --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.m @@ -0,0 +1,58 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKCodelessPathComponent.h" + +#import "FBSDKCodelessMacros.h" + +@implementation FBSDKCodelessPathComponent + +- (instancetype)initWithJSON:(NSDictionary *)dict { + if (self = [super init]) { + _className = [[dict objectForKey:CODELESS_MAPPING_CLASS_NAME_KEY] copy]; + _text = [[dict objectForKey:CODELESS_MAPPING_TEXT_KEY] copy]; + _hint = [[dict objectForKey:CODELESS_MAPPING_HINT_KEY] copy]; + _desc = [[dict objectForKey:CODELESS_MAPPING_DESC_KEY] copy]; + + + if ([dict objectForKey:CODELESS_MAPPING_INDEX_KEY]) { + _index = [[dict objectForKey:CODELESS_MAPPING_INDEX_KEY] intValue]; + } else { + _index = -1; + } + + if ([dict objectForKey:CODELESS_MAPPING_SECTION_KEY]) { + _section = [[dict objectForKey:CODELESS_MAPPING_SECTION_KEY] intValue]; + } else { + _section = -1; + } + + if ([dict objectForKey:CODELESS_MAPPING_ROW_KEY]) { + _row = [[dict objectForKey:CODELESS_MAPPING_ROW_KEY] intValue]; + } else { + _row = -1; + } + + _tag = [[dict objectForKey:CODELESS_MAPPING_TAG_KEY] intValue]; + _matchBitmask = [[dict objectForKey:CODELESS_MAPPING_MATCH_BITMASK_KEY] intValue]; + } + + return self; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.h new file mode 100644 index 0000000..19e12f5 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.h @@ -0,0 +1,37 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 +#import + +@interface FBSDKEventBinding : NSObject + +@property (nonatomic, copy, readonly) NSString *eventName; +@property (nonatomic, copy, readonly) NSString *eventType; +@property (nonatomic, copy, readonly) NSString *appVersion; +@property (nonatomic, readonly) NSArray *path; +@property (nonatomic, copy, readonly) NSString *pathType; +@property (nonatomic, readonly) NSArray *parameters; + ++ (BOOL)isViewMatchPath:(UIView *)view path:(NSArray *)path; ++ (BOOL)isPath:(NSArray *)path matchViewPath:(NSArray *)viewPath; +- (FBSDKEventBinding *)initWithJSON:(NSDictionary *)dict; +- (void)trackEvent:(id)sender; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.m new file mode 100644 index 0000000..7dcae2f --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.m @@ -0,0 +1,276 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKEventBinding.h" + +#import + +#import "FBSDKAppEventsUtility.h" +#import "FBSDKCodelessMacros.h" +#import "FBSDKCodelessParameterComponent.h" +#import "FBSDKCodelessPathComponent.h" +#import "FBSDKSwizzler.h" +#import "FBSDKViewHierarchy.h" + +#define CODELESS_PATH_TYPE_ABSOLUTE @"absolute" +#define CODELESS_PATH_TYPE_RELATIVE @"relative" +#define CODELESS_CODELESS_EVENT_KEY @"_is_fb_codeless" +#define PARAMETER_NAME_PRICE @"_valueToSum" + +@implementation FBSDKEventBinding + +- (FBSDKEventBinding *)initWithJSON:(NSDictionary *)dict +{ + if ((self = [super init])) { + _eventName = [[dict objectForKey:CODELESS_MAPPING_EVENT_NAME_KEY] copy]; + _eventType = [[dict objectForKey:CODELESS_MAPPING_EVENT_TYPE_KEY] copy]; + _appVersion = [[dict objectForKey:CODELESS_MAPPING_APP_VERSION_KEY] copy]; + _pathType = [[dict objectForKey:CODELESS_MAPPING_PATH_TYPE_KEY] copy]; + + NSArray *pathComponents = [dict objectForKey:CODELESS_MAPPING_PATH_KEY]; + NSMutableArray *mut = [NSMutableArray array]; + for (NSDictionary *info in pathComponents) { + FBSDKCodelessPathComponent *component = [[FBSDKCodelessPathComponent alloc] + initWithJSON:info]; + [mut addObject:component]; + } + _path = [mut copy]; + + NSArray *parameters = [dict objectForKey:CODELESS_MAPPING_PARAMETERS_KEY]; + mut = [NSMutableArray array]; + for (NSDictionary *info in parameters) { + FBSDKCodelessParameterComponent *component = [[FBSDKCodelessParameterComponent alloc] + initWithJSON:info]; + [mut addObject:component]; + } + _parameters = [mut copy]; + } + return self; +} + +- (void)trackEvent:(id)sender +{ + UIView *sourceView = [sender isKindOfClass:[UIView class]] ? (UIView *)sender : nil; + NSMutableDictionary *params = [NSMutableDictionary dictionary]; + [params setObject:@"1" forKey:CODELESS_CODELESS_EVENT_KEY]; + for (FBSDKCodelessParameterComponent *component in self.parameters) { + NSString *text = component.value; + if (!text || text.length == 0) { + text = [FBSDKEventBinding findParameterOfPath:component.path + pathType:component.pathType + sourceView:sourceView]; + } + if (text) { + if ([component.name isEqualToString:PARAMETER_NAME_PRICE]) { + NSNumber *value = [FBSDKAppEventsUtility getNumberValue:text]; + [params setObject:value forKey:component.name]; + } else { + [params setObject:text forKey:component.name]; + } + } + } + + [FBSDKAppEvents logEvent:_eventName parameters:[params copy]]; +} + ++ (BOOL)matchAnyView:(NSArray *)views + pathComponent:(FBSDKCodelessPathComponent *)component +{ + for (NSObject *view in views) { + if ([self match:view pathComponent:component]) { + return YES; + } + } + return NO; +} + ++ (BOOL)match:(NSObject *)view +pathComponent:(FBSDKCodelessPathComponent *)component +{ + NSString *className = NSStringFromClass([view class]); + if (![className isEqualToString:component.className]) { + return NO; + } + + if (component.index >= 0) { + NSObject *parent = [FBSDKViewHierarchy getParent:view]; + if (parent) { + NSArray *children = [FBSDKViewHierarchy getChildren:[FBSDKViewHierarchy getParent:view]]; + NSUInteger index = [children indexOfObject:view]; + if (index == NSNotFound || index != component.index) { + return NO; + } + } else { + if (0 != component.index) { + return NO; + } + } + } + + if ((component.matchBitmask & FBSDKCodelessMatchBitmaskFieldText) > 0) { + NSString *text = [FBSDKViewHierarchy getText:view]; + BOOL match = ((text.length == 0 && component.text.length == 0) + || [text isEqualToString:component.text]); + if (!match) { + return NO; + } + } + + if ((component.matchBitmask & FBSDKCodelessMatchBitmaskFieldTag) > 0 + && [view isKindOfClass:[UIView class]] + && component.tag != ((UIView *)view).tag) { + return NO; + } + + if ((component.matchBitmask & FBSDKCodelessMatchBitmaskFieldHint) > 0) { + NSString *hint = [FBSDKViewHierarchy getHint:view]; + BOOL match = ((hint.length == 0 && component.hint.length == 0) + || [hint isEqualToString:component.hint]); + if (!match) { + return NO; + } + } + + return YES; +} + ++ (BOOL)isViewMatchPath:(UIView *)view path:(NSArray *)path +{ + NSArray *viewPath = [FBSDKViewHierarchy getPath:view]; + BOOL isMatch = [self isPath:path matchViewPath:viewPath]; + + return isMatch; +} + ++ (BOOL)isPath:(NSArray *)path matchViewPath:(NSArray *)viewPath { + for (NSInteger i = 0; i < MIN(path.count, viewPath.count); i++) { + NSInteger idxPath = path.count - i - 1; + NSInteger idxViewPath = viewPath.count - i - 1; + + FBSDKCodelessPathComponent *pathComponent = [path objectAtIndex:idxPath]; + FBSDKCodelessPathComponent *viewPathComponent = [viewPath objectAtIndex:idxViewPath]; + + if (![pathComponent.className isEqualToString:viewPathComponent.className]) { + return NO; + } + + if (pathComponent.index >= 0 + && pathComponent.index != viewPathComponent.index) { + return NO; + } + + if ((pathComponent.matchBitmask & FBSDKCodelessMatchBitmaskFieldText) > 0) { + NSString *text = viewPathComponent.text; + BOOL match = ((text.length == 0 && pathComponent.text.length == 0) + || [text isEqualToString:pathComponent.text]); + if (!match) { + return NO; + } + } + + if ((pathComponent.matchBitmask & FBSDKCodelessMatchBitmaskFieldTag) > 0 + && pathComponent.tag != viewPathComponent.tag) { + return NO; + } + + if ((pathComponent.matchBitmask & FBSDKCodelessMatchBitmaskFieldHint) > 0) { + NSString *hint = viewPathComponent.hint; + BOOL match = ((hint.length == 0 && pathComponent.hint.length == 0) + || [hint isEqualToString:pathComponent.hint]); + if (!match) { + return NO; + } + } + } + + return YES; +} + ++ (NSObject *)findViewByPath:(NSArray *)path parent:(NSObject *)parent level:(int)level { + if (level >= path.count) { + return nil; + } + + FBSDKCodelessPathComponent *pathComponent = [path objectAtIndex:level]; + + // If found parent, skip to next level + if ([pathComponent.className isEqualToString:CODELESS_MAPPING_PARENT_CLASS_NAME]) { + NSObject *nextParent = [FBSDKViewHierarchy getParent:parent]; + + return [FBSDKEventBinding findViewByPath:path parent:nextParent level:level + 1]; + } else if ([pathComponent.className isEqualToString:CODELESS_MAPPING_CURRENT_CLASS_NAME]) { + return parent; + } + + NSArray *children; + if (parent) { + children = [FBSDKViewHierarchy getChildren:parent]; + } else { + UIWindow *window = [UIApplication sharedApplication].delegate.window; + if (window) { + children = @[window]; + } else { + return nil; + } + } + + if (path.count - 1 == level) { + int index = pathComponent.index; + if (index >= 0) { + NSObject *child = index < children.count ? [children objectAtIndex:index] : nil; + if ([self match:child pathComponent:pathComponent]) { + return child; + } + } else { + for (NSObject *child in children) { + if ([self match:child pathComponent:pathComponent]) { + return child; + } + } + } + } else { + for (NSObject *child in children) { + NSObject *result = [self findViewByPath:path parent:child level:level + 1]; + if (result) { + return result; + } + } + } + + return nil; +} + +// MARK: - find event parameters via relative path ++ (NSString *)findParameterOfPath:(NSArray *)path + pathType:(NSString *)pathType + sourceView:(UIView *)sourceView { + if (0 == path.count) { + return nil; + } + + UIView *rootView = sourceView; + if (![pathType isEqualToString:CODELESS_PATH_TYPE_RELATIVE]) { + rootView = nil; + } + + NSObject *foundObj = [self findViewByPath:path parent:rootView level:0]; + + return [FBSDKViewHierarchy getText:foundObj]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.h new file mode 100644 index 0000000..863094e --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.h @@ -0,0 +1,28 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +@interface FBSDKEventBindingManager : NSObject + +- (FBSDKEventBindingManager*)initWithJSON:(NSDictionary*)dict; +- (void)start; +- (void)updateBindings:(NSArray *)bindings; ++ (NSArray *)parseArray:(NSArray *)array; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.m new file mode 100644 index 0000000..1db42c0 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.m @@ -0,0 +1,380 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKEventBindingManager.h" + +#import + +#import "FBSDKCodelessMacros.h" +#import "FBSDKCodelessPathComponent.h" +#import "FBSDKEventBinding.h" +#import "FBSDKSwizzler.h" +#import "FBSDKTypeUtility.h" +#import "FBSDKViewHierarchy.h" + +#define ReactNativeEventNameKey @"eventName" +#define ReactNativeViewTagKey @"viewTag" +#define ReactNativeTouchEndEventName @"touchEnd" + +#define ReactNativeClassRCTTextView @"RCTTextView" +#define ReactNativeClassRCTImageView @"RCTImageVIew" +#define ReactNativeClassRCTEventDispatcher @"RCTEventDispatcher" +#define ReactNativeClassRCTTouchEvent @"RCTTouchEvent" + +static void fb_dispatch_on_main_thread(dispatch_block_t block) { + dispatch_async(dispatch_get_main_queue(), block); +} + +static void fb_dispatch_on_default_thread(dispatch_block_t block) { + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block); +} + +@interface FBSDKEventBindingManager () +{ + BOOL isStarted; + NSMutableDictionary *reactBindings; + NSSet *validClasses; + BOOL hasReactNative; + NSArray *eventBindings; +} +@end + +@implementation FBSDKEventBindingManager + +- (id)init { + self = [super init]; + if (self) { + isStarted = false; + hasReactNative = NO; + reactBindings = [NSMutableDictionary dictionary]; + + NSMutableSet *classes = [NSMutableSet set]; + [classes addObject:[UIControl class]]; + [classes addObject:[UITableView class]]; + [classes addObject:[UICollectionView class]]; + // ReactNative + Class classRCTRootView = NSClassFromString(ReactNativeClassRCTRootView); + if (classRCTRootView != nil) { + hasReactNative = YES; + Class classRCTView = NSClassFromString(ReactNativeClassRCTView); + Class classRCTTextView = NSClassFromString(ReactNativeClassRCTTextView); + Class classRCTImageView = NSClassFromString(ReactNativeClassRCTImageView); + if (classRCTView) { + [classes addObject:classRCTView]; + } + if (classRCTTextView) { + [classes addObject:classRCTTextView]; + } + if (classRCTImageView) { + [classes addObject:classRCTImageView]; + } + } + validClasses = [NSSet setWithSet:classes]; + } + return self; +} + ++ (NSArray *)parseArray:(NSArray *)array { + NSMutableArray *result = [NSMutableArray array]; + + for (NSDictionary *json in array) { + FBSDKEventBinding *binding = [[FBSDKEventBinding alloc] initWithJSON:json]; + [result addObject:binding]; + } + + return [result copy]; +} + +- (FBSDKEventBindingManager*)initWithJSON:(NSDictionary*)dict +{ + if ((self = [super init])) { + NSArray *eventBindingsDict = [FBSDKTypeUtility arrayValue:dict[@"event_bindings"]]; + NSMutableArray *bindings = [NSMutableArray array]; + for (NSDictionary *d in eventBindingsDict) { + FBSDKEventBinding *e = [[FBSDKEventBinding alloc] initWithJSON:d]; + [bindings addObject:e]; + } + eventBindings = [bindings copy]; + } + return self; +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wundeclared-selector" +- (void)start +{ + if (isStarted) { + return; + } + isStarted = true; + + void (^blockToSuperview)(id view) = ^(id view) { + [self matchView:view delegate:nil]; + }; + + void (^blockToWindow)(id view) = ^(id view) { + [self matchView:view delegate:nil]; + }; + + [FBSDKSwizzler swizzleSelector:@selector(didMoveToSuperview) + onClass:[UIControl class] + withBlock:blockToSuperview named:@"map_control"]; + [FBSDKSwizzler swizzleSelector:@selector(didMoveToWindow) + onClass:[UIControl class] + withBlock:blockToWindow named:@"map_control"]; + + + // ReactNative + if (hasReactNative) { // If app is built via ReactNative + Class classRCTView = NSClassFromString(ReactNativeClassRCTView); + Class classRCTTextView = NSClassFromString(ReactNativeClassRCTTextView); + Class classRCTImageView = NSClassFromString(ReactNativeClassRCTImageView); + Class classRCTEventDispatcher = NSClassFromString(ReactNativeClassRCTEventDispatcher); + + // All react-native views would be added tp RCTRootView, so no need to check didMoveToWindow + [FBSDKSwizzler swizzleSelector:@selector(didMoveToSuperview) + onClass:classRCTView + withBlock:blockToSuperview + named:@"match_react_native"]; + [FBSDKSwizzler swizzleSelector:@selector(didMoveToSuperview) + onClass:classRCTTextView + withBlock:blockToSuperview + named:@"match_react_native"]; + [FBSDKSwizzler swizzleSelector:@selector(didMoveToSuperview) + onClass:classRCTImageView + withBlock:blockToSuperview + named:@"match_react_native"]; + + [FBSDKSwizzler swizzleSelector:@selector(dispatchEvent:) onClass:classRCTEventDispatcher withBlock:^(id dispatcher, SEL command, id event){ + if ([event isKindOfClass:NSClassFromString(ReactNativeClassRCTTouchEvent)]) { + @try { + NSString *eventName = [event valueForKeyPath:ReactNativeEventNameKey]; + NSNumber *viewTag = [event valueForKeyPath:ReactNativeViewTagKey]; + + if ([eventName isEqualToString:ReactNativeTouchEndEventName] + && nil != viewTag) { + FBSDKEventBinding *eventBinding = [self->reactBindings objectForKey:viewTag]; + if (eventBinding) { + [eventBinding trackEvent:nil]; + } + } + } + @catch(NSException *exception) { + // Catch exception here to prevent LytroKit from crashing app + } + } + } named:@"dispatch_rn_event"]; + } + + // UITableView + void (^tableViewBlock)(UITableView *tableView, + SEL cmd, + id delegate) = + ^(UITableView *tableView, SEL cmd, id delegate) { + if (!delegate) { + return; + } + + [self matchView:tableView delegate:delegate]; + }; + [FBSDKSwizzler swizzleSelector:@selector(setDelegate:) + onClass:[UITableView class] + withBlock:tableViewBlock + named:@"match_table_view"]; + // UICollectionView + void (^collectionViewBlock)(UICollectionView *collectionView, + SEL cmd, + id delegate) = + ^(UICollectionView *collectionView, SEL cmd, id delegate) { + if (nil == delegate) { + return; + } + + [self matchView:collectionView delegate:delegate]; + }; + [FBSDKSwizzler swizzleSelector:@selector(setDelegate:) + onClass:[UICollectionView class] + withBlock:collectionViewBlock + named:@"handle_collection_view"]; +} + +- (void)rematchBindings { + if (0 == eventBindings.count) { + return; + } + + NSArray *windows = [UIApplication sharedApplication].windows; + for (UIWindow *window in windows) { + [self matchSubviewsIn:window]; + } +} + +- (void)matchSubviewsIn:(UIView *)view { + if (!view) { + return; + } + + for (UIView *subview in view.subviews) { + BOOL isValidClass = NO; + for (Class cls in validClasses) { + if ([subview isKindOfClass:cls]) { + isValidClass = YES; + break; + } + } + + if (isValidClass) { + if ([subview isKindOfClass:[UITableView class]]) { + UITableView *tableView = (UITableView *)subview; + if (tableView.delegate) { + [self matchView:subview delegate:tableView.delegate]; + } + } else if ([subview isKindOfClass:[UICollectionView class]]) { + UICollectionView *collectionView = (UICollectionView *)subview; + if (collectionView.delegate) { + [self matchView:subview delegate:collectionView.delegate]; + } + } else { + [self matchView:subview delegate:nil]; + } + } + + if (![subview isKindOfClass:[UIControl class]]) { + [self matchSubviewsIn:subview]; + } + } +} + +// check if the view is matched to any event +- (void)matchView:(UIView *)view delegate:(id)delegate { + if (0 == eventBindings.count) { + return; + } + + fb_dispatch_on_main_thread(^{ + NSArray *path = [FBSDKViewHierarchy getPath:view]; + + fb_dispatch_on_default_thread(^{ + if ([view isKindOfClass:[UIControl class]]) { + UIControl *control = (UIControl *)view; + for (FBSDKEventBinding *binding in self->eventBindings) { + if ([FBSDKEventBinding isPath:binding.path matchViewPath:path]) { + fb_dispatch_on_main_thread(^{ + [control addTarget:binding + action:@selector(trackEvent:) + forControlEvents:UIControlEventTouchUpInside]; + }); + break; + } + } + } else if (self->hasReactNative + && [view respondsToSelector:@selector(reactTag)]) { + NSNumber *reactTag = [view performSelector:@selector(reactTag)]; + for (FBSDKEventBinding *binding in self->eventBindings) { + if ([FBSDKEventBinding isPath:binding.path matchViewPath:path]) { + fb_dispatch_on_main_thread(^{ + if (reactTag && [reactTag isKindOfClass:[NSNumber class]]) { + [self->reactBindings setObject:binding forKey:reactTag]; + } + }); + break; + } + } + } else if ([view isKindOfClass:[UITableView class]] + && [delegate conformsToProtocol:@protocol(UITableViewDelegate)]) { + fb_dispatch_on_default_thread(^{ + NSMutableSet *matchedBindings = [NSMutableSet set]; + for (FBSDKEventBinding *binding in self->eventBindings) { + if (binding.path.count > 1) { + NSArray *shortPath = [binding.path + subarrayWithRange:NSMakeRange(0, binding.path.count - 1)]; + if ([FBSDKEventBinding isPath:shortPath matchViewPath:path]) { + [matchedBindings addObject:binding]; + } + } + } + + if (matchedBindings.count > 0) { + NSArray *bindings = [matchedBindings allObjects]; + void (^block)(id, SEL, id, id) = ^(id target, SEL command, UITableView *tableView, NSIndexPath *indexPath) { + fb_dispatch_on_main_thread(^{ + for (FBSDKEventBinding *binding in bindings) { + FBSDKCodelessPathComponent *component = binding.path.lastObject; + if ((component.section == -1 || component.section == indexPath.section) + && (component.row == -1 || component.row == indexPath.row)) { + UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; + [binding trackEvent:cell]; + } + } + }); + }; + [FBSDKSwizzler swizzleSelector:@selector(tableView:didSelectRowAtIndexPath:) + onClass:[delegate class] + withBlock:block + named:@"handle_table_view"]; + } + }); + } else if ([view isKindOfClass:[UICollectionView class]] + && [delegate conformsToProtocol:@protocol(UICollectionViewDelegate)]) { + fb_dispatch_on_default_thread(^{ + NSMutableSet *matchedBindings = [NSMutableSet set]; + for (FBSDKEventBinding *binding in self->eventBindings) { + if (binding.path.count > 1) { + NSArray *shortPath = [binding.path + subarrayWithRange:NSMakeRange(0, binding.path.count - 1)]; + if ([FBSDKEventBinding isPath:shortPath matchViewPath:path]) { + [matchedBindings addObject:binding]; + } + } + } + + if (matchedBindings.count > 0) { + NSArray *bindings = [matchedBindings allObjects]; + void (^block)(id, SEL, id, id) = ^(id target, SEL command, UICollectionView *collectionView, NSIndexPath *indexPath) { + fb_dispatch_on_main_thread(^{ + for (FBSDKEventBinding *binding in bindings) { + FBSDKCodelessPathComponent *component = binding.path.lastObject; + if ((component.section == -1 || component.section == indexPath.section) + && (component.row == -1 || component.row == indexPath.row)) { + UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath]; + [binding trackEvent:cell]; + } + } + }); + }; + [FBSDKSwizzler swizzleSelector:@selector(collectionView:didSelectItemAtIndexPath:) + onClass:[delegate class] + withBlock:block + named:@"handle_collection_view"]; + } + }); + } + }); + }); +} + +#pragma clang diagnostic pop +- (void)updateBindings:(NSArray *)bindings { + eventBindings = bindings; + [reactBindings removeAllObjects]; + fb_dispatch_on_main_thread(^{ + [self rematchBindings]; + }); +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.h new file mode 100644 index 0000000..4fd881d --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.h @@ -0,0 +1,33 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 +#import + +@interface FBSDKViewHierarchy : NSObject + ++ (NSObject *)getParent:(NSObject *)obj; ++ (NSArray *)getChildren:(NSObject *)obj; ++ (NSArray *)getPath:(NSObject *)obj; + ++ (NSString *)getText:(NSObject *)obj; ++ (NSString *)getHint:(NSObject *)obj; ++ (UITableView *)getParentTableView:(UIView *)cell; ++ (UICollectionView *)getParentCollectionView:(UIView *)cell; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.m new file mode 100644 index 0000000..4895c52 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.m @@ -0,0 +1,394 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKViewHierarchy.h" + +#import + +#import + +#import "FBSDKCodelessMacros.h" +#import "FBSDKCodelessPathComponent.h" +#import "FBSDKCoreKit+Internal.h" + +#define MAX_VIEW_HIERARCHY_LEVEL 35 + +@implementation FBSDKViewHierarchy + ++ (NSArray*)getChildren:(NSObject*)obj { + if ([obj isKindOfClass:[UIControl class]]) { + return nil; + } + + NSMutableArray *children = [NSMutableArray array]; + + // children of window should be viewcontroller + if ([obj isKindOfClass:[UIWindow class]]) { + UIViewController *rootVC = ((UIWindow *)obj).rootViewController; + NSArray *subviews = [(UIWindow *)obj subviews]; + for (UIView *child in subviews) { + if (child != rootVC.view) { + UIViewController *vc = [FBSDKViewHierarchy getParentViewController:child]; + if (vc != nil && vc.view == child) { + [children addObject:vc]; + } else { + [children addObject:child]; + } + } else { + if (rootVC) { + [children addObject:rootVC]; + } + } + } + } else if ([obj isKindOfClass:[UIView class]]) { + NSArray *subviews = [[(UIView *)obj subviews] copy]; + for (UIView *child in subviews) { + UIViewController *vc = [FBSDKViewHierarchy getParentViewController:child]; + if (vc && vc.view == child) { + [children addObject:vc]; + } else { + [children addObject:child]; + } + } + } else if ([obj isKindOfClass:[UINavigationController class]]) { + UIViewController *vc = [(UINavigationController*)obj visibleViewController]; + UIViewController *tc = [(UINavigationController*)obj topViewController]; + NSArray *nextChildren = [FBSDKViewHierarchy getChildren:((UIViewController*)obj).view]; + for (NSObject *child in nextChildren) { + if (tc && [self isView:child superViewOfView:tc.view]) { + [children addObject:tc]; + } else if (vc && [self isView:child superViewOfView:vc.view]) { + [children addObject:vc]; + } else { + if (child != vc.view && child != tc.view) { + [children addObject:child]; + } else { + if (vc && child == vc.view) { + [children addObject:vc]; + } else if (tc && child == tc.view) { + [children addObject:tc]; + } + } + } + } + + if (vc && ![children containsObject:vc]) { + [children addObject:vc]; + } + } else if ([obj isKindOfClass:[UITabBarController class]]) { + UIViewController *vc = [(UITabBarController *)obj selectedViewController]; + NSArray *nextChildren = [FBSDKViewHierarchy getChildren:((UIViewController*)obj).view]; + for (NSObject *child in nextChildren) { + if (vc && [self isView:child superViewOfView:vc.view]) { + [children addObject:vc]; + } else { + if (vc && child == vc.view) { + [children addObject:vc]; + } else { + [children addObject:child]; + } + } + } + + if (vc && ![children containsObject:vc]) { + [children addObject:vc]; + } + } else if ([obj isKindOfClass:[UIViewController class]]) { + UIViewController *vc = (UIViewController *)obj; + if (vc.isViewLoaded) { + NSArray *nextChildren = [FBSDKViewHierarchy getChildren:vc.view]; + if (nextChildren.count > 0) { + [children addObjectsFromArray:nextChildren]; + } + } + for (NSObject *child in [vc childViewControllers]) { + [children addObject:child]; + } + UIViewController *presentedVC = vc.presentedViewController; + if (presentedVC) { + [children addObject:presentedVC]; + } + } + return children; +} + ++ (NSObject *)getParent:(NSObject *)obj +{ + if ([obj isKindOfClass:[UIView class]]) { + UIView *superview = [(UIView *)obj superview]; + UIViewController *superviewViewController = [FBSDKViewHierarchy + getParentViewController:superview]; + if (superviewViewController && superviewViewController.view == superview) { + return superviewViewController; + } + if (superview && superview != obj) { + return superview; + } + } + else if ([obj isKindOfClass:[UIViewController class]]) { + UIViewController *vc = (UIViewController *)obj; + UIViewController *parentVC = [vc parentViewController]; + UIViewController *presentingVC = [vc presentingViewController]; + UINavigationController *nav = [vc navigationController]; + UITabBarController *tab = [vc tabBarController]; + + if (nav) { + return nav; + } + + if (tab) { + return tab; + } + + if (parentVC) { + return parentVC; + } + + if (presentingVC && [presentingVC presentedViewController] == vc) { + return presentingVC; + } + + // Return parent of view of UIViewController + NSObject *viewParent = [FBSDKViewHierarchy getParent:vc.view]; + if (viewParent) { + return viewParent; + } + } + return nil; +} + ++ (NSArray *)getPath:(NSObject *)obj { + return [FBSDKViewHierarchy getPath:obj limit:MAX_VIEW_HIERARCHY_LEVEL]; +} + ++ (NSArray *)getPath:(NSObject *)obj limit:(int)limit { + if (!obj || limit <= 0) { + return nil; + } + + NSMutableArray *path; + + NSObject *parent = [FBSDKViewHierarchy getParent:obj]; + if (parent) { + NSArray *parentPath = [FBSDKViewHierarchy getPath:parent limit:limit - 1]; + path = [NSMutableArray arrayWithArray:parentPath]; + } else { + path = [NSMutableArray array]; + } + + NSMutableDictionary *componentInfo = [NSMutableDictionary dictionary]; + [componentInfo setObject:NSStringFromClass([obj class]) + forKey:CODELESS_MAPPING_CLASS_NAME_KEY]; + + NSString *text = [FBSDKViewHierarchy getText:obj]; + if (text) { + [componentInfo setObject:text forKey:CODELESS_MAPPING_TEXT_KEY]; + } + + if (parent != nil) { + NSArray *children = [FBSDKViewHierarchy getChildren:parent]; + NSUInteger index = [children indexOfObject:obj]; + if (index != NSNotFound) { + [componentInfo setObject:@(index) + forKey:CODELESS_MAPPING_INDEX_KEY]; + } + } else { + [componentInfo setObject:@0 forKey:CODELESS_MAPPING_INDEX_KEY]; + } + + if ([obj isKindOfClass:[UIView class]]) { + [componentInfo setObject:@(((UIView *)obj).tag) + forKey:CODELESS_MAPPING_TAG_KEY]; + + // Handle UITableViewCell & UICollectionViewCell + if ([obj isKindOfClass:[UITableViewCell class]]) { + UITableView *tableView = [FBSDKViewHierarchy getParentTableView:(UIView *)obj]; + NSIndexPath *indexPath = [tableView indexPathForCell:(UITableViewCell *)obj]; + if (indexPath) { + [componentInfo setObject:@(indexPath.section) + forKey:CODELESS_MAPPING_SECTION_KEY]; + [componentInfo setObject:@(indexPath.row) + forKey:CODELESS_MAPPING_ROW_KEY]; + } + } else if ([obj isKindOfClass:[UICollectionViewCell class]]) { + UICollectionView *collectionView = [FBSDKViewHierarchy getParentCollectionView:(UIView *)obj]; + NSIndexPath *indexPath = [collectionView indexPathForCell:(UICollectionViewCell *)obj]; + if (indexPath) { + [componentInfo setObject:@(indexPath.section) + forKey:CODELESS_MAPPING_SECTION_KEY]; + [componentInfo setObject:@(indexPath.row) + forKey:CODELESS_MAPPING_ROW_KEY]; + } + } else if ([obj isKindOfClass:[UITextField class]]) { + NSString *hint = [FBSDKViewHierarchy getHint:obj]; + if (hint) { + [componentInfo setObject:hint forKey:CODELESS_MAPPING_HINT_KEY]; + } + } + } else if ([obj isKindOfClass:[UINavigationController class]]) { + NSString *hint = [FBSDKViewHierarchy getHint:obj]; + if (hint) { + [componentInfo setObject:hint forKey:CODELESS_MAPPING_HINT_KEY]; + } + } + + FBSDKCodelessPathComponent *pathComponent = [[FBSDKCodelessPathComponent alloc] + initWithJSON:componentInfo]; + [path addObject:pathComponent]; + + return [NSArray arrayWithArray:path]; +} + ++ (NSString *)getText:(NSObject *)obj { + NSString *text = nil; + + if ([obj isKindOfClass:[UIButton class]]) { + text = [(UIButton *)obj currentTitle]; + } else if ([obj isKindOfClass:[UITextView class]] || + [obj isKindOfClass:[UITextField class]] || + [obj isKindOfClass:[UILabel class]]) { + text = [(UILabel *)obj text]; + } else if ([obj isKindOfClass:[UIPickerView class]]) { + UIPickerView *picker = (UIPickerView *)obj; + NSInteger sections = [picker numberOfComponents]; + NSMutableArray *titles = [NSMutableArray array]; + + for (NSInteger i = 0; i < sections; i++) { + NSInteger row = [picker selectedRowInComponent:i]; + NSString *title; + if ([picker.delegate + respondsToSelector:@selector(pickerView:titleForRow:forComponent:)]) { + title = [picker.delegate pickerView:picker titleForRow:row forComponent:i]; + } else if ([picker.delegate + respondsToSelector:@selector(pickerView:attributedTitleForRow:forComponent:)]) { + title = [[picker.delegate + pickerView:picker + attributedTitleForRow:row forComponent:i] string]; + } + [titles addObject:title ?: @""]; + } + + if (titles.count > 0) { + text = [FBSDKInternalUtility JSONStringForObject:titles + error:NULL + invalidObjectHandler:NULL]; + } + } else if ([obj isKindOfClass:[UIDatePicker class]]) { + UIDatePicker *picker = (UIDatePicker *)obj; + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZ"]; + text = [formatter stringFromDate:picker.date]; + } else if ([obj isKindOfClass:NSClassFromString(@"RCTTextView")]) { + NSTextStorage *textStorage = [FBSDKAppEventsUtility getVariable:@"_textStorage" + fromInstance:obj]; + if (textStorage) { + text = [textStorage string]; + } + } else if ([obj isKindOfClass:NSClassFromString(@"RCTBaseTextInputView")]) { + NSAttributedString *attributedText = [FBSDKAppEventsUtility getVariable:@"attributedText" + fromInstance:obj]; + text = [attributedText string]; + } + + if ([obj conformsToProtocol:@protocol(UITextInput)]) { + id input = (id)obj; + if ([input isSecureTextEntry]) { + text = nil; + } else { + switch (input.keyboardType) { + case UIKeyboardTypePhonePad: + case UIKeyboardTypeEmailAddress: + text = nil; + break; + default: break; + } + } + } + + return text.length > 0 ? text : nil; +} + ++ (NSString *)getHint:(NSObject *)obj { + NSString *hint = nil; + + if ([obj isKindOfClass:[UITextField class]]) { + hint = [(UITextField *)obj placeholder]; + } else if ([obj isKindOfClass:[UINavigationController class]]) { + UIViewController *top = [(UINavigationController *)obj topViewController]; + if (top) { + hint = NSStringFromClass([top class]); + } + } + + return hint.length > 0 ? hint : nil; +} + ++ (BOOL)isView:(NSObject *)obj1 superViewOfView:(UIView *)obj2 { + if (![obj1 isKindOfClass:[UIView class]] + || ![obj2 isKindOfClass:[UIView class]]) { + return NO; + } + UIView *view1 = (UIView *)obj1; + UIView *view2 = (UIView *)obj2; + UIView *superview = view2; + while (superview) { + superview = [superview superview]; + if (superview == view1) { + return YES; + } + } + + return NO; +} + ++ (UIViewController *)getParentViewController:(UIView *)view { + UIResponder *parentResponder = view; + + while (parentResponder) { + parentResponder = [parentResponder nextResponder]; + if ([parentResponder isKindOfClass:[UIViewController class]]) { + return (UIViewController *)parentResponder; + } + } + + return nil; +} + ++ (UITableView *)getParentTableView:(UIView *)cell { + UIView *superview = cell.superview; + while (superview) { + if ([superview isKindOfClass:[UITableView class]]) { + return (UITableView *)superview; + } + superview = [superview superview]; + } + return nil; +} + ++ (UICollectionView *)getParentCollectionView:(UIView *)cell { + UIView *superview = cell.superview; + while (superview) { + if ([superview isKindOfClass:[UICollectionView class]]) { + return (UICollectionView *)superview; + } + superview = [superview superview]; + } + return nil; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEvents+Internal.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEvents+Internal.h index 2796d8e..6e24e06 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEvents+Internal.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEvents+Internal.h @@ -188,6 +188,16 @@ FBSDK_EXTERN NSString *const FBSDKAppEventNameFBSDKLikeControlNetworkUnavailable FBSDK_EXTERN NSString *const FBSDKAppEventParameterDialogErrorMessage; FBSDK_EXTERN NSString *const FBSDKAppEventParameterLogTime; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesHandlerKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesActionKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesEventKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesParamsKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesPixelTrackKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesPixelTrackCustomKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesPixelTrackSingleKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesPixelTrackSingleCustomKey; +FBSDK_EXTERN NSString *const FBSDKAppEventsWKWebViewMessagesPixelIDKey; + @interface FBSDKAppEvents (Internal) + (void)logImplicitEvent:(NSString *)eventName @@ -197,5 +207,6 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterLogTime; + (FBSDKAppEvents *)singleton; - (void)flushForReason:(FBSDKAppEventsFlushReason)flushReason; +- (void)registerNotifications; @end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.m index b4c447b..c871698 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.m @@ -118,7 +118,7 @@ _numSkipped++; } else { [_mutableEvents addObject:@{ - @"event" : eventDictionary, + @"event" : [eventDictionary mutableCopy], FBSDK_APPEVENTSTATE_ISIMPLICIT_KEY : @(isImplicit) }]; } diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.h new file mode 100644 index 0000000..2e208ed --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.h @@ -0,0 +1,24 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + + +@interface FBSDKAppEventsUninstall : NSObject + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.m new file mode 100644 index 0000000..1160bf7 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.m @@ -0,0 +1,118 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppEventsUninstall.h" + +#import + +#import +#import + +#import "FBSDKAppEventsUtility.h" +#import "FBSDKGraphRequest.h" +#import "FBSDKLogger.h" +#import "FBSDKServerConfigurationManager.h" +#import "FBSDKSettings.h" +#import "FBSDKSwizzler.h" + +#define UNINSTALL_TRACKING_DEVICE_ID_KEY @"device_id" +#define UNINSTALL_TRACKING_PLATFORM_KEY @"platform" +#define UNINSTALL_TRACKING_DEVICE_TOKEN_KEY @"device_token" +#define UNINSTALL_TRACKING_TOKEN_ENDPOINT @"app_push_device_token" + +@implementation FBSDKAppEventsUninstall + ++ (void)load +{ + [FBSDKAppEventsUninstall installSwizzler]; +} + ++ (NSString *)stringWithDeviceToken:(NSData *)deviceToken { + const char *data = [deviceToken bytes]; + NSMutableString *token = [NSMutableString string]; + + for (NSUInteger i = 0; i < [deviceToken length]; i++) { + [token appendFormat:@"%02.2hhX", data[i]]; + } + + return [token copy]; +} + ++ (void)installSwizzler +{ + Class cls = [[UIApplication sharedApplication].delegate class]; + SEL selector = @selector(application:didRegisterForRemoteNotificationsWithDeviceToken:); + BOOL hasMethod = class_getInstanceMethod(cls, selector) != nil; + void (^block)(id) = ^(NSData *deviceToken) { + NSString *tokenString = [self stringWithDeviceToken:deviceToken]; + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorInformational + logEntry:[NSString stringWithFormat:@"Register token from Swizzling: %@", tokenString]]; + // try upload token immediately after receiving it from swizzling + [self updateAndUploadToken:tokenString]; + }; + + if (!hasMethod) + { + void (^registerBlock)(id, id, id) = ^(id _, id __, NSData *deviceToken) + { + block(deviceToken); + }; + IMP imp = imp_implementationWithBlock(registerBlock); + struct objc_method_description desc = protocol_getMethodDescription(@protocol(UIApplicationDelegate), + selector, NO, YES); + const char *types = desc.types; + class_addMethod(cls, selector, imp, types); + } else + { + void (^registerBlock)(id, SEL, id, id) = ^(id _, SEL __, id ___, NSData *deviceToken) + { + block(deviceToken); + }; + [FBSDKSwizzler swizzleSelector:selector + onClass:cls + withBlock:registerBlock + named:@"map_control"]; + } +} + +// Token is updated when (changed OR not uploaded) +// Token is uploaded when enabled AND (changed OR not uploaded) ++ (void)updateAndUploadToken:(NSString *)tokenString +{ + if (!tokenString) { + return; + } + + [FBSDKServerConfigurationManager loadServerConfigurationWithCompletionBlock:^(FBSDKServerConfiguration *serverConfiguration, NSError *error) { + if (serverConfiguration.uninstallTrackingEnabled) { + FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] + initWithGraphPath:[NSString stringWithFormat:@"%@/%@", + [FBSDKSettings appID], UNINSTALL_TRACKING_TOKEN_ENDPOINT] + parameters:@{ + UNINSTALL_TRACKING_DEVICE_TOKEN_KEY: tokenString, + UNINSTALL_TRACKING_PLATFORM_KEY: @"ios", + // advertiserID could be 0s if user select limit ad tracking + UNINSTALL_TRACKING_DEVICE_ID_KEY: [FBSDKAppEventsUtility advertiserID]?:@"" + } + HTTPMethod:@"POST"]; + [request startWithCompletionHandler:nil]; + } + }]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.h index e6362ca..7e9011a 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.h @@ -53,5 +53,7 @@ typedef NS_ENUM(NSUInteger, FBSDKAppEventsFlushReason) + (NSString *)tokenStringToUseFor:(FBSDKAccessToken *)token; + (long)unixTimeNow; + (BOOL)validateIdentifier:(NSString *)identifier; ++ (id)getVariable:(NSString *)variableName fromInstance:(NSObject *)instance; ++ (NSNumber *)getNumberValue:(NSString *)text; @end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m index 6ffba81..9ab45cf 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m @@ -18,6 +18,8 @@ #import "FBSDKAppEventsUtility.h" +#import + #import #import "FBSDKAccessToken.h" @@ -66,6 +68,10 @@ if (userID) { parameters[@"app_user_id"] = userID; } + NSString *userData = [FBSDKAppEvents getUserData]; + if (userData){ + parameters[@"ud"] = userData; + } [FBSDKAppEventsDeviceInfo extendDictionaryWithDeviceInfo:parameters]; @@ -334,6 +340,49 @@ restOfStringCharacterSet:(NSCharacterSet *)restOfStringCharacterSet return (long)round([[NSDate date] timeIntervalSince1970]); } ++ (id)getVariable:(NSString *)variableName fromInstance:(NSObject *)instance { + Ivar ivar = class_getInstanceVariable([instance class], [variableName UTF8String]); + if (ivar != NULL) { + const char *encoding = ivar_getTypeEncoding(ivar); + if (encoding != NULL && encoding[0] == '@') { + return object_getIvar(instance, ivar); + } + } + + return nil; +} + ++ (NSNumber *)getNumberValue:(NSString *)text { + NSNumber *value = @0; + + NSLocale *locale = [NSLocale currentLocale]; + + NSString *ds = [locale objectForKey:NSLocaleDecimalSeparator] ?: @"."; + NSString *gs = [locale objectForKey:NSLocaleGroupingSeparator] ?: @","; + NSString *separators = [ds stringByAppendingString:gs]; + + NSString *regex = [NSString stringWithFormat:@"[+-]?([0-9]+[%1$@]?)?[%1$@]?([0-9]+[%1$@]?)+", separators]; + NSRegularExpression *re = [NSRegularExpression regularExpressionWithPattern:regex + options:0 + error:nil]; + NSTextCheckingResult *match = [re firstMatchInString:text + options:0 + range:NSMakeRange(0, text.length)]; + if (match) { + NSString *validText = [text substringWithRange:match.range]; + NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; + formatter.locale = locale; + formatter.numberStyle = NSNumberFormatterDecimalStyle; + + value = [formatter numberFromString:validText]; + if (nil == value) { + value = @([validText floatValue]); + } + } + + return value; +} + - (instancetype)init { FBSDK_NO_DESIGNATED_INITIALIZER(); diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.h new file mode 100644 index 0000000..0f6d1c8 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.h @@ -0,0 +1,26 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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. + +#if !TARGET_OS_TV +#import +#import + +@interface FBSDKHybridAppEventsScriptMessageHandler : NSObject + +@end +#endif diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.m new file mode 100644 index 0000000..9f476d5 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.m @@ -0,0 +1,62 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKHybridAppEventsScriptMessageHandler.h" + +#import + +#import "FBSDKAppEvents+Internal.h" + +NSString *const FBSDKAppEventsWKWebViewMessagesPixelReferralParamKey = @"_fb_pixel_referral_id"; + +@class WKUserContentController; + +@implementation FBSDKHybridAppEventsScriptMessageHandler + +- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message { + + if ([message.name isEqualToString:FBSDKAppEventsWKWebViewMessagesHandlerKey]) { + NSString *event = message.body[FBSDKAppEventsWKWebViewMessagesEventKey]; + if ([event length] > 0) { + NSString *stringedParams = message.body[FBSDKAppEventsWKWebViewMessagesParamsKey]; + NSMutableDictionary *params = nil; + NSError *jsonParseError = nil; + if ([stringedParams isKindOfClass:[NSString class]]) { + params = [NSJSONSerialization JSONObjectWithData:[stringedParams dataUsingEncoding:NSUTF8StringEncoding] + options:NSJSONReadingMutableContainers + error:&jsonParseError + ]; + } + NSString *pixelID = message.body[FBSDKAppEventsWKWebViewMessagesPixelIDKey]; + if (pixelID == nil) { + [FBSDKAppEventsUtility logAndNotify:@"Can't bridge an event without a referral Pixel ID. Check your webview Pixel configuration."]; + return; + } + if (jsonParseError != nil || ![params isKindOfClass:[NSDictionary class]] || params == nil) { + [FBSDKAppEventsUtility logAndNotify:@"Could not find parameters for your Pixel request. Check your webview Pixel configuration."]; + params = [[NSMutableDictionary alloc] initWithObjectsAndKeys:pixelID, FBSDKAppEventsWKWebViewMessagesPixelReferralParamKey, nil]; + } + else { + [params setObject:pixelID forKey: FBSDKAppEventsWKWebViewMessagesPixelReferralParamKey]; + } + [FBSDKAppEvents logEvent:event parameters:params]; + } + } +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.m index 31a6c0d..dc1cbcc 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.m @@ -27,8 +27,12 @@ static NSString *const FBSDKAppEventParameterImplicitlyLoggedPurchase = @"_implicitlyLogged"; static NSString *const FBSDKAppEventNamePurchaseFailed = @"fb_mobile_purchase_failed"; +static NSString *const FBSDKAppEventNamePurchaseRestored = @"fb_mobile_purchase_restored"; +static NSString *const FBSDKAppEventParameterNameInAppPurchaseType = @"fb_iap_product_type"; static NSString *const FBSDKAppEventParameterNameProductTitle = @"fb_content_title"; static NSString *const FBSDKAppEventParameterNameTransactionID = @"fb_transaction_id"; +static NSString *const FBSDKAppEventParameterNameTransactionDate = @"fb_transaction_date"; +static NSString *const FBSDKAppEventParameterNameSubscriptionPeriod = @"fb_iap_subs_period"; static int const FBSDKMaxParameterValueLength = 100; static NSMutableArray *g_pendingRequestors; @@ -110,10 +114,10 @@ static NSMutableArray *g_pendingRequestors; case SKPaymentTransactionStatePurchasing: case SKPaymentTransactionStatePurchased: case SKPaymentTransactionStateFailed: + case SKPaymentTransactionStateRestored: [self handleTransaction:transaction]; break; case SKPaymentTransactionStateDeferred: - case SKPaymentTransactionStateRestored: break; } } @@ -188,6 +192,9 @@ static NSMutableArray *g_pendingRequestors; { NSString *eventName = nil; NSString *transactionID = nil; + NSString *transactionDate = nil; + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZ"]; switch (self.transaction.transactionState) { case SKPaymentTransactionStatePurchasing: eventName = FBSDKAppEventNameInitiatedCheckout; @@ -195,12 +202,16 @@ static NSMutableArray *g_pendingRequestors; case SKPaymentTransactionStatePurchased: eventName = FBSDKAppEventNamePurchased; transactionID = self.transaction.transactionIdentifier; + transactionDate = [formatter stringFromDate:self.transaction.transactionDate]; break; case SKPaymentTransactionStateFailed: eventName = FBSDKAppEventNamePurchaseFailed; break; - case SKPaymentTransactionStateDeferred: case SKPaymentTransactionStateRestored: + eventName = FBSDKAppEventNamePurchaseRestored; + transactionDate = [formatter stringFromDate:self.transaction.transactionDate]; + break; + case SKPaymentTransactionStateDeferred: return; } if (!eventName) { @@ -213,6 +224,7 @@ static NSMutableArray *g_pendingRequestors; NSMutableDictionary *eventParameters = [NSMutableDictionary dictionaryWithDictionary: @{ FBSDKAppEventParameterNameContentID: payment.productIdentifier ?: @"", FBSDKAppEventParameterNameNumItems: @(payment.quantity), + FBSDKAppEventParameterNameTransactionDate: transactionDate ?: @"", }]; double totalAmount = 0; if (product) { @@ -223,6 +235,29 @@ static NSMutableArray *g_pendingRequestors; FBSDKAppEventParameterNameProductTitle: [self getTruncatedString:product.localizedTitle], FBSDKAppEventParameterNameDescription: [self getTruncatedString:product.localizedDescription], }]; +#if !TARGET_OS_TV +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_11_2 + if (@available(iOS 11.2, *)) { + BOOL isSubscription = (product.subscriptionPeriod != nil) && ((unsigned long)product.subscriptionPeriod.numberOfUnits > 0); + if (isSubscription) { + // subs inapp + SKProductSubscriptionPeriod *period = product.subscriptionPeriod; + NSString *unit = nil; + switch (period.unit) { + case SKProductPeriodUnitDay: unit = @"D"; break; + case SKProductPeriodUnitWeek: unit = @"W"; break; + case SKProductPeriodUnitMonth: unit = @"M"; break; + case SKProductPeriodUnitYear: unit = @"Y"; break; + } + NSString *p = [NSString stringWithFormat:@"P%lu%@", (unsigned long)period.numberOfUnits, unit]; + [eventParameters setObject:p forKey:FBSDKAppEventParameterNameSubscriptionPeriod]; + [eventParameters setObject:@"subs" forKey:FBSDKAppEventParameterNameInAppPurchaseType]; + } else { + [eventParameters setObject:@"inapp" forKey:FBSDKAppEventParameterNameInAppPurchaseType]; + } + } +#endif +#endif if (transactionID) { [eventParameters setObject:transactionID forKey:FBSDKAppEventParameterNameTransactionID]; } @@ -279,7 +314,7 @@ static NSMutableArray *g_pendingRequestors; } } - [eventParameters setObject:@"1"forKey:FBSDKAppEventParameterImplicitlyLoggedPurchase]; + [eventParameters setObject:@"1" forKey:FBSDKAppEventParameterImplicitlyLoggedPurchase]; [FBSDKAppEvents logEvent:eventName valueToSum:valueToSum parameters:eventParameters]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.h new file mode 100644 index 0000000..9f72f07 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.h @@ -0,0 +1,42 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +#import + +@interface FBSDKUserDataStore : NSObject + ++ (void)initStore; + ++ (void)setUserDataAndHash:(NSDictionary *)ud; + ++ (void)setUserDataAndHash:(nullable NSString *)email + firstName:(nullable NSString *)firstName + lastName:(nullable NSString *)lastName + phone:(nullable NSString *)phone + dateOfBirth:(nullable NSString *)dateOfBirth + gender:(nullable NSString *)gender + city:(nullable NSString *)city + state:(nullable NSString *)state + zip:(nullable NSString *)zip + country:(nullable NSString *)country; + ++ (NSString *) getHashedUserData; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.m new file mode 100644 index 0000000..b6528c9 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.m @@ -0,0 +1,216 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKUserDataStore.h" + +#import + +#import "FBSDKAppEventsUtility.h" +#import "FBSDKLogger.h" +#import "FBSDKUtility.h" + +#define USER_DATA_KEY @"com.facebook.appevents.UserDataStore.userData" + +static NSString *const FBSDKEmail = @"em"; +static NSString *const FBSDKFirstName = @"fn"; +static NSString *const FBSDKLastName = @"ln"; +static NSString *const FBSDKPhone = @"ph"; +static NSString *const FBSDKDateOfBirth = @"db"; +static NSString *const FBSDKGender = @"ge"; +static NSString *const FBSDKCity = @"ct"; +static NSString *const FBSDKState = @"st"; +static NSString *const FBSDKZip = @"zp"; +static NSString *const FBSDKCountry = @"country"; + +static NSString *hashedUserData; +static volatile bool initialized = false; + +@implementation FBSDKUserDataStore + ++ (void)initStore +{ + if (initialized){ + return; + } + + [FBSDKUserDataStore initAndWait]; +} + ++ (void)initAndWait +{ + if (initialized){ + return; + } + + NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; + hashedUserData = [defaults stringForKey:USER_DATA_KEY]; + initialized = true; +} + ++ (void)setUserDataAndHash:(NSDictionary *)ud +{ + if (!initialized){ + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"initStore should have been called before calling setUserData"]; + [FBSDKUserDataStore initAndWait]; + } + + hashedUserData = [FBSDKUserDataStore hashUserData:ud]; + NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; + [defaults setObject:(hashedUserData) forKey:(USER_DATA_KEY)]; +} + ++ (void)setUserDataAndHash:(nullable NSString *)email + firstName:(nullable NSString *)firstName + lastName:(nullable NSString *)lastName + phone:(nullable NSString *)phone + dateOfBirth:(nullable NSString *)dateOfBirth + gender:(nullable NSString *)gender + city:(nullable NSString *)city + state:(nullable NSString *)state + zip:(nullable NSString *)zip + country:(nullable NSString *)country +{ + if (!initialized){ + [FBSDKUserDataStore initAndWait]; + } + + NSMutableDictionary *ud = [[NSMutableDictionary alloc] init]; + if (email != nil) { + ud[FBSDKEmail] = email; + } + if (firstName != nil) { + ud[FBSDKFirstName] = firstName; + } + if (lastName != nil) { + ud[FBSDKLastName] = lastName; + } + if (phone != nil) { + ud[FBSDKPhone] = phone; + } + if (dateOfBirth != nil) { + ud[FBSDKDateOfBirth] = dateOfBirth; + } + if (gender != nil) { + ud[FBSDKGender] = gender; + } + if (city != nil) { + ud[FBSDKCity] = city; + } + if (state != nil) { + ud[FBSDKState] = state; + } + if (zip != nil) { + ud[FBSDKZip] = zip; + } + if (country != nil) { + ud[FBSDKCountry] = country; + } + + hashedUserData = [FBSDKUserDataStore hashUserData:ud]; + NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; + [defaults setObject:(hashedUserData) forKey:(USER_DATA_KEY)]; +} + ++ (NSString *)getHashedUserData +{ + if (!initialized){ + [FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors + logEntry:@"initStore should have been called before calling setUserID"]; + [FBSDKUserDataStore initAndWait]; + } + + return hashedUserData; +} + ++ (NSString *)hashUserData:(NSDictionary *)ud +{ + if (ud == nil){ + return nil; + } + + NSMutableDictionary *encryptUserData = [NSMutableDictionary dictionaryWithCapacity:[ud count]]; + + for (NSString *key in ud){ + NSString *const value = ud[key]; + if ([FBSDKUserDataStore maybeSHA256Hashed:value]){ + encryptUserData[key] = value; + } else { + NSString *const normalizedValue = [FBSDKUserDataStore normalizeData:key data:value]; + NSString *const encryptedValue = [FBSDKUserDataStore encryptData:normalizedValue]; + if (encryptedValue != nil){ + encryptUserData[key] = encryptedValue; + } + } + } + + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:encryptUserData + options:0 + error:&error]; + if (jsonData){ + return [[NSString alloc] initWithData:jsonData + encoding:NSUTF8StringEncoding]; + } else { + [FBSDKAppEventsUtility logAndNotify:[NSString stringWithFormat:@"invalid json object: %@", error]]; + return nil; + } +} + ++ (NSString *)encryptData:(NSString *)data +{ + if (data == nil || [data length] == 0){ + return nil; + } + return [FBSDKUtility SHA256Hash:data]; +} + ++ (NSString *)normalizeData:(NSString *)type data:(NSString *)data{ + NSString *normalizedData = @""; + if ([type isEqualToString:FBSDKEmail] || [type isEqualToString:FBSDKFirstName] + || [type isEqualToString:FBSDKLastName] || [type isEqualToString:FBSDKCity] + || [type isEqualToString:FBSDKState] || [type isEqualToString:FBSDKCountry]) { + normalizedData = [data stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + normalizedData = [normalizedData lowercaseString]; + } else if ([type isEqualToString:FBSDKPhone]){ + NSError *error = nil; + NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^0-9]" + options:NSRegularExpressionCaseInsensitive + error:&error + ]; + normalizedData = [regex stringByReplacingMatchesInString:data + options:0 + range:NSMakeRange(0, [data length]) + withTemplate:@"" + ]; + } else if ([type isEqualToString:FBSDKGender]){ + NSString *temp = [data stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; + temp = [temp lowercaseString]; + normalizedData = [temp length] > 0 ? [temp substringToIndex:1]: @""; + } + + return normalizedData; +} + ++ (BOOL)maybeSHA256Hashed:(NSString *)data +{ + NSRange range = [data rangeOfString:@"[A-Fa-f0-9]{64}" options:NSRegularExpressionSearch]; + return ([data length] == 64) && (range.location != NSNotFound); +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.h index 252e205..d90e99e 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.h @@ -22,29 +22,29 @@ /** Decodes a base-64 encoded string. - - Parameter string: The base-64 encoded string. - - Returns: NSData containing the decoded bytes. + @param string The base-64 encoded string. + @return NSData containing the decoded bytes. */ + (NSData *)decodeAsData:(NSString *)string; /** Decodes a base-64 encoded string into a string. - - Parameter string: The base-64 encoded string. - - Returns: NSString with the decoded UTF-8 value. + @param string The base-64 encoded string. + @return NSString with the decoded UTF-8 value. */ + (NSString *)decodeAsString:(NSString *)string; /** Encodes data into a string. - - Parameter data: The data to be encoded. - - Returns: The base-64 encoded string. + @param data The data to be encoded. + @return The base-64 encoded string. */ + (NSString *)encodeData:(NSData *)data; /** Encodes string into a base-64 representation. - - Parameter string: The string to be encoded. - - Returns: The base-64 encoded string. + @param string The string to be encoded. + @return The base-64 encoded string. */ + (NSString *)encodeString:(NSString *)string; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.m index 50e5b97..e961b61 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.m @@ -290,7 +290,7 @@ static const struct if ([invalidObject isKindOfClass:[NSData class]]) { NSData *data = (NSData *)invalidObject; NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; - if (didAddToPasteboard || !enablePasteboard || !_pasteboard || (data.length < _dataLengthThreshold)) { + if (didAddToPasteboard || !enablePasteboard || !self->_pasteboard || (data.length < self->_dataLengthThreshold)) { dictionary[FBSDKBridgeAPIProtocolNativeV1DataKeys.isBase64] = @YES; dictionary[FBSDKBridgeAPIProtocolNativeV1DataKeys.tag] = dataTag; [FBSDKInternalUtility dictionary:dictionary @@ -299,18 +299,18 @@ static const struct } else { dictionary[FBSDKBridgeAPIProtocolNativeV1DataKeys.isPasteboard] = @YES; dictionary[FBSDKBridgeAPIProtocolNativeV1DataKeys.tag] = dataTag; - dictionary[FBSDKBridgeAPIProtocolNativeV1DataKeys.value] = _pasteboard.name; - [_pasteboard setData:data forPasteboardType:FBSDKBridgeAPIProtocolNativeV1DataPasteboardKey]; + dictionary[FBSDKBridgeAPIProtocolNativeV1DataKeys.value] = self->_pasteboard.name; + [self->_pasteboard setData:data forPasteboardType:FBSDKBridgeAPIProtocolNativeV1DataPasteboardKey]; // this version of the protocol only supports a single item on the pasteboard, so if when we add an item, make // sure we don't add another item didAddToPasteboard = YES; // if we are adding this to the general pasteboard, then we want to remove it when we are done with the share. // the Facebook app will not clear the value with this version of the protocol, so we should do it when the app // becomes active again - NSString *pasteboardName = _pasteboard.name; + NSString *pasteboardName = self->_pasteboard.name; if ([pasteboardName isEqualToString:UIPasteboardNameGeneral] || [pasteboardName isEqualToString:UIPasteboardNameFind]) { - [[self class] clearData:data fromPasteboardOnApplicationDidBecomeActive:_pasteboard]; + [[self class] clearData:data fromPasteboardOnApplicationDidBecomeActive:self->_pasteboard]; } } return dictionary; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLinkReturnToRefererView_Internal.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLinkReturnToRefererView_Internal.h new file mode 100644 index 0000000..9699700 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLinkReturnToRefererView_Internal.h @@ -0,0 +1,25 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLinkReturnToRefererView.h" + +@interface FBSDKAppLinkReturnToRefererView (Internal) + +- (CGFloat)statusBarHeight; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLink_Internal.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLink_Internal.h new file mode 100644 index 0000000..c4d40cb --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLink_Internal.h @@ -0,0 +1,40 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKAppLink.h" + +FOUNDATION_EXPORT NSString *const FBSDKAppLinkDataParameterName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkTargetKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkUserAgentKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkExtrasKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersionKeyName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkRefererAppLink; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkRefererAppName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkRefererUrl; + +@interface FBSDKAppLink (Internal) + ++ (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL + targets:(NSArray *)targets + webURL:(NSURL *)webURL + isBackToReferrer:(BOOL)isBackToReferrer; + +/*! return if this AppLink is to go back to referrer. */ +@property (nonatomic, assign, readonly, getter=isBackToReferrer) BOOL backToReferrer; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h index d189ad5..2b007f9 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h @@ -21,6 +21,8 @@ #import #if !TARGET_OS_TV +#import "AppEvents/Codeless/FBSDKViewHierarchy.h" +#import "AppEvents/Codeless/FBSDKCodelessMacros.h" #import "BridgeAPI/FBSDKBridgeAPIProtocol.h" #import "BridgeAPI/FBSDKBridgeAPIProtocolType.h" #import "BridgeAPI/FBSDKBridgeAPIRequest.h" @@ -62,6 +64,7 @@ #import "FBSDKLogger.h" #import "FBSDKMath.h" #import "FBSDKSettings+Internal.h" +#import "FBSDKSwizzler.h" #import "FBSDKTypeUtility.h" #import "Network/FBSDKGraphRequest+Internal.h" #import "Network/FBSDKGraphRequestConnection+Internal.h" diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.h index 90caec2..20d0f77 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.h @@ -36,22 +36,22 @@ /** Start the mDNS advertisement service for a device request - - Parameter loginCode: The login code associated with the action for the device request. - - Returns: True if the service broadcast was successfully started. + @param loginCode The login code associated with the action for the device request. + @return True if the service broadcast was successfully started. */ + (BOOL)startAdvertisementService:(NSString *)loginCode withDelegate:(id)delegate; /** Check if a service delegate is registered with particular advertisement service - - Parameter delegate: The delegate to check if registered. - - Parameter service: The advertisement service to check for. - - Returns: True if the service is the one the delegate registered with. + @param delegate The delegate to check if registered. + @param service The advertisement service to check for. + @return True if the service is the one the delegate registered with. */ + (BOOL)isDelegate:(id)delegate forAdvertisementService:(NSNetService *)service; /** Stop the mDNS advertisement service for a device request - - Parameter delegate: The delegate registered with the service. + @param delegate The delegate registered with the service. */ + (void)cleanUpAdvertisementService:(id)delegate; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDynamicFrameworkLoader.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDynamicFrameworkLoader.h index b807ccd..ef05fbe 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDynamicFrameworkLoader.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDynamicFrameworkLoader.h @@ -37,91 +37,91 @@ /** Load the kSecRandomDefault value from the Security Framework - - Returns: The kSecRandomDefault value or nil. + @return The kSecRandomDefault value or nil. */ + (SecRandomRef)loadkSecRandomDefault; /** Load the kSecAttrAccessible value from the Security Framework - - Returns: The kSecAttrAccessible value or nil. + @return The kSecAttrAccessible value or nil. */ + (CFTypeRef)loadkSecAttrAccessible; /** Load the kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly value from the Security Framework - - Returns: The kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly value or nil. + @return The kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly value or nil. */ + (CFTypeRef)loadkSecAttrAccessibleAfterFirstUnlockThisDeviceOnly; /** Load the kSecAttrAccount value from the Security Framework - - Returns: The kSecAttrAccount value or nil. + @return The kSecAttrAccount value or nil. */ + (CFTypeRef)loadkSecAttrAccount; /** Load the kSecAttrService value from the Security Framework - - Returns: The kSecAttrService value or nil. + @return The kSecAttrService value or nil. */ + (CFTypeRef)loadkSecAttrService; /** Load the kSecAttrGeneric value from the Security Framework - - Returns: The kSecAttrGeneric value or nil. + @return The kSecAttrGeneric value or nil. */ + (CFTypeRef)loadkSecAttrGeneric; /** Load the kSecValueData value from the Security Framework - - Returns: The kSecValueData value or nil. + @return The kSecValueData value or nil. */ + (CFTypeRef)loadkSecValueData; /** Load the kSecClassGenericPassword value from the Security Framework - - Returns: The kSecClassGenericPassword value or nil. + @return The kSecClassGenericPassword value or nil. */ + (CFTypeRef)loadkSecClassGenericPassword; /** Load the kSecAttrAccessGroup value from the Security Framework - - Returns: The kSecAttrAccessGroup value or nil. + @return The kSecAttrAccessGroup value or nil. */ + (CFTypeRef)loadkSecAttrAccessGroup; /** Load the kSecMatchLimitOne value from the Security Framework - - Returns: The kSecMatchLimitOne value or nil. + @return The kSecMatchLimitOne value or nil. */ + (CFTypeRef)loadkSecMatchLimitOne; /** Load the kSecMatchLimit value from the Security Framework - - Returns: The kSecMatchLimit value or nil. + @return The kSecMatchLimit value or nil. */ + (CFTypeRef)loadkSecMatchLimit; /** Load the kSecReturnData value from the Security Framework - - Returns: The kSecReturnData value or nil. + @return The kSecReturnData value or nil. */ + (CFTypeRef)loadkSecReturnData; /** Load the kSecClass value from the Security Framework - - Returns: The kSecClass value or nil. + @return The kSecClass value or nil. */ + (CFTypeRef)loadkSecClass; @@ -227,3 +227,8 @@ FBSDK_EXTERN CFStringRef fbsdkdfl_UTTypeCopyPreferredTagWithClass(CFStringRef in FBSDK_EXTERN CFStringRef fbsdkdfl_kUTTagClassMIMEType(void); FBSDK_EXTERN CFStringRef fbsdkdfl_kUTTypeJPEG(void); FBSDK_EXTERN CFStringRef fbsdkdfl_kUTTypePNG(void); + +#pragma mark - WebKit Classes + +FBSDK_EXTERN Class fbsdkdfl_WKWebViewClass(void); +FBSDK_EXTERN Class fbsdkdfl_WKUserScriptClass(void); diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.h index b2629da..aa98cd2 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.h @@ -30,9 +30,9 @@ /* download an image or retrieve it from cache - - Parameter url: the url to download - - Parameter ttl: the amount of time (in seconds) that using a cached version is acceptable. - - Parameter completion: the callback with the image - for simplicity nil is returned rather than surfacing an error. + @param url the url to download + @param ttl the amount of time (in seconds) that using a cached version is acceptable. + @param completion the callback with the image - for simplicity nil is returned rather than surfacing an error. */ - (void)downloadImageWithURL:(NSURL *)url ttl:(NSTimeInterval)ttl completion:(void(^)(UIImage* image))completion; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.m index 4c9f5c9..5c9de88 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.m @@ -78,7 +78,7 @@ static NSString *const kCachedResponseUserInfoKeyTimestamp = @"timestamp"; data:data userInfo:@{ kCachedResponseUserInfoKeyTimestamp : [NSDate date] } storagePolicy:NSURLCacheStorageAllowed]; - [_urlCache storeCachedResponse:responseToCache forRequest:request]; + [self->_urlCache storeCachedResponse:responseToCache forRequest:request]; completionWrapper(responseToCache); } else if (completion != NULL) { completion(nil); diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.h index a35ddb5..981b651 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.h @@ -43,11 +43,11 @@ typedef NS_ENUM(int32_t, FBSDKUIKitVersion) /** Constructs an URL for the current app. - - Parameter host: The host for the URL. - - Parameter path: The path for the URL. - - Parameter queryParameters: The query parameters for the URL. This will be converted into a query string. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: The app URL. + @param host The host for the URL. + @param path The path for the URL. + @param queryParameters The query parameters for the URL. This will be converted into a query string. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return The app URL. */ + (NSURL *)appURLWithHost:(NSString *)host path:(NSString *)path @@ -56,15 +56,15 @@ typedef NS_ENUM(int32_t, FBSDKUIKitVersion) /** Parses an FB url's query params (and potentially fragment) into a dictionary. - - Parameter url: The FB url. - - Returns: A dictionary with the key/value pairs. + @param url The FB url. + @return A dictionary with the key/value pairs. */ + (NSDictionary *)dictionaryFromFBURL:(NSURL *)url; /** Adds an object to an array if it is not nil. - - Parameter array: The array to add the object to. - - Parameter object: The object to add to the array. + @param array The array to add the object to. + @param object The object to add to the array. */ + (void)array:(NSMutableArray *)array addObject:(id)object; @@ -78,8 +78,8 @@ typedef NS_ENUM(int32_t, FBSDKUIKitVersion) /** Converts simple value types to the string equivalent for serializing to a request query or body. - - Parameter value: The value to be converted. - - Returns: The value that may have been converted if able (otherwise the input param). + @param value The value to be converted. + @return The value that may have been converted if able (otherwise the input param). */ + (id)convertRequestValue:(id)value; @@ -87,17 +87,17 @@ typedef NS_ENUM(int32_t, FBSDKUIKitVersion) Gets the milliseconds since the Unix Epoch. Changes in the system clock will affect this value. - - Returns: The number of milliseconds since the Unix Epoch. + @return The number of milliseconds since the Unix Epoch. */ + (uint64_t)currentTimeInMilliseconds; /** Sets an object for a key in a dictionary if it is not nil. - - Parameter dictionary: The dictionary to set the value for. - - Parameter object: The value to set after serializing to JSON. - - Parameter key: The key to set the value for. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: NO if an error occurred while serializing the object, otherwise YES. + @param dictionary The dictionary to set the value for. + @param object The value to set after serializing to JSON. + @param key The key to set the value for. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return NO if an error occurred while serializing the object, otherwise YES. */ + (BOOL)dictionary:(NSMutableDictionary *)dictionary setJSONStringForObject:(id)object @@ -106,19 +106,19 @@ setJSONStringForObject:(id)object /** Sets an object for a key in a dictionary if it is not nil. - - Parameter dictionary: The dictionary to set the value for. - - Parameter object: The value to set. - - Parameter key: The key to set the value for. + @param dictionary The dictionary to set the value for. + @param object The value to set. + @param key The key to set the value for. */ + (void)dictionary:(NSMutableDictionary *)dictionary setObject:(id)object forKey:(id)key; /** Constructs a Facebook URL. - - Parameter hostPrefix: The prefix for the host, such as 'm', 'graph', etc. - - Parameter path: The path for the URL. This may or may not include a version. - - Parameter queryParameters: The query parameters for the URL. This will be converted into a query string. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: The Facebook URL. + @param hostPrefix The prefix for the host, such as 'm', 'graph', etc. + @param path The path for the URL. This may or may not include a version. + @param queryParameters The query parameters for the URL. This will be converted into a query string. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return The Facebook URL. */ + (NSURL *)facebookURLWithHostPrefix:(NSString *)hostPrefix path:(NSString *)path @@ -127,12 +127,12 @@ setJSONStringForObject:(id)object /** Constructs a Facebook URL. - - Parameter hostPrefix: The prefix for the host, such as 'm', 'graph', etc. - - Parameter path: The path for the URL. This may or may not include a version. - - Parameter queryParameters: The query parameters for the URL. This will be converted into a query string. - - Parameter defaultVersion: A version to add to the URL if none is found in the path. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: The Facebook URL. + @param hostPrefix The prefix for the host, such as 'm', 'graph', etc. + @param path The path for the URL. This may or may not include a version. + @param queryParameters The query parameters for the URL. This will be converted into a query string. + @param defaultVersion A version to add to the URL if none is found in the path. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return The Facebook URL. */ + (NSURL *)facebookURLWithHostPrefix:(NSString *)hostPrefix path:(NSString *)path @@ -142,52 +142,52 @@ setJSONStringForObject:(id)object /** Tests whether the supplied URL is a valid URL for opening in the browser. - - Parameter URL: The URL to test. - - Returns: YES if the URL refers to an http or https resource, otherwise NO. + @param URL The URL to test. + @return YES if the URL refers to an http or https resource, otherwise NO. */ + (BOOL)isBrowserURL:(NSURL *)URL; /** Tests whether the supplied bundle identifier references a Facebook app. - - Parameter bundleIdentifier: The bundle identifier to test. - - Returns: YES if the bundle identifier refers to a Facebook app, otherwise NO. + @param bundleIdentifier The bundle identifier to test. + @return YES if the bundle identifier refers to a Facebook app, otherwise NO. */ + (BOOL)isFacebookBundleIdentifier:(NSString *)bundleIdentifier; /** Tests whether the operating system is at least the specified version. - - Parameter version: The version to test against. - - Returns: YES if the operating system is greater than or equal to the specified version, otherwise NO. + @param version The version to test against. + @return YES if the operating system is greater than or equal to the specified version, otherwise NO. */ + (BOOL)isOSRunTimeVersionAtLeast:(NSOperatingSystemVersion)version; /** Tests whether the supplied bundle identifier references the Safari app. - - Parameter bundleIdentifier: The bundle identifier to test. - - Returns: YES if the bundle identifier refers to the Safari app, otherwise NO. + @param bundleIdentifier The bundle identifier to test. + @return YES if the bundle identifier refers to the Safari app, otherwise NO. */ + (BOOL)isSafariBundleIdentifier:(NSString *)bundleIdentifier; /** Tests whether the UIKit version that the current app was linked to is at least the specified version. - - Parameter version: The version to test against. - - Returns: YES if the linked UIKit version is greater than or equal to the specified version, otherwise NO. + @param version The version to test against. + @return YES if the linked UIKit version is greater than or equal to the specified version, otherwise NO. */ + (BOOL)isUIKitLinkTimeVersionAtLeast:(FBSDKUIKitVersion)version; /** Tests whether the UIKit version in the runtime is at least the specified version. - - Parameter version: The version to test against. - - Returns: YES if the runtime UIKit version is greater than or equal to the specified version, otherwise NO. + @param version The version to test against. + @return YES if the runtime UIKit version is greater than or equal to the specified version, otherwise NO. */ + (BOOL)isUIKitRunTimeVersionAtLeast:(FBSDKUIKitVersion)version; /** Converts an object into a JSON string. - - Parameter object: The object to convert to JSON. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Parameter invalidObjectHandler: Handles objects that are invalid, returning a replacement value or nil to ignore. - - Returns: A JSON string or nil if the object cannot be converted to JSON. + @param object The object to convert to JSON. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @param invalidObjectHandler Handles objects that are invalid, returning a replacement value or nil to ignore. + @return A JSON string or nil if the object cannot be converted to JSON. */ + (NSString *)JSONStringForObject:(id)object error:(NSError *__autoreleasing *)errorRef @@ -197,17 +197,17 @@ setJSONStringForObject:(id)object Checks equality between 2 objects. Checks for pointer equality, nils, isEqual:. - - Parameter object: The first object to compare. - - Parameter other: The second object to compare. - - Returns: YES if the objects are equal, otherwise NO. + @param object The first object to compare. + @param other The second object to compare. + @return YES if the objects are equal, otherwise NO. */ + (BOOL)object:(id)object isEqualToObject:(id)other; /** Converts a JSON string into an object - - Parameter string: The JSON string to convert. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: An NSDictionary, NSArray, NSString or NSNumber containing the object representation, or nil if the string + @param string The JSON string to convert. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return An NSDictionary, NSArray, NSString or NSNumber containing the object representation, or nil if the string cannot be converted. */ + (id)objectForJSONString:(NSString *)string error:(NSError *__autoreleasing *)errorRef; @@ -219,10 +219,10 @@ setJSONStringForObject:(id)object /** Constructs a query string from a dictionary. - - Parameter dictionary: The dictionary with key/value pairs for the query string. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Parameter invalidObjectHandler: Handles objects that are invalid, returning a replacement value or nil to ignore. - - Returns: Query string representation of the parameters. + @param dictionary The dictionary with key/value pairs for the query string. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @param invalidObjectHandler Handles objects that are invalid, returning a replacement value or nil to ignore. + @return Query string representation of the parameters. */ + (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary error:(NSError *__autoreleasing *)errorRef @@ -237,18 +237,18 @@ setJSONStringForObject:(id)object then we need to use the legacy layout code. Otherwise if the application was linked with UIKit on iOS 8 or later and the application is running on iOS 8 or later, UIKit handles all of the rotation complexity and the origin is always in the top-left and no rotation transform is necessary. - - Returns: YES if if the orientation must be manually adjusted, otherwise NO. + @return YES if if the orientation must be manually adjusted, otherwise NO. */ + (BOOL)shouldManuallyAdjustOrientation; /** Constructs an NSURL. - - Parameter scheme: The scheme for the URL. - - Parameter host: The host for the URL. - - Parameter path: The path for the URL. - - Parameter queryParameters: The query parameters for the URL. This will be converted into a query string. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: The URL. + @param scheme The scheme for the URL. + @param host The host for the URL. + @param path The path for the URL. + @param queryParameters The query parameters for the URL. This will be converted into a query string. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return The URL. */ + (NSURL *)URLWithScheme:(NSString *)scheme host:(NSString *)host @@ -263,9 +263,9 @@ setJSONStringForObject:(id)object /** Extracts permissions from a response fetched from me/permissions - - Parameter responseObject: the response - - Parameter grantedPermissions: the set to add granted permissions to - - Parameter declinedPermissions: the set to add declined permissions to. + @param responseObject the response + @param grantedPermissions the set to add granted permissions to + @param declinedPermissions the set to add declined permissions to. */ + (void)extractPermissionsFromResponse:(NSDictionary *)responseObject grantedPermissions:(NSMutableSet *)grantedPermissions @@ -273,13 +273,13 @@ setJSONStringForObject:(id)object /** Registers a transient object so that it will not be deallocated until unregistered - - Parameter object: The transient object + @param object The transient object */ + (void)registerTransientObject:(id)object; /** Unregisters a transient object that was previously registered with registerTransientObject: - - Parameter object: The transient object + @param object The transient object */ + (void)unregisterTransientObject:(__weak id)object; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMeasurementEvent_Internal.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMeasurementEvent_Internal.h new file mode 100644 index 0000000..e3b039f --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMeasurementEvent_Internal.h @@ -0,0 +1,33 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKMeasurementEvent.h" + +NS_ASSUME_NONNULL_BEGIN + +/*! + Provides methods for posting notifications from the Bolts framework + */ +@interface FBSDKMeasurementEvent (Internal) + ++ (void)postNotificationForEventName:(NSString *)name + args:(NSDictionary *)args; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.h new file mode 100644 index 0000000..7e9f29c --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.h @@ -0,0 +1,38 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +// Cast to turn things that are not ids into NSMapTable keys +#define MAPTABLE_ID(x) (__bridge id)((void *)x) + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-prototypes" + +typedef void (^swizzleBlock)(); + +#pragma clang diagnostic pop + +// Rename to avoid duplicate symbol errors +@interface FBSDKSwizzler : NSObject + ++ (void)swizzleSelector:(SEL)aSelector onClass:(Class)aClass withBlock:(swizzleBlock)block named:(NSString *)aName; ++ (void)unswizzleSelector:(SEL)aSelector onClass:(Class)aClass named:(NSString *)aName; ++ (void)printSwizzles; + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.m new file mode 100644 index 0000000..1b0f942 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.m @@ -0,0 +1,310 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKSwizzler.h" + +#import + +#define MIN_ARGS 2 +#define MAX_ARGS 5 + +@interface FBSDKSwizzle : NSObject + +@property (nonatomic, assign) Class class; +@property (nonatomic, assign) SEL selector; +@property (nonatomic, assign) IMP originalMethod; +@property (nonatomic, assign) uint numArgs; +@property (nonatomic, copy) NSMapTable *blocks; + +- (instancetype)initWithBlock:(swizzleBlock)aBlock + named:(NSString *)aName + forClass:(Class)aClass + selector:(SEL)aSelector + originalMethod:(IMP)aMethod + withNumArgs:(uint)numArgs; + +@end + +static NSMapTable *swizzles; + +static FBSDKSwizzle* fb_findSwizzle(id self, SEL _cmd){ + Method aMethod = class_getInstanceMethod([self class], _cmd); + FBSDKSwizzle *swizzle = (FBSDKSwizzle *)[swizzles objectForKey:MAPTABLE_ID(aMethod)]; + Class this_class = [self class]; + while (!swizzle && class_getSuperclass(this_class)){ + this_class = class_getSuperclass(this_class); + aMethod = class_getInstanceMethod(this_class, _cmd); + swizzle = (FBSDKSwizzle *)[swizzles objectForKey:MAPTABLE_ID(aMethod)]; + } + return swizzle; +} + +static void fb_swizzledMethod_2(id self, SEL _cmd) +{ + FBSDKSwizzle *swizzle = fb_findSwizzle(self, _cmd); + if (swizzle) { + ((void(*)(id, SEL))swizzle.originalMethod)(self, _cmd); + + NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; + swizzleBlock block; + while ((block = [blocks nextObject])) { + block(self, _cmd); + } + } +} + +static void fb_swizzledMethod_3(id self, SEL _cmd, id arg) +{ + FBSDKSwizzle *swizzle = fb_findSwizzle(self, _cmd); + if (swizzle) { + ((void(*)(id, SEL, id))swizzle.originalMethod)(self, _cmd, arg); + + NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; + swizzleBlock block; + while ((block = [blocks nextObject])) { + block(self, _cmd, arg); + } + } +} + +static void fb_swizzledMethod_4(id self, SEL _cmd, id arg, id arg2) +{ + FBSDKSwizzle *swizzle = fb_findSwizzle(self, _cmd); + if (swizzle) { + ((void(*)(id, SEL, id, id))swizzle.originalMethod)(self, _cmd, arg, arg2); + + NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; + swizzleBlock block; + while ((block = [blocks nextObject])) { + block(self, _cmd, arg, arg2); + } + } +} + +static void fb_swizzledMethod_5(id self, SEL _cmd, id arg, id arg2, id arg3) +{ + FBSDKSwizzle *swizzle = fb_findSwizzle(self, _cmd); + if (swizzle) { + ((void(*)(id, SEL, id, id, id))swizzle.originalMethod)(self, _cmd, arg, arg2, arg3); + + NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; + swizzleBlock block; + while ((block = [blocks nextObject])) { + block(self, _cmd, arg, arg2, arg3); + } + } +} + +static void fb_swizzleMethod_4_io(id self, SEL _cmd, NSInteger arg, id arg2) +{ + FBSDKSwizzle *swizzle = fb_findSwizzle(self, _cmd); + if (swizzle) { + ((void(*)(id, SEL, NSInteger, id))swizzle.originalMethod)(self, _cmd, arg, arg2); + + NSEnumerator *blocks = [swizzle.blocks objectEnumerator]; + swizzleBlock block; + while ((block = [blocks nextObject])) { + block(self, _cmd, arg, arg2); + } + } +} + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-prototypes" + +static void (*fb_swizzledMethods[MAX_ARGS - MIN_ARGS + 1])() = {fb_swizzledMethod_2, fb_swizzledMethod_3, fb_swizzledMethod_4, fb_swizzledMethod_5}; + +#pragma clang diagnostic pop + +@implementation FBSDKSwizzler + ++ (void)setup { + if (!swizzles) { + swizzles = [NSMapTable mapTableWithKeyOptions:(NSPointerFunctionsOpaqueMemory | NSPointerFunctionsOpaquePersonality) + valueOptions:(NSPointerFunctionsStrongMemory | NSPointerFunctionsObjectPointerPersonality)]; + } +} + ++ (void)printSwizzles +{ + NSEnumerator *en = [swizzles objectEnumerator]; + FBSDKSwizzle *swizzle; + while ((swizzle = (FBSDKSwizzle *)[en nextObject])) { + NSLog(@"%@", swizzle); + } +} + ++ (FBSDKSwizzle *)swizzleForMethod:(Method)aMethod +{ + return (FBSDKSwizzle *)[swizzles objectForKey:MAPTABLE_ID(aMethod)]; +} + ++ (void)removeSwizzleForMethod:(Method)aMethod +{ + [swizzles removeObjectForKey:MAPTABLE_ID(aMethod)]; +} + ++ (void)setSwizzle:(FBSDKSwizzle *)swizzle forMethod:(Method)aMethod +{ + [swizzles setObject:swizzle forKey:MAPTABLE_ID(aMethod)]; +} + ++ (BOOL)isLocallyDefinedMethod:(Method)aMethod onClass:(Class)aClass +{ + uint count; + BOOL isLocal = NO; + Method *methods = class_copyMethodList(aClass, &count); + for (NSUInteger i = 0; i < count; i++) { + if (aMethod == methods[i]) { + isLocal = YES; + break; + } + } + free(methods); + return isLocal; +} + ++ (void)swizzleSelector:(SEL)aSelector onClass:(Class)aClass withBlock:(swizzleBlock)aBlock named:(NSString *)aName +{ + [FBSDKSwizzler setup]; + Method aMethod = class_getInstanceMethod(aClass, aSelector); + if (aMethod) { + uint numArgs = method_getNumberOfArguments(aMethod); + if (numArgs >= MIN_ARGS && numArgs <= MAX_ARGS) { + + BOOL isLocal = [self isLocallyDefinedMethod:aMethod onClass:aClass]; + IMP swizzledMethod = (IMP)fb_swizzledMethods[numArgs - 2]; + // Check whether the first parameter is integer + if (4 == numArgs) { + NSString *firstType = [NSString stringWithUTF8String:method_copyArgumentType(aMethod, 2)]; + NSString *integerTypes = @"islq"; + if ([integerTypes containsString:[firstType lowercaseString]]) { + swizzledMethod = (IMP)fb_swizzleMethod_4_io; + } + } + + FBSDKSwizzle *swizzle = [self swizzleForMethod:aMethod]; + + if (isLocal) { + if (!swizzle) { + IMP originalMethod = method_getImplementation(aMethod); + + // Replace the local implementation of this method with the swizzled one + method_setImplementation(aMethod,swizzledMethod); + + // Create and add the swizzle + swizzle = [[FBSDKSwizzle alloc] initWithBlock:aBlock named:aName forClass:aClass selector:aSelector originalMethod:originalMethod withNumArgs:numArgs]; + [self setSwizzle:swizzle forMethod:aMethod]; + + } else { + [swizzle.blocks setObject:aBlock forKey:aName]; + } + } else { + IMP originalMethod = swizzle ? swizzle.originalMethod : method_getImplementation(aMethod); + + // Add the swizzle as a new local method on the class. + if (!class_addMethod(aClass, aSelector, swizzledMethod, method_getTypeEncoding(aMethod))) { + return; + } + // Now re-get the Method, it should be the one we just added. + Method newMethod = class_getInstanceMethod(aClass, aSelector); + if (aMethod == newMethod) { + return; + } + + FBSDKSwizzle *newSwizzle = [[FBSDKSwizzle alloc] initWithBlock:aBlock named:aName forClass:aClass selector:aSelector originalMethod:originalMethod withNumArgs:numArgs]; + [self setSwizzle:newSwizzle forMethod:newMethod]; + } + } + } +} + ++ (void)unswizzleSelector:(SEL)aSelector onClass:(Class)aClass +{ + Method aMethod = class_getInstanceMethod(aClass, aSelector); + FBSDKSwizzle *swizzle = [self swizzleForMethod:aMethod]; + if (swizzle) { + method_setImplementation(aMethod, swizzle.originalMethod); + [self removeSwizzleForMethod:aMethod]; + } +} + +/* + Remove the named swizzle from the given class/selector. If aName is nil, remove all + swizzles for this class/selector +*/ ++ (void)unswizzleSelector:(SEL)aSelector onClass:(Class)aClass named:(NSString *)aName +{ + Method aMethod = class_getInstanceMethod(aClass, aSelector); + FBSDKSwizzle *swizzle = [self swizzleForMethod:aMethod]; + if (swizzle) { + if (aName) { + [swizzle.blocks removeObjectForKey:aName]; + } + if (!aName || swizzle.blocks.count == 0) { + method_setImplementation(aMethod, swizzle.originalMethod); + [self removeSwizzleForMethod:aMethod]; + } + } +} + +@end + + +@implementation FBSDKSwizzle + +- (instancetype)init +{ + if ((self = [super init])) { + self.blocks = [NSMapTable mapTableWithKeyOptions:(NSPointerFunctionsStrongMemory + | NSPointerFunctionsObjectPersonality) + valueOptions:(NSPointerFunctionsStrongMemory + | NSPointerFunctionsObjectPointerPersonality)]; + } + return self; +} + +- (instancetype)initWithBlock:(swizzleBlock)aBlock + named:(NSString *)aName + forClass:(Class)aClass + selector:(SEL)aSelector + originalMethod:(IMP)aMethod + withNumArgs:(uint)numArgs +{ + if ((self = [self init])) { + self.class = aClass; + self.selector = aSelector; + self.numArgs = numArgs; + self.originalMethod = aMethod; + [self.blocks setObject:aBlock forKey:aName]; + } + return self; +} + +- (NSString *)description +{ + NSString *descriptors = @""; + NSString *key; + NSEnumerator *keys = [self.blocks keyEnumerator]; + while ((key = [keys nextObject])) { + descriptors = [descriptors stringByAppendingFormat:@"\t%@ : %@\n", key, [self.blocks objectForKey:key]]; + } + return [NSString stringWithFormat:@"Swizzle on %@::%@ [\n%@]", NSStringFromClass(self.class), NSStringFromSelector(self.selector), descriptors]; +} + +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.h index f8c7fdd..104adbe 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.h @@ -32,11 +32,11 @@ typedef void (^FBSDKGraphRequestAccessToAccountsHandler)(NSString *oauthToken, N /* Requests access to the device's Facebook account for the given parameters. - - Parameter permissions: the permissions - - Parameter defaultAudience: the default audience - - Parameter isReauthorize: a flag describing if this is a reauth request - - Parameter appID: the app id - - Parameter handler: the handler that will be invoked on completion (dispatched to the main thread). the oauthToken is nil on failure. + @param permissions the permissions + @param defaultAudience the default audience + @param isReauthorize a flag describing if this is a reauth request + @param appID the app id + @param handler the handler that will be invoked on completion (dispatched to the main thread). the oauthToken is nil on failure. */ - (void)requestAccessToFacebookAccountStore:(NSSet *)permissions defaultAudience:(NSString *)defaultAudience @@ -47,7 +47,7 @@ typedef void (^FBSDKGraphRequestAccessToAccountsHandler)(NSString *oauthToken, N /* Sends a message to the device account store to renew the Facebook account credentials - - Parameter handler: the handler that is invoked on completion + @param handler the handler that is invoked on completion */ - (void)renewSystemAuthorization:(void(^)(ACAccountCredentialRenewResult result, NSError *error))handler; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.m index 6bc1123..9eba369 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.m @@ -257,7 +257,8 @@ static FBSDKSystemAccountStoreAdapter *_singletonInstance = nil; appID:currentToken.appID userID:currentToken.userID expirationDate:[NSDate distantFuture] - refreshDate:[NSDate date]]; + refreshDate:[NSDate date] + dataAccessExpirationDate:[NSDate distantFuture]]; [FBSDKAccessToken setCurrentAccessToken:updatedToken]; } if (handler) { diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKURL_Internal.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKURL_Internal.h new file mode 100644 index 0000000..bb452f7 --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKURL_Internal.h @@ -0,0 +1,23 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKURL.h" + +@interface FBSDKURL (Internal) ++ (FBSDKURL *)URLForRenderBackToReferrerBarURL:(NSURL *)url; +@end diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.m index bdaf0c7..5aee96f 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.m @@ -80,7 +80,7 @@ { NSData *data = UIImageJPEGRepresentation(image, [FBSDKSettings JPEGCompressionQuality]); [self _appendWithKey:key filename:key contentType:@"image/jpeg" contentBlock:^{ - [_data appendData:data]; + [self->_data appendData:data]; }]; _json = nil; [logger appendFormat:@"\n %@:\t", key, (unsigned long)([data length] / 1024)]; @@ -91,7 +91,7 @@ logger:(FBSDKLogger *)logger { [self _appendWithKey:key filename:key contentType:@"content/unknown" contentBlock:^{ - [_data appendData:data]; + [self->_data appendData:data]; }]; _json = nil; [logger appendFormat:@"\n %@:\t", key, (unsigned long)([data length] / 1024)]; @@ -105,7 +105,7 @@ NSString *contentType = dataAttachment.contentType ?: @"content/unknown"; NSData *data = dataAttachment.data; [self _appendWithKey:key filename:filename contentType:contentType contentBlock:^{ - [_data appendData:data]; + [self->_data appendData:data]; }]; _json = nil; [logger appendFormat:@"\n %@:\t", key, (unsigned long)([data length] / 1024)]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.m index 5096073..a9c61d6 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.m @@ -50,6 +50,7 @@ static int const FBSDKTokenRefreshRetrySeconds = 60 * 60; // hour __block NSMutableSet *declinedPermissions = nil; __block NSString *tokenString = nil; __block NSNumber *expirationDateNumber = nil; + __block NSNumber *dataAccessExpirationDateNumber = nil; __block int expectingCallbacksCount = 2; void (^expectingCallbackComplete)(void) = ^{ if (--expectingCallbacksCount == 0) { @@ -60,13 +61,20 @@ static int const FBSDKTokenRefreshRetrySeconds = 60 * 60; // hour [NSDate dateWithTimeIntervalSince1970:[expirationDateNumber doubleValue]] : [NSDate distantFuture]); } + NSDate *dataExpirationDate = currentToken.dataAccessExpirationDate; + if (dataAccessExpirationDateNumber) { + dataExpirationDate = ([dataAccessExpirationDateNumber doubleValue] > 0 ? + [NSDate dateWithTimeIntervalSince1970:[dataAccessExpirationDateNumber doubleValue]] : + [NSDate distantFuture]); + } FBSDKAccessToken *refreshedToken = [[FBSDKAccessToken alloc] initWithTokenString:tokenString ?: currentToken.tokenString permissions:[(permissions ?: currentToken.permissions) allObjects] declinedPermissions:[(declinedPermissions ?: currentToken.declinedPermissions) allObjects] appID:currentToken.appID userID:currentToken.userID expirationDate:expirationDate - refreshDate:[NSDate date]]; + refreshDate:[NSDate date] + dataAccessExpirationDate:dataExpirationDate]; if (expectedToken == currentToken) { [FBSDKAccessToken setCurrentAccessToken:refreshedToken]; } @@ -81,6 +89,7 @@ static int const FBSDKTokenRefreshRetrySeconds = 60 * 60; // hour [connection addRequest:extendRequest completionHandler:^(FBSDKGraphRequestConnection *innerConnection, id result, NSError *error) { tokenString = result[@"access_token"]; expirationDateNumber = result[@"expires_at"]; + dataAccessExpirationDateNumber = result[@"data_access_expiration_time"]; expectingCallbackComplete(); }]; FBSDKGraphRequest *permissionsRequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/permissions" @@ -126,7 +135,9 @@ static int const FBSDKTokenRefreshRetrySeconds = 60 * 60; // hour + (void)addServerConfigurationPiggyback:(FBSDKGraphRequestConnection *)connection { - if (![[FBSDKServerConfigurationManager cachedServerConfiguration] isDefaults]) { + if (![[FBSDKServerConfigurationManager cachedServerConfiguration] isDefaults] + && [[NSDate date] timeIntervalSinceDate:[FBSDKServerConfigurationManager cachedServerConfiguration].timestamp] + < FBSDK_SERVER_CONFIGURATION_MANAGER_CACHE_TIMEOUT) { return; } NSString *appID = [FBSDKSettings appID]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.m index 53e7943..d941779 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.m @@ -120,10 +120,10 @@ static NSString *const kErrorCategoryLogin = @"login"; for (NSDictionary *codeSubcodesDictionary in dictionary[@"items"]) { NSString *code = [codeSubcodesDictionary[@"code"] stringValue]; - NSMutableDictionary *currentSubcodes = _configurationDictionary[code]; + NSMutableDictionary *currentSubcodes = self->_configurationDictionary[code]; if (!currentSubcodes) { currentSubcodes = [NSMutableDictionary dictionary]; - _configurationDictionary[code] = currentSubcodes; + self->_configurationDictionary[code] = currentSubcodes; } NSArray *subcodes = codeSubcodesDictionary[@"subcodes"]; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.h index 90695ae..bba4508 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.h @@ -53,9 +53,10 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationSmartLoginOptions) advertisingIDEnabled:(BOOL)advertisingIDEnabled implicitLoggingEnabled:(BOOL)implicitLoggingEnabled implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled - appIndexingTriggerEnabled:(BOOL)appIndexingTriggerEnabled + codelessEventsEnabled:(BOOL)codelessEventsEnabled systemAuthenticationEnabled:(BOOL)systemAuthenticationEnabled nativeAuthFlowEnabled:(BOOL)nativeAuthFlowEnabled + uninstallTrackingEnabled:(BOOL)uninstallTrackingEnabled dialogConfigurations:(NSDictionary *)dialogConfigurations dialogFlows:(NSDictionary *)dialogFlows timestamp:(NSDate *)timestamp @@ -67,6 +68,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled smartLoginBookmarkIconURL:(NSURL *)smartLoginBookmarkIconURL smartLoginMenuIconURL:(NSURL *)smartLoginMenuIconURL updateMessage:(NSString *)updateMessage + eventBindings:(NSArray *)eventBindings + codelessSetupEnabled:(BOOL)codelessSetupEnabled NS_DESIGNATED_INITIALIZER; @property (nonatomic, assign, readonly, getter=isAdvertisingIDEnabled) BOOL advertisingIDEnabled; @@ -77,10 +80,11 @@ NS_DESIGNATED_INITIALIZER; @property (nonatomic, strong, readonly) FBSDKErrorConfiguration *errorConfiguration; @property (nonatomic, assign, readonly, getter=isImplicitLoggingSupported) BOOL implicitLoggingEnabled; @property (nonatomic, assign, readonly, getter=isImplicitPurchaseLoggingSupported) BOOL implicitPurchaseLoggingEnabled; -@property (nonatomic, assign, readonly, getter=isAppIndexingTriggerEnabled) BOOL appIndexingTriggerEnabled; +@property (nonatomic, assign, readonly, getter=isCodelessEventsEnabled) BOOL codelessEventsEnabled; @property (nonatomic, assign, readonly, getter=isLoginTooltipEnabled) BOOL loginTooltipEnabled; @property (nonatomic, assign, readonly, getter=isNativeAuthFlowEnabled) BOOL nativeAuthFlowEnabled; @property (nonatomic, assign, readonly, getter=isSystemAuthenticationEnabled) BOOL systemAuthenticationEnabled; +@property (nonatomic, assign, readonly, getter=isUninstallTrackingEnabled) BOOL uninstallTrackingEnabled; @property (nonatomic, copy, readonly) NSString *loginTooltipText; @property (nonatomic, copy, readonly) NSDate *timestamp; @property (nonatomic, assign) NSTimeInterval sessionTimoutInterval; @@ -89,6 +93,8 @@ NS_DESIGNATED_INITIALIZER; @property (nonatomic, copy, readonly) NSURL *smartLoginBookmarkIconURL; @property (nonatomic, copy, readonly) NSURL *smartLoginMenuIconURL; @property (nonatomic, copy, readonly) NSString *updateMessage; +@property (nonatomic, copy, readonly) NSArray *eventBindings; +@property (nonatomic, assign, readonly, getter=isCodelessSetupEnabled) BOOL codelessSetupEnabled; @property (nonatomic, readonly) NSInteger version; - (FBSDKDialogConfiguration *)dialogConfigurationForDialogName:(NSString *)dialogName; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.m index 5791484..adb08e8 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.m @@ -31,7 +31,7 @@ #define FBSDK_SERVER_CONFIGURATION_IMPLICIT_LOGGING_ENABLED_KEY @"implicitLoggingEnabled" #define FBSDK_SERVER_CONFIGURATION_DEFAULT_SHARE_MODE_KEY @"defaultShareMode" #define FBSDK_SERVER_CONFIGURATION_IMPLICIT_PURCHASE_LOGGING_ENABLED_KEY @"implicitPurchaseLoggingEnabled" -#define FBSDK_SERVER_CONFIGURATION_APP_INDEXING_TRIGGER_ENABLED_KEY @"appIndexingTriggerEnabled" +#define FBSDK_SERVER_CONFIGURATION_CODELESS_EVENTS_ENABLED_KEY @"codelessEventsEnabled" #define FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_ENABLED_KEY @"loginTooltipEnabled" #define FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_TEXT_KEY @"loginTooltipText" #define FBSDK_SERVER_CONFIGURATION_SYSTEM_AUTHENTICATION_ENABLED_KEY @"systemAuthenticationEnabled" @@ -43,7 +43,10 @@ #define FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_BOOKMARK_ICON_URL_KEY @"smarstLoginBookmarkIconURL" #define FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_MENU_ICON_URL_KEY @"smarstLoginBookmarkMenuURL" #define FBSDK_SERVER_CONFIGURATION_UPDATE_MESSAGE_KEY @"SDKUpdateMessage" +#define FBSDK_SERVER_CONFIGURATION_EVENT_BINDINGS @"eventBindings" +#define FBSDK_SERVER_CONFIGURATION_CODELESS_SETUP_ENABLED_KEY @"codelessSetupEnabled" #define FBSDK_SERVER_CONFIGURATION_VERSION_KEY @"version" +#define FBSDK_SERVER_CONFIGURATION_TRACK_UNINSTALL_ENABLED_KEY @"trackAppUninstallEnabled" #pragma mark - Dialog Names @@ -89,9 +92,10 @@ const NSInteger FBSDKServerConfigurationVersion = 2; advertisingIDEnabled:(BOOL)advertisingIDEnabled implicitLoggingEnabled:(BOOL)implicitLoggingEnabled implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled - appIndexingTriggerEnabled:(BOOL)appIndexingTriggerEnabled + codelessEventsEnabled:(BOOL)codelessEventsEnabled systemAuthenticationEnabled:(BOOL)systemAuthenticationEnabled nativeAuthFlowEnabled:(BOOL)nativeAuthFlowEnabled + uninstallTrackingEnabled:(BOOL)uninstallTrackingEnabled dialogConfigurations:(NSDictionary *)dialogConfigurations dialogFlows:(NSDictionary *)dialogFlows timestamp:(NSDate *)timestamp @@ -103,6 +107,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled smartLoginBookmarkIconURL:(NSURL *)smartLoginBookmarkIconURL smartLoginMenuIconURL:(NSURL *)smartLoginMenuIconURL updateMessage:(NSString *)updateMessage + eventBindings:(NSArray *)eventBindings + codelessSetupEnabled:(BOOL)codelessSetupEnabled { if ((self = [super init])) { _appID = [appID copy]; @@ -113,8 +119,9 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled _advertisingIDEnabled = advertisingIDEnabled; _implicitLoggingEnabled = implicitLoggingEnabled; _implicitPurchaseLoggingEnabled = implicitPurchaseLoggingEnabled; - _appIndexingTriggerEnabled = appIndexingTriggerEnabled; + _codelessEventsEnabled = codelessEventsEnabled; _systemAuthenticationEnabled = systemAuthenticationEnabled; + _uninstallTrackingEnabled = uninstallTrackingEnabled; _nativeAuthFlowEnabled = nativeAuthFlowEnabled; _dialogConfigurations = [dialogConfigurations copy]; _dialogFlows = [dialogFlows copy]; @@ -127,6 +134,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled _smartLoginMenuIconURL = [smartLoginMenuIconURL copy]; _smartLoginBookmarkIconURL = [smartLoginBookmarkIconURL copy]; _updateMessage = [updateMessage copy]; + _eventBindings = eventBindings; + _codelessSetupEnabled = codelessSetupEnabled; _version = FBSDKServerConfigurationVersion; } return self; @@ -183,10 +192,12 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled BOOL implicitLoggingEnabled = [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_LOGGING_ENABLED_KEY]; BOOL implicitPurchaseLoggingEnabled = [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_PURCHASE_LOGGING_ENABLED_KEY]; - BOOL appIndexingTriggerEnabled = - [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_APP_INDEXING_TRIGGER_ENABLED_KEY]; + BOOL codelessEventsEnabled = + [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_CODELESS_EVENTS_ENABLED_KEY]; BOOL systemAuthenticationEnabled = [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_SYSTEM_AUTHENTICATION_ENABLED_KEY]; + BOOL uninstallTrackingEnabled = + [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_TRACK_UNINSTALL_ENABLED_KEY]; FBSDKServerConfigurationSmartLoginOptions smartLoginOptions = [decoder decodeIntegerForKey:FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_OPTIONS_KEY]; BOOL nativeAuthFlowEnabled = [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_NATIVE_AUTH_FLOW_ENABLED_KEY]; NSDate *timestamp = [decoder decodeObjectOfClass:[NSDate class] forKey:FBSDK_SERVER_CONFIGURATION_TIMESTAMP_KEY]; @@ -209,6 +220,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled NSURL *smartLoginBookmarkIconURL = [decoder decodeObjectOfClass:[NSURL class] forKey:FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_BOOKMARK_ICON_URL_KEY]; NSURL *smartLoginMenuIconURL = [decoder decodeObjectOfClass:[NSURL class] forKey:FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_MENU_ICON_URL_KEY]; NSString *updateMessage = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SERVER_CONFIGURATION_UPDATE_MESSAGE_KEY]; + NSArray *eventBindings = [decoder decodeObjectOfClass:[NSArray class] forKey:FBSDK_SERVER_CONFIGURATION_EVENT_BINDINGS]; + BOOL codelessSetupEnabled = [decoder decodeBoolForKey:FBSDK_SERVER_CONFIGURATION_CODELESS_SETUP_ENABLED_KEY]; NSInteger version = [decoder decodeIntegerForKey:FBSDK_SERVER_CONFIGURATION_VERSION_KEY]; FBSDKServerConfiguration *configuration = [self initWithAppID:appID appName:appName @@ -218,9 +231,10 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled advertisingIDEnabled:advertisingIDEnabled implicitLoggingEnabled:implicitLoggingEnabled implicitPurchaseLoggingEnabled:implicitPurchaseLoggingEnabled - appIndexingTriggerEnabled:appIndexingTriggerEnabled + codelessEventsEnabled:codelessEventsEnabled systemAuthenticationEnabled:systemAuthenticationEnabled nativeAuthFlowEnabled:nativeAuthFlowEnabled + uninstallTrackingEnabled:uninstallTrackingEnabled dialogConfigurations:dialogConfigurations dialogFlows:dialogFlows timestamp:timestamp @@ -232,6 +246,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled smartLoginBookmarkIconURL:smartLoginBookmarkIconURL smartLoginMenuIconURL:smartLoginMenuIconURL updateMessage:updateMessage + eventBindings:eventBindings + codelessSetupEnabled:codelessSetupEnabled ]; configuration->_version = version; return configuration; @@ -249,9 +265,11 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled [encoder encodeBool:_implicitLoggingEnabled forKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_LOGGING_ENABLED_KEY]; [encoder encodeBool:_implicitPurchaseLoggingEnabled forKey:FBSDK_SERVER_CONFIGURATION_IMPLICIT_PURCHASE_LOGGING_ENABLED_KEY]; - [encoder encodeBool:_appIndexingTriggerEnabled - forKey:FBSDK_SERVER_CONFIGURATION_APP_INDEXING_TRIGGER_ENABLED_KEY]; + [encoder encodeBool:_codelessEventsEnabled + forKey:FBSDK_SERVER_CONFIGURATION_CODELESS_EVENTS_ENABLED_KEY]; [encoder encodeBool:_loginTooltipEnabled forKey:FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_ENABLED_KEY]; + [encoder encodeBool:_uninstallTrackingEnabled + forKey:FBSDK_SERVER_CONFIGURATION_TRACK_UNINSTALL_ENABLED_KEY]; [encoder encodeObject:_loginTooltipText forKey:FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_TEXT_KEY]; [encoder encodeBool:_nativeAuthFlowEnabled forKey:FBSDK_SERVER_CONFIGURATION_NATIVE_AUTH_FLOW_ENABLED_KEY]; [encoder encodeBool:_systemAuthenticationEnabled forKey:FBSDK_SERVER_CONFIGURATION_SYSTEM_AUTHENTICATION_ENABLED_KEY]; @@ -262,6 +280,8 @@ implicitPurchaseLoggingEnabled:(BOOL)implicitPurchaseLoggingEnabled [encoder encodeObject:_smartLoginBookmarkIconURL forKey:FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_BOOKMARK_ICON_URL_KEY]; [encoder encodeObject:_smartLoginMenuIconURL forKey:FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_MENU_ICON_URL_KEY]; [encoder encodeObject:_updateMessage forKey:FBSDK_SERVER_CONFIGURATION_UPDATE_MESSAGE_KEY]; + [encoder encodeObject:_eventBindings forKey:FBSDK_SERVER_CONFIGURATION_EVENT_BINDINGS]; + [encoder encodeBool:_codelessSetupEnabled forKey:FBSDK_SERVER_CONFIGURATION_CODELESS_SETUP_ENABLED_KEY]; [encoder encodeInteger:_version forKey:FBSDK_SERVER_CONFIGURATION_VERSION_KEY]; } diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.h b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.h index d188d3d..d5b9240 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.h +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.h @@ -20,6 +20,7 @@ #import "FBSDKServerConfiguration.h" +#define FBSDK_SERVER_CONFIGURATION_MANAGER_CACHE_TIMEOUT (60 * 60) typedef void(^FBSDKServerConfigurationManagerLoadBlock)(FBSDKServerConfiguration *serverConfiguration, NSError *error); @interface FBSDKServerConfigurationManager : NSObject diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m index 44648be..2ef2d0b 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m @@ -18,6 +18,9 @@ #import "FBSDKServerConfigurationManager+Internal.h" +#import + +#import "FBSDKAppEventsUtility.h" #import "FBSDKGraphRequest+Internal.h" #import "FBSDKGraphRequest.h" #import "FBSDKImageDownloader.h" @@ -30,7 +33,6 @@ // one hour #define DEFAULT_SESSION_TIMEOUT_INTERVAL 60 -#define FBSDK_SERVER_CONFIGURATION_MANAGER_CACHE_TIMEOUT (60 * 60) #define FBSDK_SERVER_CONFIGURATION_USER_DEFAULTS_KEY @"com.facebook.sdk:serverConfiguration%@" @@ -51,6 +53,8 @@ #define FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_BOOKMARK_ICON_URL_FIELD @"smart_login_bookmark_icon_url" #define FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_MENU_ICON_URL_FIELD @"smart_login_menu_icon_url" #define FBSDK_SERVER_CONFIGURATION_UPDATE_MESSAGE_FIELD @"sdk_update_message" +#define FBSDK_SERVER_CONFIGURATION_EVENT_BINDINGS_FIELD @"auto_event_mapping_ios" +#define FBSDK_SERVER_CONFIGURATION_CODELESS_SETUP_ENABLED_FIELD @"auto_event_setup_enabled" @implementation FBSDKServerConfigurationManager @@ -61,13 +65,15 @@ static NSError *_serverConfigurationError; static NSDate *_serverConfigurationErrorTimestamp; static const NSTimeInterval kTimeout = 4.0; static BOOL _printedUpdateMessage; +static BOOL _requeryFinishedForAppStart; typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) { FBSDKServerConfigurationManagerAppEventsFeaturesNone = 0, FBSDKServerConfigurationManagerAppEventsFeaturesAdvertisingIDEnabled = 1 << 0, FBSDKServerConfigurationManagerAppEventsFeaturesImplicitPurchaseLoggingEnabled = 1 << 1, - FBSDKServerConfigurationManagerAppEventsFeaturesAppIndexingTriggerEnabled = 1 << 6, + FBSDKServerConfigurationManagerAppEventsFeaturesCodelessEventsTriggerEnabled = 1 << 5, + FBSDKServerConfigurationManagerAppEventsFeaturesUninstallTrackingEnabled = 1 << 7, }; #pragma mark - Public Class Methods @@ -132,8 +138,9 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) } } - if ((_serverConfiguration && [self _serverConfigurationTimestampIsValid:_serverConfiguration.timestamp] && _serverConfiguration.version >= FBSDKServerConfigurationVersion) || - (_serverConfigurationErrorTimestamp && [self _serverConfigurationTimestampIsValid:_serverConfigurationErrorTimestamp])) { + if (_requeryFinishedForAppStart && + ((_serverConfiguration && [self _serverConfigurationTimestampIsValid:_serverConfiguration.timestamp] && _serverConfiguration.version >= FBSDKServerConfigurationVersion) || + (_serverConfigurationErrorTimestamp && [self _serverConfigurationTimestampIsValid:_serverConfigurationErrorTimestamp]))) { // we have a valid server configuration, use that loadBlock = [self _wrapperBlockForLoadBlock:completionBlock]; } else { @@ -150,6 +157,7 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) FBSDKGraphRequestConnection *requestConnection = [[FBSDKGraphRequestConnection alloc] init]; requestConnection.timeout = kTimeout; [requestConnection addRequest:request completionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { + _requeryFinishedForAppStart = YES; [self processLoadRequestResponse:result error:error appID:appID]; }]; [requestConnection start]; @@ -173,9 +181,10 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) NSDictionary *resultDictionary = [FBSDKTypeUtility dictionaryValue:result]; NSUInteger appEventsFeatures = [FBSDKTypeUtility unsignedIntegerValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_APP_EVENTS_FEATURES_FIELD]]; - BOOL advertisingIDEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesAdvertisingIDEnabled); - BOOL implicitPurchaseLoggingEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesImplicitPurchaseLoggingEnabled); - BOOL appIndexingTriggerEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesAppIndexingTriggerEnabled); + BOOL advertisingIDEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesAdvertisingIDEnabled) != 0; + BOOL implicitPurchaseLoggingEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesImplicitPurchaseLoggingEnabled) != 0; + BOOL codelessEventsEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesCodelessEventsTriggerEnabled) != 0; + BOOL uninstallTrackingEnabled = (appEventsFeatures & FBSDKServerConfigurationManagerAppEventsFeaturesUninstallTrackingEnabled) != 0; NSString *appName = [FBSDKTypeUtility stringValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_APP_NAME_FIELD]]; BOOL loginTooltipEnabled = [FBSDKTypeUtility boolValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_ENABLED_FIELD]]; NSString *loginTooltipText = [FBSDKTypeUtility stringValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_LOGIN_TOOLTIP_TEXT_FIELD]]; @@ -194,6 +203,8 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) NSURL *smartLoginBookmarkIconURL = [FBSDKTypeUtility URLValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_BOOKMARK_ICON_URL_FIELD]]; NSURL *smartLoginMenuIconURL = [FBSDKTypeUtility URLValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_SMART_LOGIN_MENU_ICON_URL_FIELD]]; NSString *updateMessage = [FBSDKTypeUtility stringValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_UPDATE_MESSAGE_FIELD]]; + NSArray *eventBindings = [FBSDKTypeUtility arrayValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_EVENT_BINDINGS_FIELD]]; + BOOL codelessSetupEnabled = [FBSDKTypeUtility boolValue:resultDictionary[FBSDK_SERVER_CONFIGURATION_CODELESS_SETUP_ENABLED_FIELD]]; FBSDKServerConfiguration *serverConfiguration = [[FBSDKServerConfiguration alloc] initWithAppID:appID appName:appName loginTooltipEnabled:loginTooltipEnabled @@ -202,9 +213,10 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) advertisingIDEnabled:advertisingIDEnabled implicitLoggingEnabled:implicitLoggingEnabled implicitPurchaseLoggingEnabled:implicitPurchaseLoggingEnabled - appIndexingTriggerEnabled:appIndexingTriggerEnabled + codelessEventsEnabled:codelessEventsEnabled systemAuthenticationEnabled:systemAuthenticationEnabled nativeAuthFlowEnabled:nativeAuthFlowEnabled + uninstallTrackingEnabled:uninstallTrackingEnabled dialogConfigurations:dialogConfigurations dialogFlows:dialogFlows timestamp:[NSDate date] @@ -216,6 +228,8 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) smartLoginBookmarkIconURL:smartLoginBookmarkIconURL smartLoginMenuIconURL:smartLoginMenuIconURL updateMessage:updateMessage + eventBindings:eventBindings + codelessSetupEnabled:codelessSetupEnabled ]; #if TARGET_OS_TV // don't download icons more than once a day. @@ -258,6 +272,10 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) FBSDK_SERVER_CONFIGURATION_SYSTEM_AUTHENTICATION_ENABLED_FIELD, FBSDK_SERVER_CONFIGURATION_SESSION_TIMEOUT_FIELD, FBSDK_SERVER_CONFIGURATION_LOGGIN_TOKEN_FIELD +#if !TARGET_OS_TV + ,FBSDK_SERVER_CONFIGURATION_EVENT_BINDINGS_FIELD + ,FBSDK_SERVER_CONFIGURATION_CODELESS_SETUP_ENABLED_FIELD +#endif #ifdef DEBUG ,FBSDK_SERVER_CONFIGURATION_UPDATE_MESSAGE_FIELD #endif @@ -268,6 +286,15 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) #endif ]; NSDictionary *parameters = @{ @"fields": [fields componentsJoinedByString:@","] }; + if (objc_lookUpClass("FBSDKAutoLog") != nil) { + NSString *advertiserID = [FBSDKAppEventsUtility advertiserID]; + + if (advertiserID) { + parameters = @{ @"fields": [fields componentsJoinedByString:@","], + @"advertiser_id": advertiserID }; + } + } + FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:appID parameters:parameters tokenString:nil @@ -307,9 +334,10 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) advertisingIDEnabled:NO implicitLoggingEnabled:NO implicitPurchaseLoggingEnabled:NO - appIndexingTriggerEnabled:NO + codelessEventsEnabled:NO systemAuthenticationEnabled:NO nativeAuthFlowEnabled:NO + uninstallTrackingEnabled:NO dialogConfigurations:nil dialogFlows:dialogFlows timestamp:nil @@ -321,6 +349,8 @@ typedef NS_OPTIONS(NSUInteger, FBSDKServerConfigurationManagerAppEventsFeatures) smartLoginBookmarkIconURL:nil smartLoginMenuIconURL:nil updateMessage:nil + eventBindings:nil + codelessSetupEnabled:NO ]; } return _defaultServerConfiguration; diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.m index 356a1a6..4add7a3 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.m @@ -72,7 +72,8 @@ NSString *const FBSDKTokenInformationUUIDKey = @"com.facebook.sdk:TokenInformati appID:dictionary[FBSDK_TOKEN_INFORMATION_APP_ID_KEY] userID:dictionary[FBSDK_TOKEN_INFORMATION_USER_FBID_KEY] expirationDate:expirationDate - refreshDate:dictionary[FBSDK_TOKEN_INFORMATION_REFRESH_DATE_KEY]]; + refreshDate:dictionary[FBSDK_TOKEN_INFORMATION_REFRESH_DATE_KEY] + dataAccessExpirationDate:nil]; } return nil; } diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.m index 74cb64b..6340b99 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.m @@ -126,7 +126,7 @@ static FBSDKWebDialog *g_currentDialog = nil; { if (_deferVisibility) { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - if (_dialogView) { + if (self->_dialogView) { [self _showWebView]; } }); @@ -151,7 +151,7 @@ static FBSDKWebDialog *g_currentDialog = nil; CFTimeInterval animationDuration = (animated ? [CATransactionClass animationDuration] : 0.0); [self _updateViewsWithScale:1.0 alpha:1.0 animationDuration:animationDuration completion:^(BOOL finished) { if (finished) { - [_dialogView setNeedsDisplay]; + [self->_dialogView setNeedsDisplay]; } }]; } @@ -208,7 +208,7 @@ static FBSDKWebDialog *g_currentDialog = nil; // defer so that the consumer is guaranteed to have an opportunity to set the delegate before we fail dispatch_async(dispatch_get_main_queue(), ^{ [self _dismissAnimated:YES]; - [_delegate webDialog:self didFailWithError:error]; + [self->_delegate webDialog:self didFailWithError:error]; }); } @@ -316,15 +316,15 @@ static FBSDKWebDialog *g_currentDialog = nil; } transform = CGAffineTransformScale([self _transformForOrientation], scale, scale); void(^updateBlock)(void) = ^{ - _dialogView.transform = transform; + self->_dialogView.transform = transform; #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" - CGRect mainFrame = _dialogView.window.screen.applicationFrame; + CGRect mainFrame = self->_dialogView.window.screen.applicationFrame; #pragma clang diagnostic pop - _dialogView.center = CGPointMake(CGRectGetMidX(mainFrame), + self->_dialogView.center = CGPointMake(CGRectGetMidX(mainFrame), CGRectGetMidY(mainFrame)); - _backgroundView.alpha = alpha; + self->_backgroundView.alpha = alpha; }; if (animationDuration == 0.0) { updateBlock(); diff --git a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/FBSDKDynamicFrameworkLoader.m b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/FBSDKDynamicFrameworkLoader.m index cc05b1f..522efff 100644 --- a/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/FBSDKDynamicFrameworkLoader.m +++ b/Example/Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/FBSDKDynamicFrameworkLoader.m @@ -565,3 +565,21 @@ CFStringRef fbsdkdfl_kUTTypePNG(void) { _fbsdkdfl_MobileCoreServices_get_and_return_k(kUTTypePNG); } + +#pragma mark - WebKit Classes +_fbsdkdfl_load_framework_once_impl_(WebKit) +_fbsdkdfl_handle_get_impl_(WebKit) + +#define _fbsdkdfl_WebKit_get_c(SYMBOL) _fbsdkdfl_symbol_get_c(WebKit, SYMBOL); + +Class fbsdkdfl_WKWebViewClass(void) +{ + _fbsdkdfl_WebKit_get_c(WKWebView); + return c; +} + +Class fbsdkdfl_WKUserScriptClass(void) +{ + _fbsdkdfl_WebKit_get_c(WKUserScript); + return c; +} diff --git a/Example/Pods/FBSDKCoreKit/FacebookSDKStrings.bundle/Resources/en.lproj/FacebookSDK.strings b/Example/Pods/FBSDKCoreKit/FacebookSDKStrings.bundle/Resources/en.lproj/FacebookSDK.strings index 92ad2e2..12df4c2 100644 Binary files a/Example/Pods/FBSDKCoreKit/FacebookSDKStrings.bundle/Resources/en.lproj/FacebookSDK.strings and b/Example/Pods/FBSDKCoreKit/FacebookSDKStrings.bundle/Resources/en.lproj/FacebookSDK.strings differ diff --git a/Example/Pods/FBSDKCoreKit/README.md b/Example/Pods/FBSDKCoreKit/README.md new file mode 100644 index 0000000..1f9c74e --- /dev/null +++ b/Example/Pods/FBSDKCoreKit/README.md @@ -0,0 +1,41 @@ +# Facebook SDK for iOS + +This open-source library allows you to integrate Facebook into your iOS app. + +Learn more about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/ios + +NOTE: By default, the Facebook SDK for iOS is installed in ~/Documents/FacebookSDK + +## TRY IT OUT + +1. Download the SDK at or via CocoaPods by adding the 'FBSDKCoreKit', 'FBSDKLoginKit', and 'FBSDKShareKit' pods. +2. Test your install: build and run the project at `~/Documents/FacebookSDK/Samples/Scrumptious/Scrumptious.xcodeproj` +3. Check-out the tutorials available online at: +4. Start coding! Visit for tutorials and reference documentation. + +## FEATURES + +- Login - +- Sharing - +- App Links - +- Graph API - +- Analytics - + +## GIVE FEEDBACK + +Please report bugs or issues to + +You can also join the [Facebook Developers Group on Facebook](https://www.facebook.com/groups/fbdevelopers/) or ask questions on [Stack Overflow](http://facebook.stackoverflow.com) + +## LICENSE + +See the [LICENSE](LICENSE) file. + +## DEVELOPER TERMS + +- By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our [Data Use Policy](https://www.facebook.com/about/privacy/), including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook. +- You may limit your sharing of information with us by updating the Insights control in the developer tool `https://developers.facebook.com/apps/{app_id}/settings/advanced`. +- If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13. +- You agree to comply with all applicable laws and regulations and also agree to our Terms , including our Platform Policies .and Advertising Guidelines, as applicable . + +By using the Facebook SDK for iOS you agree to these terms. diff --git a/Example/Pods/FBSDKCoreKit/README.mdown b/Example/Pods/FBSDKCoreKit/README.mdown deleted file mode 100644 index 4e6580c..0000000 --- a/Example/Pods/FBSDKCoreKit/README.mdown +++ /dev/null @@ -1,46 +0,0 @@ -Facebook SDK for iOS -==================== - -This open-source library allows you to integrate Facebook into your iOS app. - -Learn more about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/ios - -NOTE: By default, the Facebook SDK for iOS is installed in ~/Documents/FacebookSDK - -TRY IT OUT ----------- -1. Download the SDK at https://developers.facebook.com/docs/ios or via CocoaPods by adding the 'FBSDKCoreKit', 'FBSDKLoginKit', and 'FBSDKShareKit' pods. -2. Test your install: build and run the project at ~/Documents/FacebookSDK/Samples/Scrumptious/Scrumptious.xcodeproj -3. Check-out the tutorials available online at: https://developers.facebook.com/docs/ios/getting-started -4. Start coding! Visit https://developers.facebook.com/docs/ios for tutorials and reference documentation. - -FEATURES --------- -* Login - https://developers.facebook.com/docs/facebook-login -* Sharing - https://developers.facebook.com/docs/sharing -* App Links - https://developers.facebook.com/docs/applinks -* Graph API - https://developers.facebook.com/docs/ios/graph -* Analytics - https://developers.facebook.com/docs/analytics - -GIVE FEEDBACK -------------- -Please report bugs or issues to https://developers.facebook.com/bugs/ - -You can also join the Facebook Developers Group on Facebook (https://www.facebook.com/groups/fbdevelopers/) or ask questions on Stack Overflow (http://facebook.stackoverflow.com) - -LICENSE -------- -See the LICENSE file. - -DEVELOPER TERMS ---------------- - -- By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our Data Use Policy [https://www.facebook.com/about/privacy/], including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook. - -- You may limit your sharing of information with us by updating the Insights control in the developer tool [https://developers.facebook.com/apps/{app_id}/settings/advanced]. - -- If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13. - -- You agree to comply with all applicable laws and regulations and also agree to our Terms , including our Platform Policies .and Advertising Guidelines, as applicable . - -By using the Facebook SDK for iOS you agree to these terms. diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.m b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.m index d7a277b..65a7441 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.m +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.m @@ -73,21 +73,21 @@ static NSMutableArray *g_loginManagerInstances; return; } - _codeInfo = [[FBSDKDeviceLoginCodeInfo alloc] + self->_codeInfo = [[FBSDKDeviceLoginCodeInfo alloc] initWithIdentifier:result[@"code"] loginCode:result[@"user_code"] verificationURL:[NSURL URLWithString:result[@"verification_uri"]] expirationDate:[[NSDate date] dateByAddingTimeInterval:[result[@"expires_in"] doubleValue]] pollingInterval:[result[@"interval"] integerValue]]; - if (_isSmartLoginEnabled) { - [FBSDKDeviceRequestsHelper startAdvertisementService:_codeInfo.loginCode + if (self->_isSmartLoginEnabled) { + [FBSDKDeviceRequestsHelper startAdvertisementService:self->_codeInfo.loginCode withDelegate:self ]; } - [self.delegate deviceLoginManager:self startedWithCodeInfo:_codeInfo]; - [self _schedulePoll:_codeInfo.pollingInterval]; + [self.delegate deviceLoginManager:self startedWithCodeInfo:self->_codeInfo]; + [self _schedulePoll:self->_codeInfo.pollingInterval]; }]; } @@ -153,7 +153,8 @@ static NSMutableArray *g_loginManagerInstances; appID:[FBSDKSettings appID] userID:userID expirationDate:nil - refreshDate:nil]; + refreshDate:nil + dataAccessExpirationDate:nil]; FBSDKDeviceLoginManagerResult *result = [[FBSDKDeviceLoginManagerResult alloc] initWithToken:accessToken isCancelled:NO]; completeWithResult(result); @@ -188,11 +189,11 @@ static NSMutableArray *g_loginManagerInstances; - (void)_schedulePoll:(NSUInteger)interval { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(interval * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ - if (_isCancelled) { + if (self->_isCancelled) { return; } - NSDictionary *parameters = @{ @"code": _codeInfo.identifier }; + NSDictionary *parameters = @{ @"code": self->_codeInfo.identifier }; FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"device/login_status" parameters:parameters tokenString:[FBSDKInternalUtility validateRequiredClientAccessToken] @@ -200,7 +201,7 @@ static NSMutableArray *g_loginManagerInstances; flags:FBSDKGraphRequestFlagNone]; [request setGraphErrorRecoveryDisabled:YES]; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { - if (_isCancelled) { + if (self->_isCancelled) { return; } if (error) { diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h index adc7b9b..1b8ed29 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h @@ -106,9 +106,9 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) @required /** Sent to the delegate when the button was used to login. - - Parameter loginButton: the sender - - Parameter result: The results of the login - - Parameter error: The error (if any) from the login + @param loginButton the sender + @param result The results of the login + @param error The error (if any) from the login */ - (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result @@ -116,15 +116,15 @@ didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result /** Sent to the delegate when the button was used to logout. - - Parameter loginButton: The button that was clicked. + @param loginButton The button that was clicked. */ - (void)loginButtonDidLogOut:(FBSDKLoginButton *)loginButton; @optional /** Sent to the delegate when the button is about to login. - - Parameter loginButton: the sender - - Returns: YES if the login should be allowed to proceed, NO otherwise + @param loginButton the sender + @return YES if the login should be allowed to proceed, NO otherwise */ - (BOOL) loginButtonWillLogin:(FBSDKLoginButton *)loginButton; diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.m b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.m index 24cfd71..8f662c0 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.m +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.m @@ -255,7 +255,7 @@ static const CGFloat kPaddingBetweenLogoTitle = 8.0; UIAlertAction *logout = [UIAlertAction actionWithTitle:logOutTitle style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { - [_loginManager logOut]; + [self->_loginManager logOut]; [self.delegate loginButtonDidLogOut:self]; }]; [alertController addAction:cancel]; @@ -348,8 +348,8 @@ static const CGFloat kPaddingBetweenLogoTitle = 8.0; [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { NSString *userID = [FBSDKTypeUtility stringValue:result[@"id"]]; if (!error && [[FBSDKAccessToken currentAccessToken].userID isEqualToString:userID]) { - _userName = [FBSDKTypeUtility stringValue:result[@"name"]]; - _userID = userID; + self->_userName = [FBSDKTypeUtility stringValue:result[@"name"]]; + self->_userID = userID; } }]; } diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit.h index c29f13b..aafc577 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit.h @@ -18,18 +18,14 @@ #import -#if !TARGET_TV_OS #import #import #import -#import #import + +#if !TARGET_TV_OS +#import #import #import #import -#else -#import -#import -#import -#import #endif diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.h index 5758325..c33ffcb 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.h @@ -24,8 +24,8 @@ /** Describes the call back to the FBSDKLoginManager - - Parameter result: the result of the authorization - - Parameter error: the authorization error, if any. + @param result the result of the authorization + @param error the authorization error, if any. */ typedef void (^FBSDKLoginManagerRequestTokenHandler)(FBSDKLoginManagerLoginResult *result, NSError *error); @@ -110,6 +110,10 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior) */ @interface FBSDKLoginManager : NSObject +/** + Auth type + */ +@property (strong, nonatomic) NSString *authType; /** the default audience. @@ -124,25 +128,25 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior) /** -- Warning:use logInWithReadPermissions:fromViewController:handler: instead +@warning use logInWithReadPermissions:fromViewController:handler: instead */ - (void)logInWithReadPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler __attribute__ ((deprecated("use logInWithReadPermissions:fromViewController:handler: instead"))); /** -- Warning:use logInWithPublishPermissions:fromViewController:handler: instead +@warning use logInWithPublishPermissions:fromViewController:handler: instead */ - (void)logInWithPublishPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler __attribute__ ((deprecated("use logInWithPublishPermissions:fromViewController:handler: instead"))); /** Logs the user in or authorizes additional permissions. - - Parameter permissions: the optional array of permissions. Note this is converted to NSSet and is only + @param permissions the optional array of permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - - Parameter fromViewController: the view controller to present from. If nil, the topmost view controller will be + @param fromViewController the view controller to present from. If nil, the topmost view controller will be automatically determined as best as possible. - - Parameter handler: the callback. + @param handler the callback. Use this method when asking for read permissions. You should only ask for permissions when they are needed and explain the value to the user. You can inspect the result.declinedPermissions to also @@ -160,11 +164,11 @@ __attribute__ ((deprecated("use logInWithPublishPermissions:fromViewController:h /** Logs the user in or authorizes additional permissions. - - Parameter permissions: the optional array of permissions. Note this is converted to NSSet and is only + @param permissions the optional array of permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - - Parameter fromViewController: the view controller to present from. If nil, the topmost view controller will be + @param fromViewController the view controller to present from. If nil, the topmost view controller will be automatically determined as best as possible. - - Parameter handler: the callback. + @param handler the callback. Use this method when asking for publish permissions. You should only ask for permissions when they are needed and explain the value to the user. You can inspect the result.declinedPermissions to also @@ -192,7 +196,7 @@ __attribute__ ((deprecated("use logInWithPublishPermissions:fromViewController:h Issues an asynchronous renewCredentialsForAccount call to the device's Facebook account store. - - Parameter handler: The completion handler to call when the renewal is completed. This can be invoked on an arbitrary thread. + @param handler The completion handler to call when the renewal is completed. This can be invoked on an arbitrary thread. This can be used to explicitly renew account credentials and is provided as a convenience wrapper around diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.m b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.m index 17bece3..f002464 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.m +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.m @@ -64,6 +64,7 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { { self = [super init]; if (self) { + self.authType = @"rerequest"; NSString *keyChainServiceIdentifier = [NSString stringWithFormat:@"com.facebook.sdk.loginmanager.%@", [[NSBundle mainBundle] bundleIdentifier]]; _keychainStore = [[FBSDKKeychainStore alloc] initWithService:keyChainServiceIdentifier accessGroup:nil]; } @@ -249,7 +250,8 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { appID:parameters.appID userID:parameters.userID expirationDate:parameters.expirationDate - refreshDate:[NSDate date]]; + refreshDate:[NSDate date] + dataAccessExpirationDate:parameters.dataAccessExpirationDate]; result = [[FBSDKLoginManagerLoginResult alloc] initWithToken:token isCancelled:NO grantedPermissions:recentlyGrantedPermissions @@ -260,12 +262,10 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { // in a reauth, short circuit and let the login handler be called when the validation finishes. return; } - } else { - cancelled = YES; } } - if (cancelled) { + if (cancelled || recentlyGrantedPermissions.count == 0) { NSSet *declinedPermissions = nil; if ([FBSDKAccessToken currentAccessToken] != nil) { if (parameters.isSystemAccount) { @@ -282,7 +282,7 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { } result = [[FBSDKLoginManagerLoginResult alloc] initWithToken:nil - isCancelled:YES + isCancelled:cancelled grantedPermissions:nil declinedPermissions:declinedPermissions]; } @@ -362,7 +362,7 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { loginParams[@"return_scopes"] = @"true"; loginParams[@"sdk_version"] = FBSDK_VERSION_STRING; loginParams[@"fbapp_pres"] = @([FBSDKInternalUtility isFacebookAppInstalled]); - loginParams[@"auth_type"] = @"rerequest"; + loginParams[@"auth_type"] = self.authType; loginParams[@"logging_token"] = serverConfiguration.loggingToken; [FBSDKInternalUtility dictionary:loginParams setObject:[FBSDKSettings appURLSchemeSuffix] forKey:@"local_client_id"]; @@ -399,8 +399,8 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { void(^completion)(BOOL, NSString *, NSError *) = ^void(BOOL didPerformLogIn, NSString *authMethod, NSError *error) { if (didPerformLogIn) { - [_logger startAuthMethod:authMethod]; - _state = FBSDKLoginManagerStatePerformingLogin; + [self->_logger startAuthMethod:authMethod]; + self->_state = FBSDKLoginManagerStatePerformingLogin; } else if (error && [error.domain isEqualToString:SFVCCanceledLogin]) { [self handleImplicitCancelOfLogIn]; } else { @@ -524,7 +524,7 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { NSDate *start = [NSDate date]; [[FBSDKApplicationDelegate sharedInstance] openURL:authURL sender:self handler:^(BOOL openedURL, NSError *anError) { - [_logger logNativeAppDialogResult:openedURL dialogDuration:-[start timeIntervalSinceNow]]; + [self->_logger logNativeAppDialogResult:openedURL dialogDuration:-[start timeIntervalSinceNow]]; if (handler) { handler(openedURL, anError); } @@ -721,7 +721,7 @@ typedef NS_ENUM(NSInteger, FBSDKLoginManagerState) { // false positives. BOOL didShowDialog = [FBSDKInternalUtility currentTimeInMilliseconds] - timePriorToSystemAuthUI > 350; BOOL isUnTOSedDevice = !oauthToken && accountStoreError.code == ACErrorAccountNotFound; - [_logger systemAuthDidShowDialog:didShowDialog isUnTOSedDevice:isUnTOSedDevice]; + [self->_logger systemAuthDidShowDialog:didShowDialog isUnTOSedDevice:isUnTOSedDevice]; if (accountStoreError && [FBSDKSystemAccountStoreAdapter sharedInstance].forceBlockingRenew) { accountStoreError = [FBSDKLoginError errorForSystemPasswordChange:accountStoreError]; diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.h index 6148a07..edd7be6 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.h @@ -51,10 +51,10 @@ /** Initializes a new instance. - - Parameter token: the access token - - Parameter isCancelled: whether the login was cancelled by the user - - Parameter grantedPermissions: the set of granted permissions - - Parameter declinedPermissions: the set of declined permissions + @param token the access token + @param isCancelled whether the login was cancelled by the user + @param grantedPermissions the set of granted permissions + @param declinedPermissions the set of declined permissions */ - (instancetype)initWithToken:(FBSDKAccessToken *)token isCancelled:(BOOL)isCancelled diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.h index ad2c9d5..1792197 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.h @@ -61,8 +61,8 @@ /** Asks the delegate if the tooltip view should appear - - Parameter view: The tooltip view. - - Parameter appIsEligible: The value fetched from the server identifying if the app + @param view The tooltip view. + @param appIsEligible The value fetched from the server identifying if the app is eligible for the new login experience. @@ -74,7 +74,7 @@ Tells the delegate the tooltip view will appear, specifically after it's been added to the super view but before the fade in animation. - - Parameter view: The tooltip view. + @param view The tooltip view. */ - (void)loginTooltipViewWillAppear:(FBSDKLoginTooltipView *)view; @@ -82,7 +82,7 @@ Tells the delegate the tooltip view will not appear (i.e., was not added to the super view). - - Parameter view: The tooltip view. + @param view The tooltip view. */ - (void)loginTooltipViewWillNotAppear:(FBSDKLoginTooltipView *)view; diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.h index 604c840..d77392c 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.h @@ -81,18 +81,18 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) /** Designated initializer. - - Parameter tagline: First part of the label, that will be highlighted with different color. Can be nil. + @param tagline First part of the label, that will be highlighted with different color. Can be nil. - - Parameter message: Main message to display. + @param message Main message to display. - - Parameter colorStyle: Color style to use for tooltip. + @param colorStyle Color style to use for tooltip. If you need to show a tooltip for login, consider using the `FBSDKLoginTooltipView` view. -- See:FBSDKLoginTooltipView + @see FBSDKLoginTooltipView */ - (instancetype)initWithTagline:(NSString *)tagline message:(NSString *)message colorStyle:(FBSDKTooltipColorStyle)colorStyle; @@ -100,7 +100,7 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) Show tooltip at the top or at the bottom of given view. Tooltip will be added to anchorView.window.rootViewController.view - - Parameter anchorView: view to show at, must be already added to window view hierarchy, in order to decide + @param anchorView view to show at, must be already added to window view hierarchy, in order to decide where tooltip will be shown. (If there's not enough space at the top of the anchorView in window bounds - tooltip will be shown at the bottom of it) @@ -115,11 +115,11 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) /** Adds tooltip to given view, with given position and arrow direction. - - Parameter view: View to be used as superview. + @param view View to be used as superview. - - Parameter arrowPosition: Point in view's cordinates, where arrow will be pointing + @param arrowPosition Point in view's cordinates, where arrow will be pointing - - Parameter arrowDirection: whenever arrow should be pointing up (message bubble is below the arrow) or + @param arrowDirection whenever arrow should be pointing up (message bubble is below the arrow) or down (message bubble is above the arrow). */ - (void)presentInView:(UIView *)view withArrowPosition:(CGPoint)arrowPosition direction:(FBSDKTooltipViewArrowDirection)arrowDirection; diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.m b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.m index d500cc4..0b1d5e9 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.m +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.m @@ -184,7 +184,7 @@ static CGMutablePathRef _fbsdkCreateDownPointingBubbleWithRect(CGRect rect, CGFl [self animateFadeOutWithCompletion:^{ [self removeFromSuperview]; [self cancelAllScheduledFadeOutMethods]; - _isFadingOut = NO; + self->_isFadingOut = NO; }]; } @@ -244,9 +244,9 @@ static CGMutablePathRef _fbsdkCreateDownPointingBubbleWithRect(CGRect rect, CGFl void (^zoomIn)(void) = ^{ self.alpha = 1.0; - CGFloat newZoomOffsetX = (centerPos - _arrowMidpoint) * (kZoomInScale - 1.0f); + CGFloat newZoomOffsetX = (centerPos - self->_arrowMidpoint) * (kZoomInScale - 1.0f); CGFloat newZoomOffsetY = -0.5f * self.bounds.size.height * (kZoomInScale - 1.0f); - if (_pointingUp) { + if (self->_pointingUp) { newZoomOffsetY = -newZoomOffsetY; } @@ -258,9 +258,9 @@ static CGMutablePathRef _fbsdkCreateDownPointingBubbleWithRect(CGRect rect, CGFl // 2nd Step. void (^bounceZoom)(void) = ^{ CGFloat centerPos2 = self.bounds.size.width / 2.0; - CGFloat zoomOffsetX2 = (centerPos2 - _arrowMidpoint) * (kZoomBounceScale - 1.0f); + CGFloat zoomOffsetX2 = (centerPos2 - self->_arrowMidpoint) * (kZoomBounceScale - 1.0f); CGFloat zoomOffsetY2 = -0.5f * self.bounds.size.height * (kZoomBounceScale - 1.0f); - if (_pointingUp) { + if (self->_pointingUp) { zoomOffsetY2 = -zoomOffsetY2; } self.layer.transform = fbsdkdfl_CATransform3DConcat(fbsdkdfl_CATransform3DMakeScale(kZoomBounceScale, kZoomBounceScale, kZoomBounceScale), diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion+Internal.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion+Internal.h index ea90965..6d0238d 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion+Internal.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion+Internal.h @@ -32,6 +32,8 @@ @property (nonatomic, readwrite, getter=isSystemAccount) BOOL systemAccount; @property (nonatomic, copy, readwrite) NSDate *expirationDate; +@property (nonatomic, copy, readwrite) NSDate *dataAccessExpirationDate; + @property (nonatomic, copy, readwrite) NSString *challenge; @end diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.h b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.h index af06f09..448f75e 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.h +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.h @@ -42,6 +42,8 @@ @property (nonatomic, readonly, getter=isSystemAccount) BOOL systemAccount; @property (nonatomic, copy, readonly) NSDate *expirationDate; +@property (nonatomic, copy, readonly) NSDate *dataAccessExpirationDate; + @property (nonatomic, copy, readonly) NSString *challenge; @end diff --git a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.m b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.m index a03e218..7c0624d 100644 --- a/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.m +++ b/Example/Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.m @@ -153,7 +153,7 @@ static void FBSDKLoginRequestMeAndPermissions(FBSDKLoginCompletionParameters *pa if (_parameters.accessTokenString && !_parameters.userID) { void(^handlerCopy)(FBSDKLoginCompletionParameters *) = [handler copy]; FBSDKLoginRequestMeAndPermissions(_parameters, ^{ - handlerCopy(_parameters); + handlerCopy(self->_parameters); }); return; } @@ -194,6 +194,12 @@ static void FBSDKLoginRequestMeAndPermissions(FBSDKLoginCompletionParameters *pa } _parameters.expirationDate = expirationDate; + NSDate *dataAccessExpirationDate = [NSDate distantFuture]; + if (parameters[@"data_access_expiration_time"] && [parameters[@"data_access_expiration_time"] integerValue] > 0) { + dataAccessExpirationDate = [NSDate dateWithTimeIntervalSince1970:[parameters[@"data_access_expiration_time"] integerValue]]; + } + _parameters.dataAccessExpirationDate = dataAccessExpirationDate; + NSError *error = nil; NSDictionary *state = [FBSDKInternalUtility objectForJSONString:parameters[@"state"] error:&error]; _parameters.challenge = [FBSDKUtility URLDecode:state[@"challenge"]]; @@ -265,7 +271,7 @@ static void FBSDKLoginRequestMeAndPermissions(FBSDKLoginCompletionParameters *pa // It's possible the graph error has a value set for NSRecoveryAttempterErrorKey but we don't // have any login-specific attempter to provide since system auth succeeded and the error is a // graph API error. - NSError *serverError = _parameters.error; + NSError *serverError = self->_parameters.error; NSError *error = [FBSDKLoginError errorFromServerError:serverError]; if (error != nil) { // In the event the user's password changed the Accounts framework will still return @@ -275,16 +281,16 @@ static void FBSDKLoginRequestMeAndPermissions(FBSDKLoginCompletionParameters *pa if (error.code == FBSDKLoginPasswordChangedErrorCode) { [FBSDKSystemAccountStoreAdapter sharedInstance].forceBlockingRenew = YES; - _parameters.accessTokenString = nil; - _parameters.appID = nil; + self->_parameters.accessTokenString = nil; + self->_parameters.appID = nil; error = [FBSDKLoginError errorForSystemPasswordChange:serverError]; } - _parameters.error = error; + self->_parameters.error = error; } - handlerCopy(_parameters); + handlerCopy(self->_parameters); }); } diff --git a/Example/Pods/FBSDKLoginKit/README.md b/Example/Pods/FBSDKLoginKit/README.md new file mode 100644 index 0000000..1f9c74e --- /dev/null +++ b/Example/Pods/FBSDKLoginKit/README.md @@ -0,0 +1,41 @@ +# Facebook SDK for iOS + +This open-source library allows you to integrate Facebook into your iOS app. + +Learn more about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/ios + +NOTE: By default, the Facebook SDK for iOS is installed in ~/Documents/FacebookSDK + +## TRY IT OUT + +1. Download the SDK at or via CocoaPods by adding the 'FBSDKCoreKit', 'FBSDKLoginKit', and 'FBSDKShareKit' pods. +2. Test your install: build and run the project at `~/Documents/FacebookSDK/Samples/Scrumptious/Scrumptious.xcodeproj` +3. Check-out the tutorials available online at: +4. Start coding! Visit for tutorials and reference documentation. + +## FEATURES + +- Login - +- Sharing - +- App Links - +- Graph API - +- Analytics - + +## GIVE FEEDBACK + +Please report bugs or issues to + +You can also join the [Facebook Developers Group on Facebook](https://www.facebook.com/groups/fbdevelopers/) or ask questions on [Stack Overflow](http://facebook.stackoverflow.com) + +## LICENSE + +See the [LICENSE](LICENSE) file. + +## DEVELOPER TERMS + +- By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our [Data Use Policy](https://www.facebook.com/about/privacy/), including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook. +- You may limit your sharing of information with us by updating the Insights control in the developer tool `https://developers.facebook.com/apps/{app_id}/settings/advanced`. +- If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13. +- You agree to comply with all applicable laws and regulations and also agree to our Terms , including our Platform Policies .and Advertising Guidelines, as applicable . + +By using the Facebook SDK for iOS you agree to these terms. diff --git a/Example/Pods/FBSDKLoginKit/README.mdown b/Example/Pods/FBSDKLoginKit/README.mdown deleted file mode 100644 index 4e6580c..0000000 --- a/Example/Pods/FBSDKLoginKit/README.mdown +++ /dev/null @@ -1,46 +0,0 @@ -Facebook SDK for iOS -==================== - -This open-source library allows you to integrate Facebook into your iOS app. - -Learn more about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/ios - -NOTE: By default, the Facebook SDK for iOS is installed in ~/Documents/FacebookSDK - -TRY IT OUT ----------- -1. Download the SDK at https://developers.facebook.com/docs/ios or via CocoaPods by adding the 'FBSDKCoreKit', 'FBSDKLoginKit', and 'FBSDKShareKit' pods. -2. Test your install: build and run the project at ~/Documents/FacebookSDK/Samples/Scrumptious/Scrumptious.xcodeproj -3. Check-out the tutorials available online at: https://developers.facebook.com/docs/ios/getting-started -4. Start coding! Visit https://developers.facebook.com/docs/ios for tutorials and reference documentation. - -FEATURES --------- -* Login - https://developers.facebook.com/docs/facebook-login -* Sharing - https://developers.facebook.com/docs/sharing -* App Links - https://developers.facebook.com/docs/applinks -* Graph API - https://developers.facebook.com/docs/ios/graph -* Analytics - https://developers.facebook.com/docs/analytics - -GIVE FEEDBACK -------------- -Please report bugs or issues to https://developers.facebook.com/bugs/ - -You can also join the Facebook Developers Group on Facebook (https://www.facebook.com/groups/fbdevelopers/) or ask questions on Stack Overflow (http://facebook.stackoverflow.com) - -LICENSE -------- -See the LICENSE file. - -DEVELOPER TERMS ---------------- - -- By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our Data Use Policy [https://www.facebook.com/about/privacy/], including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook. - -- You may limit your sharing of information with us by updating the Insights control in the developer tool [https://developers.facebook.com/apps/{app_id}/settings/advanced]. - -- If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13. - -- You agree to comply with all applicable laws and regulations and also agree to our Terms , including our Platform Policies .and Advertising Guidelines, as applicable . - -By using the Facebook SDK for iOS you agree to these terms. diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.h index 460ac28..a0ee634 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.h @@ -24,45 +24,45 @@ /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ __attribute__ ((deprecated)) @interface FBSDKAppGroupAddDialog : NSObject /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ + (instancetype)showWithContent:(FBSDKAppGroupContent *)content delegate:(id)delegate __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ @property (nonatomic, weak) id delegate __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ @property (nonatomic, copy) FBSDKAppGroupContent *content __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (BOOL)canShow __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (BOOL)show __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef __attribute__ ((deprecated)); @@ -70,26 +70,26 @@ __attribute__ ((deprecated)) /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ __attribute__ ((deprecated)) @protocol FBSDKAppGroupAddDialogDelegate /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didCompleteWithResults:(NSDictionary *)results __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didFailWithError:(NSError *)error __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (void)appGroupAddDialogDidCancel:(FBSDKAppGroupAddDialog *)appGroupAddDialog __attribute__ ((deprecated)); diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.h index e5722ef..abf91aa 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.h @@ -60,8 +60,8 @@ FBSDK_EXTERN NSString *NSStringFromFBSDKAppGroupPrivacy(FBSDKAppGroupPrivacy pri /** Compares the receiver to another app group content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToAppGroupContent:(FBSDKAppGroupContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.h index 371e5cc..ecb6d04 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.h @@ -22,43 +22,43 @@ /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ __attribute__ ((deprecated)) @interface FBSDKAppGroupJoinDialog : NSObject /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ + (instancetype)showWithGroupID:(NSString *)groupID delegate:(id)delegate __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ @property (nonatomic, weak) id delegate __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ @property (nonatomic, copy) NSString *groupID __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (BOOL)canShow __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (BOOL)show __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef __attribute__ ((deprecated)); @@ -66,26 +66,26 @@ __attribute__ ((deprecated)) /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ __attribute__ ((deprecated)) @protocol FBSDKAppGroupJoinDialogDelegate /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didCompleteWithResults:(NSDictionary *)results __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didFailWithError:(NSError *)error __attribute__ ((deprecated)); /** -- Warning:App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. +@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ - (void)appGroupJoinDialogDidCancel:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog __attribute__ ((deprecated)); diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.h index fe91142..b57d923 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.h @@ -19,6 +19,7 @@ #import #import +#import /** NS_ENUM(NSUInteger, FBSDKAppInviteDestination) @@ -35,7 +36,7 @@ typedef NS_ENUM(NSUInteger, FBSDKAppInviteDestination) /** A model for app invite. */ -@interface FBSDKAppInviteContent : NSObject +@interface FBSDKAppInviteContent : NSObject /** A URL to a preview image that will be displayed with the app invite @@ -55,7 +56,7 @@ typedef NS_ENUM(NSUInteger, FBSDKAppInviteDestination) /** -- Warning:Use `appInvitePreviewImageURL` instead. +@warning Use `appInvitePreviewImageURL` instead. */ @property (nonatomic, copy) NSURL *previewImageURL __attribute__ ((deprecated("use appInvitePreviewImageURL instead"))); @@ -87,8 +88,8 @@ typedef NS_ENUM(NSUInteger, FBSDKAppInviteDestination) /** Compares the receiver to another app invite content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToAppInviteContent:(FBSDKAppInviteContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.m index 780c5b9..05c54d7 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.m @@ -19,6 +19,7 @@ #import "FBSDKAppInviteContent.h" #import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareUtility.h" #define FBSDK_APP_INVITE_CONTENT_APP_LINK_URL_KEY @"appLinkURL" #define FBSDK_APP_INVITE_CONTENT_PREVIEW_IMAGE_KEY @"previewImage" @@ -39,6 +40,60 @@ self.appInvitePreviewImageURL = previewImageURL; } +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + return ([FBSDKShareUtility validateRequiredValue:_appLinkURL name:@"appLinkURL" error:errorRef] && + [FBSDKShareUtility validateNetworkURL:_appLinkURL name:@"appLinkURL" error:errorRef] && + [FBSDKShareUtility validateNetworkURL:_appInvitePreviewImageURL name:@"appInvitePreviewImageURL" error:errorRef] && + [self _validatePromoCodeWithError:errorRef]); +} + +- (BOOL)_validatePromoCodeWithError:(NSError *__autoreleasing *)errorRef +{ + if ([_promotionText length] > 0 || [_promotionCode length] > 0) { + NSMutableCharacterSet *alphanumericWithSpaces = [NSMutableCharacterSet alphanumericCharacterSet]; + [alphanumericWithSpaces formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; + + // Check for validity of promo text and promo code. + if (!([_promotionText length] > 0 && [_promotionText length] <= 80)) { + if (errorRef != NULL) { + *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionText" value:_promotionText message:@"Invalid value for promotionText, promotionText has to be between 1 and 80 characters long."]; + } + return NO; + } + + if (!([_promotionCode length] <= 10)) { + if (errorRef != NULL) { + *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionCode" value:_promotionCode message:@"Invalid value for promotionCode, promotionCode has to be between 0 and 10 characters long and is required when promoCode is set."]; + } + return NO; + } + + if ([_promotionText rangeOfCharacterFromSet:[alphanumericWithSpaces invertedSet]].location != NSNotFound) { + if (errorRef != NULL) { + *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionText" value:_promotionText message:@"Invalid value for promotionText, promotionText can contain only alphanumeric characters and spaces."]; + } + return NO; + } + + if ([_promotionCode length] > 0 && [_promotionCode rangeOfCharacterFromSet:[alphanumericWithSpaces invertedSet]].location != NSNotFound) { + if (errorRef != NULL) { + *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionCode" value:_promotionCode message:@"Invalid value for promotionCode, promotionCode can contain only alphanumeric characters and spaces."]; + } + return NO; + } + + } + + if (errorRef != NULL) { + *errorRef = nil; + } + + return YES; +} + #pragma mark - Equality - (NSUInteger)hash diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.h index 9994ff9..c340ec8 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.h @@ -30,10 +30,10 @@ /** Convenience method to show a FBSDKAppInviteDialog - - Parameter viewController: A UIViewController to present the dialog from. - - Parameter content: The content for the app invite. - - Parameter delegate: The receiver's delegate. - - Warning: This method is deprecated. + @param viewController A UIViewController to present the dialog from. + @param content The content for the app invite. + @param delegate The receiver's delegate. + @warning This method is deprecated. */ + (instancetype)showFromViewController:(UIViewController *)viewController withContent:(FBSDKAppInviteContent *)content @@ -43,7 +43,7 @@ __attribute__ ((deprecated("App Invites no longer supported"))); /** - - Warning:use showFromViewController:withContent:delegate: instead + @warning use showFromViewController:withContent:delegate: instead */ + (instancetype)showWithContent:(FBSDKAppInviteContent *)content delegate:(id)delegate __attribute__ ((deprecated("use showFromViewController:withContent:delegate: instead"))); @@ -72,21 +72,21 @@ __attribute__ ((deprecated("use showFromViewController:withContent:delegate: ins required but not available. This method does not validate the content on the receiver, so this can be checked before building up the content. - - See:validateWithError: - - Returns: YES if the receiver can show the dialog, otherwise NO. + @see validateWithError: + @return YES if the receiver can show the dialog, otherwise NO. */ - (BOOL)canShow; /** Begins the app invite from the receiver. - - Returns: YES if the receiver was able to show the dialog, otherwise NO. + @return YES if the receiver was able to show the dialog, otherwise NO. */ - (BOOL)show; /** Validates the content on the receiver. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: YES if the content is valid, otherwise NO. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return YES if the content is valid, otherwise NO. */ - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef; @@ -103,15 +103,15 @@ __attribute__ ((deprecated("use showFromViewController:withContent:delegate: ins /** Sent to the delegate when the app invite completes without error. - - Parameter appInviteDialog: The FBSDKAppInviteDialog that completed. - - Parameter results: The results from the dialog. This may be nil or empty. + @param appInviteDialog The FBSDKAppInviteDialog that completed. + @param results The results from the dialog. This may be nil or empty. */ - (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results; /** Sent to the delegate when the app invite encounters an error. - - Parameter appInviteDialog: The FBSDKAppInviteDialog that completed. - - Parameter error: The error. + @param appInviteDialog The FBSDKAppInviteDialog that completed. + @param error The error. */ - (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didFailWithError:(NSError *)error; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.m index 63ea582..9b882b0 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.m @@ -68,7 +68,16 @@ - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef { - return [FBSDKShareUtility validateAppInviteContent:self.content error:errorRef]; + if (![FBSDKShareUtility validateRequiredValue:self.content name:@"content" error:errorRef]) { + return NO; + } + if ([self.content respondsToSelector:@selector(validateWithError:)]) { + return [self.content validateWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]; + } + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"content" value:self.content message:nil]; + } + return NO; } @end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.h index 6f67f0a..6306f47 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.h @@ -28,29 +28,29 @@ /** Sets a string argument in the container. - - Parameter string: The argument - - Parameter key: The key for the argument + @param string The argument + @param key The key for the argument */ - (void)setString:(NSString *)string forKey:(NSString *)key; /** Gets a string argument from the container. - - Parameter key: The key for the argument - - Returns: The string value or nil + @param key The key for the argument + @return The string value or nil */ - (NSString *)stringForKey:(NSString *)key; /** Sets a string array argument in the container. - - Parameter array: The array argument - - Parameter key: The key for the argument + @param array The array argument + @param key The key for the argument */ - (void)setArray:(NSArray *)array forKey:(NSString *)key; /** Gets an array argument from the container. - - Parameter key: The key for the argument - - Returns: The array argument + @param key The key for the argument + @return The array argument */ - (NSArray *)arrayForKey:(NSString *)key; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.h index 37aeff3..9639b50 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.h @@ -28,15 +28,15 @@ /** Sets the image for a texture key. - - Parameter image: The UIImage for the texture - - Parameter name: The key for the texture + @param image The UIImage for the texture + @param key The key for the texture */ - (void)setImage:(UIImage *)image forKey:(NSString *)key; /** Gets the image for a texture key. - - Parameter name: The key for the texture - - Returns: The texture UIImage or nil + @param key The key for the texture + @return The texture UIImage or nil */ - (UIImage *)imageForKey:(NSString *)key; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.h index a742826..01d9480 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.h @@ -19,6 +19,7 @@ #import #import +#import /** NS_ENUM(NSUInteger, FBSDKGameRequestActionType) @@ -53,7 +54,7 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) /** A model for a game request. */ -@interface FBSDKGameRequestContent : NSObject +@interface FBSDKGameRequestContent : NSObject /** Used when defining additional context about the nature of the request. @@ -67,8 +68,8 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) /** Compares the receiver to another game request content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToGameRequestContent:(FBSDKGameRequestContent *)content; @@ -121,7 +122,7 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) /** -- Warning:Use `recipientSuggestions` instead. +@warning Use `recipientSuggestions` instead. */ @property (nonatomic, copy) NSArray *suggestions __attribute__ ((deprecated("use recipientSuggestions instead"))); @@ -132,7 +133,7 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) /** -- Warning:Use `recipients` instead. +@warning Use `recipients` instead. */ @property (nonatomic, copy) NSArray *to __attribute__ ((deprecated("use recipients instead"))); diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.m index c2f629e..2c4d246 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.m @@ -19,6 +19,7 @@ #import "FBSDKGameRequestContent.h" #import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareError.h" #import "FBSDKShareUtility.h" #define FBSDK_APP_REQUEST_CONTENT_TO_KEY @"to" @@ -70,6 +71,76 @@ self.recipients = to; } +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if (![FBSDKShareUtility validateRequiredValue:_message name:@"message" error:errorRef]) { + return NO; + } + BOOL mustHaveobjectID = _actionType == FBSDKGameRequestActionTypeSend + || _actionType == FBSDKGameRequestActionTypeAskFor; + BOOL hasobjectID = [_objectID length] > 0; + if (mustHaveobjectID ^ hasobjectID) { + if (errorRef != NULL) { + NSString *message = @"The objectID is required when the actionType is either send or askfor."; + *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"objectID" message:message]; + } + return NO; + } + BOOL hasTo = [_recipients count] > 0; + BOOL hasFilters = _filters != FBSDKGameRequestFilterNone; + BOOL hasSuggestions = [_recipientSuggestions count] > 0; + if (hasTo && hasFilters) { + if (errorRef != NULL) { + NSString *message = @"Cannot specify to and filters at the same time."; + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"recipients" value:_recipients message:message]; + } + return NO; + } + if (hasTo && hasSuggestions) { + if (errorRef != NULL) { + NSString *message = @"Cannot specify to and suggestions at the same time."; + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"recipients" value:_recipients message:message]; + } + return NO; + } + + if (hasFilters && hasSuggestions) { + if (errorRef != NULL) { + NSString *message = @"Cannot specify filters and suggestions at the same time."; + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"recipientSuggestions" value:_recipientSuggestions message:message]; + } + return NO; + } + + if ([_data length] > 255) { + if (errorRef != NULL) { + NSString *message = @"The data cannot be longer than 255 characters"; + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"data" value:_data message:message]; + } + return NO; + } + + if (errorRef != NULL) { + *errorRef = nil; + } + + return [FBSDKShareUtility validateArgumentWithName:@"actionType" + value:_actionType + isIn:@[@(FBSDKGameRequestActionTypeNone), + @(FBSDKGameRequestActionTypeSend), + @(FBSDKGameRequestActionTypeAskFor), + @(FBSDKGameRequestActionTypeTurn)] + error:errorRef] + && [FBSDKShareUtility validateArgumentWithName:@"filters" + value:_filters + isIn:@[@(FBSDKGameRequestFilterNone), + @(FBSDKGameRequestFilterAppUsers), + @(FBSDKGameRequestFilterAppNonUsers)] + error:errorRef]; +} + #pragma mark - Equality - (NSUInteger)hash diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.h index 0cca016..0a48afa 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.h @@ -29,8 +29,8 @@ /** Convenience method to build up a game request with content and a delegate. - - Parameter content: The content for the game request. - - Parameter delegate: The receiver's delegate. + @param content The content for the game request. + @param delegate The receiver's delegate. */ + (instancetype)showWithContent:(FBSDKGameRequestContent *)content delegate:(id)delegate; @@ -56,21 +56,21 @@ required but not available. This method does not validate the content on the receiver, so this can be checked before building up the content. -- See:validateWithError: - - Returns: YES if the receiver can share, otherwise NO. + @see validateWithError: + @return YES if the receiver can share, otherwise NO. */ - (BOOL)canShow; /** Begins the game request from the receiver. - - Returns: YES if the receiver was able to show the dialog, otherwise NO. + @return YES if the receiver was able to show the dialog, otherwise NO. */ - (BOOL)show; /** Validates the content on the receiver. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: YES if the content is valid, otherwise NO. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return YES if the content is valid, otherwise NO. */ - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef; @@ -87,21 +87,21 @@ /** Sent to the delegate when the game request completes without error. - - Parameter gameRequestDialog: The FBSDKGameRequestDialog that completed. - - Parameter results: The results from the dialog. This may be nil or empty. + @param gameRequestDialog The FBSDKGameRequestDialog that completed. + @param results The results from the dialog. This may be nil or empty. */ - (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didCompleteWithResults:(NSDictionary *)results; /** Sent to the delegate when the game request encounters an error. - - Parameter gameRequestDialog: The FBSDKGameRequestDialog that completed. - - Parameter error: The error. + @param gameRequestDialog The FBSDKGameRequestDialog that completed. + @param error The error. */ - (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didFailWithError:(NSError *)error; /** Sent to the delegate when the game request dialog is cancelled. - - Parameter gameRequestDialog: The FBSDKGameRequestDialog that completed. + @param gameRequestDialog The FBSDKGameRequestDialog that completed. */ - (void)gameRequestDialogDidCancel:(FBSDKGameRequestDialog *)gameRequestDialog; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.m index 11932ae..fba8347 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.m @@ -132,7 +132,16 @@ static FBSDKGameRequestFrictionlessRecipientCache *_recipientCache = nil; - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef { - return [FBSDKShareUtility validateGameRequestContent:self.content error:errorRef]; + if (![FBSDKShareUtility validateRequiredValue:self.content name:@"content" error:errorRef]) { + return NO; + } + if ([self.content respondsToSelector:@selector(validateWithOptions:error:)]) { + return [self.content validateWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]; + } + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"content" value:self.content message:nil]; + } + return NO; } #pragma mark - FBSDKWebDialogDelegate diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h index 438b664..552880c 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h @@ -28,7 +28,7 @@ /** Convenience method to build a new hashtag with a string identifier. Equivalent to setting the `stringRepresentation` property. - - Parameter hashtagString: The hashtag string. + @param hashtagString The hashtag string. */ + (instancetype)hashtagWithString:(NSString *)hashtagString; @@ -38,7 +38,7 @@ You are responsible for making sure that `stringRepresentation` is a valid hashtag (a single '#' followed by one or more word characters). Invalid hashtags are ignored when sharing content. You can check validity with the `valid` property. - - Returns: The hashtag string. + @return The hashtag string. */ @property (nonatomic, readwrite, copy) NSString *stringRepresentation; @@ -47,14 +47,14 @@ A valid hashtag matches the regular expression "#\w+": A single '#' followed by one or more word characters. - - Returns: YES if the hashtag is valid, NO otherwise. + @return YES if the hashtag is valid, NO otherwise. */ @property (nonatomic, readonly, assign, getter=isValid) BOOL valid; /** Compares the receiver to another hashtag. - - Parameter hashtag: The other hashtag - - Returns: YES if the receiver is equal to the other hashtag; otherwise NO + @param hashtag The other hashtag + @return YES if the receiver is equal to the other hashtag; otherwise NO */ - (BOOL)isEqualToHashtag:(FBSDKHashtag *)hashtag; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.h index 6ce351d..ea942e8 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.h @@ -103,7 +103,7 @@ __attribute__ ((deprecated)) The position for the auxiliary view for the receiver. -- See:FBSDKLikeControlAuxiliaryPosition + @see FBSDKLikeControlAuxiliaryPosition */ @property (nonatomic, assign) FBSDKLikeControlAuxiliaryPosition likeControlAuxiliaryPosition; @@ -120,7 +120,7 @@ __attribute__ ((deprecated)) The style to use for the receiver. -- See:FBSDKLikeControlStyle + @see FBSDKLikeControlStyle */ @property (nonatomic, assign) FBSDKLikeControlStyle likeControlStyle; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.m index 6a8167a..30be0d4 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.m @@ -590,17 +590,17 @@ static CGSize FBSDKLikeControlCalculateContentSize(FBSDKLikeControlLayout layout view.frame = frame; }; [UIView animateWithDuration:kFBLikeControlAnimationDuration animations:^{ - hideView(_socialSentenceLabel); + hideView(self->_socialSentenceLabel); } completion:^(BOOL finished) { - _socialSentenceLabel.text = likeActionController.socialSentence; + self->_socialSentenceLabel.text = likeActionController.socialSentence; [self setNeedsLayout]; [self setNeedsUpdateConstraints]; [self invalidateIntrinsicContentSize]; [self layoutIfNeeded]; - hideView(_socialSentenceLabel); + hideView(self->_socialSentenceLabel); [UIView animateWithDuration:kFBLikeControlAnimationDuration animations:^{ - _socialSentenceLabel.alpha = 1.0; + self->_socialSentenceLabel.alpha = 1.0; [self setNeedsLayout]; [self layoutIfNeeded]; }]; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLiking.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLiking.h index 78855be..57fbd22 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLiking.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKLiking.h @@ -21,9 +21,9 @@ /** The common interface for components that initiate liking. -- See:FBSDKLikeButton + @see FBSDKLikeButton -- See:FBSDKLikeControl + @see FBSDKLikeControl */ @protocol FBSDKLiking diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.h index ed71874..1604f80 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.h @@ -23,32 +23,24 @@ /** A dialog for sharing content through Messenger. - DEPRECATION WARNING: AS OF THE JULY 2018 RELEASE, FBSDKMessageDialog WILL STOP SUPPORTING - SOME OF THE EXISTING FBSDKSharingContent TYPES. validateWithError WILL RETURN NO WITH AN - ERROR FOR UNSUPPORTED TYPES, AND TRYING TO show UNSUPPOTED CONTENT WILL CALL - sharer: didFailWithError: ON THE DELEGATE. THE FOLLOWING SHARE TYPES WILL CONTINUE TO BE - SUPPORTED ON AND AFTER JULY 2018: + SUPPORTED SHARE TYPES - FBSDKShareLinkContent - FBSDKShareMessengerOpenGraphMusicTemplateContent - FBSDKShareMessengerMediaTemplateContent - FBSDKShareMessengerGenericTemplateContent - THE FOLLOWING WILL NO LONGER BE SUPPORTED AS OF JULY 2018: + UNSUPPORTED SHARE TYPES (DEPRECATED AUGUST 2018) - FBSDKShareOpenGraphContent - FBSDKSharePhotoContent - FBSDKShareVideoContent - Any other types that are not one of the four supported types listed above - - FBSDKShareMessengerMediaTemplateContent and FBSDKShareMessengerGenericTemplateContent - SHOULD BE ABLE TO REPLACE THE FUNCTIONALITY OF FBSDKSharePhotoContent AND - FBSDKShareVideoContent, SO CONSIDER MIGRATING TO THESE NEW SHARE TYPES. */ @interface FBSDKMessageDialog : NSObject /** Convenience method to show a Message Share Dialog with content and a delegate. - - Parameter content: The content to be shared. - - Parameter delegate: The receiver's delegate. + @param content The content to be shared. + @param delegate The receiver's delegate. */ + (instancetype)showWithContent:(id)content delegate:(id)delegate; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.m index c98f526..72ae6b7 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.m @@ -19,6 +19,7 @@ #import "FBSDKMessageDialog.h" #import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareCameraEffectContent.h" #import "FBSDKShareConstants.h" #import "FBSDKShareDefines.h" #import "FBSDKShareError.h" @@ -81,6 +82,7 @@ id shareContent = self.shareContent; NSDictionary *parameters = [FBSDKShareUtility parametersForShareContent:shareContent + bridgeOptions:FBSDKShareBridgeOptionsDefault shouldFailOnDataError:self.shouldFailOnDataError]; NSString *methodName = ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]] ? FBSDK_SHARE_OPEN_GRAPH_METHOD_NAME : @@ -110,26 +112,24 @@ - (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef { - id shareContent = self.shareContent; - if (!shareContent) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"shareContent" message:nil]; - } - return NO; - } - if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { - if (![FBSDKShareUtility validateAssetLibraryURLWithShareVideoContent:(FBSDKShareVideoContent *)shareContent name:@"videoURL" error:errorRef]) { + if (self.shareContent) { + if ([self.shareContent isKindOfClass:[FBSDKShareLinkContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareMessengerGenericTemplateContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareMessengerMediaTemplateContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareMessengerOpenGraphMusicTemplateContent class]]) { + } else { + if (errorRef != NULL) { + NSString *message = [NSString stringWithFormat:@"Message dialog does not support %@.", + NSStringFromClass(self.shareContent.class)]; + *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"shareContent" + message:message]; + } return NO; } } - if ([shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"shareContent" - message:@"Message dialog does not support camera content."]; - } - return NO; - } - return [FBSDKShareUtility validateShareContent:self.shareContent error:errorRef]; + return [FBSDKShareUtility validateShareContent:self.shareContent + bridgeOptions:FBSDKShareBridgeOptionsDefault + error:errorRef]; } #pragma mark - Helper Methods diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.h index bf53883..5886fdb 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.h @@ -35,8 +35,8 @@ /** Convenience method to build up a share API with content and a delegate. - - Parameter content: The content to be shared. - - Parameter delegate: The receiver's delegate. + @param content The content to be shared. + @param delegate The receiver's delegate. */ + (instancetype)shareWithContent:(id)content delegate:(id)delegate; @@ -66,14 +66,14 @@ required but not available. This method does not validate the content on the receiver, so this can be checked before building up the content. -- See:[FBSDKSharing validateWithError:] - - Returns: YES if the receiver can send, otherwise NO. + @see [FBSDKSharing validateWithError:] + @return YES if the receiver can send, otherwise NO. */ - (BOOL)canShare; /** Creates an User Owned Open Graph object without an action. - - Parameter openGraphObject: The open graph object to create. + @param openGraphObject The open graph object to create. Use this method to create an object alone, when an action is not going to be posted with the object. If the object will be used within an action, just put the object in the action and share that as the shareContent and the @@ -81,13 +81,13 @@ Also see https://developers.facebook.com/docs/sharing/opengraph/object-api#objectapi-creatinguser - - Returns: YES if the receiver was able to send the request to create the object, otherwise NO. + @return YES if the receiver was able to send the request to create the object, otherwise NO. */ - (BOOL)createOpenGraphObject:(FBSDKShareOpenGraphObject *)openGraphObject; /** Begins the send from the receiver. - - Returns: YES if the receiver was able to send the share, otherwise NO. + @return YES if the receiver was able to send the share, otherwise NO. */ - (BOOL)share; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.m index d952920..a4a5887 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.m @@ -129,7 +129,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init]; void(^completionHandler)(id) = ^(NSDictionary *result) { - [_delegate sharer:self didCompleteWithResults:result]; + [self->_delegate sharer:self didCompleteWithResults:result]; }; if (![self _stageOpenGraphObject:openGraphObject connection:connection @@ -199,7 +199,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; if (errorRef != NULL){ *errorRef = nil; } - return [FBSDKShareUtility validateShareContent:shareContent error:errorRef]; + return [FBSDKShareUtility validateShareContent:shareContent bridgeOptions:FBSDKShareBridgeOptionsDefault error:errorRef]; } - (FBSDKAccessToken *)accessToken @@ -249,11 +249,11 @@ static NSMutableArray *g_pendingFBSDKShareAPI; - (BOOL)_shareLinkContent:(FBSDKShareLinkContent *)linkContent { FBSDKGraphRequestHandler completionHandler = ^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { - if (!_delegate) { + if (!self->_delegate) { return; } if (error) { - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; } else { result = [FBSDKTypeUtility dictionaryValue:result]; NSMutableDictionary *shareResults = [[NSMutableDictionary alloc] init]; @@ -261,7 +261,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; forKey:FBSDK_SHARE_RESULT_COMPLETION_GESTURE_KEY]; [FBSDKInternalUtility dictionary:shareResults setObject:[FBSDKTypeUtility stringValue:result[@"id"]] forKey:FBSDK_SHARE_RESULT_POST_ID_KEY]; - [_delegate sharer:self didCompleteWithResults:shareResults]; + [self->_delegate sharer:self didCompleteWithResults:shareResults]; } }; NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init]; @@ -298,21 +298,21 @@ static NSMutableArray *g_pendingFBSDKShareAPI; FBSDKGraphRequestHandler requestHandler = ^(FBSDKGraphRequestConnection *requestConnection, id result, NSError *requestError) { - if (!_delegate) { + if (!self->_delegate) { return; } if (requestError) { NSError *error = [FBSDKShareError errorWithCode:FBSDKShareOpenGraphErrorCode message:@"Error sharing Open Graph content" underlyingError:requestError]; - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; } else if (result) { NSMutableDictionary *shareResults = [[NSMutableDictionary alloc] init]; [FBSDKInternalUtility dictionary:shareResults setObject:FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_POST forKey:FBSDK_SHARE_RESULT_COMPLETION_GESTURE_KEY]; [FBSDKInternalUtility dictionary:shareResults setObject:[FBSDKTypeUtility stringValue:result[@"id"]] forKey:FBSDK_SHARE_RESULT_POST_ID_KEY]; - [_delegate sharer:self didCompleteWithResults:shareResults]; + [self->_delegate sharer:self didCompleteWithResults:shareResults]; } }; NSString *graphPath = [self _graphPathWithSuffix:[FBSDKUtility URLEncode:action.actionType], nil]; @@ -364,11 +364,11 @@ static NSMutableArray *g_pendingFBSDKShareAPI; if (++completedCount != requestCount) { return; } - if (!_delegate) { + if (!self->_delegate) { return; } if ([errors count]) { - [_delegate sharer:self didFailWithError:errors[0]]; + [self->_delegate sharer:self didFailWithError:errors[0]]; } else if ([results count]) { NSArray *individualPhotoIDs = [results valueForKeyPath:@"id"]; // each photo upload will be merged into the same post, so grab the post_id from the first and use that @@ -379,7 +379,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; [FBSDKInternalUtility dictionary:shareResults setObject:[FBSDKTypeUtility stringValue:firstResult[@"post_id"]] forKey:FBSDK_SHARE_RESULT_POST_ID_KEY]; [FBSDKInternalUtility dictionary:shareResults setObject:individualPhotoIDs forKey:FBSDK_SHARE_RESULT_PHOTO_IDS_KEY]; - [_delegate sharer:self didCompleteWithResults:shareResults]; + [self->_delegate sharer:self didCompleteWithResults:shareResults]; } }; for (FBSDKGraphRequest *request in requests) { @@ -394,7 +394,10 @@ static NSMutableArray *g_pendingFBSDKShareAPI; [self _addCommonParameters:parameters content:videoContent]; [FBSDKInternalUtility dictionary:parameters setObject:self.message forKey:@"description"]; if ([self.accessToken.permissions containsObject:@"ads_management"]) { +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" FBSDKSharePhoto *photo = videoContent.previewPhoto; +#pragma clang diagnostic pop UIImage *image = photo.image; if (!image && [photo.imageURL isFileURL]) { image = [UIImage imageWithContentsOfFile:[photo.imageURL path]]; @@ -428,8 +431,8 @@ static NSMutableArray *g_pendingFBSDKShareAPI; return NO; } [[FBSDKShareAPI defaultAssetsLibrary] assetForURL:videoURL resultBlock:^(ALAsset *asset) { - _assetRepresentation = [asset defaultRepresentation]; - NSUInteger size = (NSUInteger)_assetRepresentation.size; + self->_assetRepresentation = [asset defaultRepresentation]; + NSUInteger size = (NSUInteger)self->_assetRepresentation.size; FBSDKVideoUploader *videoUploader = [[FBSDKVideoUploader alloc] initWithVideoName:[videoURL lastPathComponent] videoSize:size parameters:parameters @@ -437,7 +440,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; videoUploader.graphNode = self.graphNode; [videoUploader start]; } failureBlock:^(NSError *error) { - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; }]; return YES; #endif @@ -449,7 +452,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; - (BOOL)_addEncodedParametersToDictionary:(NSMutableDictionary *)parameters key:(NSString *)key value:(id)value - error:(NSError **)errorRef + error:(NSError * __autoreleasing *)errorRef { if ([value isKindOfClass:[NSString class]] || [value isKindOfClass:[NSNumber class]] || @@ -522,7 +525,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; NSError *error = [FBSDKShareError invalidArgumentErrorWithName:@"value" value:item message:@"Error staging object."]; - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; itemDidFail(); *stop = YES; result = NO; @@ -558,7 +561,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; error:&JSONError invalidObjectHandler:NULL]; if (!objectString) { - [_delegate sharer:self didFailWithError:JSONError]; + [self->_delegate sharer:self didFailWithError:JSONError]; return; } NSString *graphPath = [self _graphPathWithSuffix:@"objects", type, nil]; @@ -571,7 +574,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; FBSDKGraphRequestHandler requestCompletionHandler = ^(FBSDKGraphRequestConnection *requestConnection, id result, NSError *requestError) { - if (!_delegate) { + if (!self->_delegate) { return; } if (requestError) { @@ -580,7 +583,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; NSError *error = [FBSDKShareError errorWithCode:FBSDKShareOpenGraphErrorCode message:message underlyingError:requestError]; - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; } else if (completionHandler != NULL) { completionHandler([FBSDKTypeUtility dictionaryValue:result]); } @@ -635,7 +638,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; if (isAction) { NSError *error; if (![self _addEncodedParametersToDictionary:stagedContainer key:key value:stagedValue error:&error]) { - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; itemDidFail(); return; } @@ -687,7 +690,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; NSError *error = [FBSDKShareError errorWithCode:FBSDKShareOpenGraphErrorCode message:@"Error staging photo" underlyingError:requestError]; - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; } else if (stagingHandler) { NSMutableDictionary *stagedPhoto = [[NSMutableDictionary alloc] initWithDictionary: @{ @"url": stagedPhotoURLString, @@ -703,7 +706,7 @@ static NSMutableArray *g_pendingFBSDKShareAPI; NSError *error = [FBSDKShareError invalidArgumentErrorWithName:@"photo" value:photo message:@"Photos must have an imageURL or image."]; - [_delegate sharer:self didFailWithError:error]; + [self->_delegate sharer:self didFailWithError:error]; return NO; } } diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.h index 65e2f6b..1309c8d 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.h @@ -21,11 +21,12 @@ #import #import #import +#import /** A model for content to share with a Facebook camera effect. */ -@interface FBSDKShareCameraEffectContent : NSObject +@interface FBSDKShareCameraEffectContent : NSObject /** ID of the camera effect to use. @@ -44,8 +45,8 @@ /** Compares the receiver to another camera effect content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToShareCameraEffectContent:(FBSDKShareCameraEffectContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.m index 4be5100..1031dd9 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.m @@ -18,20 +18,22 @@ #import "FBSDKShareCameraEffectContent.h" +#import "FBSDKCameraEffectArguments+Internal.h" +#import "FBSDKCameraEffectTextures+Internal.h" #import "FBSDKCoreKit+Internal.h" #import "FBSDKHashtag.h" #import "FBSDKShareUtility.h" -static NSString *const FBSDKShareCameraEffectContentEffectIDKey = @"effectID"; -static NSString *const FBSDKShareCameraEffectContentEffectArgumentsKey = @"effectArguments"; -static NSString *const FBSDKShareCameraEffectContentEffectTexturesKey = @"effectTextures"; -static NSString *const FBSDKShareCameraEffectContentContentURLKey = @"contentURL"; -static NSString *const FBSDKShareCameraEffectContentHashtagKey = @"hashtag"; -static NSString *const FBSDKShareCameraEffectContentPeopleIDsKey = @"peopleIDs"; -static NSString *const FBSDKShareCameraEffectContentPlaceIDKey = @"placeID"; -static NSString *const FBSDKShareCameraEffectContentRefKey = @"ref"; -static NSString *const FBSDKShareCameraEffectContentPageIDKey = @"pageID"; -static NSString *const FBSDKShareCameraEffectContentUUIDKey = @"uuid"; +static NSString *const kFBSDKShareCameraEffectContentEffectIDKey = @"effectID"; +static NSString *const kFBSDKShareCameraEffectContentEffectArgumentsKey = @"effectArguments"; +static NSString *const kFBSDKShareCameraEffectContentEffectTexturesKey = @"effectTextures"; +static NSString *const kFBSDKShareCameraEffectContentContentURLKey = @"contentURL"; +static NSString *const kFBSDKShareCameraEffectContentHashtagKey = @"hashtag"; +static NSString *const kFBSDKShareCameraEffectContentPeopleIDsKey = @"peopleIDs"; +static NSString *const kFBSDKShareCameraEffectContentPlaceIDKey = @"placeID"; +static NSString *const kFBSDKShareCameraEffectContentRefKey = @"ref"; +static NSString *const kFBSDKShareCameraEffectContentPageIDKey = @"pageID"; +static NSString *const kFBSDKShareCameraEffectContentUUIDKey = @"uuid"; @implementation FBSDKShareCameraEffectContent @@ -59,6 +61,77 @@ static NSString *const FBSDKShareCameraEffectContentUUIDKey = @"uuid"; return self; } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + [FBSDKInternalUtility dictionary:parameters + setObject:_effectID + forKey:@"effect_id"]; + + NSString *effectArgumentsJSON; + if (_effectArguments) { + effectArgumentsJSON = [FBSDKInternalUtility JSONStringForObject:[_effectArguments allArguments] + error:NULL + invalidObjectHandler:NULL]; + } + [FBSDKInternalUtility dictionary:parameters + setObject:effectArgumentsJSON + forKey:@"effect_arguments"]; + + NSData *effectTexturesData; + if (_effectTextures) { + // Convert the entire textures dictionary into one NSData, because + // the existing API protocol only allows one value to be put into the pasteboard. + NSDictionary *texturesDict = [_effectTextures allTextures]; + NSMutableDictionary *texturesDataDict = [NSMutableDictionary dictionaryWithCapacity:texturesDict.count]; + [texturesDict enumerateKeysAndObjectsUsingBlock:^(NSString *key, UIImage *img, BOOL *stop) { + // Convert UIImages to NSData, because UIImage is not archivable. + NSData *imageData = UIImagePNGRepresentation(img); + if (imageData) { + [texturesDataDict setObject:imageData forKey:key]; + } + }]; + effectTexturesData = [NSKeyedArchiver archivedDataWithRootObject:texturesDataDict]; + } + [FBSDKInternalUtility dictionary:parameters + setObject:effectTexturesData + forKey:@"effect_textures"]; +} + +#pragma mark - FBSDKSharingScheme + +- (NSString *)schemeForMode:(FBSDKShareDialogMode)mode +{ + if ((FBSDKShareDialogModeNative == mode) || (FBSDKShareDialogModeAutomatic == mode)) { + if ([FBSDKInternalUtility isMSQRDPlayerAppInstalled]) { + // If installed, launch MSQRD Player for testing effects. + return FBSDK_CANOPENURL_MSQRD_PLAYER; + } + } + return nil; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if ([_effectID length] > 0) { + NSCharacterSet* nonDigitCharacters = [[NSCharacterSet decimalDigitCharacterSet] invertedSet]; + if ([_effectID rangeOfCharacterFromSet:nonDigitCharacters].location != NSNotFound) { + if (errorRef != NULL) { + *errorRef = [FBSDKError invalidArgumentErrorWithName:@"effectID" + value:_effectID + message:@"Invalid value for effectID, effectID can contain only numerical characters."]; + } + return NO; + } + } + + return YES; +} + #pragma mark - Equality - (NSUInteger)hash @@ -114,32 +187,32 @@ static NSString *const FBSDKShareCameraEffectContentUUIDKey = @"uuid"; - (id)initWithCoder:(NSCoder *)decoder { if ((self = [self init])) { - _effectID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDKShareCameraEffectContentEffectIDKey]; - _effectArguments = [decoder decodeObjectOfClass:[FBSDKCameraEffectArguments class] forKey:FBSDKShareCameraEffectContentEffectArgumentsKey]; - _effectTextures = [decoder decodeObjectOfClass:[FBSDKCameraEffectTextures class] forKey:FBSDKShareCameraEffectContentEffectTexturesKey]; - _contentURL = [decoder decodeObjectOfClass:[NSURL class] forKey:FBSDKShareCameraEffectContentContentURLKey]; - _hashtag = [decoder decodeObjectOfClass:[FBSDKHashtag class] forKey:FBSDKShareCameraEffectContentHashtagKey]; - _peopleIDs = [decoder decodeObjectOfClass:[NSArray class] forKey:FBSDKShareCameraEffectContentPeopleIDsKey]; - _placeID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDKShareCameraEffectContentPlaceIDKey]; - _ref = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDKShareCameraEffectContentRefKey]; - _pageID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDKShareCameraEffectContentPageIDKey]; - _shareUUID = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDKShareCameraEffectContentUUIDKey]; + _effectID = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKShareCameraEffectContentEffectIDKey]; + _effectArguments = [decoder decodeObjectOfClass:[FBSDKCameraEffectArguments class] forKey:kFBSDKShareCameraEffectContentEffectArgumentsKey]; + _effectTextures = [decoder decodeObjectOfClass:[FBSDKCameraEffectTextures class] forKey:kFBSDKShareCameraEffectContentEffectTexturesKey]; + _contentURL = [decoder decodeObjectOfClass:[NSURL class] forKey:kFBSDKShareCameraEffectContentContentURLKey]; + _hashtag = [decoder decodeObjectOfClass:[FBSDKHashtag class] forKey:kFBSDKShareCameraEffectContentHashtagKey]; + _peopleIDs = [decoder decodeObjectOfClass:[NSArray class] forKey:kFBSDKShareCameraEffectContentPeopleIDsKey]; + _placeID = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKShareCameraEffectContentPlaceIDKey]; + _ref = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKShareCameraEffectContentRefKey]; + _pageID = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKShareCameraEffectContentPageIDKey]; + _shareUUID = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKShareCameraEffectContentUUIDKey]; } return self; } - (void)encodeWithCoder:(NSCoder *)encoder { - [encoder encodeObject:_effectID forKey:FBSDKShareCameraEffectContentEffectIDKey]; - [encoder encodeObject:_effectArguments forKey:FBSDKShareCameraEffectContentEffectArgumentsKey]; - [encoder encodeObject:_effectTextures forKey:FBSDKShareCameraEffectContentEffectTexturesKey]; - [encoder encodeObject:_contentURL forKey:FBSDKShareCameraEffectContentContentURLKey]; - [encoder encodeObject:_hashtag forKey:FBSDKShareCameraEffectContentHashtagKey]; - [encoder encodeObject:_peopleIDs forKey:FBSDKShareCameraEffectContentPeopleIDsKey]; - [encoder encodeObject:_placeID forKey:FBSDKShareCameraEffectContentPlaceIDKey]; - [encoder encodeObject:_ref forKey:FBSDKShareCameraEffectContentRefKey]; - [encoder encodeObject:_pageID forKey:FBSDKShareCameraEffectContentPageIDKey]; - [encoder encodeObject:_shareUUID forKey:FBSDKShareCameraEffectContentUUIDKey]; + [encoder encodeObject:_effectID forKey:kFBSDKShareCameraEffectContentEffectIDKey]; + [encoder encodeObject:_effectArguments forKey:kFBSDKShareCameraEffectContentEffectArgumentsKey]; + [encoder encodeObject:_effectTextures forKey:kFBSDKShareCameraEffectContentEffectTexturesKey]; + [encoder encodeObject:_contentURL forKey:kFBSDKShareCameraEffectContentContentURLKey]; + [encoder encodeObject:_hashtag forKey:kFBSDKShareCameraEffectContentHashtagKey]; + [encoder encodeObject:_peopleIDs forKey:kFBSDKShareCameraEffectContentPeopleIDsKey]; + [encoder encodeObject:_placeID forKey:kFBSDKShareCameraEffectContentPlaceIDKey]; + [encoder encodeObject:_ref forKey:kFBSDKShareCameraEffectContentRefKey]; + [encoder encodeObject:_pageID forKey:kFBSDKShareCameraEffectContentPageIDKey]; + [encoder encodeObject:_shareUUID forKey:kFBSDKShareCameraEffectContentUUIDKey]; } #pragma mark - NSCopying diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.h index 8498590..18c4d3e 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.h @@ -29,9 +29,9 @@ /** Convenience method to show an FBSDKShareDialog with a fromViewController, content and a delegate. - - Parameter viewController: A UIViewController to present the dialog from, if appropriate. - - Parameter content: The content to be shared. - - Parameter delegate: The receiver's delegate. + @param viewController A UIViewController to present the dialog from, if appropriate. + @param content The content to be shared. + @param delegate The receiver's delegate. */ + (instancetype)showFromViewController:(UIViewController *)viewController withContent:(id)content diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.m index 88a7434..4f439bc 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.m @@ -21,6 +21,7 @@ #import #import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareCameraEffectContent.h" #import "FBSDKShareConstants.h" #import "FBSDKShareDefines.h" #import "FBSDKShareError.h" @@ -110,7 +111,12 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF - (BOOL)canShow { - if (!self.shareContent) { + if (self.shareContent) { + // Validate this content + NSError *error = nil; + return [self _validateWithError:&error]; + } else { + // Launch an empty dialog for sharing a status message. switch (self.mode) { case FBSDKShareDialogModeAutomatic: case FBSDKShareDialogModeBrowser: @@ -126,9 +132,6 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF return [self _canShowShareSheet]; } } - } else { - NSError *error = nil; - return [self _validateWithError:&error]; } } @@ -265,16 +268,6 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF (!useNativeDialog && [self _showNativeWithCanShowError:NULL validationError:errorRef])); } -- (NSString *)_nativeScheme { - if ([self.shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { - if ([FBSDKInternalUtility isMSQRDPlayerAppInstalled]) { - // If installed, launch MSQRD Player for testing effects. - return FBSDK_CANOPENURL_MSQRD_PLAYER; - } - } - return FBSDK_CANOPENURL_FACEBOOK; -} - - (void)_loadNativeMethodName:(NSString **)methodNameRef methodVersion:(NSString **)methodVersionRef { if (methodNameRef != NULL) { @@ -496,7 +489,7 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF - (BOOL)_showBrowser:(NSError **)errorRef { - if (![self _validateShareContentForBrowser:errorRef]) { + if (![self _validateShareContentForBrowserWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]) { return NO; } id shareContent = self.shareContent; @@ -602,15 +595,22 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF if (![self _validateShareContentForNative:validationErrorRef]) { return NO; } - + NSString *scheme = nil; + if ([self.shareContent respondsToSelector:@selector(schemeForMode:)]) { + scheme = [(id)self.shareContent schemeForMode:FBSDKShareDialogModeNative]; + } + if (!(scheme.length > 0)) { + scheme = FBSDK_CANOPENURL_FACEBOOK; + } NSString *methodName; NSString *methodVersion; [self _loadNativeMethodName:&methodName methodVersion:&methodVersion]; NSDictionary *parameters = [FBSDKShareUtility parametersForShareContent:self.shareContent + bridgeOptions:FBSDKShareBridgeOptionsDefault shouldFailOnDataError:self.shouldFailOnDataError]; FBSDKBridgeAPIRequest *request; request = [FBSDKBridgeAPIRequest bridgeAPIRequestWithProtocolType:FBSDKBridgeAPIProtocolTypeNative - scheme:[self _nativeScheme] + scheme:scheme methodName:methodName methodVersion:methodVersion parameters:parameters @@ -717,7 +717,7 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF - (BOOL)_showWeb:(NSError **)errorRef { - if (![self _validateShareContentForBrowser:errorRef]) { + if (![self _validateShareContentForBrowserWithOptions:FBSDKShareBridgeOptionsPhotoImageURL error:errorRef]) { return NO; } id shareContent = self.shareContent; @@ -758,33 +758,38 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF if (errorRef != NULL) { *errorRef = nil; } - id shareContent = self.shareContent; - if (!shareContent) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"shareContent" message:nil]; - } - return NO; - } - if (![FBSDKShareUtility validateShareContent:shareContent error:errorRef]) { - return NO; - } - if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { - if (![FBSDKShareUtility validateAssetLibraryURLWithShareVideoContent:(FBSDKShareVideoContent *)shareContent name:@"videoURL" error:errorRef]) { + + if (self.shareContent) { + if ([self.shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareLinkContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareMediaContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]] || + [self.shareContent isKindOfClass:[FBSDKSharePhotoContent class]] || + [self.shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { + } else { + if (errorRef != NULL) { + NSString *message = [NSString stringWithFormat:@"Share dialog does not support %@.", + NSStringFromClass(self.shareContent.class)]; + *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"shareContent" + message:message]; + } return NO; } } - if ([shareContent isKindOfClass:[FBSDKShareMediaContent class]]) { - if (![FBSDKShareUtility validateAssetLibraryURLsWithShareMediaContent:(FBSDKShareMediaContent *)shareContent name:@"mediaVideoURL" error:errorRef]) { - return NO; - } + + if (![FBSDKShareUtility validateShareContent:self.shareContent + bridgeOptions:FBSDKShareBridgeOptionsDefault + error:errorRef]) { + return NO; } + switch (self.mode) { case FBSDKShareDialogModeAutomatic:{ return ( ([self _canShowNative] && [self _validateShareContentForNative:errorRef]) || ([self _canShowShareSheet] && [self _validateShareContentForShareSheet:errorRef]) || [self _validateShareContentForFeed:errorRef] || - [self _validateShareContentForBrowser:errorRef]); + [self _validateShareContentForBrowserWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]); } case FBSDKShareDialogModeNative:{ return [self _validateShareContentForNative:errorRef]; @@ -792,15 +797,23 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF case FBSDKShareDialogModeShareSheet:{ return [self _validateShareContentForShareSheet:errorRef]; } - case FBSDKShareDialogModeBrowser: + case FBSDKShareDialogModeBrowser:{ + return [self _validateShareContentForBrowserWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]; + } case FBSDKShareDialogModeWeb:{ - return [self _validateShareContentForBrowser:errorRef]; + return [self _validateShareContentForBrowserWithOptions:FBSDKShareBridgeOptionsPhotoImageURL error:errorRef]; } case FBSDKShareDialogModeFeedBrowser: case FBSDKShareDialogModeFeedWeb:{ return [self _validateShareContentForFeed:errorRef]; } } + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"FBSDKShareDialogMode" + value:@(self.mode) + message:nil]; + } + return NO; } /** @@ -834,9 +847,21 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF return YES; } -- (BOOL)_validateShareContentForBrowser:(NSError **)errorRef +- (BOOL)_validateShareContentForBrowserWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef { id shareContent = self.shareContent; + if ([shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { + // The parameter 'href' or 'media' is required + FBSDKShareLinkContent *const linkContent = shareContent; + if (!linkContent.contentURL) { + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" + value:shareContent + message:@"FBSDKShareLinkContent contentURL is required."]; + } + return NO; + } + } if ([shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { if ((errorRef != NULL) && !*errorRef) { *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" @@ -847,18 +872,21 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF } BOOL containsMedia; BOOL containsPhotos; - [FBSDKShareUtility testShareContent:shareContent containsMedia:&containsMedia containsPhotos:&containsPhotos containsVideos:NULL]; + BOOL containsVideos; + [FBSDKShareUtility testShareContent:shareContent containsMedia:&containsMedia containsPhotos:&containsPhotos containsVideos:&containsVideos]; if (containsPhotos) { - if ([shareContent isKindOfClass:[FBSDKSharePhotoContent class]]) { - if ([FBSDKAccessToken currentAccessToken] != nil) { - return YES; - } + if ([FBSDKAccessToken currentAccessToken] == nil) { if ((errorRef != NULL) && !*errorRef) { *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:@"The web share dialog needs a valid access token to stage photos."]; } return NO; + } + if ([shareContent isKindOfClass:[FBSDKSharePhotoContent class]]) { + if (![shareContent validateWithOptions:bridgeOptions error:errorRef]) { + return NO; + } } else { if ((errorRef != NULL) && !*errorRef) { *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" @@ -868,13 +896,30 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF return NO; } } - if (containsMedia) { - if ((errorRef != NULL) && !*errorRef) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" - value:shareContent - message:@"Web share dialogs cannot include local media."]; + if (containsVideos) { + if ([FBSDKAccessToken currentAccessToken] == nil) { + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" + value:shareContent + message:@"The web share dialog needs a valid access token to stage videos."]; + } + return NO; + } + if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { + if (![shareContent validateWithOptions:bridgeOptions error:errorRef]) { + return NO; + } + } + } + if (containsMedia) { + if (bridgeOptions & FBSDKShareBridgeOptionsPhotoImageURL) { // a web-based URL is required + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" + value:shareContent + message:@"Web share dialogs cannot include local media."]; + } + return NO; } - return NO; } return YES; } @@ -882,20 +927,24 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF - (BOOL)_validateShareContentForFeed:(NSError **)errorRef { id shareContent = self.shareContent; - if (![shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { + if ([shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { + // The parameter 'href' or 'media' is required + FBSDKShareLinkContent *const linkContent = shareContent; + if (!linkContent.contentURL) { + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" + value:shareContent + message:@"FBSDKShareLinkContent contentURL is required."]; + } + return NO; + } + } else { if ((errorRef != NULL) && !*errorRef) { *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:@"Feed share dialogs support FBSDKShareLinkContent."]; } return NO; - } else if ([shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { - if ((errorRef != NULL) && !*errorRef) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" - value:shareContent - message:@"Camera Content must be shared in `Native` mode."]; - } - return NO; } return YES; } @@ -916,69 +965,55 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF if (![shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { return YES; } - return [self _validateVideoURL:((FBSDKShareVideoContent *)shareContent).video.videoURL error:errorRef]; + return [(FBSDKShareVideoContent *)shareContent validateWithOptions:FBSDKShareBridgeOptionsDefault + error:errorRef]; } - (BOOL)_validateShareContentForShareSheet:(NSError **)errorRef { id shareContent = self.shareContent; - if ([shareContent isKindOfClass:[FBSDKSharePhotoContent class]]) { - if ([self _contentImages].count != 0) { + if (shareContent) { + if ([shareContent isKindOfClass:[FBSDKSharePhotoContent class]]) { + if ([self _contentImages].count != 0) { + return YES; + } else { + if ((errorRef != NULL) && !*errorRef) { + NSString *message = @"Share photo content must have UIImage photos in order to share with the share sheet"; + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:message]; + } + return NO; + } + } else if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { + return ([self _canUseFBShareSheet] && + [(FBSDKShareVideoContent *)shareContent validateWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]); + } else if ([shareContent isKindOfClass:[FBSDKShareMediaContent class]]) { + return ([self _canUseFBShareSheet] && + [self _validateShareMediaContentAvailability:shareContent error:errorRef] && + [(FBSDKShareMediaContent *)shareContent validateWithOptions:FBSDKShareBridgeOptionsDefault error:errorRef]); + } else if ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { + FBSDKShareOpenGraphContent *ogContent = (FBSDKShareOpenGraphContent *)shareContent; + BOOL isOGURLShare = [self _isOpenGraphURLShare:ogContent]; + + BOOL isValidOGShare = (isOGURLShare && + [ogContent.action.actionType length] != 0 && + [ogContent.previewPropertyName length] != 0); + if (!isValidOGShare) { + if ((errorRef != NULL) && !*errorRef) { + NSString *message = @"Share content must include an URL in the action, an action type, and a preview property name in order to share with the share sheet."; + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:message]; + } + } + return isValidOGShare; + } else if ([shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { return YES; } else { if ((errorRef != NULL) && !*errorRef) { - NSString *message = @"Share photo content must have UIImage photos in order to share with the share sheet"; + NSString *message = [NSString stringWithFormat:@"Share sheet does not support %@.", + NSStringFromClass(shareContent.class)]; *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:message]; } return NO; } - } else if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { - return ([self _canUseFBShareSheet] && - [self _validateVideoURL:((FBSDKShareVideoContent *)shareContent).video.videoURL error:errorRef]); - } else if ([shareContent isKindOfClass:[FBSDKShareMediaContent class]]) { - return ([self _canUseFBShareSheet] && - [self _validateShareMediaContentAvailability:shareContent error:errorRef] && - [FBSDKShareUtility validateShareMediaContent:(FBSDKShareMediaContent *)shareContent error:errorRef]); - } else if ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { - FBSDKShareOpenGraphContent *ogContent = (FBSDKShareOpenGraphContent *)shareContent; - BOOL isOGURLShare = [self _isOpenGraphURLShare:ogContent]; - - BOOL isValidOGShare = (isOGURLShare && - [ogContent.action.actionType length] != 0 && - [ogContent.previewPropertyName length] != 0); - if (!isValidOGShare) { - if ((errorRef != NULL) && !*errorRef) { - NSString *message = @"Share content must include an URL in the action, an action type, and a preview property name in order to share with the share sheet."; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:message]; - } - } - return isValidOGShare; - } else if (![shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { - if ((errorRef != NULL) && !*errorRef) { - NSString *message = @"Share content must be FBSDKShareLinkContent or FBSDKShareMediaContent in order to share " - @"with the share sheet."; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:message]; - } - return NO; - } else if ([shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { - if ((errorRef != NULL) && !*errorRef) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" - value:shareContent - message:@"Camera Content must be shared in `Native` mode."]; - } - return NO; - } - return YES; -} - -- (BOOL)_validateVideoURL:(NSURL *)videoURL error:(NSError **)errorRef -{ - if (videoURL.isFileURL) { - if ((errorRef != NULL) && !*errorRef) { - NSString *message = @"Only asset file URLs are allowed for videos."; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"videoURL" value:videoURL message:message]; - } - return NO; } return YES; } @@ -1060,7 +1095,6 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF contentType = FBSDKAppEventsDialogShareContentTypeUnknown; } - NSDictionary *parameters = @{ FBSDKAppEventParameterDialogMode : shareMode, FBSDKAppEventParameterDialogShareContentType : contentType, @@ -1091,6 +1125,7 @@ FBSDK_STATIC_INLINE void FBSDKShareDialogValidateShareExtensionSchemeRegisteredF } if ([self.shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { NSDictionary *ogData = [FBSDKShareUtility parametersForShareContent:self.shareContent + bridgeOptions:FBSDKShareBridgeOptionsDefault shouldFailOnDataError:self.shouldFailOnDataError]; initialTextDictionary[@"og_data"] = ogData; } diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.h index c756802..e7dfabc 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.h @@ -60,6 +60,6 @@ typedef NS_ENUM(NSUInteger, FBSDKShareDialogMode) }; /** - Converts an FBLikeControlObjectType to an NSString. + Converts an FBSDKShareDialogMode to an NSString. */ FBSDK_EXTERN NSString *NSStringFromFBSDKShareDialogMode(FBSDKShareDialogMode dialogMode); diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.h index b4290d1..0a28377 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.h @@ -30,7 +30,7 @@ If not specified, this field is automatically populated by information scraped from the contentURL, typically the title of the page. This value may be discarded for specially handled links (ex: iTunes URLs). - - Returns: The description of the link + @return The description of the link @deprecated `contentDescription` is deprecated from Graph API 2.9. For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations. @@ -42,7 +42,7 @@ The title to display for this link. This value may be discarded for specially handled links (ex: iTunes URLs). - - Returns: The link title + @return The link title @deprecated `contentTitle` is deprecated from Graph API 2.9. For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations @@ -52,7 +52,7 @@ /** The URL of a picture to attach to this content. - - Returns: The network URL of an image + @return The network URL of an image @deprecated `imageURL` is deprecated from Graph API 2.9. For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations @@ -64,14 +64,14 @@ Some quote text of the link. If specified, the quote text will render with custom styling on top of the link. - - Returns: The quote text of a link + @return The quote text of a link */ @property (nonatomic, copy) NSString *quote; /** Compares the receiver to another link content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToShareLinkContent:(FBSDKShareLinkContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.m index 4ebc980..e0032e3 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.m @@ -77,6 +77,39 @@ } } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + [FBSDKInternalUtility dictionary:parameters setObject:_contentURL forKey:@"link"]; + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + [FBSDKInternalUtility dictionary:parameters setObject:_contentTitle forKey:@"name"]; + [FBSDKInternalUtility dictionary:parameters setObject:_contentDescription forKey:@"description"]; + [FBSDKInternalUtility dictionary:parameters setObject:_imageURL forKey:@"picture"]; +#pragma clang diagnostic pop + [FBSDKInternalUtility dictionary:parameters setObject:_quote forKey:@"quote"]; + + /** + Pass link parameter as "messenger_link" due to versioning requirements for message dialog flow. + We will only use the new share flow we developed if messenger_link is present, not link. + */ + [FBSDKInternalUtility dictionary:parameters setObject:_contentURL forKey:@"messenger_link"]; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + return ([FBSDKShareUtility validateNetworkURL:_contentURL name:@"contentURL" error:errorRef] && + [FBSDKShareUtility validateNetworkURL:_imageURL name:@"imageURL" error:errorRef]); +#pragma clang diagnostic pop +} + #pragma mark - Equality - (NSUInteger)hash diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.h index 2029422..ab9d895 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.h @@ -27,14 +27,14 @@ /** Media to be shared. - - Returns: Array of the media (FBSDKSharePhoto or FBSDKShareVideo) + @return Array of the media (FBSDKSharePhoto or FBSDKShareVideo) */ @property (nonatomic, copy) NSArray *media; /** Compares the receiver to another media content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToShareMediaContent:(FBSDKShareMediaContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.m index 9ebbaf3..b1b38e3 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.m @@ -20,6 +20,7 @@ #import "FBSDKCoreKit+Internal.h" #import "FBSDKHashtag.h" +#import "FBSDKShareError.h" #import "FBSDKSharePhoto.h" #import "FBSDKShareUtility.h" #import "FBSDKShareVideo.h" @@ -74,6 +75,63 @@ } } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + // FBSDKShareMediaContent is currently available via the Share extension only (thus no parameterization implemented at this time) +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if (![FBSDKShareUtility validateArray:_media minCount:1 maxCount:20 name:@"photos" error:errorRef]) { + return NO; + } + int videoCount = 0; + for (id media in _media) { + if ([media isKindOfClass:[FBSDKSharePhoto class]]) { + FBSDKSharePhoto *photo = (FBSDKSharePhoto *)media; + if (![photo validateWithOptions:bridgeOptions error:NULL]) { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"media" + value:media + message:@"photos must have UIImages"]; + } + return NO; + } + } else if ([media isKindOfClass:[FBSDKShareVideo class]]) { + if (videoCount > 0) { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"media" + value:media + message:@"Only 1 video is allowed"]; + return NO; + } + } + videoCount++; + FBSDKShareVideo *video = (FBSDKShareVideo *)media; + if (![FBSDKShareUtility validateRequiredValue:video name:@"video" error:errorRef]) { + return NO; + } + if (![video validateWithOptions:bridgeOptions error:errorRef]) { + return NO; + } + + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"media" + value:media + message:@"Only FBSDKSharePhoto and FBSDKShareVideo are allowed in `media` property"]; + } + return NO; + } + } + return YES; +} + #pragma mark - Equality - (NSUInteger)hash diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h index ad970f5..8b18d07 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h @@ -27,7 +27,7 @@ /** The title displayed to the user for the button. - - Returns: The title for the button. + @return The title for the button. */ @property (nonatomic, copy) NSString *title; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.m index c46fe6f..68bfa7a 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.m @@ -18,7 +18,11 @@ #import "FBSDKShareMessengerGenericTemplateContent.h" +#import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareMessengerContentUtility.h" #import "FBSDKShareMessengerGenericTemplateElement.h" +#import "FBSDKShareMessengerURLActionButton.h" +#import "FBSDKShareUtility.h" static NSString *const kGenericTemplatePageIDKey = @"pageID"; static NSString *const kGenericTemplateUUIDKey = @"UUID"; @@ -26,6 +30,35 @@ static NSString *const kGenericTemplateIsSharableKey = @"isSharable"; static NSString *const kGenericTemplateImageAspectRatioKey = @"imageAspectRatio"; static NSString *const kGenericTemplateElementKey = @"element"; +static NSString *_ImageAspectRatioString(FBSDKShareMessengerGenericTemplateImageAspectRatio imageAspectRatio) +{ + switch (imageAspectRatio) { + case FBSDKShareMessengerGenericTemplateImageAspectRatioSquare: + return @"square"; + case FBSDKShareMessengerGenericTemplateImageAspectRatioHorizontal: + return @"horizontal"; + } +} + +static NSArray *> *_SerializableGenericTemplateElementsFromElements(NSArray *elements) +{ + NSMutableArray *> *serializableElements = [NSMutableArray array]; + for (FBSDKShareMessengerGenericTemplateElement *element in elements) { + NSMutableDictionary *elementDictionary = [NSMutableDictionary dictionary]; + [FBSDKInternalUtility dictionary:elementDictionary setObject:element.title forKey:@"title"]; + [FBSDKInternalUtility dictionary:elementDictionary setObject:element.subtitle forKey:@"subtitle"]; + [FBSDKInternalUtility dictionary:elementDictionary setObject:element.imageURL.absoluteString forKey:@"image_url"]; + [FBSDKInternalUtility dictionary:elementDictionary setObject:SerializableButtonsFromButton(element.button) forKey:kFBSDKShareMessengerButtonsKey]; + if ([element.defaultAction isKindOfClass:[FBSDKShareMessengerURLActionButton class]]) { + [FBSDKInternalUtility dictionary:elementDictionary setObject:SerializableButtonFromURLButton(element.defaultAction, YES) forKey:@"default_action"]; + } + + [serializableElements addObject:elementDictionary]; + } + + return serializableElements; +} + @implementation FBSDKShareMessengerGenericTemplateContent #pragma mark - Properties @@ -49,6 +82,57 @@ static NSString *const kGenericTemplateElementKey = @"element"; return self; } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + NSMutableDictionary *payload = [NSMutableDictionary dictionary]; + [payload setObject:@"generic" forKey:kFBSDKShareMessengerTemplateTypeKey]; + [payload setObject:@(_isSharable) forKey:@"sharable"]; + [payload setObject:_ImageAspectRatioString(_imageAspectRatio) forKey:@"image_aspect_ratio"]; + [payload setObject:_SerializableGenericTemplateElementsFromElements(@[_element]) forKey:kFBSDKShareMessengerElementsKey]; + + NSMutableDictionary *attachment = [NSMutableDictionary dictionary]; + [attachment setObject:kFBSDKShareMessengerTemplateKey forKey:kFBSDKShareMessengerTypeKey]; + [attachment setObject:payload forKey:kFBSDKShareMessengerPayloadKey]; + + NSMutableDictionary *contentForShare = [NSMutableDictionary dictionary]; + [contentForShare setObject:attachment forKey:kFBSDKShareMessengerAttachmentKey]; + + FBSDKShareMessengerGenericTemplateElement *firstElement = _element; + NSMutableDictionary *contentForPreview = [NSMutableDictionary dictionary]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:@"DEFAULT" forKey:@"preview_type"]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:firstElement.title forKey:@"title"]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:firstElement.subtitle forKey:@"subtitle"]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:firstElement.imageURL.absoluteString forKey:@"image_url"]; + if (firstElement.button) { + AddToContentPreviewDictionaryForButton(contentForPreview, firstElement.button); + } else { + AddToContentPreviewDictionaryForButton(contentForPreview, firstElement.defaultAction); + } + + [FBSDKShareMessengerContentUtility addToParameters:parameters contentForShare:contentForShare contentForPreview:contentForPreview]; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + return [FBSDKShareUtility validateRequiredValue:_element.title + name:@"element.title" + error:errorRef] + && [FBSDKShareMessengerContentUtility validateMessengerActionButton:_element.defaultAction + isDefaultActionButton:YES + pageID:_pageID + error:errorRef] + && [FBSDKShareMessengerContentUtility validateMessengerActionButton:_element.button + isDefaultActionButton:NO + pageID:_pageID + error:errorRef]; +} + #pragma mark - NSCoding + (BOOL)supportsSecureCoding diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.m index 3439fec..58cee8d 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.m @@ -20,7 +20,8 @@ #import "FBSDKCoreKit+Internal.h" #import "FBSDKHashtag.h" -#import "FBSDKShareUtility.h" +#import "FBSDKShareError.h" +#import "FBSDKShareMessengerContentUtility.h" static NSString *const kMediaTemplatePageIDKey = @"pageID"; static NSString *const kMediaTemplateMediaTypeKey = @"mediaType"; @@ -29,6 +30,55 @@ static NSString *const kMediaTemplateMediaURLKey = @"mediaURL"; static NSString *const kMediaTemplateButtonKey = @"button"; static NSString *const kMediaTemplateUUIDKey = @"uuid"; +static BOOL _URLHasFacebookDomain(NSURL *URL) +{ + NSString *urlHost = [URL.host lowercaseString]; + NSArray *pathComponents = [URL pathComponents]; + + /** + Check the following three different cases... + 1. Check if host is facebook.com, such as in 'https://facebok.com/test' + 2. Check if host is someprefix.facebook.com, such as in 'https://www.facebook.com/test' + 3. Check if host is null, but the first path component is facebook.com + */ + return [urlHost isEqualToString:@"facebook.com"] || + [urlHost hasSuffix:@".facebook.com"] || + ([[[pathComponents firstObject] lowercaseString] hasSuffix:@"facebook.com"]); +} + +static NSString *_MediaTemplateURLSerializationKey(NSURL *mediaURL) +{ + if (_URLHasFacebookDomain(mediaURL)) { + return @"facebook_media_url"; + } else { + return @"image_url"; + } +} + +static NSString *_MediaTypeString(FBSDKShareMessengerMediaTemplateMediaType mediaType) +{ + switch (mediaType) { + case FBSDKShareMessengerMediaTemplateMediaTypeImage: + return @"image"; + case FBSDKShareMessengerMediaTemplateMediaTypeVideo: + return @"video"; + } +} + +static NSArray *> *_SerializableMediaTemplateContentFromContent(FBSDKShareMessengerMediaTemplateContent *mediaTemplateContent) +{ + NSMutableArray *> *serializableMediaTemplateContent = [NSMutableArray array]; + + NSMutableDictionary *mediaTemplateContentDictionary = [NSMutableDictionary dictionary]; + [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:_MediaTypeString(mediaTemplateContent.mediaType) forKey:@"media_type"]; + [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:mediaTemplateContent.mediaURL.absoluteString forKey:@"url"]; + [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:mediaTemplateContent.attachmentID forKey:@"attachment_id"]; + [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:SerializableButtonsFromButton(mediaTemplateContent.button) forKey:kFBSDKShareMessengerButtonsKey]; + [serializableMediaTemplateContent addObject:mediaTemplateContentDictionary]; + + return serializableMediaTemplateContent; +} + @implementation FBSDKShareMessengerMediaTemplateContent #pragma mark - Properties @@ -63,6 +113,50 @@ static NSString *const kMediaTemplateUUIDKey = @"uuid"; return self; } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + NSMutableDictionary *payload = [NSMutableDictionary dictionary]; + [payload setObject:@"media" forKey:kFBSDKShareMessengerTemplateTypeKey]; + [payload setObject:_SerializableMediaTemplateContentFromContent(self) forKey:kFBSDKShareMessengerElementsKey]; + + NSMutableDictionary *attachment = [NSMutableDictionary dictionary]; + [attachment setObject:kFBSDKShareMessengerTemplateKey forKey:kFBSDKShareMessengerTypeKey]; + [attachment setObject:payload forKey:kFBSDKShareMessengerPayloadKey]; + + NSMutableDictionary *contentForShare = [NSMutableDictionary dictionary]; + [contentForShare setObject:attachment forKey:kFBSDKShareMessengerAttachmentKey]; + + NSMutableDictionary *contentForPreview = [NSMutableDictionary dictionary]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:@"DEFAULT" forKey:@"preview_type"]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:_attachmentID forKey:@"attachment_id"]; + [FBSDKInternalUtility dictionary:contentForPreview + setObject:_mediaURL.absoluteString + forKey:_MediaTemplateURLSerializationKey(_mediaURL)]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:_MediaTypeString(_mediaType) forKey:@"media_type"]; + AddToContentPreviewDictionaryForButton(contentForPreview, _button); + + [FBSDKShareMessengerContentUtility addToParameters:parameters contentForShare:contentForShare contentForPreview:contentForPreview]; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if (!_mediaURL && !_attachmentID) { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"attachmentID/mediaURL" message:@"Must specify either attachmentID or mediaURL"]; + } + return NO; + } + return [FBSDKShareMessengerContentUtility validateMessengerActionButton:_button + isDefaultActionButton:NO + pageID:_pageID + error:errorRef]; +} + #pragma mark - NSCoding + (BOOL)supportsSecureCoding diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.m index df5ed4f..38f6cd9 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.m @@ -18,11 +18,27 @@ #import "FBSDKShareMessengerOpenGraphMusicTemplateContent.h" +#import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareMessengerContentUtility.h" +#import "FBSDKShareUtility.h" + static NSString *const kMusicTemplatePageIDKey = @"pageID"; static NSString *const kMusicTemplateURLKey = @"url"; static NSString *const kMusicTemplateButtonKey = @"button"; static NSString *const kMusicTemplateUUIDKey = @"uuid"; +static NSArray *> *_SerializableOpenGraphMusicTemplateContentFromContent(FBSDKShareMessengerOpenGraphMusicTemplateContent *openGraphMusicTemplateContent) +{ + NSMutableArray *> *serializableOpenGraphMusicTemplateContent = [NSMutableArray array]; + + NSMutableDictionary *openGraphMusicTemplateContentDictionary = [NSMutableDictionary dictionary]; + [FBSDKInternalUtility dictionary:openGraphMusicTemplateContentDictionary setObject:openGraphMusicTemplateContent.url.absoluteString forKey:@"url"]; + [FBSDKInternalUtility dictionary:openGraphMusicTemplateContentDictionary setObject:SerializableButtonsFromButton(openGraphMusicTemplateContent.button) forKey:kFBSDKShareMessengerButtonsKey]; + [serializableOpenGraphMusicTemplateContent addObject:openGraphMusicTemplateContentDictionary]; + + return serializableOpenGraphMusicTemplateContent; +} + @implementation FBSDKShareMessengerOpenGraphMusicTemplateContent #pragma mark - Properties @@ -46,6 +62,42 @@ static NSString *const kMusicTemplateUUIDKey = @"uuid"; return self; } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + NSMutableDictionary *payload = [NSMutableDictionary dictionary]; + [payload setObject:@"open_graph" forKey:kFBSDKShareMessengerTemplateTypeKey]; + [payload setObject:_SerializableOpenGraphMusicTemplateContentFromContent(self) forKey:kFBSDKShareMessengerElementsKey]; + + NSMutableDictionary *attachment = [NSMutableDictionary dictionary]; + [attachment setObject:kFBSDKShareMessengerTemplateKey forKey:kFBSDKShareMessengerTypeKey]; + [attachment setObject:payload forKey:kFBSDKShareMessengerPayloadKey]; + + NSMutableDictionary *contentForShare = [NSMutableDictionary dictionary]; + [contentForShare setObject:attachment forKey:kFBSDKShareMessengerAttachmentKey]; + + NSMutableDictionary *contentForPreview = [NSMutableDictionary dictionary]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:@"OPEN_GRAPH" forKey:@"preview_type"]; + [FBSDKInternalUtility dictionary:contentForPreview setObject:_url.absoluteString forKey:@"open_graph_url"]; + AddToContentPreviewDictionaryForButton(contentForPreview, _button); + + [FBSDKShareMessengerContentUtility addToParameters:parameters contentForShare:contentForShare contentForPreview:contentForPreview]; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + return [FBSDKShareUtility validateRequiredValue:_url name:@"url" error:errorRef] + && [FBSDKShareUtility validateRequiredValue:_pageID name:@"pageID" error:errorRef] + && [FBSDKShareMessengerContentUtility validateMessengerActionButton:_button + isDefaultActionButton:NO + pageID:_pageID + error:errorRef]; +} + #pragma mark - NSCoding + (BOOL)supportsSecureCoding diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.h index d30ebad..83e8883 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.h @@ -32,38 +32,38 @@ /** Convenience method to build a new action and set the object for the specified key. - - Parameter actionType: The action type of the receiver - - Parameter object: The Open Graph object represented by this action - - Parameter key: The key for the object + @param actionType The action type of the receiver + @param object The Open Graph object represented by this action + @param key The key for the object */ + (instancetype)actionWithType:(NSString *)actionType object:(FBSDKShareOpenGraphObject *)object key:(NSString *)key; /** Convenience method to build a new action and set the object for the specified key. - - Parameter actionType: The action type of the receiver - - Parameter objectID: The ID of an existing Open Graph object - - Parameter key: The key for the object + @param actionType The action type of the receiver + @param objectID The ID of an existing Open Graph object + @param key The key for the object */ + (instancetype)actionWithType:(NSString *)actionType objectID:(NSString *)objectID key:(NSString *)key; /** Convenience method to build a new action and set the object for the specified key. - - Parameter actionType: The action type of the receiver - - Parameter objectURL: The URL to a page that defines the Open Graph object with meta tags - - Parameter key: The key for the object + @param actionType The action type of the receiver + @param objectURL The URL to a page that defines the Open Graph object with meta tags + @param key The key for the object */ + (instancetype)actionWithType:(NSString *)actionType objectURL:(NSURL *)objectURL key:(NSString *)key; /** Gets the action type. - - Returns: The action type + @return The action type */ @property (nonatomic, copy) NSString *actionType; /** Compares the receiver to another Open Graph Action. - - Parameter action: The other action - - Returns: YES if the receiver's values are equal to the other action's values; otherwise NO + @param action The other action + @return YES if the receiver's values are equal to the other action's values; otherwise NO */ - (BOOL)isEqualToShareOpenGraphAction:(FBSDKShareOpenGraphAction *)action; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.h index 43286dc..faed0ba 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.h @@ -28,7 +28,7 @@ /** Open Graph Action to be shared. - - Returns: The action + @return The action */ @property (nonatomic, copy) FBSDKShareOpenGraphAction *action; @@ -36,14 +36,14 @@ Property name that points to the primary Open Graph Object in the action. The value that this action points to will be use for rendering the preview for the share. - - Returns: The property name for the Open Graph Object in the action + @return The property name for the Open Graph Object in the action */ @property (nonatomic, copy) NSString *previewPropertyName; /** Compares the receiver to another Open Graph content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToShareOpenGraphContent:(FBSDKShareOpenGraphContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.m index 39ad3d5..65934bb 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.m @@ -66,6 +66,30 @@ } } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + NSString *previewPropertyName = [FBSDKShareUtility getOpenGraphNameAndNamespaceFromFullName:_previewPropertyName namespace:nil]; + [FBSDKInternalUtility dictionary:parameters + setObject:previewPropertyName + forKey:@"previewPropertyName"]; + [FBSDKInternalUtility dictionary:parameters setObject:_action.actionType forKey:@"actionType"]; + [FBSDKInternalUtility dictionary:parameters + setObject:[FBSDKShareUtility convertOpenGraphValueContainer:_action requireNamespace:NO] + forKey:@"action"]; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + return ([FBSDKShareUtility validateRequiredValue:_action name:@"action" error:errorRef] && + [FBSDKShareUtility validateRequiredValue:_previewPropertyName name:@"previewPropertyName" error:errorRef] && + [FBSDKShareUtility validateRequiredValue:_action[_previewPropertyName] name:_previewPropertyName error:errorRef]); +} + #pragma mark - Equality - (NSUInteger)hash diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.h index 22745cd..ef34e28 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.h @@ -45,14 +45,14 @@ /** Convenience method to build a new action and set the object for the specified key. - - Parameter properties: Properties for the Open Graph object, which will be parsed into the proper models + @param properties Properties for the Open Graph object, which will be parsed into the proper models */ + (instancetype)objectWithProperties:(NSDictionary *)properties; /** Compares the receiver to another Open Graph Object. - - Parameter object: The other object - - Returns: YES if the receiver's values are equal to the other object's values; otherwise NO + @param object The other object + @return YES if the receiver's values are equal to the other object's values; otherwise NO */ - (BOOL)isEqualToShareOpenGraphObject:(FBSDKShareOpenGraphObject *)object; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.h index ddef60f..59b1699 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.h @@ -30,66 +30,66 @@ /** Gets an NSArray out of the receiver. - - Parameter key: The key for the value - - Returns: The NSArray value or nil + @param key The key for the value + @return The NSArray value or nil */ - (NSArray *)arrayForKey:(NSString *)key; /** Applies a given block object to the entries of the receiver. - - Parameter block: A block object to operate on entries in the receiver + @param block A block object to operate on entries in the receiver */ - (void)enumerateKeysAndObjectsUsingBlock:(void (^)(NSString *key, id object, BOOL *stop))block; /** Returns an enumerator object that lets you access each key in the receiver. - - Returns: An enumerator object that lets you access each key in the receiver + @return An enumerator object that lets you access each key in the receiver */ - (NSEnumerator *)keyEnumerator; /** Gets an NSNumber out of the receiver. - - Parameter key: The key for the value - - Returns: The NSNumber value or nil + @param key The key for the value + @return The NSNumber value or nil */ - (NSNumber *)numberForKey:(NSString *)key; /** Returns an enumerator object that lets you access each value in the receiver. - - Returns: An enumerator object that lets you access each value in the receiver + @return An enumerator object that lets you access each value in the receiver */ - (NSEnumerator *)objectEnumerator; /** Gets an FBSDKShareOpenGraphObject out of the receiver. - - Parameter key: The key for the value - - Returns: The FBSDKShareOpenGraphObject value or nil + @param key The key for the value + @return The FBSDKShareOpenGraphObject value or nil */ - (FBSDKShareOpenGraphObject *)objectForKey:(NSString *)key; /** Enables subscript access to the values in the receiver. - - Parameter key: The key for the value - - Returns: The value + @param key The key for the value + @return The value */ - (id)objectForKeyedSubscript:(NSString *)key; /** Parses properties out of a dictionary into the receiver. - - Parameter properties: The properties to parse. + @param properties The properties to parse. */ - (void)parseProperties:(NSDictionary *)properties; /** Gets an FBSDKSharePhoto out of the receiver. - - Parameter key: The key for the value - - Returns: The FBSDKSharePhoto value or nil + @param key The key for the value + @return The FBSDKSharePhoto value or nil */ - (FBSDKSharePhoto *)photoForKey:(NSString *)key; /** Removes a value from the receiver for the specified key. - - Parameter key: The key for the value + @param key The key for the value */ - (void)removeObjectForKey:(NSString *)key; @@ -98,57 +98,57 @@ This method will throw if the array contains any values that is not an NSNumber, NSString, NSURL, FBSDKSharePhoto or FBSDKShareOpenGraphObject. - - Parameter array: The NSArray value - - Parameter key: The key for the value + @param array The NSArray value + @param key The key for the value */ - (void)setArray:(NSArray *)array forKey:(NSString *)key; /** Sets an NSNumber on the receiver. - - Parameter number: The NSNumber value - - Parameter key: The key for the value + @param number The NSNumber value + @param key The key for the value */ - (void)setNumber:(NSNumber *)number forKey:(NSString *)key; /** Sets an FBSDKShareOpenGraphObject on the receiver. - - Parameter object: The FBSDKShareOpenGraphObject value - - Parameter key: The key for the value + @param object The FBSDKShareOpenGraphObject value + @param key The key for the value */ - (void)setObject:(FBSDKShareOpenGraphObject *)object forKey:(NSString *)key; /** Sets an FBSDKSharePhoto on the receiver. - - Parameter photo: The FBSDKSharePhoto value - - Parameter key: The key for the value + @param photo The FBSDKSharePhoto value + @param key The key for the value */ - (void)setPhoto:(FBSDKSharePhoto *)photo forKey:(NSString *)key; /** Sets an NSString on the receiver. - - Parameter string: The NSString value - - Parameter key: The key for the value + @param string The NSString value + @param key The key for the value */ - (void)setString:(NSString *)string forKey:(NSString *)key; /** Sets an NSURL on the receiver. - - Parameter URL: The NSURL value - - Parameter key: The key for the value + @param URL The NSURL value + @param key The key for the value */ - (void)setURL:(NSURL *)URL forKey:(NSString *)key; /** Gets an NSString out of the receiver. - - Parameter key: The key for the value - - Returns: The NSString value or nil + @param key The key for the value + @return The NSString value or nil */ - (NSString *)stringForKey:(NSString *)key; /** Gets an NSURL out of the receiver. - - Parameter key: The key for the value - - Returns: The NSURL value or nil + @param key The key for the value + @return The NSURL value or nil */ - (NSURL *)URLForKey:(NSString *)key; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.h index 7926e2a..7f8c2e4 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.h @@ -19,24 +19,27 @@ #import #import +#import + +@class PHAsset; /** A photo for sharing. */ -@interface FBSDKSharePhoto : NSObject +@interface FBSDKSharePhoto : NSObject /** Convenience method to build a new photo object with an image. - - Parameter image: If the photo is resident in memory, this method supplies the data - - Parameter userGenerated: Specifies whether the photo represented by the receiver was generated by the user or by the + @param image If the photo is resident in memory, this method supplies the data + @param userGenerated Specifies whether the photo represented by the receiver was generated by the user or by the application */ + (instancetype)photoWithImage:(UIImage *)image userGenerated:(BOOL)userGenerated; /** Convenience method to build a new photo object with an imageURL. - - Parameter imageURL: The URL to the photo - - Parameter userGenerated: Specifies whether the photo represented by the receiver was generated by the user or by the + @param imageURL The URL to the photo + @param userGenerated Specifies whether the photo represented by the receiver was generated by the user or by the application This method should only be used when adding photo content to open graph stories. @@ -45,35 +48,49 @@ */ + (instancetype)photoWithImageURL:(NSURL *)imageURL userGenerated:(BOOL)userGenerated; +/** + Convenience method to build a new photo object with a PHAsset. + - Parameter photoAsset: The PHAsset that represents the photo in the Photos library. + - Parameter userGenerated: Specifies whether the photo represented by the receiver was generated by the user or by the + application + */ ++ (instancetype)photoWithPhotoAsset:(PHAsset *)photoAsset userGenerated:(BOOL)userGenerated; + /** If the photo is resident in memory, this method supplies the data. - - Returns: UIImage representation of the photo + @return UIImage representation of the photo */ @property (nonatomic, strong) UIImage *image; /** The URL to the photo. - - Returns: URL that points to a network location or the location of the photo on disk + @return URL that points to a network location or the location of the photo on disk */ @property (nonatomic, copy) NSURL *imageURL; +/** + The representation of the photo in the Photos library. + - Returns: PHAsset that represents the photo in the Photos library. + */ +@property (nonatomic, copy) PHAsset *photoAsset; + /** Specifies whether the photo represented by the receiver was generated by the user or by the application. - - Returns: YES if the photo is user-generated, otherwise NO + @return YES if the photo is user-generated, otherwise NO */ @property (nonatomic, assign, getter=isUserGenerated) BOOL userGenerated; /** Compares the receiver to another photo. - - Parameter photo: The other photo - - Returns: YES if the receiver's values are equal to the other photo's values; otherwise NO + @param photo The other photo + @return YES if the receiver's values are equal to the other photo's values; otherwise NO */ - (BOOL)isEqualToSharePhoto:(FBSDKSharePhoto *)photo; /** The user generated caption for the photo. Note that the 'caption' must come from * the user, as pre-filled content is forbidden by the Platform Policies (2.3). - - Returns: the Photo's caption if exists else returns null. + @return the Photo's caption if exists else returns null. */ @property (nonatomic, copy) NSString *caption; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.m index 27c67b5..e60a427 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.m @@ -18,12 +18,16 @@ #import "FBSDKSharePhoto.h" -#import "FBSDKCoreKit+Internal.h" +#import -#define FBSDK_SHARE_PHOTO_IMAGE_KEY @"image" -#define FBSDK_SHARE_PHOTO_IMAGE_URL_KEY @"imageURL" -#define FBSDK_SHARE_PHOTO_USER_GENERATED_KEY @"userGenerated" -#define FBSDK_SHARE_PHOTO_CAPTION_KEY @"caption" +#import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareError.h" + +NSString *const kFBSDKSharePhotoAssetKey = @"photoAsset"; +NSString *const kFBSDKSharePhotoImageKey = @"image"; +NSString *const kFBSDKSharePhotoImageURLKey = @"imageURL"; +NSString *const kFBSDKSharePhotoUserGeneratedKey = @"userGenerated"; +NSString *const kFBSDKSharePhotoCaptionKey = @"caption"; @implementation FBSDKSharePhoto @@ -45,6 +49,37 @@ return photo; } ++ (instancetype)photoWithPhotoAsset:(PHAsset *)photoAsset userGenerated:(BOOL)userGenerated +{ + FBSDKSharePhoto *photo = [[self alloc] init]; + photo.photoAsset = photoAsset; + photo.userGenerated = userGenerated; + return photo; +} + +#pragma mark - Properties + +- (void)setImage:(UIImage *)image +{ + _image = image; + _imageURL = nil; + _photoAsset = nil; +} + +- (void)setImageURL:(NSURL *)imageURL +{ + _image = nil; + _imageURL = [imageURL copy]; + _photoAsset = nil; +} + +- (void)setPhotoAsset:(PHAsset *)photoAsset +{ + _image = nil; + _imageURL = nil; + _photoAsset = [photoAsset copy]; +} + #pragma mark - Equality - (NSUInteger)hash @@ -52,6 +87,7 @@ NSUInteger subhashes[] = { [_image hash], [_imageURL hash], + [_photoAsset hash], [_caption hash], (_userGenerated ? 1u : 0u) }; @@ -75,9 +111,72 @@ (_userGenerated == photo.userGenerated) && [FBSDKInternalUtility object:_image isEqualToObject:photo.image] && [FBSDKInternalUtility object:_imageURL isEqualToObject:photo.imageURL] && + [FBSDKInternalUtility object:_photoAsset isEqualToObject:photo.photoAsset] && [FBSDKInternalUtility object:_caption isEqualToObject:photo.caption]); } +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if (bridgeOptions & FBSDKShareBridgeOptionsPhotoImageURL) { // a web-based URL is required + if (_imageURL) { + if (_imageURL.isFileURL) { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"imageURL" + value:_imageURL + message:@"Cannot refer to a local file resource."]; + } + return NO; + } else { + return YES; // will bridge the image URL + } + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"photo" + value:self + message:@"imageURL is required."]; + } + return NO; + } + } else if (_photoAsset) { + if (PHAssetMediaTypeImage == _photoAsset.mediaType) { + if (bridgeOptions & FBSDKShareBridgeOptionsPhotoAsset) { + return YES; // will bridge the PHAsset.localIdentifier + } else { + return YES; // will load the asset and bridge the image + } + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"photoAsset" + value:_photoAsset + message:@"Must refer to a photo or other static image."]; + } + return NO; + } + } else if (_imageURL) { + if (_imageURL.isFileURL) { + return YES; // will load the contents of the file and bridge the image + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"imageURL" + value:_imageURL + message:@"Must refer to a local file resource."]; + } + return NO; + } + } else if (_image) { + return YES; // will bridge the image + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"photo" + value:self + message:@"Must have an asset, image, or imageURL value."]; + } + return NO; + } +} + #pragma mark - NSCoding + (BOOL)supportsSecureCoding @@ -88,20 +187,25 @@ - (id)initWithCoder:(NSCoder *)decoder { if ((self = [self init])) { - _image = [decoder decodeObjectOfClass:[UIImage class] forKey:FBSDK_SHARE_PHOTO_IMAGE_KEY]; - _imageURL = [decoder decodeObjectOfClass:[NSURL class] forKey:FBSDK_SHARE_PHOTO_IMAGE_URL_KEY]; - _userGenerated = [decoder decodeBoolForKey:FBSDK_SHARE_PHOTO_USER_GENERATED_KEY]; - _caption = [decoder decodeObjectOfClass:[NSString class] forKey:FBSDK_SHARE_PHOTO_CAPTION_KEY]; + _image = [decoder decodeObjectOfClass:[UIImage class] forKey:kFBSDKSharePhotoImageKey]; + _imageURL = [decoder decodeObjectOfClass:[NSURL class] forKey:kFBSDKSharePhotoImageURLKey]; + NSString *localIdentifier = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKSharePhotoAssetKey]; + if (localIdentifier && (PHAuthorizationStatusAuthorized == [PHPhotoLibrary authorizationStatus])) { + _photoAsset = [PHAsset fetchAssetsWithLocalIdentifiers:@[localIdentifier] options:nil].firstObject; + } + _userGenerated = [decoder decodeBoolForKey:kFBSDKSharePhotoUserGeneratedKey]; + _caption = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKSharePhotoCaptionKey]; } return self; } - (void)encodeWithCoder:(NSCoder *)encoder { - [encoder encodeObject:_image forKey:FBSDK_SHARE_PHOTO_IMAGE_KEY]; - [encoder encodeObject:_imageURL forKey:FBSDK_SHARE_PHOTO_IMAGE_URL_KEY]; - [encoder encodeBool:_userGenerated forKey:FBSDK_SHARE_PHOTO_USER_GENERATED_KEY]; - [encoder encodeObject:_caption forKey:FBSDK_SHARE_PHOTO_CAPTION_KEY]; + [encoder encodeObject:_image forKey:kFBSDKSharePhotoImageKey]; + [encoder encodeObject:_imageURL forKey:kFBSDKSharePhotoImageURLKey]; + [encoder encodeObject:_photoAsset.localIdentifier forKey:kFBSDKSharePhotoAssetKey]; + [encoder encodeBool:_userGenerated forKey:kFBSDKSharePhotoUserGeneratedKey]; + [encoder encodeObject:_caption forKey:kFBSDKSharePhotoCaptionKey]; } #pragma mark - NSCopying @@ -111,6 +215,7 @@ FBSDKSharePhoto *copy = [[FBSDKSharePhoto alloc] init]; copy->_image = [_image copy]; copy->_imageURL = [_imageURL copy]; + copy->_photoAsset = [_photoAsset copy]; copy->_userGenerated = _userGenerated; copy->_caption = [_caption copy]; return copy; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.h index 3043268..427c315 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.h @@ -27,14 +27,14 @@ /** Photos to be shared. - - Returns: Array of the photos (FBSDKSharePhoto) + @return Array of the photos (FBSDKSharePhoto) */ @property (nonatomic, copy) NSArray *photos; /** Compares the receiver to another photo content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToSharePhotoContent:(FBSDKSharePhotoContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.m index 90d1119..1aa60bc 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.m @@ -18,8 +18,11 @@ #import "FBSDKSharePhotoContent.h" +#import + #import "FBSDKCoreKit+Internal.h" #import "FBSDKHashtag.h" +#import "FBSDKShareError.h" #import "FBSDKSharePhoto.h" #import "FBSDKShareUtility.h" @@ -73,6 +76,64 @@ } } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + NSMutableArray *images = [[NSMutableArray alloc] init]; + for (FBSDKSharePhoto *photo in _photos) { + if (photo.photoAsset) { + // load the asset and bridge the image + PHImageRequestOptions *imageRequestOptions = [[PHImageRequestOptions alloc] init]; + imageRequestOptions.resizeMode = PHImageRequestOptionsResizeModeExact; + imageRequestOptions.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat; + imageRequestOptions.synchronous = YES; + [[PHImageManager defaultManager] + requestImageForAsset:photo.photoAsset + targetSize:PHImageManagerMaximumSize + contentMode:PHImageContentModeDefault + options:imageRequestOptions + resultHandler:^(UIImage *image, NSDictionary *info) { + if (image) { + [images addObject:image]; + } + }]; + } else if (photo.imageURL) { + if (photo.imageURL.isFileURL) { + // load the contents of the file and bridge the image + UIImage *image = [UIImage imageWithContentsOfFile:[photo.imageURL absoluteString]]; + if (image) { + [images addObject:photo.image]; + } + } + } else if (photo.image) { + // bridge the image + [images addObject:photo.image]; + } + } + if (images.count > 0) { + [FBSDKInternalUtility dictionary:parameters + setObject:images + forKey:@"photos"]; + } +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if (![FBSDKShareUtility validateArray:_photos minCount:1 maxCount:6 name:@"photos" error:errorRef]) { + return NO; + } + for (FBSDKSharePhoto *photo in _photos) { + if (![photo validateWithOptions:bridgeOptions error:errorRef]) { + return NO; + } + } + return YES; +} + #pragma mark - Equality - (NSUInteger)hash diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.h index dcec319..a609860 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.h @@ -19,43 +19,83 @@ #import #import +#import @class FBSDKSharePhoto; +@class PHAsset; /** A video for sharing. */ -@interface FBSDKShareVideo : NSObject +@interface FBSDKShareVideo : NSObject + +/** + Convenience method to build a new video object from raw data. + - Parameter data: The NSData object that holds the raw video data. + */ ++ (instancetype)videoWithData:(NSData *)data; + +/** + Convenience method to build a new video object with NSData and a previewPhoto. + - Parameter data: The NSData object that holds the raw video data. + - Parameter previewPhoto: The photo that represents the video. + */ ++ (instancetype)videoWithData:(NSData *)data previewPhoto:(FBSDKSharePhoto *)previewPhoto; + +/** + Convenience method to build a new video object with a PHAsset. + @param videoAsset The PHAsset that represents the video in the Photos library. + */ ++ (instancetype)videoWithVideoAsset:(PHAsset *)videoAsset; + +/** + Convenience method to build a new video object with a PHAsset and a previewPhoto. + @param videoAsset The PHAsset that represents the video in the Photos library. + @param previewPhoto The photo that represents the video. + */ ++ (instancetype)videoWithVideoAsset:(PHAsset *)videoAsset previewPhoto:(FBSDKSharePhoto *)previewPhoto; /** Convenience method to build a new video object with a videoURL. - - Parameter videoURL: The URL to the video + @param videoURL The URL to the video. */ + (instancetype)videoWithVideoURL:(NSURL *)videoURL; /** - Convenience method to build a new video object with a videoURL and a previewPhoto - - Parameter videoURL: The URL to the video - - Parameter previewPhoto: The photo that represents the video + Convenience method to build a new video object with a videoURL and a previewPhoto. + @param videoURL The URL to the video. + @param previewPhoto The photo that represents the video. */ + (instancetype)videoWithVideoURL:(NSURL *)videoURL previewPhoto:(FBSDKSharePhoto *)previewPhoto; +/** + The raw video data. + - Returns: The video data. + */ +@property (nonatomic, strong) NSData *data; + +/** + The representation of the video in the Photos library. + @return PHAsset that represents the video in the Photos library. + */ +@property (nonatomic, copy) PHAsset *videoAsset; + /** The file URL to the video. - - Returns: URL that points to the location of the video on disk + @return URL that points to the location of the video on disk */ @property (nonatomic, copy) NSURL *videoURL; /** The photo that represents the video. - - Returns: The photo + @return The photo */ @property (nonatomic, copy) FBSDKSharePhoto *previewPhoto; /** Compares the receiver to another video. - - Parameter video: The other video - - Returns: YES if the receiver's values are equal to the other video's values; otherwise NO + @param video The other video + @return YES if the receiver's values are equal to the other video's values; otherwise NO */ - (BOOL)isEqualToShareVideo:(FBSDKShareVideo *)video; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.m index a27a9ae..0580105 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.m @@ -18,16 +18,52 @@ #import "FBSDKShareVideo.h" -#import "FBSDKCoreKit+Internal.h" -#import "FBSDKSharePhoto.h" +#import -#define FBSDK_SHARE_VIDEO_URL_KEY @"videoURL" -#define FBSDK_SHARE_VIDEO_PREVIEW_PHOTO_KEY @"previewPhoto" +#import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareError.h" +#import "FBSDKSharePhoto.h" +#import "FBSDKShareUtility.h" + +NSString *const kFBSDKShareVideoAssetKey = @"videoAsset"; +NSString *const kFBSDKShareVideoDataKey = @"data"; +NSString *const kFBSDKShareVideoPreviewPhotoKey = @"previewPhoto"; +NSString *const kFBSDKShareVideoURLKey = @"videoURL"; @implementation FBSDKShareVideo #pragma mark - Class Methods ++ (instancetype)videoWithData:(NSData *)data +{ + FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init]; + video.data = data; + return video; +} + ++ (instancetype)videoWithData:(NSData *)data previewPhoto:(FBSDKSharePhoto *)previewPhoto +{ + FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init]; + video.data = data; + video.previewPhoto = previewPhoto; + return video; +} + ++ (instancetype)videoWithVideoAsset:(PHAsset *)videoAsset +{ + FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init]; + video.videoAsset = videoAsset; + return video; +} + ++ (instancetype)videoWithVideoAsset:(PHAsset *)videoAsset previewPhoto:(FBSDKSharePhoto *)previewPhoto +{ + FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init]; + video.videoAsset = videoAsset; + video.previewPhoto = previewPhoto; + return video; +} + + (instancetype)videoWithVideoURL:(NSURL *)videoURL { FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init]; @@ -43,11 +79,39 @@ return video; } +#pragma mark - Properties + +- (void)setData:(NSData *)data +{ + _data = data; + _videoAsset = nil; + _videoURL = nil; + _previewPhoto = nil; +} + +- (void)setVideoAsset:(PHAsset *)videoAsset +{ + _data = nil; + _videoAsset = [videoAsset copy]; + _videoURL = nil; + _previewPhoto = nil; +} + +- (void)setVideoURL:(NSURL *)videoURL +{ + _data = nil; + _videoAsset = nil; + _videoURL = [videoURL copy]; + _previewPhoto = nil; +} + #pragma mark - Equality - (NSUInteger)hash { NSUInteger subhashes[] = { + [_data hash], + [_videoAsset hash], [_videoURL hash], [_previewPhoto hash], }; @@ -68,10 +132,95 @@ - (BOOL)isEqualToShareVideo:(FBSDKShareVideo *)video { return (video && + [FBSDKInternalUtility object:_data isEqualToObject:video.data] && + [FBSDKInternalUtility object:_videoAsset isEqualToObject:video.videoAsset] && [FBSDKInternalUtility object:_videoURL isEqualToObject:video.videoURL] && [FBSDKInternalUtility object:_previewPhoto isEqualToObject:video.previewPhoto]); } +#pragma mark - FBSDKSharingValidation + +- (BOOL)_validateData:(NSData *)data + withOptions:(FBSDKShareBridgeOptions)bridgeOptions + error:(NSError *__autoreleasing *)errorRef +{ + if (data) { + if (bridgeOptions & FBSDKShareBridgeOptionsVideoData) { + return YES; // will bridge the data + } + } + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"data" + value:data + message:@"Cannot share video data."]; + } + return NO; +} + +- (BOOL)_validateVideoAsset:(PHAsset *)videoAsset + withOptions:(FBSDKShareBridgeOptions)bridgeOptions + error:(NSError *__autoreleasing *)errorRef +{ + if (videoAsset) { + if (PHAssetMediaTypeVideo == videoAsset.mediaType) { + if (bridgeOptions & FBSDKShareBridgeOptionsVideoAsset) { + return YES; // will bridge the PHAsset.localIdentifier + } else { + return YES; // will bridge the legacy "assets-library" URL from AVAsset + } + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"videoAsset" + value:videoAsset + message:@"Must refer to a video file."]; + } + return NO; + } + } + return NO; +} + +- (BOOL)_validateVideoURL:(NSURL *)videoURL + withOptions:(FBSDKShareBridgeOptions)bridgeOptions + error:(NSError *__autoreleasing *)errorRef +{ + if (videoURL) { + if ([[videoURL.scheme lowercaseString] isEqualToString:@"assets-library"]) { + return YES; // will bridge the legacy "assets-library" URL + } else if (videoURL.isFileURL) { + if (bridgeOptions & FBSDKShareBridgeOptionsVideoData) { + return YES; // will load the contents of the file and bridge the data + } + } + } + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"videoURL" + value:videoURL + message:@"Must refer to an asset file."]; + } + return NO; +} + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + // validate that a valid asset, data, or videoURL value has been set. + // don't validate the preview photo; if it isn't valid it'll be dropped from the share; a default one may be created if needed. + if (_videoAsset) { + return [self _validateVideoAsset:_videoAsset withOptions:bridgeOptions error:errorRef]; + } else if (_data) { + return [self _validateData:_data withOptions:bridgeOptions error:errorRef]; + } else if (_videoURL) { + return [self _validateVideoURL:_videoURL withOptions:bridgeOptions error:errorRef]; + } else { + if ((errorRef != NULL) && !*errorRef) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"video" + value:self + message:@"Must have an asset, data, or videoURL value."]; + } + return NO; + } +} + #pragma mark - NSCoding + (BOOL)supportsSecureCoding @@ -82,16 +231,23 @@ - (id)initWithCoder:(NSCoder *)decoder { if ((self = [self init])) { - _videoURL = [decoder decodeObjectOfClass:[NSURL class] forKey:FBSDK_SHARE_VIDEO_URL_KEY]; - _previewPhoto = [decoder decodeObjectOfClass:[FBSDKSharePhoto class] forKey:FBSDK_SHARE_VIDEO_PREVIEW_PHOTO_KEY]; + _data = [decoder decodeObjectOfClass:[NSData class] forKey:kFBSDKShareVideoDataKey]; + NSString *localIdentifier = [decoder decodeObjectOfClass:[NSString class] forKey:kFBSDKShareVideoAssetKey]; + if (localIdentifier && (PHAuthorizationStatusAuthorized == [PHPhotoLibrary authorizationStatus])) { + _videoAsset = [PHAsset fetchAssetsWithLocalIdentifiers:@[localIdentifier] options:nil].firstObject; + } + _videoURL = [decoder decodeObjectOfClass:[NSURL class] forKey:kFBSDKShareVideoURLKey]; + _previewPhoto = [decoder decodeObjectOfClass:[FBSDKSharePhoto class] forKey:kFBSDKShareVideoPreviewPhotoKey]; } return self; } - (void)encodeWithCoder:(NSCoder *)encoder { - [encoder encodeObject:_videoURL forKey:FBSDK_SHARE_VIDEO_URL_KEY]; - [encoder encodeObject:_previewPhoto forKey:FBSDK_SHARE_VIDEO_PREVIEW_PHOTO_KEY]; + [encoder encodeObject:_data forKey:kFBSDKShareVideoDataKey]; + [encoder encodeObject:_videoAsset.localIdentifier forKey:kFBSDKShareVideoAssetKey]; + [encoder encodeObject:_videoURL forKey:kFBSDKShareVideoURLKey]; + [encoder encodeObject:_previewPhoto forKey:kFBSDKShareVideoPreviewPhotoKey]; } #pragma mark - NSCopying @@ -99,6 +255,8 @@ - (id)copyWithZone:(NSZone *)zone { FBSDKShareVideo *copy = [[FBSDKShareVideo alloc] init]; + copy->_data = [_data copy]; + copy->_videoAsset = [_videoAsset copy]; copy->_videoURL = [_videoURL copy]; copy->_previewPhoto = [_previewPhoto copy]; return copy; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.h index 7264591..0f4fd37 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.h @@ -29,20 +29,21 @@ /** The photo that represents the video. - - Returns: The photo + @return The photo */ -@property (nonatomic, copy) FBSDKSharePhoto *previewPhoto; +@property (nonatomic, copy) FBSDKSharePhoto *previewPhoto +DEPRECATED_MSG_ATTRIBUTE("Use `video.previewPhoto`"); /** The video to be shared. - - Returns: The video + @return The video */ @property (nonatomic, copy) FBSDKShareVideo *video; /** Compares the receiver to another video content. - - Parameter content: The other content - - Returns: YES if the receiver's values are equal to the other content's values; otherwise NO + @param content The other content + @return YES if the receiver's values are equal to the other content's values; otherwise NO */ - (BOOL)isEqualToShareVideoContent:(FBSDKShareVideoContent *)content; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.m index 78b14b9..c11db77 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.m @@ -18,6 +18,8 @@ #import "FBSDKShareVideoContent.h" +#import + #import "FBSDKCoreKit+Internal.h" #import "FBSDKHashtag.h" #import "FBSDKShareUtility.h" @@ -65,6 +67,85 @@ } } +#pragma mark - FBSDKSharingContent + +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +{ + NSMutableDictionary *videoParameters = [[NSMutableDictionary alloc] init]; + if (_video.videoAsset) { + if (bridgeOptions & FBSDKShareBridgeOptionsVideoAsset) { + // bridge the PHAsset.localIdentifier + [FBSDKInternalUtility dictionary:videoParameters + setObject:_video.videoAsset.localIdentifier + forKey:@"assetIdentifier"]; + } else { + // bridge the legacy "assets-library" URL from AVAsset + dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); + PHVideoRequestOptions *options = [[PHVideoRequestOptions alloc] init]; + options.version = PHVideoRequestOptionsVersionCurrent; + options.deliveryMode = PHVideoRequestOptionsDeliveryModeAutomatic; + options.networkAccessAllowed = YES; + [[PHImageManager defaultManager] requestAVAssetForVideo:_video.videoAsset + options:options + resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *info) { + NSURL *filePathURL = [[(AVURLAsset *)avAsset URL] filePathURL]; + NSString *pathExtension = [filePathURL pathExtension]; + NSString *localIdentifier = [self->_video.videoAsset localIdentifier]; + NSRange range = [localIdentifier rangeOfString:@"/"]; + NSString *uuid = [localIdentifier substringToIndex:range.location]; + NSString *assetPath = [NSString stringWithFormat:@"assets-library://asset/asset.%@?id=%@&ext=%@", pathExtension, uuid, pathExtension]; + if (assetPath) { + [FBSDKInternalUtility dictionary:videoParameters + setObject:[NSURL URLWithString:assetPath] + forKey:@"assetURL"]; + } + dispatch_semaphore_signal(semaphore); + }]; + dispatch_semaphore_wait(semaphore, dispatch_time(DISPATCH_TIME_NOW, 500 * NSEC_PER_MSEC)); + } + } else if (_video.data) { + if (bridgeOptions & FBSDKShareBridgeOptionsVideoData) { + // bridge the data + [FBSDKInternalUtility dictionary:videoParameters + setObject:_video.data + forKey:@"data"]; + } + } else if (_video.videoURL) { + if ([[_video.videoURL.scheme lowercaseString] isEqualToString:@"assets-library"]) { + // bridge the legacy "assets-library" URL + [FBSDKInternalUtility dictionary:videoParameters + setObject:_video.videoURL + forKey:@"assetURL"]; + } else if (_video.videoURL.isFileURL) { + if (bridgeOptions & FBSDKShareBridgeOptionsVideoData) { + // load the contents of the file and bridge the data + NSData *data = [NSData dataWithContentsOfURL:_video.videoURL options:NSDataReadingMappedIfSafe error:NULL]; + [FBSDKInternalUtility dictionary:videoParameters + setObject:data + forKey:@"data"]; + } + } + } + [FBSDKInternalUtility dictionary:videoParameters + setObject:[FBSDKShareUtility convertPhoto:_previewPhoto] + forKey:@"previewPhoto"]; + + [FBSDKInternalUtility dictionary:parameters + setObject:videoParameters + forKey:@"video"]; +} + +#pragma mark - FBSDKSharingValidation + +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef +{ + if (![FBSDKShareUtility validateRequiredValue:_video name:@"video" error:errorRef]) { + return NO; + } + return [_video validateWithOptions:bridgeOptions error:errorRef]; +} + #pragma mark - Equality - (NSUInteger)hash @@ -101,7 +182,10 @@ [FBSDKInternalUtility object:_hashtag isEqualToObject:content.hashtag] && [FBSDKInternalUtility object:_peopleIDs isEqualToObject:content.peopleIDs] && [FBSDKInternalUtility object:_placeID isEqualToObject:content.placeID] && +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" [FBSDKInternalUtility object:_previewPhoto isEqualToObject:content.previewPhoto] && +#pragma clang diagnostic pop [FBSDKInternalUtility object:_ref isEqualToObject:content.ref] && [FBSDKInternalUtility object:_pageID isEqualToObject:content.pageID] && [FBSDKInternalUtility object:_shareUUID isEqualToObject:content.shareUUID] && diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h index 7a297dd..6174b92 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h @@ -25,11 +25,11 @@ /** The common interface for components that initiate sharing. -- See:FBSDKShareDialog + @see FBSDKShareDialog -- See:FBSDKMessageDialog + @see FBSDKMessageDialog -- See:FBSDKShareAPI + @see FBSDKShareAPI */ @protocol FBSDKSharing @@ -53,8 +53,8 @@ /** Validates the content on the receiver. - - Parameter errorRef: If an error occurs, upon return contains an NSError object that describes the problem. - - Returns: YES if the content is valid, otherwise NO. + @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. + @return YES if the content is valid, otherwise NO. */ - (BOOL)validateWithError:(NSError **)errorRef; @@ -72,14 +72,14 @@ required but not available. This method does not validate the content on the receiver, so this can be checked before building up the content. -- See:[FBSDKSharing validateWithError:] - - Returns: YES if the receiver can share, otherwise NO. + @see [FBSDKSharing validateWithError:] + @return YES if the receiver can share, otherwise NO. */ - (BOOL)canShow; /** Shows the dialog. - - Returns: YES if the receiver was able to begin sharing, otherwise NO. + @return YES if the receiver was able to begin sharing, otherwise NO. */ - (BOOL)show; @@ -96,21 +96,21 @@ /** Sent to the delegate when the share completes without error or cancellation. - - Parameter sharer: The FBSDKSharing that completed. - - Parameter results: The results from the sharer. This may be nil or empty. + @param sharer The FBSDKSharing that completed. + @param results The results from the sharer. This may be nil or empty. */ - (void)sharer:(id)sharer didCompleteWithResults:(NSDictionary *)results; /** Sent to the delegate when the sharer encounters an error. - - Parameter sharer: The FBSDKSharing that completed. - - Parameter error: The error. + @param sharer The FBSDKSharing that completed. + @param error The error. */ - (void)sharer:(id)sharer didFailWithError:(NSError *)error; /** Sent to the delegate when the sharer is cancelled. - - Parameter sharer: The FBSDKSharing that completed. + @param sharer The FBSDKSharing that completed. */ - (void)sharerDidCancel:(id)sharer; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.h index 5192de4..13cfc1f 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.h @@ -23,9 +23,9 @@ /** The common interface for sharing buttons. -- See:FBSDKSendButton + @see FBSDKSendButton -- See:FBSDKShareButton + @see FBSDKShareButton */ @protocol FBSDKSharingButton diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h index 0e0e06d..7806f27 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h @@ -19,26 +19,27 @@ #import #import +#import @class FBSDKHashtag; /** A base interface for content to be shared. */ -@protocol FBSDKSharingContent +@protocol FBSDKSharingContent /** URL for the content being shared. This URL will be checked for all link meta tags for linking in platform specific ways. See documentation for App Links (https://developers.facebook.com/docs/applinks/) - - Returns: URL representation of the content link + @return URL representation of the content link */ @property (nonatomic, copy) NSURL *contentURL; /** Hashtag for the content being shared. - - Returns: The hashtag for the content being shared. + @return The hashtag for the content being shared. */ @property (nonatomic, copy) FBSDKHashtag *hashtag; @@ -46,32 +47,39 @@ List of IDs for taggable people to tag with this content. See documentation for Taggable Friends (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) - - Returns: Array of IDs for people to tag (NSString) + @return Array of IDs for people to tag (NSString) */ @property (nonatomic, copy) NSArray *peopleIDs; /** The ID for a place to tag with this content. - - Returns: The ID for the place to tag + @return The ID for the place to tag */ @property (nonatomic, copy) NSString *placeID; /** A value to be added to the referrer URL when a person follows a link from this shared content on feed. - - Returns: The ref for the content. + @return The ref for the content. */ @property (nonatomic, copy) NSString *ref; /** For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. - - Returns: The ID of the Facebok page this share is associated with. + @return The ID of the Facebok page this share is associated with. */ @property (nonatomic, copy) NSString *pageID; /** A unique identifier for a share involving this content, useful for tracking purposes. - - Returns: A unique string identifying this share data. + @return A unique string identifying this share data. */ @property (nonatomic, copy, readonly) NSString *shareUUID; +/** + Adds content to a dictionary as key/value pairs. + - Parameter parameters: A mutable dictionary that may be appended with key/value pairs of content. + */ +- (void)addToParameters:(NSMutableDictionary *)parameters + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions; + @end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h new file mode 100644 index 0000000..1d81771 --- /dev/null +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h @@ -0,0 +1,33 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 "FBSDKShareDialogMode.h" + +/** + A base interface for indicating a custom URL scheme + */ +@protocol FBSDKSharingScheme + +/** + Asks the receiver to provide a custom scheme. + - Parameter mode: The intended dialog mode for sharing the content. + - Returns: A custom URL scheme to use for the specified mode, or nil. + */ +- (nullable NSString *)schemeForMode:(FBSDKShareDialogMode)mode; + +@end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h new file mode 100644 index 0000000..b16454a --- /dev/null +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h @@ -0,0 +1,46 @@ +// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. +// +// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, +// copy, modify, and distribute this software in source code or binary form for use +// in connection with the web services and APIs provided by Facebook. +// +// As with any software that integrates with the Facebook platform, your use of +// this software is subject to the Facebook Developer Principles and Policies +// [http://developers.facebook.com/policy/]. This copyright 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 + +/** + Flags to indicate support for newer bridge options beyond the initial 20130410 implementation. + */ +typedef NS_OPTIONS(NSUInteger, FBSDKShareBridgeOptions) +{ + FBSDKShareBridgeOptionsDefault = 0, + FBSDKShareBridgeOptionsPhotoAsset = 1 << 0, + FBSDKShareBridgeOptionsPhotoImageURL = 1 << 1, // if set, a web-based URL is required; asset, image, and imageURL.isFileURL not allowed + FBSDKShareBridgeOptionsVideoAsset = 1 << 2, + FBSDKShareBridgeOptionsVideoData = 1 << 3, + FBSDKShareBridgeOptionsWebHashtag = 1 << 4, // if set, pass the hashtag as a string value, not an array of one string +}; + +/** + A base interface for validation of content and media. + */ +@protocol FBSDKSharingValidation + +/** + Asks the receiver to validate that its content or media values are valid. + - Parameter errorRef: Optional, will receive an FBSDKShareError if the values are not valid. + - Returns: YES if the receiver's values are valid; otherwise NO + */ +- (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef; + +@end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.m index 02e6e61..20861fc 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.m @@ -93,7 +93,7 @@ if (!error) { NSArray *items = [FBSDKTypeUtility arrayValue:result[@"data"]]; NSArray *recipientIDs = [items valueForKey:@"recipient_id"]; - _recipientIDs = [[NSSet alloc] initWithArray:recipientIDs]; + self->_recipientIDs = [[NSSet alloc] initWithArray:recipientIDs]; } }]; } diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.m index 04e8826..15a1178 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.m @@ -758,8 +758,8 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access NSString *innerVerifiedObjectID, BOOL innerObjectIsPage) { if (success) { - _verifiedObjectID = [innerVerifiedObjectID copy]; - _objectIsPage = innerObjectIsPage; + self->_verifiedObjectID = [innerVerifiedObjectID copy]; + self->_objectIsPage = innerObjectIsPage; } }); } @@ -770,13 +770,13 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access if (success) { // if this was an URL based request, then we want to use the objectID from that request - this value will just // be an echo of the URL - if (!_verifiedObjectID) { - _verifiedObjectID = [innerVerifiedObjectID copy]; + if (!self->_verifiedObjectID) { + self->_verifiedObjectID = [innerVerifiedObjectID copy]; } - _objectIsPage = innerObjectIsPage; + self->_objectIsPage = innerObjectIsPage; } - if (_verifiedObjectID) { - completion(_verifiedObjectID); + if (self->_verifiedObjectID) { + completion(self->_verifiedObjectID); } }); [connection start]; @@ -826,21 +826,21 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access [connection overrideVersionPartWith:FBSDK_LIKE_ACTION_CONTROLLER_API_VERSION]; fbsdk_like_action_controller_publish_like_completion_block completionHandler = ^(BOOL success, NSString *unlikeToken) { - _objectIsLikedIsPending = NO; + self->_objectIsLikedIsPending = NO; if (success) { [FBSDKAppEvents logImplicitEvent:FBSDKAppEventNameFBSDKLikeControlDidLike valueToSum:nil parameters:analyticsParameters - accessToken:_accessToken]; - _objectIsLikedOnServer = YES; - _unlikeToken = [unlikeToken copy]; + accessToken:self->_accessToken]; + self->_objectIsLikedOnServer = YES; + self->_unlikeToken = [unlikeToken copy]; if (updateBlock != NULL) { updateBlock(FBSDKTriStateBOOLFromBOOL(self.objectIsLiked), - _likeCountStringWithLike, - _likeCountStringWithoutLike, - _socialSentenceWithLike, - _socialSentenceWithoutLike, - _unlikeToken, + self->_likeCountStringWithLike, + self->_likeCountStringWithoutLike, + self->_socialSentenceWithLike, + self->_socialSentenceWithoutLike, + self->_unlikeToken, NO, NO); } @@ -849,10 +849,10 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access [self _presentLikeDialogWithUpdateBlock:updateBlock analyticsParameters:analyticsParameters fromViewController:fromViewController]; } }; - FBSDKLikeActionControllerAddPublishLikeRequest(_accessToken, + FBSDKLikeActionControllerAddPublishLikeRequest(self->_accessToken, connection, verifiedObjectID, - _objectType, + self->_objectType, completionHandler); [connection start]; }]; @@ -866,21 +866,21 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init]; [connection overrideVersionPartWith:FBSDK_LIKE_ACTION_CONTROLLER_API_VERSION]; fbsdk_like_action_controller_publish_unlike_completion_block completionHandler = ^(BOOL success) { - _objectIsLikedIsPending = NO; + self->_objectIsLikedIsPending = NO; if (success) { [FBSDKAppEvents logImplicitEvent:FBSDKAppEventNameFBSDKLikeControlDidUnlike valueToSum:nil parameters:analyticsParameters - accessToken:_accessToken]; - _objectIsLikedOnServer = NO; - _unlikeToken = nil; + accessToken:self->_accessToken]; + self->_objectIsLikedOnServer = NO; + self->_unlikeToken = nil; if (updateBlock != NULL) { updateBlock(FBSDKTriStateBOOLFromBOOL(self.objectIsLiked), - _likeCountStringWithLike, - _likeCountStringWithoutLike, - _socialSentenceWithLike, - _socialSentenceWithoutLike, - _unlikeToken, + self->_likeCountStringWithLike, + self->_likeCountStringWithoutLike, + self->_socialSentenceWithLike, + self->_socialSentenceWithoutLike, + self->_unlikeToken, NO, NO); } @@ -927,10 +927,10 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access [self _ensureVerifiedObjectID:^(NSString *verifiedObjectID) { FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init]; [connection overrideVersionPartWith:FBSDK_LIKE_ACTION_CONTROLLER_API_VERSION]; - FBSDKLikeActionControllerAddRefreshRequests(_accessToken, + FBSDKLikeActionControllerAddRefreshRequests(self->_accessToken, connection, verifiedObjectID, - _objectType, + self->_objectType, ^(FBSDKTriStateBOOL objectIsLiked, NSString *likeCountStringWithLike, NSString *likeCountStringWithoutLike, @@ -949,7 +949,7 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access animated:NO deferred:NO]; [self _setExecuting:NO forKey:FBSDK_LIKE_ACTION_CONTROLLER_REFRESH_PROPERTY_KEY]; - _refreshState = FBSDKLikeActionControllerRefreshStateComplete; + self->_refreshState = FBSDKLikeActionControllerRefreshStateComplete; }); [connection start]; }]; @@ -1010,23 +1010,23 @@ static void FBSDKLikeActionControllerAddRefreshRequests(FBSDKAccessToken *access void(^updateBlock)(void) = ^{ if (objectIsLikedChanged) { - _objectIsLiked = objectIsLiked; + self->_objectIsLiked = objectIsLiked; } if (likeCountStringWithLike) { - _likeCountStringWithLike = [likeCountStringWithLike copy]; + self->_likeCountStringWithLike = [likeCountStringWithLike copy]; } if (likeCountStringWithoutLike) { - _likeCountStringWithoutLike = [likeCountStringWithoutLike copy]; + self->_likeCountStringWithoutLike = [likeCountStringWithoutLike copy]; } if (socialSentenceWithLike) { - _socialSentenceWithLike = [socialSentenceWithLike copy]; + self->_socialSentenceWithLike = [socialSentenceWithLike copy]; } if (socialSentenceWithoutLike) { - _socialSentenceWithoutLike = [socialSentenceWithoutLike copy]; + self->_socialSentenceWithoutLike = [socialSentenceWithoutLike copy]; } if (unlikeToken) { - _unlikeToken = [unlikeToken copy]; + self->_unlikeToken = [unlikeToken copy]; } // if only meta data changed, don't play the sound diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.h index 6ada376..d1e70a0 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.h @@ -18,19 +18,32 @@ #import -@class FBSDKShareMessengerGenericTemplateContent; -@class FBSDKShareMessengerMediaTemplateContent; -@class FBSDKShareMessengerOpenGraphMusicTemplateContent; +@class FBSDKShareMessengerURLActionButton; +@protocol FBSDKShareMessengerActionButton; + +extern NSString *const kFBSDKShareMessengerTemplateTypeKey; +extern NSString *const kFBSDKShareMessengerTemplateKey; +extern NSString *const kFBSDKShareMessengerPayloadKey; +extern NSString *const kFBSDKShareMessengerTypeKey; +extern NSString *const kFBSDKShareMessengerAttachmentKey; +extern NSString *const kFBSDKShareMessengerElementsKey; +extern NSString *const kFBSDKShareMessengerButtonsKey; + +void AddToContentPreviewDictionaryForButton(NSMutableDictionary *dictionary, + id button); + +NSDictionary *SerializableButtonFromURLButton(FBSDKShareMessengerURLActionButton *button, BOOL isDefaultAction); +NSArray *> *SerializableButtonsFromButton(id button); @interface FBSDKShareMessengerContentUtility : NSObject -+ (void)addToParameters:(NSMutableDictionary *)parameters -forShareMessengerGenericTemplateContent:(FBSDKShareMessengerGenericTemplateContent *)genericTemplateContent; ++ (void)addToParameters:(NSMutableDictionary *)parameters + contentForShare:(NSMutableDictionary *)contentForShare + contentForPreview:(NSMutableDictionary *)contentForPreview; -+ (void)addToParameters:(NSMutableDictionary *)parameters -forShareMessengerMediaTemplateContent:(FBSDKShareMessengerMediaTemplateContent *)mediaTemplateContent; - -+ (void)addToParameters:(NSMutableDictionary *)parameters -forShareMessengerOpenGraphMusicTemplateContent:(FBSDKShareMessengerOpenGraphMusicTemplateContent *)openGraphMusicTemplate; ++ (BOOL)validateMessengerActionButton:(id)button + isDefaultActionButton:(BOOL)isDefaultActionButton + pageID:(NSString *)pageID + error:(NSError *__autoreleasing *)errorRef; @end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.m index 9337e58..1cdc312 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.m @@ -19,39 +19,23 @@ #import "FBSDKShareMessengerContentUtility.h" #import "FBSDKCoreKit+Internal.h" +#import "FBSDKShareError.h" #import "FBSDKShareMessengerGenericTemplateContent.h" #import "FBSDKShareMessengerGenericTemplateElement.h" #import "FBSDKShareMessengerMediaTemplateContent.h" #import "FBSDKShareMessengerOpenGraphMusicTemplateContent.h" #import "FBSDKShareMessengerURLActionButton.h" +#import "FBSDKShareUtility.h" -static NSString *const kTemplateTypeKey = @"template_type"; -static NSString *const kTemplateKey = @"template"; -static NSString *const kPayloadKey = @"payload"; -static NSString *const kTypeKey = @"type"; -static NSString *const kAttachmentKey = @"attachment"; -static NSString *const kElementsKey = @"elements"; -static NSString *const kButtonsKey = @"buttons"; +NSString *const kFBSDKShareMessengerTemplateTypeKey = @"template_type"; +NSString *const kFBSDKShareMessengerTemplateKey = @"template"; +NSString *const kFBSDKShareMessengerPayloadKey = @"payload"; +NSString *const kFBSDKShareMessengerTypeKey = @"type"; +NSString *const kFBSDKShareMessengerAttachmentKey = @"attachment"; +NSString *const kFBSDKShareMessengerElementsKey = @"elements"; +NSString *const kFBSDKShareMessengerButtonsKey = @"buttons"; -@implementation FBSDKShareMessengerContentUtility - -static BOOL _URLHasFacebookDomain(NSURL *URL) -{ - NSString *urlHost = [URL.host lowercaseString]; - NSArray *pathComponents = [URL pathComponents]; - - /** - Check the following three different cases... - 1. Check if host is facebook.com, such as in 'https://facebok.com/test' - 2. Check if host is someprefix.facebook.com, such as in 'https://www.facebook.com/test' - 3. Check if host is null, but the first path component is facebook.com - */ - return [urlHost isEqualToString:@"facebook.com"] || - [urlHost hasSuffix:@".facebook.com"] || - ([[[pathComponents firstObject] lowercaseString] hasSuffix:@"facebook.com"]); -} - -static void _AddToContentPreviewDictionaryForURLButton(NSMutableDictionary *dictionary, +static void _AddToContentPreviewDictionaryForURLButton(NSMutableDictionary *dictionary, FBSDKShareMessengerURLActionButton *urlButton) { NSString *urlString = urlButton.url.absoluteString; @@ -67,14 +51,16 @@ static void _AddToContentPreviewDictionaryForURLButton(NSMutableDictionary *dict [FBSDKInternalUtility dictionary:dictionary setObject:urlButton.url.absoluteString forKey:@"item_url"]; } -static void _AddToContentPreviewDictionaryForButton(NSMutableDictionary *dictionary, - id button) +void AddToContentPreviewDictionaryForButton(NSMutableDictionary *dictionary, + id button) { if ([button isKindOfClass:[FBSDKShareMessengerURLActionButton class]]) { _AddToContentPreviewDictionaryForURLButton(dictionary, button); } } +@implementation FBSDKShareMessengerContentUtility + static NSString *_WebviewHeightRatioString(FBSDKShareMessengerURLActionButtonWebviewHeightRatio heightRatio) { switch (heightRatio) { case FBSDKShareMessengerURLActionButtonWebviewHeightRatioFull: @@ -86,31 +72,11 @@ static NSString *_WebviewHeightRatioString(FBSDKShareMessengerURLActionButtonWeb } } -static NSString *_MediaTypeString(FBSDKShareMessengerMediaTemplateMediaType mediaType) -{ - switch (mediaType) { - case FBSDKShareMessengerMediaTemplateMediaTypeImage: - return @"image"; - case FBSDKShareMessengerMediaTemplateMediaTypeVideo: - return @"video"; - } -} - static NSString *_WebviewShareButtonString(BOOL shouldHideWebviewShareButton) { return shouldHideWebviewShareButton ? @"hide" : nil; } -static NSString *_ImageAspectRatioString(FBSDKShareMessengerGenericTemplateImageAspectRatio imageAspectRatio) -{ - switch (imageAspectRatio) { - case FBSDKShareMessengerGenericTemplateImageAspectRatioSquare: - return @"square"; - case FBSDKShareMessengerGenericTemplateImageAspectRatioHorizontal: - return @"horizontal"; - } -} - -static NSDictionary *_SerializableButtonFromURLButton(FBSDKShareMessengerURLActionButton *button, BOOL isDefaultAction) +NSDictionary *SerializableButtonFromURLButton(FBSDKShareMessengerURLActionButton *button, BOOL isDefaultAction) { NSMutableDictionary *serializableButton = [NSMutableDictionary dictionary]; @@ -128,164 +94,52 @@ static NSDictionary *_SerializableButtonFromURLButton(FBSDKShareMessengerURLActi return serializableButton; } -static NSArray *_SerializableButtonsFromButton(id button) +NSArray *> *SerializableButtonsFromButton(id button) { // Return NSArray even though there is just one button to match proper json structure - NSMutableArray *serializableButtons = [NSMutableArray array]; + NSMutableArray *> *serializableButtons = [NSMutableArray array]; if ([button isKindOfClass:[FBSDKShareMessengerURLActionButton class]]) { - [FBSDKInternalUtility array:serializableButtons addObject:_SerializableButtonFromURLButton(button, NO)]; + [FBSDKInternalUtility array:serializableButtons addObject:SerializableButtonFromURLButton(button, NO)]; } return serializableButtons; } -static NSArray *_SerializableGenericTemplateElementsFromElements(NSArray *elements) -{ - NSMutableArray *serializableElements = [NSMutableArray array]; - for (FBSDKShareMessengerGenericTemplateElement *element in elements) { - NSMutableDictionary *elementDictionary = [NSMutableDictionary dictionary]; - [FBSDKInternalUtility dictionary:elementDictionary setObject:element.title forKey:@"title"]; - [FBSDKInternalUtility dictionary:elementDictionary setObject:element.subtitle forKey:@"subtitle"]; - [FBSDKInternalUtility dictionary:elementDictionary setObject:element.imageURL.absoluteString forKey:@"image_url"]; - [FBSDKInternalUtility dictionary:elementDictionary setObject:_SerializableButtonsFromButton(element.button) forKey:kButtonsKey]; - if ([element.defaultAction isKindOfClass:[FBSDKShareMessengerURLActionButton class]]) { - [FBSDKInternalUtility dictionary:elementDictionary setObject:_SerializableButtonFromURLButton(element.defaultAction, YES) forKey:@"default_action"]; - } - - [serializableElements addObject:elementDictionary]; - } - - return serializableElements; -} - -static NSArray *_SerializableMediaTemplateContentFromContent(FBSDKShareMessengerMediaTemplateContent *mediaTemplateContent) -{ - NSMutableArray *serializableMediaTemplateContent = [NSMutableArray array]; - - NSMutableDictionary *mediaTemplateContentDictionary = [NSMutableDictionary dictionary]; - [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:_MediaTypeString(mediaTemplateContent.mediaType) forKey:@"media_type"]; - [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:mediaTemplateContent.mediaURL.absoluteString forKey:@"url"]; - [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:mediaTemplateContent.attachmentID forKey:@"attachment_id"]; - [FBSDKInternalUtility dictionary:mediaTemplateContentDictionary setObject:_SerializableButtonsFromButton(mediaTemplateContent.button) forKey:kButtonsKey]; - [serializableMediaTemplateContent addObject:mediaTemplateContentDictionary]; - - return serializableMediaTemplateContent; -} - -static NSArray *_SerializableOpenGraphMusicTemplateContentFromContent(FBSDKShareMessengerOpenGraphMusicTemplateContent *openGraphMusicTemplateContent) -{ - NSMutableArray *serializableOpenGraphMusicTemplateContent = [NSMutableArray array]; - - NSMutableDictionary *openGraphMusicTemplateContentDictionary = [NSMutableDictionary dictionary]; - [FBSDKInternalUtility dictionary:openGraphMusicTemplateContentDictionary setObject:openGraphMusicTemplateContent.url.absoluteString forKey:@"url"]; - [FBSDKInternalUtility dictionary:openGraphMusicTemplateContentDictionary setObject:_SerializableButtonsFromButton(openGraphMusicTemplateContent.button) forKey:kButtonsKey]; - [serializableOpenGraphMusicTemplateContent addObject:openGraphMusicTemplateContentDictionary]; - - return serializableOpenGraphMusicTemplateContent; -} - -static NSString *_MediaTemplateURLSerializationKey(NSURL *mediaURL) -{ - if (_URLHasFacebookDomain(mediaURL)) { - return @"facebook_media_url"; - } else { - return @"image_url"; - } -} - -+ (void)_addToParameters:(NSMutableDictionary *)parameters - contentForShare:(NSMutableDictionary *)contentForShare - contentForPreview:(NSMutableDictionary *)contentForPreview ++ (void)addToParameters:(NSMutableDictionary *)parameters + contentForShare:(NSMutableDictionary *)contentForShare + contentForPreview:(NSMutableDictionary *)contentForPreview { NSError *error = nil; NSData *contentForShareData = [NSJSONSerialization dataWithJSONObject:contentForShare options:kNilOptions error:&error]; if (!error && contentForShareData) { NSString *contentForShareDataString = [[NSString alloc] initWithData:contentForShareData encoding:NSUTF8StringEncoding]; - NSMutableDictionary *messengerShareContent = [NSMutableDictionary dictionary]; + NSMutableDictionary *messengerShareContent = [NSMutableDictionary dictionary]; [FBSDKInternalUtility dictionary:messengerShareContent setObject:contentForShareDataString forKey:@"content_for_share"]; [FBSDKInternalUtility dictionary:messengerShareContent setObject:contentForPreview forKey:@"content_for_preview"]; [FBSDKInternalUtility dictionary:parameters setObject:messengerShareContent forKey:@"messenger_share_content"]; } } -+ (void)addToParameters:(NSMutableDictionary *)parameters -forShareMessengerGenericTemplateContent:(FBSDKShareMessengerGenericTemplateContent *)genericTemplateContent ++ (BOOL)validateMessengerActionButton:(id)button + isDefaultActionButton:(BOOL)isDefaultActionButton + pageID:(NSString *)pageID + error:(NSError *__autoreleasing *)errorRef { - NSMutableDictionary *payload = [NSMutableDictionary dictionary]; - [payload setObject:@"generic" forKey:kTemplateTypeKey]; - [payload setObject:@(genericTemplateContent.isSharable) forKey:@"sharable"]; - [payload setObject:_ImageAspectRatioString(genericTemplateContent.imageAspectRatio) forKey:@"image_aspect_ratio"]; - [payload setObject:_SerializableGenericTemplateElementsFromElements(@[genericTemplateContent.element]) forKey:kElementsKey]; - - NSMutableDictionary *attachment = [NSMutableDictionary dictionary]; - [attachment setObject:kTemplateKey forKey:kTypeKey]; - [attachment setObject:payload forKey:kPayloadKey]; - - NSMutableDictionary *contentForShare = [NSMutableDictionary dictionary]; - [contentForShare setObject:attachment forKey:kAttachmentKey]; - - FBSDKShareMessengerGenericTemplateElement *firstElement = genericTemplateContent.element; - NSMutableDictionary *contentForPreview = [NSMutableDictionary dictionary]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:@"DEFAULT" forKey:@"preview_type"]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:firstElement.title forKey:@"title"]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:firstElement.subtitle forKey:@"subtitle"]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:firstElement.imageURL.absoluteString forKey:@"image_url"]; - if (firstElement.button) { - _AddToContentPreviewDictionaryForButton(contentForPreview, firstElement.button); - } else { - _AddToContentPreviewDictionaryForButton(contentForPreview, firstElement.defaultAction); + if (!button) { + return YES; + } + else if ([button isKindOfClass:[FBSDKShareMessengerURLActionButton class]]) { + FBSDKShareMessengerURLActionButton *urlActionButton = (FBSDKShareMessengerURLActionButton *)button; + return [FBSDKShareUtility validateRequiredValue:urlActionButton.url name:@"button.url" error:errorRef] && + (!isDefaultActionButton ? [FBSDKShareUtility validateRequiredValue:urlActionButton.title name:@"button.title" error:errorRef] : YES) && + (urlActionButton.isMessengerExtensionURL ? [FBSDKShareUtility validateRequiredValue:pageID name:@"content pageID" error:errorRef] : YES); + } else { + if (errorRef != NULL) { + *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"buttons" value:button message:nil]; + } + return NO; } - - [self _addToParameters:parameters contentForShare:contentForShare contentForPreview:contentForPreview]; -} - -+ (void)addToParameters:(NSMutableDictionary *)parameters -forShareMessengerMediaTemplateContent:(FBSDKShareMessengerMediaTemplateContent *)mediaTemplateContent -{ - NSMutableDictionary *payload = [NSMutableDictionary dictionary]; - [payload setObject:@"media" forKey:kTemplateTypeKey]; - [payload setObject:_SerializableMediaTemplateContentFromContent(mediaTemplateContent) forKey:kElementsKey]; - - NSMutableDictionary *attachment = [NSMutableDictionary dictionary]; - [attachment setObject:kTemplateKey forKey:kTypeKey]; - [attachment setObject:payload forKey:kPayloadKey]; - - NSMutableDictionary *contentForShare = [NSMutableDictionary dictionary]; - [contentForShare setObject:attachment forKey:kAttachmentKey]; - - NSMutableDictionary *contentForPreview = [NSMutableDictionary dictionary]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:@"DEFAULT" forKey:@"preview_type"]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:mediaTemplateContent.attachmentID forKey:@"attachment_id"]; - [FBSDKInternalUtility dictionary:contentForPreview - setObject:mediaTemplateContent.mediaURL.absoluteString - forKey:_MediaTemplateURLSerializationKey(mediaTemplateContent.mediaURL)]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:_MediaTypeString(mediaTemplateContent.mediaType) forKey:@"media_type"]; - _AddToContentPreviewDictionaryForButton(contentForPreview, mediaTemplateContent.button); - - [self _addToParameters:parameters contentForShare:contentForShare contentForPreview:contentForPreview]; -} - -+ (void)addToParameters:(NSMutableDictionary *)parameters -forShareMessengerOpenGraphMusicTemplateContent:(FBSDKShareMessengerOpenGraphMusicTemplateContent *)openGraphMusicTemplate -{ - NSMutableDictionary *payload = [NSMutableDictionary dictionary]; - [payload setObject:@"open_graph" forKey:kTemplateTypeKey]; - [payload setObject:_SerializableOpenGraphMusicTemplateContentFromContent(openGraphMusicTemplate) forKey:kElementsKey]; - - NSMutableDictionary *attachment = [NSMutableDictionary dictionary]; - [attachment setObject:kTemplateKey forKey:kTypeKey]; - [attachment setObject:payload forKey:kPayloadKey]; - - NSMutableDictionary *contentForShare = [NSMutableDictionary dictionary]; - [contentForShare setObject:attachment forKey:kAttachmentKey]; - - NSMutableDictionary *contentForPreview = [NSMutableDictionary dictionary]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:@"OPEN_GRAPH" forKey:@"preview_type"]; - [FBSDKInternalUtility dictionary:contentForPreview setObject:openGraphMusicTemplate.url.absoluteString forKey:@"open_graph_url"]; - _AddToContentPreviewDictionaryForButton(contentForPreview, openGraphMusicTemplate.button); - - [self _addToParameters:parameters contentForShare:contentForShare contentForPreview:contentForPreview]; } @end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.h index 66cc8cd..6e7133b 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.h @@ -25,12 +25,6 @@ #import #import -#if !TARGET_OS_TV -#import -#import -#import -#endif - @interface FBSDKShareUtility : NSObject + (void)assertCollection:(id)collection ofClass:itemClass name:(NSString *)name; @@ -38,40 +32,46 @@ + (void)assertOpenGraphKey:(id)key requireNamespace:(BOOL)requireNamespace; + (void)assertOpenGraphValue:(id)value; + (void)assertOpenGraphValues:(NSDictionary *)dictionary requireKeyNamespace:(BOOL)requireKeyNamespace; -+ (id)convertOpenGraphValue:(id)value; + + (BOOL)buildWebShareContent:(id)content methodName:(NSString *__autoreleasing *)methodNameRef parameters:(NSDictionary *__autoreleasing *)parametersRef error:(NSError *__autoreleasing *)errorRef; + (void)buildAsyncWebPhotoContent:(FBSDKSharePhotoContent *)content completionHandler:(void(^)(BOOL, NSString *, NSDictionary *))completion; -+ (NSDictionary *)convertOpenGraphValues:(NSDictionary *)dictionary; ++ (id)convertOpenGraphValue:(id)value; ++ (NSDictionary *)convertOpenGraphValueContainer:(FBSDKShareOpenGraphValueContainer *)container + requireNamespace:(BOOL)requireNamespace; ++ (NSDictionary *)convertOpenGraphValues:(NSDictionary *)dictionary; ++ (NSDictionary *)convertPhoto:(FBSDKSharePhoto *)photo; + (NSDictionary *)feedShareDictionaryForContent:(id)content; ++ (NSString *)getOpenGraphNameAndNamespaceFromFullName:(NSString *)fullName namespace:(NSString **)namespace; + (NSString *)hashtagStringFromHashtag:(FBSDKHashtag *)hashtag; + (UIImage *)imageWithCircleColor:(UIColor *)color canvasSize:(CGSize)canvasSize circleSize:(CGSize)circleSize; + (NSDictionary *)parametersForShareContent:(id)shareContent + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions shouldFailOnDataError:(BOOL)shouldFailOnDataError; + (void)testShareContent:(id)shareContent containsMedia:(BOOL *)containsMediaRef containsPhotos:(BOOL *)containsPhotosRef containsVideos:(BOOL *)containsVideosRef; + (BOOL)shareMediaContentContainsPhotosAndVideos:(FBSDKShareMediaContent *)shareMediaContent; -+ (BOOL)validateAssetLibraryURLWithShareVideoContent:(FBSDKShareVideoContent *)videoContent name:(NSString *)name error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateAssetLibraryURLsWithShareMediaContent:(FBSDKShareMediaContent *)mediaContent name:(NSString *)name error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateShareContent:(id)shareContent error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateShareLinkContent:(FBSDKShareLinkContent *)linkContent error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateShareMediaContent:(FBSDKShareMediaContent *)mediaContent error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateShareOpenGraphContent:(FBSDKShareOpenGraphContent *)openGraphContent - error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateSharePhotoContent:(FBSDKSharePhotoContent *)photoContent error:(NSError *__autoreleasing *)errorRef; -+ (NSString *)getOpenGraphNameAndNamespaceFromFullName:(NSString *)fullName namespace:(NSString **)namespace; -#if !TARGET_OS_TV -+ (BOOL)validateAppInviteContent:(FBSDKAppInviteContent *)appInviteContent error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateShareCameraEffectContent:(FBSDKShareCameraEffectContent *)ShareCameraEffectContent - error:(NSError *__autoreleasing *)errorRef; -+ (BOOL)validateGameRequestContent:(FBSDKGameRequestContent *)gameRequestContent error:(NSError *__autoreleasing *)errorRef; -#endif ++ (BOOL)validateArgumentWithName:(NSString *)argumentName + value:(NSUInteger)value + isIn:(NSArray *)possibleValues + error:(NSError *__autoreleasing *)errorRef; ++ (BOOL)validateArray:(NSArray *)array + minCount:(NSUInteger)minCount + maxCount:(NSUInteger)maxCount + name:(NSString *)name + error:(NSError *__autoreleasing *)errorRef; ++ (BOOL)validateNetworkURL:(NSURL *)URL name:(NSString *)name error:(NSError *__autoreleasing *)errorRef; ++ (BOOL)validateRequiredValue:(id)value name:(NSString *)name error:(NSError *__autoreleasing *)errorRef; ++ (BOOL)validateShareContent:(id)shareContent + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions + error:(NSError *__autoreleasing *)errorRef; + @end diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.m index 51f1065..2e5b780 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.m @@ -20,29 +20,8 @@ #import -#import "FBSDKCoreKit+Internal.h" -#import "FBSDKShareConstants.h" #import "FBSDKShareError.h" #import "FBSDKShareLinkContent+Internal.h" -#import "FBSDKShareMediaContent.h" -#import "FBSDKShareOpenGraphContent.h" -#import "FBSDKShareOpenGraphObject.h" -#import "FBSDKSharePhoto.h" -#import "FBSDKSharePhotoContent.h" -#import "FBSDKShareVideo.h" -#import "FBSDKShareVideoContent.h" -#import "FBSDKSharingContent.h" - -#if !TARGET_OS_TV -#import "FBSDKCameraEffectArguments+Internal.h" -#import "FBSDKCameraEffectTextures+Internal.h" -#import "FBSDKShareMessengerContentUtility.h" -#import "FBSDKShareMessengerGenericTemplateContent.h" -#import "FBSDKShareMessengerGenericTemplateElement.h" -#import "FBSDKShareMessengerMediaTemplateContent.h" -#import "FBSDKShareMessengerOpenGraphMusicTemplateContent.h" -#import "FBSDKShareMessengerURLActionButton.h" -#endif @implementation FBSDKShareUtility @@ -138,31 +117,32 @@ error:(NSError *__autoreleasing *)errorRef { NSString *methodName = nil; - NSDictionary *parameters = nil; + NSMutableDictionary *parameters = nil; if ([content isKindOfClass:[FBSDKShareOpenGraphContent class]]) { methodName = @"share_open_graph"; FBSDKShareOpenGraphContent *openGraphContent = (FBSDKShareOpenGraphContent *)content; FBSDKShareOpenGraphAction *action = openGraphContent.action; - NSDictionary *properties = [self _convertOpenGraphValueContainer:action requireNamespace:NO]; + NSDictionary *properties = [self convertOpenGraphValueContainer:action requireNamespace:NO]; NSString *propertiesJSON = [FBSDKInternalUtility JSONStringForObject:properties error:errorRef invalidObjectHandler:NULL]; - parameters = @{ - @"action_type": action.actionType, - @"action_properties": propertiesJSON, - }; - } else if ([content isKindOfClass:[FBSDKShareLinkContent class]]) { - FBSDKShareLinkContent *linkContent = (FBSDKShareLinkContent *)content; + parameters = [NSMutableDictionary new]; + [FBSDKInternalUtility dictionary:parameters setObject:action.actionType forKey:@"action_type"]; + [FBSDKInternalUtility dictionary:parameters setObject:propertiesJSON forKey:@"action_properties"]; + } else { methodName = @"share"; - if (linkContent.contentURL != nil) { - parameters = @{ @"href": linkContent.contentURL.absoluteString }; + if ([content isKindOfClass:[FBSDKShareLinkContent class]]) { + FBSDKShareLinkContent *const linkContent = (FBSDKShareLinkContent *)content; + if (linkContent.contentURL != nil) { + parameters = [NSMutableDictionary new]; + [FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentURL.absoluteString forKey:@"href"]; + [FBSDKInternalUtility dictionary:parameters setObject:linkContent.quote forKey:@"quote"]; + } } } - NSString *hashtagString = [self hashtagStringFromHashtag:content.hashtag]; - if (hashtagString != nil) { - NSMutableDictionary *mutableParameters = [parameters mutableCopy]; - [FBSDKInternalUtility dictionary:mutableParameters setObject:hashtagString forKey:@"hashtag"]; - parameters = [mutableParameters copy]; + if (parameters) { + NSString *hashtagString = [self hashtagStringFromHashtag:content.hashtag]; + [FBSDKInternalUtility dictionary:parameters setObject:hashtagString forKey:@"hashtag"]; } if (methodNameRef != NULL) { *methodNameRef = methodName; @@ -180,25 +160,20 @@ completionHandler:(void(^)(BOOL, NSString *, NSDictionary *))completion { void(^stageImageCompletion)(NSArray *) = ^(NSArray *stagedURIs) { - NSString *methodName = @"share"; - NSMutableDictionary *parameters = [[FBSDKShareUtility parametersForShareContent:content - shouldFailOnDataError:NO] mutableCopy]; + NSString *const methodName = @"share"; + NSMutableDictionary *const parameters = + [[FBSDKShareUtility parametersForShareContent:content + bridgeOptions:FBSDKShareBridgeOptionsWebHashtag + shouldFailOnDataError:NO] mutableCopy]; [parameters removeObjectForKey:@"photos"]; - NSString *stagedURIJSONString = [FBSDKInternalUtility JSONStringForObject:stagedURIs - error:nil - invalidObjectHandler:NULL]; + NSString *const stagedURIJSONString = [FBSDKInternalUtility JSONStringForObject:stagedURIs + error:nil + invalidObjectHandler:NULL]; [FBSDKInternalUtility dictionary:parameters setObject:stagedURIJSONString forKey:@"media"]; - NSString *hashtagString = [self hashtagStringFromHashtag:content.hashtag]; - if (hashtagString != nil) { - [FBSDKInternalUtility dictionary:parameters - setObject:hashtagString - forKey:@"hashtag"]; - } - if (completion != NULL) { completion(YES, methodName, [parameters copy]); } @@ -238,18 +213,18 @@ } } -+ (NSDictionary *)convertOpenGraphValues:(NSDictionary *)dictionary ++ (NSDictionary *)convertOpenGraphValues:(NSDictionary *)dictionary { - NSMutableDictionary *convertedDictionary = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *convertedDictionary = [[NSMutableDictionary alloc] init]; [dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { [FBSDKInternalUtility dictionary:convertedDictionary setObject:[self convertOpenGraphValue:obj] forKey:key]; }]; return [convertedDictionary copy]; } -+ (NSDictionary *)feedShareDictionaryForContent:(id)content ++ (NSDictionary *)feedShareDictionaryForContent:(id)content { - NSMutableDictionary *parameters = nil; + NSMutableDictionary *parameters = nil; #pragma clang diagnostic pop #pragma clang diagnostic ignored "-Wdeprecated-declarations" if ([content isKindOfClass:[FBSDKShareLinkContent class]]) { @@ -298,34 +273,44 @@ return image; } -+ (NSDictionary *)parametersForShareContent:(id)shareContent - shouldFailOnDataError:(BOOL)shouldFailOnDataError ++ (NSDictionary *)parametersForShareContent:(id)shareContent + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions + shouldFailOnDataError:(BOOL)shouldFailOnDataError { - NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init]; - [self _addToParameters:parameters forShareContent:shareContent]; - parameters[@"dataFailuresFatal"] = @(shouldFailOnDataError); - if ([shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { - [self _addToParameters:parameters forShareLinkContent:(FBSDKShareLinkContent *)shareContent]; - } else if ([shareContent isKindOfClass:[FBSDKSharePhotoContent class]]) { - [self _addToParameters:parameters forSharePhotoContent:(FBSDKSharePhotoContent *)shareContent]; - } else if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { - [self _addToParameters:parameters forShareVideoContent:(FBSDKShareVideoContent *)shareContent]; - } else if ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { - [self _addToParameters:parameters forShareOpenGraphContent:(FBSDKShareOpenGraphContent *)shareContent]; -#if !TARGET_OS_TV - } else if ([shareContent isKindOfClass:[FBSDKShareMessengerGenericTemplateContent class]]) { - [FBSDKShareMessengerContentUtility addToParameters:parameters - forShareMessengerGenericTemplateContent:(FBSDKShareMessengerGenericTemplateContent *)shareContent]; - } else if ([shareContent isKindOfClass:[FBSDKShareMessengerMediaTemplateContent class]]) { - [FBSDKShareMessengerContentUtility addToParameters:parameters - forShareMessengerMediaTemplateContent:(FBSDKShareMessengerMediaTemplateContent *)shareContent]; - } else if ([shareContent isKindOfClass:[FBSDKShareMessengerOpenGraphMusicTemplateContent class]]) { - [FBSDKShareMessengerContentUtility addToParameters:parameters - forShareMessengerOpenGraphMusicTemplateContent:(FBSDKShareMessengerOpenGraphMusicTemplateContent *)shareContent]; - } else if ([shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { - [self _addToParameters:parameters forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)shareContent]; -#endif + NSMutableDictionary *parameters = [[NSMutableDictionary alloc] init]; + + // FBSDKSharingContent parameters + NSString *const hashtagString = [self hashtagStringFromHashtag:shareContent.hashtag]; + if (hashtagString.length > 0) { + // When hashtag support was originally added, the Facebook app supported an array of hashtags. + // This was changed to support a single hashtag; however, the mobile app still expects to receive an array. + // When hashtag support was added to web dialogs, a single hashtag was passed as a string. + if (bridgeOptions & FBSDKShareBridgeOptionsWebHashtag) { + [FBSDKInternalUtility dictionary:parameters setObject:hashtagString forKey:@"hashtag"]; + } else { + [FBSDKInternalUtility dictionary:parameters setObject:@[hashtagString] forKey:@"hashtags"]; + } } + [FBSDKInternalUtility dictionary:parameters setObject:shareContent.pageID forKey:@"pageID"]; + [FBSDKInternalUtility dictionary:parameters setObject:shareContent.shareUUID forKey:@"shareUUID"]; + if ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { + FBSDKShareOpenGraphAction *const action = ((FBSDKShareOpenGraphContent *)shareContent).action; + [action setArray:shareContent.peopleIDs forKey:@"tags"]; + [action setString:shareContent.placeID forKey:@"place"]; + [action setString:shareContent.ref forKey:@"ref"]; + } else { + [FBSDKInternalUtility dictionary:parameters setObject:shareContent.peopleIDs forKey:@"tags"]; + [FBSDKInternalUtility dictionary:parameters setObject:shareContent.placeID forKey:@"place"]; + [FBSDKInternalUtility dictionary:parameters setObject:shareContent.ref forKey:@"ref"]; + } + + parameters[@"dataFailuresFatal"] = @(shouldFailOnDataError); + + // media/destination-specific content parameters + if ([shareContent respondsToSelector:@selector(addToParameters:bridgeOptions:)]) { + [shareContent addToParameters:parameters bridgeOptions:bridgeOptions]; + } + return [parameters copy]; } @@ -372,90 +357,6 @@ } } -#if !TARGET_OS_TV -+ (BOOL)validateAppInviteContent:(FBSDKAppInviteContent *)appInviteContent error:(NSError *__autoreleasing *)errorRef -{ - return ([self _validateRequiredValue:appInviteContent name:@"content" error:errorRef] && - [self _validateRequiredValue:appInviteContent.appLinkURL name:@"appLinkURL" error:errorRef] && - [self _validateNetworkURL:appInviteContent.appLinkURL name:@"appLinkURL" error:errorRef] && - [self _validateNetworkURL:appInviteContent.appInvitePreviewImageURL name:@"appInvitePreviewImageURL" error:errorRef] && - [self validatePromoCodeWithError:appInviteContent error:errorRef]); -} - -+ (BOOL)validatePromoCodeWithError:(FBSDKAppInviteContent *)appInviteContent error:(NSError *__autoreleasing *)errorRef -{ - NSString *promoText = appInviteContent.promotionText; - NSString *promoCode = appInviteContent.promotionCode; - NSMutableCharacterSet *alphanumericWithSpaces = [NSMutableCharacterSet alphanumericCharacterSet]; - [alphanumericWithSpaces formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; - - if ([promoText length] > 0 || [promoCode length] > 0) { - - // Check for validity of promo text and promo code. - if (!([promoText length] > 0 && [promoText length] <= 80)) { - if (errorRef != NULL) { - *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionText" value:promoText message:@"Invalid value for promotionText, promotionText has to be between 1 and 80 characters long."]; - } - return NO; - } - - if (!([promoCode length] <= 10)) { - if (errorRef != NULL) { - *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionCode" value:promoCode message:@"Invalid value for promotionCode, promotionCode has to be between 0 and 10 characters long and is required when promoCode is set."]; - } - return NO; - } - - if ([promoText rangeOfCharacterFromSet:[alphanumericWithSpaces invertedSet]].location != NSNotFound) { - if(errorRef != NULL) { - *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionText" value:promoText message:@"Invalid value for promotionText, promotionText can contain only alphanumeric characters and spaces."]; - } - return NO; - } - - if ([promoCode length] > 0 && [promoCode rangeOfCharacterFromSet:[alphanumericWithSpaces invertedSet]].location != NSNotFound) { - if (errorRef != NULL) { - *errorRef = [FBSDKError invalidArgumentErrorWithName:@"promotionCode" value:promoCode message:@"Invalid value for promotionCode, promotionCode can contain only alphanumeric characters and spaces."]; - } - return NO; - } - - } - - if (errorRef != NULL) { - *errorRef = nil; - } - - return YES; -} - -+ (BOOL)validateShareCameraEffectContent:(FBSDKShareCameraEffectContent *)ShareCameraEffectContent - error:(NSError *__autoreleasing *)errorRef { - NSString *effectID = ShareCameraEffectContent.effectID; - NSCharacterSet* nonDigitCharacters = [[NSCharacterSet decimalDigitCharacterSet] invertedSet]; - - if ([effectID length] > 0) { - if ([effectID rangeOfCharacterFromSet:nonDigitCharacters].location != NSNotFound) { - if (errorRef != NULL) { - *errorRef = [FBSDKError invalidArgumentErrorWithName:@"effectID" - value:effectID - message:@"Invalid value for effectID, effectID can contain only numerical characters."]; - } - return NO; - } - } - - return YES; -} -#endif - -+ (BOOL)validateAssetLibraryURLWithShareVideoContent:(FBSDKShareVideoContent *)videoContent name:(NSString *)name error:(NSError *__autoreleasing *)errorRef -{ - FBSDKShareVideo *video = videoContent.video; - NSURL *videoURL = video.videoURL; - return [self _validateAssetLibraryVideoURL:videoURL name:name error:errorRef]; -} - + (BOOL)validateAssetLibraryURLsWithShareMediaContent:(FBSDKShareMediaContent *)mediaContent name:(NSString *)name error:(NSError *__autoreleasing *)errorRef { for (id media in mediaContent.media) { @@ -469,101 +370,15 @@ return YES; } -#if !TARGET_OS_TV -+ (BOOL)validateGameRequestContent:(FBSDKGameRequestContent *)gameRequestContent error:(NSError *__autoreleasing *)errorRef ++ (BOOL)validateShareContent:(id)shareContent + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions + error:(NSError *__autoreleasing *)errorRef { - if (![self _validateRequiredValue:gameRequestContent name:@"content" error:errorRef] - || ![self _validateRequiredValue:gameRequestContent.message name:@"message" error:errorRef]) { + if (![self validateRequiredValue:shareContent name:@"shareContent" error:errorRef]) { return NO; } - BOOL mustHaveobjectID = gameRequestContent.actionType == FBSDKGameRequestActionTypeSend - || gameRequestContent.actionType == FBSDKGameRequestActionTypeAskFor; - BOOL hasobjectID = [gameRequestContent.objectID length] > 0; - if (mustHaveobjectID ^ hasobjectID) { - if (errorRef != NULL) { - NSString *message = @"The objectID is required when the actionType is either send or askfor."; - *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"objectID" message:message]; - } - return NO; - } - BOOL hasTo = [gameRequestContent.recipients count] > 0; - BOOL hasFilters = gameRequestContent.filters != FBSDKGameRequestFilterNone; - BOOL hasSuggestions = [gameRequestContent.recipientSuggestions count] > 0; - if (hasTo && hasFilters) { - if (errorRef != NULL) { - NSString *message = @"Cannot specify to and filters at the same time."; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"recipients" value:gameRequestContent.recipients message:message]; - } - return NO; - } - if (hasTo && hasSuggestions) { - if (errorRef != NULL) { - NSString *message = @"Cannot specify to and suggestions at the same time."; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"recipients" value:gameRequestContent.recipients message:message]; - } - return NO; - } - - if (hasFilters && hasSuggestions) { - if (errorRef != NULL) { - NSString *message = @"Cannot specify filters and suggestions at the same time."; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"recipientSuggestions" value:gameRequestContent.recipientSuggestions message:message]; - } - return NO; - } - - if ([gameRequestContent.data length] > 255) { - if (errorRef != NULL) { - NSString *message = @"The data cannot be longer than 255 characters"; - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"data" value:gameRequestContent.data message:message]; - } - return NO; - } - - if (errorRef != NULL) { - *errorRef = nil; - } - - return [self _validateArgumentWithName:@"actionType" - value:gameRequestContent.actionType - isIn:@[@(FBSDKGameRequestActionTypeNone), - @(FBSDKGameRequestActionTypeSend), - @(FBSDKGameRequestActionTypeAskFor), - @(FBSDKGameRequestActionTypeTurn)] - error:errorRef] - && [self _validateArgumentWithName:@"filters" - value:gameRequestContent.filters - isIn:@[@(FBSDKGameRequestFilterNone), - @(FBSDKGameRequestFilterAppUsers), - @(FBSDKGameRequestFilterAppNonUsers)] - error:errorRef]; -} -#endif - -+ (BOOL)validateShareContent:(id)shareContent error:(NSError *__autoreleasing *)errorRef -{ - if (![self _validateRequiredValue:shareContent name:@"shareContent" error:errorRef]) { - return NO; - } else if ([shareContent isKindOfClass:[FBSDKShareLinkContent class]]) { - return [self validateShareLinkContent:(FBSDKShareLinkContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKSharePhotoContent class]]) { - return [self validateSharePhotoContent:(FBSDKSharePhotoContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKShareVideoContent class]]) { - return [self validateShareVideoContent:(FBSDKShareVideoContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKShareMediaContent class]]) { - return [self validateShareMediaContent:(FBSDKShareMediaContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { - return [self validateShareOpenGraphContent:(FBSDKShareOpenGraphContent *)shareContent error:errorRef]; -#if !TARGET_OS_TV - } else if ([shareContent isKindOfClass:[FBSDKShareMessengerMediaTemplateContent class]]) { - return [self validateMessengerMediaTemplateContent:(FBSDKShareMessengerMediaTemplateContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKShareMessengerGenericTemplateContent class]]) { - return [self validateMessengerGenericTemplateContent:(FBSDKShareMessengerGenericTemplateContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKShareMessengerOpenGraphMusicTemplateContent class]]) { - return [self validateMessengerOpenGraphMusicTemplateContent:(FBSDKShareMessengerOpenGraphMusicTemplateContent *)shareContent error:errorRef]; - } else if ([shareContent isKindOfClass:[FBSDKShareCameraEffectContent class]]) { - return [self validateShareCameraEffectContent:(FBSDKShareCameraEffectContent *)shareContent error:errorRef]; -#endif + else if ([shareContent respondsToSelector:@selector(validateWithOptions:error:)]) { + return [shareContent validateWithOptions:bridgeOptions error:errorRef]; } else { if (errorRef != NULL) { *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"shareContent" value:shareContent message:nil]; @@ -572,181 +387,6 @@ } } -+ (BOOL)validateShareOpenGraphContent:(FBSDKShareOpenGraphContent *)openGraphContent - error:(NSError *__autoreleasing *)errorRef -{ - FBSDKShareOpenGraphAction *action = openGraphContent.action; - NSString *previewPropertyName = openGraphContent.previewPropertyName; - id object = action[previewPropertyName]; - return ([self _validateRequiredValue:openGraphContent name:@"shareContent" error:errorRef] && - [self _validateRequiredValue:action name:@"action" error:errorRef] && - [self _validateRequiredValue:previewPropertyName name:@"previewPropertyName" error:errorRef] && - [self _validateRequiredValue:object name:previewPropertyName error:errorRef]); -} - -+ (BOOL)validateSharePhotoContent:(FBSDKSharePhotoContent *)photoContent error:(NSError *__autoreleasing *)errorRef -{ - NSArray *photos = photoContent.photos; - if (![self _validateRequiredValue:photoContent name:@"shareContent" error:errorRef] || - ![self _validateArray:photos minCount:1 maxCount:6 name:@"photos" error:errorRef]) { - return NO; - } - for (FBSDKSharePhoto *photo in photos) { - if (!photo.image) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"photos" - value:photos - message:@"photos must have UIImages"]; - } - return NO; - } - } - return YES; -} - -+ (BOOL)validateShareMediaContent:(FBSDKShareMediaContent *)mediaContent error:(NSError *__autoreleasing *)errorRef -{ - NSArray *medias = mediaContent.media; - if (![self _validateRequiredValue:mediaContent name:@"shareContent" error:errorRef] || - ![self _validateArray:medias minCount:1 maxCount:20 name:@"photos" error:errorRef]) { - return NO; - } - int videoCount = 0; - for (id media in medias) { - if ([media isKindOfClass:[FBSDKSharePhoto class]]) { - FBSDKSharePhoto *photo = (FBSDKSharePhoto *)media; - if (!photo.image) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"media" - value:media - message:@"photos must have UIImages"]; - } - return NO; - } - } else if ([media isKindOfClass:[FBSDKShareVideo class]]) { - if (videoCount > 0) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"media" - value:media - message:@"Only 1 video is allowed"]; - return NO; - } - } - videoCount++; - FBSDKShareVideo *video = (FBSDKShareVideo *)media; - NSURL *videoURL = video.videoURL; - if (![self _validateRequiredValue:video name:@"video" error:errorRef] && - [self _validateRequiredValue:videoURL name:@"videoURL" error:errorRef]) { - return NO; - } - - } else { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"media" - value:media - message:@"Only FBSDKSharePhoto and FBSDKShareVideo are allowed in `media` property"]; - } - return NO; - } - } - return YES; -} - -+ (BOOL)validateShareLinkContent:(FBSDKShareLinkContent *)linkContent error:(NSError *__autoreleasing *)errorRef -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - return ([self _validateRequiredValue:linkContent name:@"shareContent" error:errorRef] && - [self _validateNetworkURL:linkContent.contentURL name:@"contentURL" error:errorRef] && - [self _validateNetworkURL:linkContent.imageURL name:@"imageURL" error:errorRef]); -#pragma clang diagnostic pop -} - -+ (BOOL)validateShareVideoContent:(FBSDKShareVideoContent *)videoContent error:(NSError *__autoreleasing *)errorRef -{ - FBSDKShareVideo *video = videoContent.video; - NSURL *videoURL = video.videoURL; - return ([self _validateRequiredValue:videoContent name:@"videoContent" error:errorRef] && - [self _validateRequiredValue:video name:@"video" error:errorRef] && - [self _validateRequiredValue:videoURL name:@"videoURL" error:errorRef]); -} - -#if !TARGET_OS_TV - -+ (BOOL)validateMessengerMediaTemplateContent:(FBSDKShareMessengerMediaTemplateContent *)messengerMediaTemplateContent - error:(NSError *__autoreleasing *)errorRef -{ - if (!messengerMediaTemplateContent.mediaURL && !messengerMediaTemplateContent.attachmentID) { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError requiredArgumentErrorWithName:@"attachmentID/mediaURL" message:@"Must specify either attachmentID or mediaURL"]; - } - return NO; - } - return [self _validateMessengerActionButton:messengerMediaTemplateContent.button - isDefaultActionButton:NO - pageID:messengerMediaTemplateContent.pageID - error:errorRef]; -} - -+ (BOOL)validateMessengerGenericTemplateContent:(FBSDKShareMessengerGenericTemplateContent *)genericTemplateContent - error:(NSError *__autoreleasing *)errorRef -{ - return [self _validateRequiredValue:genericTemplateContent.element.title name:@"element.title" error:errorRef] && - [self _validateMessengerActionButton:genericTemplateContent.element.defaultAction - isDefaultActionButton:YES - pageID:genericTemplateContent.pageID - error:errorRef] && - [self _validateMessengerActionButton:genericTemplateContent.element.button - isDefaultActionButton:NO - pageID:genericTemplateContent.pageID - error:errorRef]; -} - -+ (BOOL)validateMessengerOpenGraphMusicTemplateContent:(FBSDKShareMessengerOpenGraphMusicTemplateContent *)openGraphMusicTemplateContent - error:(NSError *__autoreleasing *)errorRef -{ - return [self _validateRequiredValue:openGraphMusicTemplateContent.url name:@"url" error:errorRef] && - [self _validateRequiredValue:openGraphMusicTemplateContent.pageID name:@"pageID" error:errorRef] && - [self _validateMessengerActionButton:openGraphMusicTemplateContent.button - isDefaultActionButton:NO - pageID:openGraphMusicTemplateContent.pageID - error:errorRef]; -} - -+ (BOOL)_validateMessengerActionButton:(id)button - isDefaultActionButton:(BOOL)isDefaultActionButton - pageID:(NSString *)pageID - error:(NSError *__autoreleasing *)errorRef -{ - if (!button) { - return YES; - } - - if ([button isKindOfClass:[FBSDKShareMessengerURLActionButton class]]) { - return [self _validateURLActionButton:(FBSDKShareMessengerURLActionButton *)button - isDefaultActionButton:isDefaultActionButton - pageID:pageID - error:errorRef]; - } else { - if (errorRef != NULL) { - *errorRef = [FBSDKShareError invalidArgumentErrorWithName:@"buttons" value:button message:nil]; - } - return NO; - } -} - -+ (BOOL)_validateURLActionButton:(FBSDKShareMessengerURLActionButton *)urlActionButton - isDefaultActionButton:(BOOL)isDefaultActionButton - pageID:(NSString *)pageID - error:(NSError *__autoreleasing *)errorRef -{ - return [self _validateRequiredValue:urlActionButton.url name:@"button.url" error:errorRef] && - (!isDefaultActionButton ? [self _validateRequiredValue:urlActionButton.title name:@"button.title" error:errorRef] : YES) && - (urlActionButton.isMessengerExtensionURL ? [self _validateRequiredValue:pageID name:@"content pageID" error:errorRef] : YES); -} - -#endif - + (BOOL)shareMediaContentContainsPhotosAndVideos:(FBSDKShareMediaContent *)shareMediaContent { BOOL containsPhotos = NO; @@ -765,131 +405,12 @@ #pragma mark - Helper Methods -+ (void)_addToParameters:(NSMutableDictionary *)parameters forShareContent:(id)shareContent -{ - NSString *hashtagString = [self hashtagStringFromHashtag:shareContent.hashtag]; - if (hashtagString != nil) { - [FBSDKInternalUtility dictionary:parameters setObject:@[hashtagString] forKey:@"hashtags"]; - } - - [FBSDKInternalUtility dictionary:parameters setObject:shareContent.pageID forKey:@"pageID"]; - [FBSDKInternalUtility dictionary:parameters setObject:shareContent.shareUUID forKey:@"shareUUID"]; - - if ([shareContent isKindOfClass:[FBSDKShareOpenGraphContent class]]) { - FBSDKShareOpenGraphAction *action = ((FBSDKShareOpenGraphContent *)shareContent).action; - [action setArray:shareContent.peopleIDs forKey:@"tags"]; - [action setString:shareContent.placeID forKey:@"place"]; - [action setString:shareContent.ref forKey:@"ref"]; - } else { - [FBSDKInternalUtility dictionary:parameters setObject:shareContent.peopleIDs forKey:@"tags"]; - [FBSDKInternalUtility dictionary:parameters setObject:shareContent.placeID forKey:@"place"]; - [FBSDKInternalUtility dictionary:parameters setObject:shareContent.ref forKey:@"ref"]; - } -} - -+ (void)_addToParameters:(NSMutableDictionary *)parameters -forShareOpenGraphContent:(FBSDKShareOpenGraphContent *)openGraphContent -{ - NSString *previewPropertyName = [self getOpenGraphNameAndNamespaceFromFullName:openGraphContent.previewPropertyName namespace:nil]; - [FBSDKInternalUtility dictionary:parameters - setObject:previewPropertyName - forKey:@"previewPropertyName"]; - [FBSDKInternalUtility dictionary:parameters setObject:openGraphContent.action.actionType forKey:@"actionType"]; - [FBSDKInternalUtility dictionary:parameters - setObject:[self _convertOpenGraphValueContainer:openGraphContent.action requireNamespace:NO] - forKey:@"action"]; -} - -+ (void)_addToParameters:(NSMutableDictionary *)parameters - forSharePhotoContent:(FBSDKSharePhotoContent *)photoContent -{ - [FBSDKInternalUtility dictionary:parameters - setObject:[photoContent.photos valueForKeyPath:@"image"] - forKey:@"photos"]; -} - -+ (void)_addToParameters:(NSMutableDictionary *)parameters - forShareLinkContent:(FBSDKShareLinkContent *)linkContent -{ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - [FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentURL forKey:@"link"]; - [FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentTitle forKey:@"name"]; - [FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentDescription forKey:@"description"]; - [FBSDKInternalUtility dictionary:parameters setObject:linkContent.imageURL forKey:@"picture"]; - - /** - Pass link parameter as "messenger_link" due to versioning requirements for message dialog flow. - We will only use the new share flow we developed if messenger_link is present, not link. - */ - [FBSDKInternalUtility dictionary:parameters setObject:linkContent.contentURL forKey:@"messenger_link"]; -#pragma clang diagnostic pop -} - -+ (void)_addToParameters:(NSMutableDictionary *)parameters - forShareVideoContent:(FBSDKShareVideoContent *)videoContent -{ - NSMutableDictionary *videoParameters = [[NSMutableDictionary alloc] init]; - FBSDKShareVideo *video = videoContent.video; - NSURL *videoURL = video.videoURL; - if (videoURL) { - videoParameters[@"assetURL"] = videoURL; - } - [FBSDKInternalUtility dictionary:videoParameters - setObject:[self _convertPhoto:videoContent.previewPhoto] - forKey:@"previewPhoto"]; - parameters[@"video"] = videoParameters; -} - -#if !TARGET_OS_TV -+ (void)_addToParameters:(NSMutableDictionary *)parameters -forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent -{ - [FBSDKInternalUtility dictionary:parameters - setObject:cameraEffectContent.effectID - forKey:@"effect_id"]; - [FBSDKInternalUtility dictionary:parameters - setObject:[self _convertCameraEffectArguments:cameraEffectContent.effectArguments] - forKey:@"effect_arguments"]; - [FBSDKInternalUtility dictionary:parameters - setObject:[self _convertCameraEffectTextures:cameraEffectContent.effectTextures] - forKey:@"effect_textures"]; -} - -+ (NSString *)_convertCameraEffectArguments:(FBSDKCameraEffectArguments *)arguments -{ - // Convert a camera effect arguments container to a JSON string. - if (arguments == nil) { - return nil; - } - return [FBSDKInternalUtility JSONStringForObject:[arguments allArguments] - error:NULL - invalidObjectHandler:NULL]; -} - -+ (NSData *)_convertCameraEffectTextures:(FBSDKCameraEffectTextures *)textures -{ - if (textures == nil) { - return nil; - } - // Convert the entire textures dictionary into one NSData, because - // the existing API protocol only allows one value to be put into the pasteboard. - NSDictionary *texturesDict = [textures allTextures]; - NSMutableDictionary *texturesDataDict = [NSMutableDictionary dictionaryWithCapacity:texturesDict.count]; - [texturesDict enumerateKeysAndObjectsUsingBlock:^(NSString *key, UIImage *img, BOOL *stop) { - // Convert UIImages to NSData, because UIImage is not archivable. - [texturesDataDict setObject:UIImagePNGRepresentation(img) forKey:key]; - }]; - return [NSKeyedArchiver archivedDataWithRootObject:texturesDataDict]; -} -#endif - + (id)_convertObject:(id)object { if ([object isKindOfClass:[FBSDKShareOpenGraphValueContainer class]]) { - object = [self _convertOpenGraphValueContainer:(FBSDKShareOpenGraphValueContainer *)object requireNamespace:YES]; + object = [self convertOpenGraphValueContainer:(FBSDKShareOpenGraphValueContainer *)object requireNamespace:YES]; } else if ([object isKindOfClass:[FBSDKSharePhoto class]]) { - object = [self _convertPhoto:(FBSDKSharePhoto *)object]; + object = [self convertPhoto:(FBSDKSharePhoto *)object]; } else if ([object isKindOfClass:[NSArray class]]) { NSMutableArray *array = [[NSMutableArray alloc] init]; for (id item in (NSArray *)object) { @@ -900,11 +421,11 @@ forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent return object; } -+ (NSDictionary *)_convertOpenGraphValueContainer:(FBSDKShareOpenGraphValueContainer *)container - requireNamespace:(BOOL)requireNamespace ++ (NSDictionary *)convertOpenGraphValueContainer:(FBSDKShareOpenGraphValueContainer *)container + requireNamespace:(BOOL)requireNamespace { - NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; - NSMutableDictionary *data = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *data = [[NSMutableDictionary alloc] init]; [container enumerateKeysAndObjectsUsingBlock:^(NSString *key, id object, BOOL *stop) { // if we have an FBSDKShareOpenGraphObject and a type, then we are creating a new object instance; set the flag if ([key isEqualToString:@"og:type"] && [container isKindOfClass:[FBSDKShareOpenGraphObject class]]) { @@ -954,12 +475,12 @@ forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent return fullName; } -+ (NSDictionary *)_convertPhoto:(FBSDKSharePhoto *)photo ++ (NSDictionary *)convertPhoto:(FBSDKSharePhoto *)photo { if (!photo) { return nil; } - NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; dictionary[@"user_generated"] = @(photo.userGenerated); [FBSDKInternalUtility dictionary:dictionary setObject:photo.caption forKey:@"caption"]; @@ -1081,11 +602,11 @@ forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent } } -+ (BOOL)_validateArray:(NSArray *)array - minCount:(NSUInteger)minCount - maxCount:(NSUInteger)maxCount - name:(NSString *)name - error:(NSError *__autoreleasing *)errorRef ++ (BOOL)validateArray:(NSArray *)array + minCount:(NSUInteger)minCount + maxCount:(NSUInteger)maxCount + name:(NSString *)name + error:(NSError *__autoreleasing *)errorRef { NSUInteger count = [array count]; if ((count < minCount) || (count > maxCount)) { @@ -1139,7 +660,7 @@ forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent return YES; } -+ (BOOL)_validateNetworkURL:(NSURL *)URL name:(NSString *)name error:(NSError *__autoreleasing *)errorRef ++ (BOOL)validateNetworkURL:(NSURL *)URL name:(NSString *)name error:(NSError *__autoreleasing *)errorRef { if (!URL || [FBSDKInternalUtility isBrowserURL:URL]) { if (errorRef != NULL) { @@ -1154,7 +675,7 @@ forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent } } -+ (BOOL)_validateRequiredValue:(id)value name:(NSString *)name error:(NSError *__autoreleasing *)errorRef ++ (BOOL)validateRequiredValue:(id)value name:(NSString *)name error:(NSError *__autoreleasing *)errorRef { if (!value || ([value isKindOfClass:[NSString class]] && ![(NSString *)value length]) || @@ -1171,10 +692,10 @@ forShareCameraEffectContent:(FBSDKShareCameraEffectContent *)cameraEffectContent return YES; } -+ (BOOL)_validateArgumentWithName:(NSString *)argumentName - value:(NSUInteger)value - isIn:(NSArray *)possibleValues - error:(NSError *__autoreleasing *)errorRef ++ (BOOL)validateArgumentWithName:(NSString *)argumentName + value:(NSUInteger)value + isIn:(NSArray *)possibleValues + error:(NSError *__autoreleasing *)errorRef { for (NSNumber *possibleValue in possibleValues) { if (value == [possibleValue unsignedIntegerValue]) { diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.h b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.h index 53d24a2..66b9961 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.h +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.h @@ -35,10 +35,10 @@ /** Initialize videoUploader - - Parameter videoName: The file name of the video to be uploaded - - Parameter videoSize: The size of the video to be uploaded - - Parameter parameters: Optional parameters for video uploads. See Graph API documentation for the full list of parameters https://developers.facebook.com/docs/graph-api/reference/video - - Parameter delegate: Receiver's delegate + @param videoName The file name of the video to be uploaded + @param videoSize The size of the video to be uploaded + @param parameters Optional parameters for video uploads. See Graph API documentation for the full list of parameters https://developers.facebook.com/docs/graph-api/reference/video + @param delegate Receiver's delegate */ - (instancetype)initWithVideoName:(NSString *)videoName videoSize:(NSUInteger)videoSize parameters:(NSDictionary *)parameters delegate:(id)delegate NS_DESIGNATED_INITIALIZER; @@ -81,23 +81,23 @@ NS_DESIGNATED_INITIALIZER; /** get chunk of the video to be uploaded in 'NSData' format - - Parameter videoUploader: The `FBSDKVideoUploader` object which is performing the upload process - - Parameter startOffset: The start offset of video chunk to be uploaded - - Parameter endOffset: The end offset of video chunk being to be uploaded + @param videoUploader The `FBSDKVideoUploader` object which is performing the upload process + @param startOffset The start offset of video chunk to be uploaded + @param endOffset The end offset of video chunk being to be uploaded */ - (NSData *)videoChunkDataForVideoUploader:(FBSDKVideoUploader *)videoUploader startOffset:(NSUInteger) startOffset endOffset:(NSUInteger) endOffset; /** Notify the delegate that upload process success. - - Parameter videoUploader: The `FBSDKVideoUploader` object which is performing the upload process - - Parameter results: The result from successful upload + @param videoUploader The `FBSDKVideoUploader` object which is performing the upload process + @param results The result from successful upload */ - (void)videoUploader:(FBSDKVideoUploader *)videoUploader didCompleteWithResults:(NSDictionary *)results; /** Notify the delegate that upload process fails. - - Parameter videoUploader: The `FBSDKVideoUploader` object which is performing the upload process - - Parameter error: The error object from unsuccessful upload + @param videoUploader The `FBSDKVideoUploader` object which is performing the upload process + @param error The error object from unsuccessful upload */ - (void)videoUploader:(FBSDKVideoUploader *)videoUploader didFailWithError:(NSError *)error; diff --git a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m index 0864d0c..ccaa016 100644 --- a/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m +++ b/Example/Pods/FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m @@ -87,8 +87,8 @@ static NSString *const FBSDKVideoUploaderEdge = @"videos"; } else if (offsetDictionary == nil) { return; } - _uploadSessionID = uploadSessionID; - _videoID = videoID; + self->_uploadSessionID = uploadSessionID; + self->_videoID = videoID; [self _startTransferRequestWithOffsetDictionary:offsetDictionary]; } }; @@ -131,13 +131,13 @@ static NSString *const FBSDKVideoUploaderEdge = @"videos"; } dispatch_async(dispatch_get_main_queue(), ^{ FBSDKGraphRequestDataAttachment *dataAttachment = [[FBSDKGraphRequestDataAttachment alloc] initWithData:data - filename:_videoName + filename:self->_videoName contentType:nil]; - FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:_graphPath + FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:self->_graphPath parameters:@{ FBSDK_SHARE_VIDEO_UPLOAD_PHASE: FBSDK_SHARE_VIDEO_UPLOAD_PHASE_TRANSFER, FBSDK_SHARE_VIDEO_START_OFFSET: offsetDictionary[FBSDK_SHARE_VIDEO_START_OFFSET], - FBSDK_SHARE_VIDEO_UPLOAD_SESSION_ID: _uploadSessionID, + FBSDK_SHARE_VIDEO_UPLOAD_SESSION_ID: self->_uploadSessionID, FBSDK_SHARE_VIDEO_FILE_CHUNK: dataAttachment, } HTTPMethod:@"POST"]; @@ -178,7 +178,7 @@ static NSString *const FBSDKVideoUploaderEdge = @"videos"; NSMutableDictionary *shareResult = [[NSMutableDictionary alloc] init]; shareResult[FBSDK_SHARE_VIDEO_UPLOAD_SUCCESS] = result[FBSDK_SHARE_VIDEO_UPLOAD_SUCCESS]; shareResult[FBSDK_SHARE_RESULT_COMPLETION_GESTURE_KEY] = FBSDK_SHARE_RESULT_COMPLETION_GESTURE_VALUE_POST; - shareResult[FBSDK_SHARE_VIDEO_ID] = _videoID; + shareResult[FBSDK_SHARE_VIDEO_ID] = self->_videoID; [self.delegate videoUploader:self didCompleteWithResults:shareResult]; } }]; diff --git a/Example/Pods/FBSDKShareKit/README.md b/Example/Pods/FBSDKShareKit/README.md new file mode 100644 index 0000000..1f9c74e --- /dev/null +++ b/Example/Pods/FBSDKShareKit/README.md @@ -0,0 +1,41 @@ +# Facebook SDK for iOS + +This open-source library allows you to integrate Facebook into your iOS app. + +Learn more about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/ios + +NOTE: By default, the Facebook SDK for iOS is installed in ~/Documents/FacebookSDK + +## TRY IT OUT + +1. Download the SDK at or via CocoaPods by adding the 'FBSDKCoreKit', 'FBSDKLoginKit', and 'FBSDKShareKit' pods. +2. Test your install: build and run the project at `~/Documents/FacebookSDK/Samples/Scrumptious/Scrumptious.xcodeproj` +3. Check-out the tutorials available online at: +4. Start coding! Visit for tutorials and reference documentation. + +## FEATURES + +- Login - +- Sharing - +- App Links - +- Graph API - +- Analytics - + +## GIVE FEEDBACK + +Please report bugs or issues to + +You can also join the [Facebook Developers Group on Facebook](https://www.facebook.com/groups/fbdevelopers/) or ask questions on [Stack Overflow](http://facebook.stackoverflow.com) + +## LICENSE + +See the [LICENSE](LICENSE) file. + +## DEVELOPER TERMS + +- By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our [Data Use Policy](https://www.facebook.com/about/privacy/), including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook. +- You may limit your sharing of information with us by updating the Insights control in the developer tool `https://developers.facebook.com/apps/{app_id}/settings/advanced`. +- If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13. +- You agree to comply with all applicable laws and regulations and also agree to our Terms , including our Platform Policies .and Advertising Guidelines, as applicable . + +By using the Facebook SDK for iOS you agree to these terms. diff --git a/Example/Pods/FBSDKShareKit/README.mdown b/Example/Pods/FBSDKShareKit/README.mdown deleted file mode 100644 index 4e6580c..0000000 --- a/Example/Pods/FBSDKShareKit/README.mdown +++ /dev/null @@ -1,46 +0,0 @@ -Facebook SDK for iOS -==================== - -This open-source library allows you to integrate Facebook into your iOS app. - -Learn more about the provided samples, documentation, integrating the SDK into your app, accessing source code, and more at https://developers.facebook.com/docs/ios - -NOTE: By default, the Facebook SDK for iOS is installed in ~/Documents/FacebookSDK - -TRY IT OUT ----------- -1. Download the SDK at https://developers.facebook.com/docs/ios or via CocoaPods by adding the 'FBSDKCoreKit', 'FBSDKLoginKit', and 'FBSDKShareKit' pods. -2. Test your install: build and run the project at ~/Documents/FacebookSDK/Samples/Scrumptious/Scrumptious.xcodeproj -3. Check-out the tutorials available online at: https://developers.facebook.com/docs/ios/getting-started -4. Start coding! Visit https://developers.facebook.com/docs/ios for tutorials and reference documentation. - -FEATURES --------- -* Login - https://developers.facebook.com/docs/facebook-login -* Sharing - https://developers.facebook.com/docs/sharing -* App Links - https://developers.facebook.com/docs/applinks -* Graph API - https://developers.facebook.com/docs/ios/graph -* Analytics - https://developers.facebook.com/docs/analytics - -GIVE FEEDBACK -------------- -Please report bugs or issues to https://developers.facebook.com/bugs/ - -You can also join the Facebook Developers Group on Facebook (https://www.facebook.com/groups/fbdevelopers/) or ask questions on Stack Overflow (http://facebook.stackoverflow.com) - -LICENSE -------- -See the LICENSE file. - -DEVELOPER TERMS ---------------- - -- By enabling Facebook integrations, including through this SDK, you can share information with Facebook, including information about people’s use of your app. Facebook will use information received in accordance with our Data Use Policy [https://www.facebook.com/about/privacy/], including to provide you with insights about the effectiveness of your ads and the use of your app. These integrations also enable us and our partners to serve ads on and off Facebook. - -- You may limit your sharing of information with us by updating the Insights control in the developer tool [https://developers.facebook.com/apps/{app_id}/settings/advanced]. - -- If you use a Facebook integration, including to share information with us, you agree and confirm that you have provided appropriate and sufficiently prominent notice to and obtained the appropriate consent from your users regarding such collection, use, and disclosure (including, at a minimum, through your privacy policy). You further agree that you will not share information with us about children under the age of 13. - -- You agree to comply with all applicable laws and regulations and also agree to our Terms , including our Platform Policies .and Advertising Guidelines, as applicable . - -By using the Facebook SDK for iOS you agree to these terms. diff --git a/Example/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h b/Example/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h new file mode 120000 index 0000000..487b3fe --- /dev/null +++ b/Example/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFCompatibilityMacros.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppEventsUninstall.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppEventsUninstall.h new file mode 120000 index 0000000..4d75da5 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppEventsUninstall.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLink.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLink.h new file mode 120000 index 0000000..0550510 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLink.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkNavigation.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkNavigation.h new file mode 120000 index 0000000..db857a2 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkNavigation.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkResolving.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkResolving.h new file mode 120000 index 0000000..3bbab2b --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkResolving.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolving.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h new file mode 120000 index 0000000..93492bc --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h new file mode 120000 index 0000000..71947d8 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView_Internal.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView_Internal.h new file mode 120000 index 0000000..d513229 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView_Internal.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLinkReturnToRefererView_Internal.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkTarget.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkTarget.h new file mode 120000 index 0000000..6f43bba --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLinkTarget.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLink_Internal.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLink_Internal.h new file mode 120000 index 0000000..a22a22f --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKAppLink_Internal.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLink_Internal.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessMacros.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessMacros.h new file mode 120000 index 0000000..705deb9 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessMacros.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessMacros.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessParameterComponent.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessParameterComponent.h new file mode 120000 index 0000000..4ad3bf4 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessParameterComponent.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessPathComponent.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessPathComponent.h new file mode 120000 index 0000000..cda0936 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKCodelessPathComponent.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKEventBinding.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKEventBinding.h new file mode 120000 index 0000000..fb74b39 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKEventBinding.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKEventBindingManager.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKEventBindingManager.h new file mode 120000 index 0000000..ec9a750 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKEventBindingManager.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKHybridAppEventsScriptMessageHandler.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKHybridAppEventsScriptMessageHandler.h new file mode 120000 index 0000000..3d41605 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKHybridAppEventsScriptMessageHandler.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKMeasurementEvent.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKMeasurementEvent.h new file mode 120000 index 0000000..67f2e5d --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKMeasurementEvent.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKMeasurementEvent_Internal.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKMeasurementEvent_Internal.h new file mode 120000 index 0000000..062ba71 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKMeasurementEvent_Internal.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMeasurementEvent_Internal.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKSwizzler.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKSwizzler.h new file mode 120000 index 0000000..d2fe7f6 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKSwizzler.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKURL.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKURL.h new file mode 120000 index 0000000..500aabe --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKURL.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKURL_Internal.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKURL_Internal.h new file mode 120000 index 0000000..6d7c249 --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKURL_Internal.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKURL_Internal.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKUserDataStore.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKUserDataStore.h new file mode 120000 index 0000000..4b1ad3e --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKUserDataStore.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKViewHierarchy.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKViewHierarchy.h new file mode 120000 index 0000000..a7f7aea --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKViewHierarchy.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h new file mode 120000 index 0000000..e3ddd5f --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h b/Example/Pods/Headers/Private/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h new file mode 120000 index 0000000..93bea6c --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h @@ -0,0 +1 @@ +../../../../FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h \ No newline at end of file diff --git a/Example/Pods/Headers/Private/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h b/Example/Pods/Headers/Private/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h new file mode 120000 index 0000000..01a430b --- /dev/null +++ b/Example/Pods/Headers/Private/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h @@ -0,0 +1 @@ +../../../../FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h b/Example/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h new file mode 120000 index 0000000..487b3fe --- /dev/null +++ b/Example/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFCompatibilityMacros.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLink.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLink.h new file mode 120000 index 0000000..0550510 --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLink.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkNavigation.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkNavigation.h new file mode 120000 index 0000000..db857a2 --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkNavigation.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkResolving.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkResolving.h new file mode 120000 index 0000000..3bbab2b --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkResolving.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolving.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h new file mode 120000 index 0000000..93492bc --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h new file mode 120000 index 0000000..71947d8 --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkTarget.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkTarget.h new file mode 120000 index 0000000..6f43bba --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKAppLinkTarget.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKMeasurementEvent.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKMeasurementEvent.h new file mode 120000 index 0000000..67f2e5d --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKMeasurementEvent.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKURL.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKURL.h new file mode 120000 index 0000000..500aabe --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKURL.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h new file mode 120000 index 0000000..e3ddd5f --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h @@ -0,0 +1 @@ +../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h b/Example/Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h new file mode 120000 index 0000000..93bea6c --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h @@ -0,0 +1 @@ +../../../../FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h \ No newline at end of file diff --git a/Example/Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h b/Example/Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h new file mode 120000 index 0000000..01a430b --- /dev/null +++ b/Example/Pods/Headers/Public/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h @@ -0,0 +1 @@ +../../../../FBSDKShareKit/FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h \ No newline at end of file diff --git a/Example/Pods/Local Podspecs/PNObject.podspec.json b/Example/Pods/Local Podspecs/PNObject.podspec.json index 79da694..8b6e1dc 100644 --- a/Example/Pods/Local Podspecs/PNObject.podspec.json +++ b/Example/Pods/Local Podspecs/PNObject.podspec.json @@ -1,6 +1,6 @@ { "name": "PNObject", - "version": "2.5.7", + "version": "2.6.0", "summary": "PNObject is a simple replica of the more complex ParseObject", "homepage": "https://github.com/giuseppenucifora/PNObject", "license": { @@ -12,7 +12,7 @@ }, "source": { "git": "https://github.com/giuseppenucifora/PNObject.git", - "tag": "2.5.7" + "tag": "2.6.0" }, "platforms": { "ios": "8.0" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index b8bcf17..45b638f 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,18 +1,18 @@ PODS: - - AFNetworking (3.2.0): - - AFNetworking/NSURLSession (= 3.2.0) - - AFNetworking/Reachability (= 3.2.0) - - AFNetworking/Security (= 3.2.0) - - AFNetworking/Serialization (= 3.2.0) - - AFNetworking/UIKit (= 3.2.0) - - AFNetworking/NSURLSession (3.2.0): + - AFNetworking (3.2.1): + - AFNetworking/NSURLSession (= 3.2.1) + - AFNetworking/Reachability (= 3.2.1) + - AFNetworking/Security (= 3.2.1) + - AFNetworking/Serialization (= 3.2.1) + - AFNetworking/UIKit (= 3.2.1) + - AFNetworking/NSURLSession (3.2.1): - AFNetworking/Reachability - AFNetworking/Security - AFNetworking/Serialization - - AFNetworking/Reachability (3.2.0) - - AFNetworking/Security (3.2.0) - - AFNetworking/Serialization (3.2.0) - - AFNetworking/UIKit (3.2.0): + - AFNetworking/Reachability (3.2.1) + - AFNetworking/Security (3.2.1) + - AFNetworking/Serialization (3.2.1) + - AFNetworking/UIKit (3.2.1): - AFNetworking/NSURLSession - Bolts (1.9.0): - Bolts/AppLinks (= 1.9.0) @@ -26,19 +26,19 @@ PODS: - DJLocalization/Core (= 1.2.2) - DJLocalization/Core (1.2.2) - Expecta (1.0.6) - - FBSDKCoreKit (4.33.0): + - FBSDKCoreKit (4.37.0): - Bolts (~> 1.7) - - FBSDKLoginKit (4.33.0): + - FBSDKLoginKit (4.37.0): - FBSDKCoreKit - - FBSDKShareKit (4.33.0): - - FBSDKCoreKit (~> 4.33.0) + - FBSDKShareKit (4.37.0): + - FBSDKCoreKit (~> 4.37.0) - NSDataAES (0.2.2) - NSDate_Utils (1.1.0): - DJLocalization - - NSString-Helper (1.1.0) + - NSString-Helper (1.2.0) - nv-ios-http-status (0.0.1) - PEAR-FileManager-iOS (1.3.1) - - PNObject (2.5.7): + - PNObject (2.6.0): - AFNetworking - CodFis-Helper - DDDKeychainWrapper @@ -54,11 +54,11 @@ PODS: - RZDataBinding - StrongestPasswordValidator - UIDevice-Utils - - PureLayout (3.0.2) - - RZDataBinding (2.1.0) + - PureLayout (3.1.2) + - RZDataBinding (2.1.1) - Specta (1.0.7) - StrongestPasswordValidator (0.1.2) - - UIDevice-Utils (1.0.8) + - UIDevice-Utils (1.0.9) DEPENDENCIES: - Expecta @@ -67,7 +67,7 @@ DEPENDENCIES: - Specta SPEC REPOS: - https://github.com/CocoaPods/Specs.git: + https://github.com/cocoapods/specs.git: - AFNetworking - Bolts - CodFis-Helper @@ -93,27 +93,27 @@ EXTERNAL SOURCES: :path: "../" SPEC CHECKSUMS: - AFNetworking: 8ac6017b94ea105479f7776e5288e48ae9c59bb4 + AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 Bolts: ac6567323eac61e203f6a9763667d0f711be34c8 CodFis-Helper: 28be4c74d7202542459d72354f59b1215871de87 DDDKeychainWrapper: e681a4daba6448786fa83b4941f58102a33b1897 DJLocalization: 0c84029af375647d4104a42ae36be87194c46c47 Expecta: 3b6bd90a64b9a1dcb0b70aa0e10a7f8f631667d5 - FBSDKCoreKit: 572b047a7e029bc44542bcf8a59414e7ff2b543e - FBSDKLoginKit: 88cb456349cfb3b554427ce4f8b43729d85dfb40 - FBSDKShareKit: b7b5002833a4104fbecad75e8e4e082e91c7a08a + FBSDKCoreKit: fe5f3474499a81963e11e3f3a5c753d0a95ca2b4 + FBSDKLoginKit: 2f7249686d1e30ce8a5ef5400eedf50b3e3df332 + FBSDKShareKit: 52e0083222c38e930eb6878007478326599195c3 NSDataAES: 967ea3337476a80e9838a533c25d570a06855ed0 NSDate_Utils: c858a89da6e204ecf53aca48dbccb4da4d25bc9e - NSString-Helper: 645162758421206f509cb46cbd10023eab7594ed + NSString-Helper: 1c259caa6c845e79e0bb45ee25e34f95d86d2317 nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3 - PNObject: 524a8d655fb150c0da2f262441bbbe24dd9bd8b9 - PureLayout: 4d550abe49a94f24c2808b9b95db9131685fe4cd - RZDataBinding: 6981e90ddaae2f5e02028323b1043f8c31013109 + PNObject: d92d660eb43b9385e7148e42598b8a7d3a785834 + PureLayout: 4634d0b61e3b5021166e8ec7c18e9e0ca0720c8b + RZDataBinding: 289e2fbdce8b9585afef69def83425c5d380ffbd Specta: 3e1bd89c3517421982dc4d1c992503e48bd5fe66 StrongestPasswordValidator: 921e42615bdf353513c6f925bffd4fc29865dbd7 - UIDevice-Utils: a629b53a88c1429cfb4bdff35b18287feebd164a + UIDevice-Utils: 6ba44475416a1e823f214a8ed26fc9a0761db096 PODFILE CHECKSUM: eec9c921f7aee591fd1fdea1fd3e5a191b74a436 -COCOAPODS: 1.5.0 +COCOAPODS: 1.5.3 diff --git a/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.h b/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.h index 20bc79a..be5643c 100644 --- a/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.h +++ b/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.h @@ -32,5 +32,7 @@ - (NSString*) sha512; +- (NSString*) stringByStrippingHTML; + @end diff --git a/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.m b/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.m index a54dd93..ed2f9d0 100644 --- a/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.m +++ b/Example/Pods/NSString-Helper/NSString-Helper/NSString+Helper.m @@ -149,6 +149,14 @@ return hash; } +- (NSString*) stringByStrippingHTML { + NSRange r; + NSString *s = [self copy]; + while ((r = [s rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound) + s = [s stringByReplacingCharactersInRange:r withString:@""]; + return s; +} + @end diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index cbb8776..69c0428 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1873 +7,1950 @@ objects = { /* Begin PBXBuildFile section */ - 008115C4CAB7B2A4BAE64EC13EBD69F6 /* DJLocalizationSystem+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = B012FD5341786FEC822A945DD38BC5BE /* DJLocalizationSystem+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 00C48FAA34154021596A1681ADE15ABD /* FBSDKWebDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = D4BE06F794DDE4D8F461F43F43662D47 /* FBSDKWebDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 01AC2F9280C05C1427DD11620FB7E2E9 /* DDDKeychainWrapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F535CC38FB46B34B1F0B6A0154B8FEB5 /* DDDKeychainWrapper-dummy.m */; }; - 0202994D4B9354DEAA073D61538125C3 /* FBSDKCheckmarkIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D43093031D0B554DE2990C210117E4F /* FBSDKCheckmarkIcon.m */; }; - 0212D7241A0E4E37276F410FDF0DE78E /* FBSDKGameRequestFrictionlessRecipientCache.h in Headers */ = {isa = PBXBuildFile; fileRef = FE768F15CB7991DB6A695BD9C133A8FE /* FBSDKGameRequestFrictionlessRecipientCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0214246CCB1FF7182F7222B9CCDF8FCB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 02322ED6DD078B57A0E5C7A138DCD0C9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 03600C5461C060203FB29627BB46259F /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E8648157EA2EB94673F4D1264EBC03E /* Specta.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0373040B6D0EC3BF9932B60FB8452B11 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = FBEC7FAE517D0CB7D19E2E84E19593FF /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03B1A1E8EB739D0E4B80CFB3DB149A4B /* FBSDKDeviceLoginCodeInfo+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C7683DD547D0D287ACE785ED2C27E1 /* FBSDKDeviceLoginCodeInfo+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 03EE17452DFC57AC830E7212642B037C /* FBSDKDeviceLoginManagerResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F9FF230D618969EDFEFF786CB0A3CB2 /* FBSDKDeviceLoginManagerResult.m */; }; - 041F0924D6BBCA56F44CFFF7C81C509B /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FB875FA00DAA7478E8C1971F2730EE4 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = 372429163979BA15A2EDADE816C74724 /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 4862D9579E20C3B5A373964AAE418433 /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 04F77578A891A374F5397EFB22DC92FD /* CodFis+Helper.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B25BF1F85872BEA3B6510A6CFD0E903 /* CodFis+Helper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 06CA039431382253A3CA5C2F7159423C /* PNObjectFormData.m in Sources */ = {isa = PBXBuildFile; fileRef = 70B6EFE36F3843A1CEBD39DDD20322A1 /* PNObjectFormData.m */; }; - 072E8F29228E95010CF6B82102E59E8A /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1FC3AA2C47EF5AC80A9A0BB86B676342 /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0748A45791811D282D76C93117391BC9 /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 95139E0C13636BE3FD3763F810D92674 /* SPTExample.m */; }; - 07CEA1D649A728B0D963AD1113C98B58 /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 02A6652C6757CCF760ED2B143FE02141 /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 07EFD1CB4B2D99D0BB07C1451A95060C /* FBSDKBridgeAPIProtocolNativeV1.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A5526068EA2F112C6F4B192ADB1CB42 /* FBSDKBridgeAPIProtocolNativeV1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 095876CD710AA008D1FE3D98E6909415 /* AFJSONResponseSerializerWithData.h in Headers */ = {isa = PBXBuildFile; fileRef = A2DF4A77D1D9958186177B1D8CEB3C31 /* AFJSONResponseSerializerWithData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 09848E9B8DF8DBBB1263FBB91DAA264E /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A6A89003DFE79414FD4894C231876D5 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 09C9ACCBEF4015BFC05DDB817FD39F1D /* PNObject+PNObjectPOSTConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 873CFF1D9529B6114BA69362D3FB5F5C /* PNObject+PNObjectPOSTConnection.m */; }; - 0AC841465E3CA33A2D5A18B46C2A7678 /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B985EBD90191181E44E0E19C867D16 /* Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0AFCC1D7286FA658B7B84F4B7C997DA8 /* DDDKeychainWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E0FCC1610D9F2DDA504A8A60366C237 /* DDDKeychainWrapper.m */; }; - 0B0426471AB177385370C3996284BDA2 /* FBSDKTooltipView.m in Sources */ = {isa = PBXBuildFile; fileRef = C6C54D8D7B608810AE7C655861678E9A /* FBSDKTooltipView.m */; }; - 0B067AC8A5A8D93019FCEEB7C599AE63 /* FBSDKApplicationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 77F49D3C75FE6A66EA8D48D4089E4454 /* FBSDKApplicationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0B38F73501E22992A74CC468E6D2DCCF /* FBSDKErrorRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = B4C8E83AE015AEE01FA8E0A5F865DCB1 /* FBSDKErrorRecoveryAttempter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0C8B87202EF8C826FA5EC5E5BDFF7676 /* BFAppLink.h in Headers */ = {isa = PBXBuildFile; fileRef = BAAF1110C8D728E82E84D0AEF44842BE /* BFAppLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0CA6A548721B022615DAA9CFC3FD9EED /* FBSDKShareCameraEffectContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C8EB009AEF23960E7C3004E4AE5CFCD /* FBSDKShareCameraEffectContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0CBF5CAA8F3E1589857BC6CEE5E042F8 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 00AA0805FC9FCA3378BFFD4B31756BE5 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0DAB98D1D9A846CC1872086B751B4876 /* FBSDKSystemAccountStoreAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 15DB97D4559336CAF266A4E21F26CB7A /* FBSDKSystemAccountStoreAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 0EE78689333C13C97ED2BA8F35153B5B /* FBSDKGraphRequestPiggybackManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 282612DD771B926AEB2E32C93140A00B /* FBSDKGraphRequestPiggybackManager.m */; }; - 0F5C566DDDFB79D7A6BCC25D7C67931A /* BFCancellationToken.h in Headers */ = {isa = PBXBuildFile; fileRef = FBF676731846C67268EF1FDB916E1CB0 /* BFCancellationToken.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0FB35A7EBE79FE87DAC1C027ECBBC9CD /* FBSDKBridgeAPIProtocolNativeV1.m in Sources */ = {isa = PBXBuildFile; fileRef = 57FBA8833E223F184CC07E4AC4905C6C /* FBSDKBridgeAPIProtocolNativeV1.m */; }; - 0FB9EAAF34295E7EB74576BE08F883DC /* FBSDKLoginButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 55F64C2002077CF01C4CD6C53465A36C /* FBSDKLoginButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = DE8FB1A851FB17289922D6996C5F4E75 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 108D1A7E0CF19BEBA753645B6516EE75 /* FBSDKAppInviteContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BBBB89CF1EBB7007A035359B45021A3 /* FBSDKAppInviteContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 11057046F67F489338FFE436CDA92771 /* FBSDKSharePhotoContent.h in Headers */ = {isa = PBXBuildFile; fileRef = CB003FB34FC4FCF0D3CBF1D6A51B54E9 /* FBSDKSharePhotoContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1130AB6C88407245C39BC270B8B2F8EE /* FBSDKBoltsMeasurementEventListener.h in Headers */ = {isa = PBXBuildFile; fileRef = FF9060392A2823EC4C8438B150CF4437 /* FBSDKBoltsMeasurementEventListener.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 11E50B9954ADB706F2EB3CD855515723 /* FBSDKErrorRecoveryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A6B25D3D352DE9C7D7A41C7F676EDE97 /* FBSDKErrorRecoveryConfiguration.m */; }; - 12F9BF24AFC735FA7A03B57EED6D3FDC /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D781656D8734E682AD64B0FDEFEA631 /* SPTTestSuite.m */; }; - 13A20BEB134B5E233E5BF9A0955DA99E /* FBSDKGameRequestFrictionlessRecipientCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 4420B6DC2C8DF58B85F95E451C4877AA /* FBSDKGameRequestFrictionlessRecipientCache.m */; }; - 142E434594946BE8EE22C103A4A4BBBB /* FBSDKCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 75005F654BA810A5D83BC0989118938B /* FBSDKCrypto.m */; }; - 14EA2CB39FFB603079950BFCA2AB0205 /* FBSDKLoginManagerLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 804315AD450E2E54BB44402C6955EA3D /* FBSDKLoginManagerLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 15363096BCDA06E6515990074E5AB0C7 /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = F6856040F4AC95416FDF847F1D46CFE5 /* SPTCompiledExample.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 159FAB6CD5082235D0E679171A344443 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 1632478F369494BB32B4FAD96ED5A50E /* FBSDKAppGroupJoinDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC1C356E2E95D8C2A86201754B4EE48 /* FBSDKAppGroupJoinDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1702DB74CC573578862AA584FC9D1632 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A314AC9C76AB31868B8CA34AF3D12586 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1722F83A4D5ECBEDF3E9C9410A259304 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 96648AF618770DBA9E7A683DA7D644FB /* EXPMatchers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 177CC383588858209E669E248DA8A2A1 /* FBSDKShareError.m in Sources */ = {isa = PBXBuildFile; fileRef = 7C27124F63BE8463F15388B031904B01 /* FBSDKShareError.m */; }; - 17889562A613EFB9E8C0CD14947CCC8F /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C3B6DB5D2E0418864593840A7EE3DAF /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1994EE6EAD78C200F8CE50B698594C3D /* PNLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 68758C3411A71AEED45A7CC14C650578 /* PNLocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 19FFFD8E5BE5DC4470D247C683219298 /* FBSDKShareDialogMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B7AD6C7E9CA0ABC034801ED61E54A98 /* FBSDKShareDialogMode.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A018129836D4FBF5ABC554BC8585081 /* VatNumber+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CE187D8382D9259B2DDFC08E2A617C3 /* VatNumber+Helper.m */; }; - 1A33C45DEC9DF24A0F1441C7B7D3B3B9 /* FBSDKShareMessengerURLActionButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F4B886FD9CF8437A74A2CF15898225C /* FBSDKShareMessengerURLActionButton.m */; }; - 1A464F1F359D6E923DAAE4B50CF541A1 /* PNObjectConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = EB3D2F853F93E1C5DD8686BB8FCE0297 /* PNObjectConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A6324F957214F01EFB9F564F736B7E0 /* FBSDKLoginCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = 777794B33457529D02B25D7C08481133 /* FBSDKLoginCompletion.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1A89FE97F30318AA4C8B41A6E2EB0E3F /* FBSDKMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 001A1E462C59380CBDD7A9F3F394596A /* FBSDKMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1B0AA4F65020AC674FB43CA1730AA58F /* FBSDKCloseIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 880C9C38D95BEC002F6315828EAC74D7 /* FBSDKCloseIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1BB8DAE2DE1A3C48ED59C7F15A659D1A /* FBSDKLikeBoxBorderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FE0DE1860F33DA1720ED8D6F1A76831 /* FBSDKLikeBoxBorderView.m */; }; - 1BBB0B4B33484A3A7DADBD71984D586D /* FBSDKLogo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ECD4CBB0E5321BC5F4F62DE24902493 /* FBSDKLogo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1BCC3E6A604AFF6D4069F816F195F503 /* FBSDKShareAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 7124B67A810D5E51E2B94EC46A23305E /* FBSDKShareAPI.m */; }; - 1C140434E35E0C2575626CC3341C936A /* FBSDKCoreKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 928FB45ED54D177E1E51DA076A9BDF17 /* FBSDKCoreKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = 0813CA68F6C1B790E4F01258FC8D29C5 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1CBCA28D2BC787D60E9677EF3B80B298 /* PNObject+PNObjectGETConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 408972FACA5A1B21A155BCAEE932439B /* PNObject+PNObjectGETConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 6579952A48C721B594DD3FB140E4D63F /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1DE838EA276D4912FFF016D71C2D54A2 /* FBSDKCameraEffectTextures+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB9E8D1C4A07C7B2B3457724992A787 /* FBSDKCameraEffectTextures+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E70202A55971EDA1E0010BE6622394C /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 1EDED26B7AF351739C6FF77FB71AE4F4 /* FBSDKLoginError.m in Sources */ = {isa = PBXBuildFile; fileRef = E2C7CDE1B7A82CA60A994CBFBCAC09BE /* FBSDKLoginError.m */; }; - 1F3CDAB1E7FDA534CBDC1B3035348315 /* FBSDKAppEventsDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D8B6902E9BA447BA583ED4D999F0FAF /* FBSDKAppEventsDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1F523591D668302FB565E286E59C9F20 /* FBSDKHashtag.h in Headers */ = {isa = PBXBuildFile; fileRef = BA01EA90E611817BCBA32A34933E449E /* FBSDKHashtag.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1F6AD705BFCC3E200F4F47D03122D218 /* FBSDKErrorConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 537973880D7EAC0F5E37C72602B1D519 /* FBSDKErrorConfiguration.m */; }; - 1FB2718F24F2A209BBCFA22EB54CBD64 /* FBSDKCameraEffectTextures.h in Headers */ = {isa = PBXBuildFile; fileRef = 32B4482C355D667CAC1D1CDA5DD14D8A /* FBSDKCameraEffectTextures.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 21D627D0F76668013363D20C11EFF70B /* PNObjcPassword.m in Sources */ = {isa = PBXBuildFile; fileRef = B52A626CE55E09268E47AAA82D1F702A /* PNObjcPassword.m */; }; - 23A2E45323AB9CB2B488B57F2F4D4F09 /* FBSDKLikeActionControllerCache.h in Headers */ = {isa = PBXBuildFile; fileRef = F863A877B72B5A94C15D7DD4985AD42F /* FBSDKLikeActionControllerCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 240B2559B270C0497F375F56B84C5266 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 551C6F1925FBCCD6B2EFB4A76BC48A16 /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 244079DC57138B7B2000061F01F1DB89 /* FBSDKShareUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = D4FB59AB227BCD0365CC65B949B810BD /* FBSDKShareUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2441DF3E270DE02FE803BF3D74BADF97 /* Bolts-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E85D91E4930905E3E502BEDE26C076A4 /* Bolts-dummy.m */; }; - 24AE365F708C35CE89098DFB2BB75A14 /* FBSDKServerConfiguration+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = F0AA710C0ACE6CA8B0D4357F812FA25F /* FBSDKServerConfiguration+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A2CC1629170211D717DFC4E8B05636A /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B77731117FA78156137A838406C47B /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2579663181BFA8F7DA4B5D7CF8537FC0 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = C50B702AE53AF64B4E658D70EBA8F500 /* UIActivityIndicatorView+AFNetworking.m */; }; - 257FC2F1A0280C9FFC6918D72F9C315B /* FBSDKShareKit.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A02A2E8B47588ADA546E54FAAD1836 /* FBSDKShareKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 25CEA527165A2816B5BAF79D6917DC32 /* FBSDKWebDialogView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F0814CF8CE0088A0A79B9F4E9D478D0 /* FBSDKWebDialogView.m */; }; - 265179F77F5011D2356AF0A42AB3E777 /* AFOAuthCredential.m in Sources */ = {isa = PBXBuildFile; fileRef = FE13F68BA7E00A87F6382640DA4031B8 /* AFOAuthCredential.m */; }; - 267B3752A58076DC30BF01458F61BD20 /* FBSDKLoginKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A66915C1FAFD8FC98C42CD7F3A0D8900 /* FBSDKLoginKit-dummy.m */; }; - 26B19EAA60FEF2859938B7370286C6E3 /* FBSDKShareOpenGraphContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 1183F953E427157333EC5EA5FDAC18C7 /* FBSDKShareOpenGraphContent.m */; }; - 26EE69036F8E1D37693B1CC6F4EE184B /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 71FC61AD0FDAAD372C4E7755E7D8537F /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2858702E979011C83F32DD7417BE3050 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = D8B273CFD57D4FBC4E02D5CF55EFB1FC /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2888B32E78D4F96C3BD0EB8541DBD30B /* RZDataBinding-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C92EFD197F5052AA423BEA1942B6686A /* RZDataBinding-dummy.m */; }; - 289D8661BF9D4F915E7290270C7E4A14 /* CodFis+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C52A633C498C5B925D2C8E4F2DEC800 /* CodFis+Helper.m */; }; - 28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2CB6A420B562E84CB94A07E119DEBAC7 /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 28F0B4DD8AA0EA83E7F2C7092F77E857 /* FBSDKDeviceLoginCodeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = E7873DCC1BB84407C50A10D1B90B52B3 /* FBSDKDeviceLoginCodeInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2929DFF99B3D834EC080FE2817DCA2A5 /* NSDate+NSDate_Util.h in Headers */ = {isa = PBXBuildFile; fileRef = ACAE6C44B6ECBB03450746016DA21448 /* NSDate+NSDate_Util.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2947D51FCCCD7FDE7AFAF60B09311A3D /* FBSDKURLConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = E056BDC209109A2623CC3AB2CD97BFDF /* FBSDKURLConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 294AEF33791FD789B352E9E6312F6B46 /* FBSDKWebDialogView.h in Headers */ = {isa = PBXBuildFile; fileRef = A6EC663243FB2BED127E4E8082285150 /* FBSDKWebDialogView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 29BED9B28393AA051A0F18DDF3F85D5A /* PNUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 3508A777B47A718379F2EAF4270531DF /* PNUser.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 29D221887670387A248AD92AA94253C2 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = FBD8C67393B9005E3F55A1B963ABBACA /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 29F097982C5B14020D46777E22B1A26A /* FBSDKDeviceLoginError.h in Headers */ = {isa = PBXBuildFile; fileRef = 884EFE73A10083B348D8199894723D1D /* FBSDKDeviceLoginError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2B8617C61E5262CCDA2DB453F4CE293F /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = B6E3CA43F481BA38DBF5CA1360CBB260 /* SPTTestSuite.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BB16B8EB53D7BB69F221999106BAC51 /* FBSDKShareOpenGraphContent.h in Headers */ = {isa = PBXBuildFile; fileRef = BA2D79E70180FB3A42824305204BBAA2 /* FBSDKShareOpenGraphContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2C2A3431015AEC77777775D4EFF8608D /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = F2870EF834C5B6EBB351E2F8BBAB2BE7 /* SpectaDSL.m */; }; - 2C59F45A8302BB97F5678A332C14AF24 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F5C7CB06B8A7F032719385A65C676BD /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 2CDD7865D100F1E63906DD8D391995A0 /* FBSDKLoginKit.h in Headers */ = {isa = PBXBuildFile; fileRef = DF7EA5F949AF9CCDB6F93C1F1309ADE0 /* FBSDKLoginKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2D1536865A3B49067D321D285B5E95AA /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 34AC803AB1B00F61B97267AE94FA19F0 /* SPTExcludeGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2E07BF758F5A8F957BBD0E18A3CFFEB9 /* FBSDKConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E658427F0DA66D0DDD7FF90F20CD461 /* FBSDKConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2E38DDB44482F0D44231267FE75B76A3 /* FBSDKBridgeAPIRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DBB7D17636E80D6D124CC3F9B8C66DCA /* FBSDKBridgeAPIRequest.m */; }; - 2F4D84D76B88E9240EF581B84B73AC0A /* FBSDKLoginTooltipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D33CAE52357D386BA99C361695A857A /* FBSDKLoginTooltipView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 303FF43BB4728C97DCEBC908AB4B7BA5 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 82ADDD8E99D37DA4442B97448AEC031D /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3113DC14427E9E70C82CA7112EFD2C01 /* FBSDKAppLinkUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 4DBAD19C62DFC9472078800F22FDDB76 /* FBSDKAppLinkUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31182A7DDE0188775D8275001EDE7F94 /* BFMeasurementEvent_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = CF87CAD4F01E3829F7754FE3E1F41756 /* BFMeasurementEvent_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31865B9117E579EADFEEAABC7FAEB5B7 /* BFCancellationToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 7943FB468D98EB1B48FD1AD8E4A84F4F /* BFCancellationToken.m */; }; - 31CF84406303E5C15F513E34FFAAF194 /* FBSDKAppInviteDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 557B915970B4A4FB6434C1B4DD57CD57 /* FBSDKAppInviteDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 31ED9BD97AF9E62874AF3CDF2F8090CF /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = AE73F8BD4626DC52381CF714E92CF1D4 /* AFNetworkActivityIndicatorManager.m */; }; - 3200889D9198D473744AA2C657F335E8 /* FBSDKSendButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 36369D4A617057E0D854E0E5608DAB8E /* FBSDKSendButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 32433F821DAD5C1A33962AC5A60619DC /* FBSDKShareMessengerURLActionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E848D03B761CD87A502DED275F90A2 /* FBSDKShareMessengerURLActionButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 32A44625A7E4B35D87C47BBD5A22FD9B /* Pods-PNObject_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 73B30F1E60DA52CB98F98C8708976D8F /* Pods-PNObject_Example-dummy.m */; }; - 32DE8BF73DA69143816F16AFC6A7C019 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = CB1E160B643AD77570F62911B3527DEE /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3357E04069C55774690727CB7BCA3A36 /* FBSDKSharePhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 169C5D4D5323138DDAA6DC22FDA63B6D /* FBSDKSharePhoto.m */; }; - 335CCD82F4E8B3CD7AF8CE57EBF36F4F /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = 348D60399CCEEE964C160352A4C569B3 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 340DDB4E9B1DB6B21352E5F5110D33B0 /* FBSDKLikeBoxBorderView.h in Headers */ = {isa = PBXBuildFile; fileRef = 080B2AF9C85B344B7658197E08CB1EB0 /* FBSDKLikeBoxBorderView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3442B34E6408F5B478C44B9017ACB369 /* FBSDKBridgeAPIProtocolWebV2.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B1282E3D7D424C7CCDFC368A8F3EC22 /* FBSDKBridgeAPIProtocolWebV2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3586CB8CA3352CD2652E683CDBCC127E /* FBSDKShareKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 20C253775307C8D9182C2DB498383EE8 /* FBSDKShareKit-dummy.m */; }; - 35B2E91A246CAA3999B355E8765146AC /* FBSDKPaymentObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA1F79BE419604A3EC258CEF7B08EDB /* FBSDKPaymentObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 360867C3FD59B58A5465034762973EE5 /* FBSDKGraphRequestMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = AE63D5241CB313F9D6996BE018E6D27C /* FBSDKGraphRequestMetadata.m */; }; - 3684FF9BA2B323A9F1901E96D92A14E7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 368EBA3575A0E7D8F4177D54663D3A72 /* BFAppLink_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = D564210E06F29F351DC35F6E439CA454 /* BFAppLink_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 37115174864BB38735B8941958164049 /* FBSDKShareMessengerGenericTemplateContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 27039D60F234A3A41286A612DED7EAEA /* FBSDKShareMessengerGenericTemplateContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 37E5DC5EB0E0A194BCFD8A24438CDF4A /* NSString-Helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 557015A8D7ADB6BFC19253DAACF4AD4F /* NSString-Helper-dummy.m */; }; - 38C78D5B87585B9F52B6DBF4E5F9831B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 38F5C3BB16A85DCFE121585D3566DCF4 /* FBSDKShareOpenGraphAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BB3A96F9E175C6A51881067EA55CFA7 /* FBSDKShareOpenGraphAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 39057E210A09B62C58DE7E7F70972E6F /* BFURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 993BC80B3082EAAC630CFCDE4F47E8CD /* BFURL.m */; }; - 391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = C9F74485E52F9ECD4B2D3F74FC7D40F1 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 39A788AE7BB073E400580CDBA9448702 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = CA4074BF7C2F1D321D824E10DD327990 /* SPTCompiledExample.m */; }; - 39C05EA6AFDFD9C3D22E235B495098EF /* FBSDKShareOpenGraphValueContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 213FB0F0D132493C6C675F19BF1F31AC /* FBSDKShareOpenGraphValueContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 39D46BE63E88DA1EF0ED80CC0F3272D5 /* PNInstallation.m in Sources */ = {isa = PBXBuildFile; fileRef = 97334F9A318D4EA1E45EC3E7B4D6EEEC /* PNInstallation.m */; }; - 3AE0BB5EF45F95C48CA1771654BB6748 /* FBSDKLikeObjectType.h in Headers */ = {isa = PBXBuildFile; fileRef = B173B06EBEE58E2A28DFC341055306BA /* FBSDKLikeObjectType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3AEC9213DED095BCF9400F1E51F6A789 /* FBSDKAccessTokenCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B3922116E7142D79F6D39ECFC762958B /* FBSDKAccessTokenCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BBA71B2E9E5B9806E4A00A5915F69F7 /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 0889B0201C8E42BD77B91F9F149596AF /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3BC1D1322B47FCDD09500DEF9FADD824 /* FBSDKDialogConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 3279B928B0F01EFDC56BD4C3F1C80B34 /* FBSDKDialogConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C0EAA54BB34AF1F99A989AD7B92164B /* NSDataAESCipher.h in Headers */ = {isa = PBXBuildFile; fileRef = B9305BCA0574DD317321FB99B22F87C2 /* NSDataAESCipher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3C2E9621A3F17BC8628F77E5985E0C5E /* FBSDKGameRequestContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 49CE81C42545D397D9F3FFF8567CEB54 /* FBSDKGameRequestContent.m */; }; - 3C61C53FF129EA791CFF1A81805C285F /* PNObject+Protected.m in Sources */ = {isa = PBXBuildFile; fileRef = 91DFFD5F597BE0B703594690DB976C8F /* PNObject+Protected.m */; }; - 3CB8197806C4FD2C499740FE6469542F /* FBSDKCloseIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B362515DDFB7C1C52454B91AD368953 /* FBSDKCloseIcon.m */; }; - 3D86BDA6619CA78219BADBE0F0622E70 /* FBSDKLikeControl.h in Headers */ = {isa = PBXBuildFile; fileRef = AAF12D7E466670C7F15FBC80D98098C0 /* FBSDKLikeControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E36C51DAEF4FB31BF0EEA17D9E7D831 /* FBSDKAppEventsStateManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DA3D344DD46CA0327C695662FBBCD45 /* FBSDKAppEventsStateManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3E5E38E786F6517C0D8F74BB572D8985 /* BFURL.h in Headers */ = {isa = PBXBuildFile; fileRef = E24B8A9374EA3DB9AB98A7A563571E15 /* BFURL.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 3F1BBC2ABDADEAF803B8D0682E93BCCB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 3F48A7CEA98E0858C4B000E7921ED413 /* FBSDKMaleSilhouetteIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = FFA766758C3D1A501DDFAD173F7A3BF5 /* FBSDKMaleSilhouetteIcon.m */; }; - 3F5DA9DED896C3C47BE550263F670E31 /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = A845AFCF45CB51E5778C69484BB0FAA5 /* NSLayoutConstraint+PureLayout.m */; }; - 40321611C42DE6FADC6E6AFAD3BFDEB9 /* FBSDKShareError.h in Headers */ = {isa = PBXBuildFile; fileRef = BAA6BC94CBEE6AB035607F36C3583F19 /* FBSDKShareError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 403D987CFE7FA57790EE88ADDCC2A665 /* FBSDKLogo.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C71227AE9EC119983473D14AC389BD2 /* FBSDKLogo.m */; }; - 41C5FD290B3789158E4F10CD957324D1 /* FBSDKShareOpenGraphAction.m in Sources */ = {isa = PBXBuildFile; fileRef = F0D1F528F6374820770BD0C3DDF3369E /* FBSDKShareOpenGraphAction.m */; }; - 423DBBC0C1F266141B9D9F3D94E79235 /* RZDataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = A3A7DE470CF5D4BA311BAA40161F4303 /* RZDataBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 432F435EF444DE072B198F405217EAF3 /* FBSDKAppEventsState.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EA4F8BE1C43C9780BF214A715680C90 /* FBSDKAppEventsState.m */; }; - 43B4BA6508C23EF7B9D6D7198555DDC2 /* FBSDKGraphRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = DEE59BAC099D404B41C80625D3B1B0A5 /* FBSDKGraphRequest.m */; }; - 43FEEA2EDFA087E94EC12EAD64031B1F /* FBSDKLikeButton+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A2EE29A85D6265F578270D0025FEC0 /* FBSDKLikeButton+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4462203E2C3FA51FFB1F2FF23E3ADDA2 /* BFMeasurementEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 068B809842EDCC64FEDE4E2B20B11DA4 /* BFMeasurementEvent.m */; }; - 45412CEE8DC0221E0957EC2148B35D8A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D46E8DBBA17FC311D806A83C6AA7116 /* UIKit.framework */; }; - 456A4A179EA25B48EF96D83896B71AD0 /* FBSDKLoginManagerLoginResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 084679749DA5F6A0CE8B37003A9EC961 /* FBSDKLoginManagerLoginResult.m */; }; - 45A0413B83FBE40F6A15E8889E572709 /* FBSDKDynamicFrameworkLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = E3625BA6271F170DAA63F924E8324A72 /* FBSDKDynamicFrameworkLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 45F2AC996F5AC9402AE6E3FDFD4D4A14 /* FBSDKTimeSpentData.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BD9163C5857F05EAFFB51A771923A99 /* FBSDKTimeSpentData.m */; }; - 464E7715978447706C1C247AF111223A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 47594E5267E1D3296FCBB13536AD1A91 /* FBSDKGraphRequestBody.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A9CB1CDFBBDE25094959FD70DC0F9CC /* FBSDKGraphRequestBody.m */; }; - 4783B227D49175FAF3DF30011F8DCAA3 /* FBSDKShareUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D121F68BD17FEDE3CC7FD0D598DD4BFB /* FBSDKShareUtility.m */; }; - 47A0E45B07A70EAF83C9C04A934F0A79 /* BFCancellationTokenRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A1F63F6ABA390F52F6C3A756E83E5A /* BFCancellationTokenRegistration.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4829063664323B1F4A192D2F345D472C /* PNObject+PNObjectConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D49478D57BB6B6FB40C1ADA4AFE932 /* PNObject+PNObjectConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4879BA2B5D79FE5B2405416BC24AF658 /* PEARFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 91DE027389ED7163D8151BE4F0BE3B51 /* PEARFileManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 488C6ECAF75329F1E94784B35B54BB49 /* FBSDKLoginManagerLoginResult+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5666FCB41D10F40B22FD91CC168B6A1C /* FBSDKLoginManagerLoginResult+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 48AF6A227A7B1255EA2CD77DBC8C2688 /* FBSDKServerConfigurationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AB34ED815CB6807BB9100A0ECEFC9B5 /* FBSDKServerConfigurationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 48E44CD551C3762842C45ADFFFEE1DA4 /* NSData+AES.h in Headers */ = {isa = PBXBuildFile; fileRef = C1A43898CF6E920B815483C8ECEB8A97 /* NSData+AES.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 73C3B38B9A491B81729B9D7573196BC3 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 496CEBD91E685BDEE54BE6D11ED59711 /* BFCancellationTokenSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 89315B8F0B9BDB3ED78EDA1E9C601F50 /* BFCancellationTokenSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 49F7563B9792D3469C613D7FE3DCEF71 /* BFURL_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8FF3547F24F870C97CE700A6F483FE /* BFURL_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4AE621994F307DE19F0753F0BAA77709 /* FBSDKLikeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 32BB5BD3999104BB9168FE8B080A2E5E /* FBSDKLikeButton.m */; }; - 4B2BB61D4B6BEC23134C3AF6D65885DB /* FBSDKDeviceRequestsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C877578B66B30793F1879225EF0BF4 /* FBSDKDeviceRequestsHelper.m */; }; - 4B3D26FDE499B85581293EEB9FD4794C /* FBSDKGameRequestContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4455C38349E291964AEF6C5A5ABA56E6 /* FBSDKGameRequestContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4BD994BE09FE75E3BC1B1583E815C6ED /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F201A371D7DD65D7880B581B5230CA3 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C21A233C82B9BFFED74F772E4D00AD9 /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = ECBC2D4436C3043C14CE27C84A3041FB /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4C2713B09FF4FBE01F73CD6E3AE6F3F7 /* FBSDKCoreKit+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 207ED0282CCE1E1FB66E14B8DFE92CFE /* FBSDKCoreKit+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4D14F2994598C6738DB6E9636FB72D80 /* FBSDKCameraEffectTextures.m in Sources */ = {isa = PBXBuildFile; fileRef = 410947177A7096F2362B6F32FB026CCA /* FBSDKCameraEffectTextures.m */; }; - 4D26F2B460D21D584833EB5653AFCC94 /* FBSDKAccessTokenCacheV3_17.h in Headers */ = {isa = PBXBuildFile; fileRef = 111D24CD3D68D3166C7E2BB3AB4BCB8A /* FBSDKAccessTokenCacheV3_17.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4D2E8DD01DA026065AF8A003803DF03E /* NSString+Helper.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AB104AE0A27358C3D74295A6F6367AD /* NSString+Helper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = A619C2C9A2F566A3CD108ECD6DE3FA81 /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 4F2D0CBFD05820E8463DDC347115FCD7 /* FBSDKBoltsMeasurementEventListener.m in Sources */ = {isa = PBXBuildFile; fileRef = C13C61D44843EE5DADF8BF88E29758AB /* FBSDKBoltsMeasurementEventListener.m */; }; - 4F62A501B7D09BEF900E8D8C7140FAD0 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = AC1FC5DE20154AB18DD64C862281D20A /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 50484442E98BCA09C7C81ACD0EC69848 /* FBSDKUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = BA21F97F78C5110467BF6EB75EFE0B9A /* FBSDKUtility.m */; }; - 507273FDDE385697F93E88203ED67253 /* AFOAuthCredential.h in Headers */ = {isa = PBXBuildFile; fileRef = F997A285593487CF4D2467662618064D /* AFOAuthCredential.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5139CA4CF1A4AF26CDF20776132F06A9 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = F3192F0AD227C94A21279120237BE72A /* SpectaUtility.m */; }; - 514EF7A065CC21FE9259CEBF51A2166E /* FBSDKSharingContent.h in Headers */ = {isa = PBXBuildFile; fileRef = F138D03F719E9BF9D781F74DCA128835 /* FBSDKSharingContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 51701ECBF1223F04730E608CD040D678 /* FBSDKMutableCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F487BD8094EFD7D47A7CB048072AE99 /* FBSDKMutableCopying.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 51BF5FE55C5AEC38C36AD96822268DD7 /* FBSDKBridgeAPIProtocolType.h in Headers */ = {isa = PBXBuildFile; fileRef = 11F8B283B32D13700F22C6D795B41066 /* FBSDKBridgeAPIProtocolType.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 520A813691309DD856F26CDC78F9C551 /* FBSDKAccessTokenCacheV3_21.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD49DB919559DB3785D72DF14E59408 /* FBSDKAccessTokenCacheV3_21.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5275925763CA63F3FA5D34410012EF00 /* PNAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 87AAC9B7E486DDDEEFD4F57F7AECF48F /* PNAddress.m */; }; - 52972CA3747CED8E65CEEC57C6845BE5 /* PNObjectConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = E58254A18A1B3A2F552E1886D9B7BAA2 /* PNObjectConfig.m */; }; - 52A79831D792B2F0B0A6702A31D56F91 /* DJLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F64FC2366C211E511E8E86B2E7BC11E /* DJLocalization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 52C2C9F674EF392C168D5E7E94D062E3 /* FBSDKMath.m in Sources */ = {isa = PBXBuildFile; fileRef = 59BADD36DE74DA9CE12F9ACFEA7EA6C7 /* FBSDKMath.m */; }; - 5329BE09734B1F03EF22BE39A97D51DD /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 470B35F64248BEB05588F62DB601CE9F /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 54920986F622D864E2E0291541436AB1 /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 893400F4AFA174150B0DAEF9FC9D6F74 /* Specta-dummy.m */; }; - 549DF790F06617A9D270895115A1B545 /* FBSDKVideoUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = EC063EB066459DB3FCBFE89385252843 /* FBSDKVideoUploader.m */; }; - 54C29E2C954D773D294C6D9875F4F41A /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 493F17B24C9FE3BE784DB5751D4ED86F /* SPTExample.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 54DCFC8132999B6374D784423B6B2950 /* FBSDKDeviceLoginManagerResult+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DB4A764D7D7A8AB26001E309A9A32302 /* FBSDKDeviceLoginManagerResult+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5504E1CA910F4258DDAFD0C25AF8D490 /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 99AEA61A2EFD09B079E419C7D393B996 /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5587F8BDFE140DFF0458E57A92795DD3 /* FBSDKConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 32E19D621A663F3BE3071D0C276ABA06 /* FBSDKConstants.m */; }; - 5671F03996AC98D4690EBDA5CF3E19B0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 568ABE80C8E753C0932206E54A4B2267 /* FBSDKGraphErrorRecoveryProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 786220180431B9A0E3C2A8FDD39EEC4F /* FBSDKGraphErrorRecoveryProcessor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 56DF862FDB341B9BFF571308CB65D1E2 /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 4422F7664B24060EA900EF832F38681F /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 58102131F407972A258A5B735E6F06C7 /* BFAppLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 90203FC369E7B9BD1AAE3AC0A74B2F2B /* BFAppLink.m */; }; - 58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4738B15973F584F8A217A163ECB821A3 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5911BB3C032BDF24D6727F388A525F0C /* FBSDKSharePhotoContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 81A3594541B67A5B42DD7908323330FE /* FBSDKSharePhotoContent.m */; }; - 5945033488F9995134DBB7014DE2412F /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = D47AB4C99208FC0449BB2673E7172DB2 /* AFURLRequestSerialization.m */; }; - 5968769ABC6081161BC022DD0D80D367 /* FBSDKProfilePictureView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3033837A79840A42FB47156DA9158777 /* FBSDKProfilePictureView.m */; }; - 59D73581D171174766C77C56707002AA /* FBSDKServerConfigurationManager+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = EC18B3FD2CF766875B9D72C16B0870E2 /* FBSDKServerConfigurationManager+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B0C45E35FE6C61AEB230DAB0D727CFF /* BFExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AD88EE79B68D0B7DB1648C914AC40C6 /* BFExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5B16A0D2E9F8E608FA25A9218354B27E /* CodFisResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 50F2735053673239222637C009C22717 /* CodFisResponse.m */; }; - 5C0696B2AD1DC23F6473F5A19FAB6296 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = BE7139219CFD2AE4C60F9A68607C667C /* AFImageDownloader.m */; }; - 5C27AB38412C395631C493F9585AC4AA /* FBSDKCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = 716933F71FAD1BA5311056DF738ACD6A /* FBSDKCopying.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5D01738470FF01B0E2882187DD4DE0FC /* FBSDKLoginButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 943041CB81EC69C4A877EF899DAFC192 /* FBSDKLoginButton.m */; }; - 5D437F5C4A12A4552070DCFCC423583B /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BE9FC4197C9EC3BB332BE78DCC560A2 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = BB9ADEB1801F27722B7818E38D877690 /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 5DF642A1886939A7CE29475442034CC2 /* BFAppLinkNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FDA4A2DDFE88CC2E9CCA0EA2C1602BF /* BFAppLinkNavigation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5E9FD15835A4AAB745E72B7EFB3E91B8 /* PNObject+Protected.h in Headers */ = {isa = PBXBuildFile; fileRef = 2259653BA47063BB08391397AA4D6B29 /* PNObject+Protected.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5EC95D6FAE93B2AB9B5D4751EA2D0256 /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = E7AD4239872F1CE13738BA5A6D02E811 /* SPTSpec.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F1A1B55FA3886702CB08DA284A7D7D4 /* FBSDKErrorRecoveryAttempter.m in Sources */ = {isa = PBXBuildFile; fileRef = 90BEC6524341EDC0BF1DF5379A84C02D /* FBSDKErrorRecoveryAttempter.m */; }; - 5F3F68C15C5B3EEFAEA43996108BD36F /* NSDate+NSDate_Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 373688BF73991E3A2290BC2F9089729D /* NSDate+NSDate_Util.m */; }; - 5F784EB5F40F4792DD8D465E36CE5DA2 /* FBSDKViewImpressionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 86CA04588DF0658AF0E3203538161873 /* FBSDKViewImpressionTracker.m */; }; - 5F7A9994BDE178C6A0BC5BC7F84A7D9A /* ResponseConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 974A6A93247023942B708FC8A682D721 /* ResponseConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5F8D0038722F23F1392B53E61580B5BF /* FBSDKTimeSpentData.h in Headers */ = {isa = PBXBuildFile; fileRef = D3098E183FC17823C0B342B74F579EF5 /* FBSDKTimeSpentData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5FC7A3E6ED71AE9796BFD12171FAA858 /* FBSDKShareLinkContent+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 88354D01AB7C69DED51FBC4EB85B5E45 /* FBSDKShareLinkContent+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 5FF71C50B88192BA576BD86788D3B2C1 /* nv-ios-http-status-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 44D2B7EDDFC2EBAA92A42D9770E5E4B8 /* nv-ios-http-status-dummy.m */; }; - 5FF987D846FACE55F28AB68BBD8747A5 /* FBSDKLikeControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E13EE60ABA8EB78A2C5B98509382920 /* FBSDKLikeControl.m */; }; - 5FFF4FE2E57E49981157DC377E794223 /* PNObject+PNObjectGETConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = BD34E4911A8C97EA3C3543FD49C2D096 /* PNObject+PNObjectGETConnection.m */; }; - 60E05462345E9E07DACAB01502B3A252 /* FBSDKTypeUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = DBCC66AEBB86B944959C98A5AC4B18A0 /* FBSDKTypeUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 612774B44605700550F8835DCB33326D /* FBSDKShareMessengerMediaTemplateContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 28B43DA4C1CEF56041C9C8329850405E /* FBSDKShareMessengerMediaTemplateContent.m */; }; - 625F351DEBF741960CA61F457E49E548 /* FBSDKAppEventsUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 15EAF8B2AEE03AA71B95BC57BF7A89ED /* FBSDKAppEventsUtility.m */; }; - 62BA49AA0D43E7F68069E737554F3FFB /* RZDBTransforms.h in Headers */ = {isa = PBXBuildFile; fileRef = D89D5A7607DA2E41FCA185E7859A1EC9 /* RZDBTransforms.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 630B2581CB0B78AE4FD930F44E1F8C8A /* BFCancellationTokenSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 889CC394FB30524AF79F9FE82025F310 /* BFCancellationTokenSource.m */; }; - 636540A648A388738369E7C7E25AD82B /* BFAppLinkReturnToRefererController.m in Sources */ = {isa = PBXBuildFile; fileRef = A34218027F86152F5A300ACC4613AD51 /* BFAppLinkReturnToRefererController.m */; }; - 63CA43AF7994AE185702F99F696B5F56 /* FBSDKBridgeAPIRequest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = CA8D0242B218F00DDC27F0C852BFB195 /* FBSDKBridgeAPIRequest+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 22C65CA5542A29B11D02BFC66AF1EFE3 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 63E26AB8D43B5BA2459783CCF74724C5 /* FBSDKTestUsersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = BACD11F4F90DB32806E1099D541951D9 /* FBSDKTestUsersManager.m */; }; - 63FF4EC1D3DDA4B5ED2F68BFC306B2BF /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DD59985504EAC1E966F1C7F8091978F4 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6401097C291EBA60A1838A911A6A750D /* FBSDKShareMessengerGenericTemplateContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 06C24B9F2DDF1C00A2785DFA9D4069AA /* FBSDKShareMessengerGenericTemplateContent.m */; }; - 642A108A372526182DC799A1636F1879 /* DJLocalizationSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 38E1B4412ABBDCD9D95D9EF86F212154 /* DJLocalizationSystem.m */; }; - 643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = D5CBBF03959B92B04265BFBD02CAC07E /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 648D6EEB6723D2DE2E269B8B4112EE66 /* FBSDKGraphRequestConnection+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = A3BB54C9C6F79A0F9AAF68CAF5CD8D59 /* FBSDKGraphRequestConnection+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 64D92EB797C2CB0A09A128B190DA6E77 /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 33E6CC0FC9FC81F86321E4CB122873FD /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 662AB49D6719A4EF9D15415B8C7E77C9 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = 10D215A12ED2589E53FD45F4FDF630B8 /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 66435F5738144955EF8AADD630329F5B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 666A2904C4F791DA33D8C071A4C9CC30 /* UIDevice-Hardware.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F37F49B515C27CB72F8AAB4DE656804 /* UIDevice-Hardware.m */; }; - 66A55A68F9D4FE50308126B5703FCF23 /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 414A65CF66591C414BA5755E088706C3 /* SpectaUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 66E1040543AF7BA3DC3731FE17C85F5B /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9FC66829CCEDBBBBFFCD2BD3E43C59BC /* AFSecurityPolicy.m */; }; - 6711F24BC7998DF1A5669B2DC0961697 /* FBSDKDeviceLoginError.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E83E6B99603BA7D2D5B5469122623ED /* FBSDKDeviceLoginError.m */; }; - 67477C053251637D2BB9B1FB3A16591D /* FBSDKUIUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 719A4B3FF860DA2A6697131AEFEAFA79 /* FBSDKUIUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 677E33E852CADD647BE92A6EE54E7F99 /* PNObjectFormData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2188B59C0DAFD7EDFB9D610675470885 /* PNObjectFormData.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 67B00D1DAF27165DC3184061E5B9AC32 /* BFAppLinkResolving.h in Headers */ = {isa = PBXBuildFile; fileRef = DD8E685AF8139EF2EFFADAC5472FABC0 /* BFAppLinkResolving.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 68091E0D6315CE37B589B9C5BD12EF52 /* FBSDKShareOpenGraphObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FCDC0A941A07E4E4CE1051EB3F8BDF6 /* FBSDKShareOpenGraphObject.m */; }; - 6820C70D73E14DD440E6B013F07DAD4D /* FBSDKSystemAccountStoreAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = FFD37374C5E2CDEE65CDC278645186B1 /* FBSDKSystemAccountStoreAdapter.m */; }; - 688A65459817A8F99E4835F4AA62273C /* FBSDKDeviceLoginManagerResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 247D3543DA4387A7C8E00373E15BE5B5 /* FBSDKDeviceLoginManagerResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 689C6A4A86F37EA89A90D6DDBF633245 /* FBSDKBridgeAPIResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 74FA2B81F4A361CD890B885E149CF068 /* FBSDKBridgeAPIResponse.m */; }; - 68B6FABC5436AE7D343F358DA6348A6E /* FBSDKProfile+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E043BEBCB1C7ADD5D5E91F03559623F /* FBSDKProfile+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6947A74A7CCE879510F8CD52A7D0272A /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = B37C48B388078FB49DB241EB953B37BF /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6A37D9AAA0B7BD3336D5F2DFBAF31AD3 /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6DAE7079029CC5918089220AA0A61D /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6A5F4569BD85852E951B4157E7A71DDC /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A4D67DF5330EEEEAB15A31EC371E3F8 /* ALView+PureLayout.m */; }; - 6A615807FF989B63E726D840B85A8969 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = A556598998813732AC9F6BD28CAF167C /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B190C7E93517A1E10B4BB7021A5EDF6 /* FBSDKColor.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EBE68D6B095F54BE43F9CFEE7FF17A5 /* FBSDKColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6B45816D05252A7032B6CF9F29FE913B /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 866ED3AFBA7CAF833A7B2BA1369D07D8 /* SPTSpec.m */; }; - 6B6ECDA1F1DEB147320D80D26327893C /* nv_ios_http_status.m in Sources */ = {isa = PBXBuildFile; fileRef = 1945A3B41CE53F2498874D10D99E08B9 /* nv_ios_http_status.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 6B6F45CC6498B8E1616C991FE3187FCB /* FBSDKGraphErrorRecoveryProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F4B33CBFF5E1EAF229CAD25B01DCC7D /* FBSDKGraphErrorRecoveryProcessor.m */; }; - 6C41C6F88BB52DABDD4A6BE4CC558FB7 /* FBSDKErrorConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = AB8846917B99D5E403B0B913DA217FAA /* FBSDKErrorConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6CBF50EF26254F2F4A42D3CE0D882403 /* NSData+SHA.m in Sources */ = {isa = PBXBuildFile; fileRef = 758E95BE64E2BCCF04D41AAAB7EA7732 /* NSData+SHA.m */; }; - 6D9EFBB53CF1920891EE8E1C146777B6 /* FBSDKAppGroupAddDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BACC7EE92C383C5939548EE352B0941 /* FBSDKAppGroupAddDialog.m */; }; - 6EC04E76788C76D33037576420E59B7F /* FBSDKBridgeAPIResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 61CAB27F8F39A9C49A2EDA53C03AB9C1 /* FBSDKBridgeAPIResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6EE4611B91A104D540D3D4094F25228B /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = C8DBF5B109A96A3EAB7E009DD54EF4DB /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6F47FC5DBFCCAB9C9D427F5B9F4DDCA7 /* NSMutableData+AES.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BC0ADBAF20FA73C3EA62BCACF9B969D /* NSMutableData+AES.m */; }; - 70142C988CF9534083BEC108EDC46A1C /* FBSDKAppGroupContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A3CF72E0B374A4206E35BBF916963E8 /* FBSDKAppGroupContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7090D6A4B26E527B2E0FD6BA04CBA455 /* FBSDKButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BC2A4598752CCE42FAEE650DACFBB27 /* FBSDKButton.m */; }; - 70BE114F9DD4B124A91874C1B23020F4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 70CD963FA2BA2DB9739B6554824C0C84 /* FBSDKGraphRequestDataAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = B5814C0D284054D5599E364B1BD05CDA /* FBSDKGraphRequestDataAttachment.m */; }; - 70FC4A9B2DFE07D5AD45A6E3AF155FCA /* FBSDKTriStateBOOL.h in Headers */ = {isa = PBXBuildFile; fileRef = 83FAEFB2D87ECF690069B791C309376F /* FBSDKTriStateBOOL.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C3DDA40CAFB7CB1F63993E55F11C853 /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 7232A4105C3D9C4A65F2AD036C161FD0 /* FBSDKImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B40B3642BE85018467B78F83049CCD9 /* FBSDKImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 724093658698BAFA6EBA56E53D9EB93E /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = 21DFC62C1EA6734924F565555D63E9BF /* SPTCallSite.m */; }; - 73051D8C7289B4BC83CD5190693CE682 /* FBSDKAccessToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 854B482A8081C7ACB4FEB46AFF2FD502 /* FBSDKAccessToken.m */; }; - 73811DA312BCB537D44D62EC6AD15766 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F8B0C53439B740B986727B281C069F5A /* AFHTTPSessionManager.m */; }; - 739D657397B607C6C31C72ED64904A95 /* FBSDKShareMessengerActionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C77D65BFCC1F323CEDFB774F2F32BBC /* FBSDKShareMessengerActionButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 746AFF21CE47C238286B843E5C508FE1 /* DJLocalization-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AC3B71E36680FFA299FC7A200061D5E /* DJLocalization-dummy.m */; }; - 7482DD9AE507E2E744A01F061D7C9266 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 595915B068CFEEE47B82386372174D3E /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 74D19669A384604DCD75493D237E3A0C /* FBSDKLikeActionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EEFE86DD82D55EBCDBC17FF721D0158 /* FBSDKLikeActionController.m */; }; - 75D4D1F473F6DA208001A46179BAEB7A /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = BE194CC968FA17F51FBFF426CDC4F808 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 76A04489E85BE2D2AB36A926A5175988 /* FBSDKShareMediaContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 8321371E28A1C21F11DE1B7DB08FB466 /* FBSDKShareMediaContent.m */; }; - 770E58F3AB82B2A21DC0F2207328AC4D /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DB8A07690556E6A3CF315AE82479CB3 /* EXPExpect.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 775CE7A8107457BDE59F113D40020839 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DE66B19C370FDAA2F04DD7068D46578 /* AFAutoPurgingImageCache.m */; }; - 77B76C209CBEEB52B5FBB13ED0D9EFC9 /* FBSDKLikeActionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BB83ABE52AFE274194B52C291006BC2 /* FBSDKLikeActionController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 77EF47250F65A110824DC946B809E579 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AE07BB50C86950308DDC527134BD4FC /* XCTest.framework */; }; - 782AA5585A48FF46D4E23ED0C9BF6B10 /* FBSDKContainerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C70960E2A423921EAC7ADF7A1F240A /* FBSDKContainerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 78AB667BEBE3A1AFFBBCE14F4722E35B /* FBSDKLikeDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = E7802BE1413A3FA3549E352B968A0955 /* FBSDKLikeDialog.m */; }; - 78B150B2BE7782E85A28A3B335E546CE /* FBSDKIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = C37E8452ABB49E1A39C7A29451D354DF /* FBSDKIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 79402CE5F0F5B19B4F5F2F8615FB9642 /* FBSDKTypeUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 598899EF16D64A4D76ED6C10E61566CB /* FBSDKTypeUtility.m */; }; - 7A08123DC70ACB903B586DF4B27B6BD8 /* FBSDKDialogConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = BBBC0E7642E7DBA9D3210FA053B3D474 /* FBSDKDialogConfiguration.m */; }; - 7A084BD7EBBE2C15ACC9E8886A05EA00 /* FBSDKURLConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDC5CE20C7814D956FEDBBF5C1E64F8 /* FBSDKURLConnection.m */; }; - 7B8A6D9FC16F49799C6280037B8EB1F6 /* RZDBCoalesce.h in Headers */ = {isa = PBXBuildFile; fileRef = 71647093AE2E6713FC401C19E698A098 /* RZDBCoalesce.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B95E3B5D17F07C2C6DFD96958F10F8C /* FBSDKUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = A38F07F811430AF8DF8FD05720305FE7 /* FBSDKUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7BAF30DB5701CE75E20DF0AC3905032E /* FBSDKAccessToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 29C520DB26D2DC3582B3421375DEFB85 /* FBSDKAccessToken.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7BAF4C13BA42D722CEA52471CABBF058 /* BFTaskCompletionSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FBAAEEB8A73233768EA94C3FA492BB1 /* BFTaskCompletionSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7C225D90CCCF964082A155686747A4F4 /* FBSDKLikeBoxView.m in Sources */ = {isa = PBXBuildFile; fileRef = A9BD44735C7B8881507110469FE7DD5C /* FBSDKLikeBoxView.m */; }; - 7C45CBED574A173D89C861FD8E09590F /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = DBCDAF4FFC9F39337601860989815A09 /* SPTSharedExampleGroups.m */; }; - 7D471EDF636121F92FD1DFE8F555290F /* FBSDKShareDialogMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 793B05AC9F2C8BDA10DA38133BE01999 /* FBSDKShareDialogMode.m */; }; - 7E0FF16C1567C0EDA0D09404A5C68E8E /* FBSDKGraphRequestPiggybackManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 614755A3E2625FBD24479853AE73250E /* FBSDKGraphRequestPiggybackManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7E2C04AB8CB1D40C13D5FD52B1F1327E /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = CF4B90B37F3B51DD598EF6B4D295E151 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7E7E10DC8039FF5CD0D7BDC21A405765 /* FBSDKShareMessengerMediaTemplateContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D6E0FB6DFD996056FA65BFB19516769 /* FBSDKShareMessengerMediaTemplateContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7EAA8B5E953F43E1FC075310534AC3D2 /* FBSDKAppLinkUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 19BA632E7EE1FF4E254D4774B0033400 /* FBSDKAppLinkUtility.m */; }; - 7F00A17A0FABFBDD0B34ADEB6453EB76 /* FBSDKShareVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = 65865F4A08076BC4261C43A2D72A54C6 /* FBSDKShareVideo.m */; }; - 7F00B5C0B48374699FDA4AF2195F37F3 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AEC575BB1B1B7696DB5D4EB9BCAD507 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7F24CCF6222C7F0553295897493A4945 /* BFCancellationTokenRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DA54AF9E74E005A76E10B85302BDC52 /* BFCancellationTokenRegistration.m */; }; - 8018AE0F1A0A5E2D931D7C6FC14A741A /* FBSDKLoginManagerLoginResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 404C07B99008A636B002B9F4755C99C7 /* FBSDKLoginManagerLoginResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 80ECDB2F3217BE92A50E18FCD5133C99 /* FBSDKAudioResourceLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 45CA445703AC38F189F73FA2D1BC7F76 /* FBSDKAudioResourceLoader.m */; }; - 813F5DA064B164015D132FFC45EF17BE /* FBSDKGraphRequestDataAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = B5FE75BFA960FC767AB543D868F5E8A9 /* FBSDKGraphRequestDataAttachment.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8236BF56A3968CD101F1CB2F402B6C93 /* PNAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 25D8F4929C2A75DC37221A0AA12824E1 /* PNAddress.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 829C9AC7F65F8DAA53040DECB97DDF4E /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EFDC8A6E30C585BF4ED3936C91FD79E7 /* Security.framework */; }; - 82B9C9B47872302723D1692917349DCF /* _FBSDKLoginRecoveryAttempter.m in Sources */ = {isa = PBXBuildFile; fileRef = 39610C2411B1F0BF837D4584A200AD14 /* _FBSDKLoginRecoveryAttempter.m */; }; - 848C82C9B1C1FE1C1283C1D9645C08FB /* FBSDKShareButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A632A3443D89EF740AADBA7FB983FC0 /* FBSDKShareButton.m */; }; - 85C97045F2195C2783CFE9D9F5B7CCA9 /* PNObject-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C30F58DA20C9E3C4C6D00D79F4434E2 /* PNObject-dummy.m */; }; - 85D30678FF4F0AB306399A368EAA46B2 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 2542111D528C366AB90A731A201E6E01 /* AFURLResponseSerialization.m */; }; - 863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = C882AE3B6CC7F4B15DBA59B1F6025D11 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 8656682014CFEBF442800E7FAAFB2E70 /* PNObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C775F44E2FBA24D38FF9B7D0B1D0435 /* PNObject.m */; }; - 869F7A6FF5D3400D7189EC90A087AFBD /* FBSDKAccessTokenCacheV3.m in Sources */ = {isa = PBXBuildFile; fileRef = 3389B2F30972EB9663E2609ED62E82AC /* FBSDKAccessTokenCacheV3.m */; }; - 875C97DA85DED90F4A4C2CD9D51C2185 /* FBSDKLoginUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FA603DA4BFBA25B5C1CD3AEEEE72C26 /* FBSDKLoginUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 875CF0420CED173A49D7CABACC328671 /* FBSDKShareConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CCE862256875373EFE4B1DF07858207 /* FBSDKShareConstants.m */; }; - 885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BC49AA52989D2D9BB62FF2665F1A8E8 /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 888504203FE1EED1860E40396780AD4F /* FBSDKVideoUploader.h in Headers */ = {isa = PBXBuildFile; fileRef = 915B8AE4B12F906975F7408B759649FF /* FBSDKVideoUploader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88C4D2F85056EA7F7535106211147ECC /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = B6FC34772C32746294CFE849765ECB26 /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 88C8E5752E034D7960806CD0E7BA90C4 /* BFAppLinkReturnToRefererView.m in Sources */ = {isa = PBXBuildFile; fileRef = EC426BA16EBFCEC46BE7649E21E1447F /* BFAppLinkReturnToRefererView.m */; }; - 88DC78AB1222106AFA1E1BA9999A93BF /* FBSDKAccessTokenCacheV4.h in Headers */ = {isa = PBXBuildFile; fileRef = 15917BA5076DA3D84FE219A363358E66 /* FBSDKAccessTokenCacheV4.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 893FB309FC3423FE4FAE158C6EB5FF60 /* FBSDKSharing.h in Headers */ = {isa = PBXBuildFile; fileRef = FDD0673232604B02F4BB250F22D9A2CF /* FBSDKSharing.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8962061859D3579C36C4703E96D8F3FD /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 078845D9650F143DC7190619E36BD8C2 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8A0713BB1B5D7BBD0706861381D4693B /* PNObjectConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 57350A0FB1DCF1849369CA5A30E6D256 /* PNObjectConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8A89C3EE1793DA7D2390D9055F8D3246 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 8A8E27A44803F4FAB5771A818BB17E59 /* DJLocalizationSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E08795DE80E6A482929057C029B6FE0 /* DJLocalizationSystem.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8AB3D4EE56551FD68566F18B6B8569C9 /* FBSDKViewImpressionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = AFEBC8F42647C1F846071D530686C5E8 /* FBSDKViewImpressionTracker.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8BB38955DBD85C49CA17D600C6468AC2 /* FBSDKLoginManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DCDFF3ACDC6FE2C13E8A6ACE27D66139 /* FBSDKLoginManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8C2E1596A09E080ACC3749105F5E0BC0 /* FBSDKSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 0DCEDD28349CD4D0FDC3477080175E1B /* FBSDKSettings.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8C357B0099858311389BF6E8FC05C83C /* FBSDKServerConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C5EFA2912AE114C638AE6037115EE7E /* FBSDKServerConfiguration.m */; }; - 8CD0E790A1AD5AA4908ADFF8BD1ABBF2 /* BFMeasurementEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = AB34E955886DC91A9E8D67EE8026CE19 /* BFMeasurementEvent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8D0358876A8871F5118E991B97426F0B /* FBSDKMessengerIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 99D22635FCB415F2923147FE96A60490 /* FBSDKMessengerIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8DA3A5D74AF1B264D8B628B622FB03B0 /* NSDataAESCipher.m in Sources */ = {isa = PBXBuildFile; fileRef = 64EFAC973B5EB731BA63B11D5E743FDD /* NSDataAESCipher.m */; }; - 8DAA551F632563E19BCC12BCC7524857 /* AFHTTPRequestSerializer+OAuth2.h in Headers */ = {isa = PBXBuildFile; fileRef = F76C90725C029275161554BC0426191A /* AFHTTPRequestSerializer+OAuth2.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8DF2B98D8D28CDF7C48D8819B51DAB92 /* FBSDKDeviceRequestsHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2BF7C7177FE9B55BAF69585CDB548D /* FBSDKDeviceRequestsHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8E460B1D24C2AE1288AC409E5E097315 /* PNObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 16CEDCF52A7FE56873DA10A71C1834E4 /* PNObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8E9F98EB1722C713AFC1D4677A07F6DD /* BFAppLinkNavigation.m in Sources */ = {isa = PBXBuildFile; fileRef = E0AB76AC3486B0A9B60E573DDE6BAE07 /* BFAppLinkNavigation.m */; }; - 8ECD5C839DC8B4ECE10BFE38B286C530 /* FBSDKAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D8B8044E4DF51BE152FA977ACE2DB56 /* FBSDKAppLinkResolver.m */; }; - 8F3CC722BCFD80169D97EC2EDEF14586 /* FBSDKLikeDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = AC990A3CBB938A038250AA21F630E921 /* FBSDKLikeDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 8F77F9DAA8AF9FF0D0609322A9587D1E /* FBSDKURLSessionTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EAE21FFC2B630F8BD6F2E8242412CDD /* FBSDKURLSessionTask.m */; }; - 8FBA1C7BEC45C028C2288189DBD810C9 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 17BFD543F7F7919FD9C38AE93050E132 /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 903158692A045396106CA22C0DD13BA6 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDC5860F642AF87AD7D74911F709C0BB /* SystemConfiguration.framework */; }; - 91780A3AA9F98AC9EB820C7B5710F303 /* FBSDKMonotonicTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 687F61CA99633605E68722380003B055 /* FBSDKMonotonicTime.m */; }; - 91BD82007A55A6352188B52EBE3187A7 /* FBSDKGraphRequestConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F940E734C28765523553A012C70096E /* FBSDKGraphRequestConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9207C4B218E6E486BE9AF4B4224EA93D /* FBSDKKeychainStoreViaBundleID.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3735585B5A55C144A201D58AA8D595 /* FBSDKKeychainStoreViaBundleID.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 934B2F5726D235ADE2F34B27C27E0D34 /* FBSDKAppEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 8CA47DE4A7964A43BB899B1E84D2AADA /* FBSDKAppEvents.m */; }; - 94364FA898389C303EC455F7BFC20CA5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 945F691AD18DC2361A75C6621E42461C /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 30D1DC547C2974D6CAAF89466F70E5EB /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 94BF8F72C383DCC0C9077A1593DD3DC8 /* PNObjectUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C893DAD391E87E8A4A1A581DADDB1E /* PNObjectUtilities.m */; }; - 94C11F4CFCD63CF412D9C04B20BCBA11 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 9557F6C5CB49371565F5F138FEFD85BC /* FBSDKCoreKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 352D34D6407FED7D555CC66BE66D0E93 /* FBSDKCoreKit-dummy.m */; }; - 956D4FC77575AB1A2686A23AD98000E0 /* FBSDKHashtag.m in Sources */ = {isa = PBXBuildFile; fileRef = FA120E1282ACB671004856AF11AD59BD /* FBSDKHashtag.m */; }; - 959397073421A21C7B99BE51FF9D911F /* FBSDKAppInviteContent.m in Sources */ = {isa = PBXBuildFile; fileRef = FA34D6794794CF0D1EE00F973897B7D8 /* FBSDKAppInviteContent.m */; }; - 95C3F4B2F8680D4CD140D62C8571FA5C /* FBSDKServerConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = B40975E3350FD88DA5ACBEC654FDA947 /* FBSDKServerConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9693216A72FE477976AFF064425CF6A7 /* FBSDKProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C3694D487F01B66B9E1E854FB526D58 /* FBSDKProfile.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 97A86FAAD4B1AD9B3292FF6AF1D8F82B /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F64BAE0FD7713929A1BE73B315D22DC2 /* AFNetworking-dummy.m */; }; - 9817696462CA759792EB02DEF0EEFF74 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 683ED7A25F74C393AC664573662EA57C /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9918ADEBDB0D0DC41E0EA29E2A8189E0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - 99AE240D78D8275E777DE87771EC6A02 /* FBSDKLikeButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 32D14FA163528AE5E68E24ED6B25DB3D /* FBSDKLikeButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 99C769835FEA1EF96923CB33D4D09432 /* FBSDKDynamicFrameworkLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1963BB8E6E8DFDFAB68EC46738882528 /* FBSDKDynamicFrameworkLoader.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - 99E2E29E69B989F25149469A88B83491 /* NSData+AESKey.h in Headers */ = {isa = PBXBuildFile; fileRef = DB48F5E36487E8649BD728F2D99459EA /* NSData+AESKey.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9A1079723C575EC12500FE454C76DFB5 /* FBSDKAppEventsDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A21BA41A2EAEC6680F1F492959507A0 /* FBSDKAppEventsDeviceInfo.m */; }; - 9BBFA79282A1CED81ABE6AE170E5CF2F /* NSDataAES-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B9D90CA9B650AD0D39AF52BD2A09BB32 /* NSDataAES-dummy.m */; }; - 9C51C025962CBC4A3D3DEAD0D10881EB /* FBSDKShareKit+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D650149241EBFA5B62265AAA9E3A11D /* FBSDKShareKit+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9C841EA77B147BE3F0EC654B24C17EF7 /* FBSDKAccessTokenCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 119AA50CD8E101928CC28CCF00CDF87B /* FBSDKAccessTokenCaching.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9D0660B4254C1971C80FE1D8392DE9E1 /* FBSDKAppGroupContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DA22E4972AE49AB0A1FEA51ED84CE16 /* FBSDKAppGroupContent.m */; }; - 9E54EB08C6ECDD0222FEEAC09DA8A2D5 /* FBSDKShareAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = DC95346618694D47E68F4FCA322E255D /* FBSDKShareAPI.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 9F5BB6B4995BA4A3B2C6AEBA6C31A6DB /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FF394CB2AF2F4E0E5CED306D9D6612C /* AFURLSessionManager.m */; }; - A1052BF1E52ED791AABD77F208B21A0B /* PNUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 54EE5407AE0AC49B2A28B4953A66E61C /* PNUser.m */; }; - A12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BD9C7060EDA63DB82D91AAEE77B34BA /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A153917F76E52B405C5914771613E9D4 /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = DD680E8EF6A354891BDDE029676A0791 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A191EF60686F5CF8B659DF06D04410E7 /* HTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = F01C62D6F41B9B578FFE240F02691E7D /* HTTPStatusCodes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A255F4976F9A4A74593AAD78BF5921FE /* FBSDKSendButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F1B86C2954F96ECB4FCF2C742A9073CC /* FBSDKSendButton.m */; }; - A277AD9070E44BED5A7DE0B1D64D6F15 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 86D3A325B030422B6DC4C35FB99E2606 /* UIImageView+AFNetworking.m */; }; - A27DFBE585B798C9A3A10EB034BE487D /* FBSDKShareMessengerGenericTemplateElement.h in Headers */ = {isa = PBXBuildFile; fileRef = C311977E02E411D8BC3E3797FB780647 /* FBSDKShareMessengerGenericTemplateElement.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A29757C39DA01021A80C18FC8F4F5F98 /* PNObjcPassword.h in Headers */ = {isa = PBXBuildFile; fileRef = D42FD38E24E40D4390E6E20CB316304F /* PNObjcPassword.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A399352FDDA67E8C25758178D41015FB /* FBSDKLoginManager+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = DE547AE4285BF192A36000B35357EE74 /* FBSDKLoginManager+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3C081EAD0E50239D13F6B49FE6352D9 /* FBSDKGraphRequest+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FC481214B7C937DFD93601B1E6C87A1 /* FBSDKGraphRequest+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A3E1A722C2C7CC9A399EB994F9BFAB68 /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 596600E3269FF8A2A736E0C259C145AE /* SPTExampleGroup.m */; }; - A3E747A53FAF5A473E66F9869CFC5910 /* FBSDKProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FE309DAFBF0FA2F563F3576E5535877 /* FBSDKProfile.m */; }; - A47E18704227CF35067AE8D3FE94ADB3 /* FBSDKLikeBoxView.h in Headers */ = {isa = PBXBuildFile; fileRef = 69844BAABC7EFF366C5130CC65A8AF7E /* FBSDKLikeBoxView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A57301A2784BE95F16F4E721689F0A1D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - A5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F062F766F07B049681961B0731673E8 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A5FC83A2904040D53EE5F630C21551C2 /* FBSDKGameRequestDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = A21B2663CD95CDC75313E9893D0A0F6D /* FBSDKGameRequestDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A61BB401EF21A5F15E2878CDB0EA3D7A /* NSData+AESValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D025490F910C718D4F556B9B4239A7A /* NSData+AESValue.m */; }; - A63FFEDFE6AD36D498CFB572084FEEB6 /* DDDKeychainWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = 63E4535198DD1276AB27A18090142291 /* DDDKeychainWrapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A651C8A51939DD7E752FF20ED3FCEAB1 /* DJLocalizableString.m in Sources */ = {isa = PBXBuildFile; fileRef = D1BD72F492588E910208B90194E570EB /* DJLocalizableString.m */; }; - A688437F602916EEDEE68C80545A3D15 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = 682BBC7E98E3198474357C2969A886DC /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A68D4A6869C10ED61C9CE33D928CC383 /* BFTask.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC1A1238E88A0DF96B9530B6B4B8A31 /* BFTask.m */; }; - A6B84E4776F9B1A6A60F8D1ADC8AF807 /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 948B5FBC04498006788B7E962DAE36EF /* ExpectaObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A799D82200AF1641AE0B3556F4721D58 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - A7AFFB354F0F91889DA0B00AA4D2011F /* PEARFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7423979AF1DD3EA8A8332676F7A2B8A3 /* PEARFileManager.m */; }; - A7F7FDCD36E2DD8D8E346DB19452CC03 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = D6942D4839DE251E012F45C321EECBB8 /* UIWebView+AFNetworking.m */; }; - A84C623D6D0B9C5A385C48DB1EA6414D /* FBSDKMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = DCC5DAD7AE7190749609649BB33D951F /* FBSDKMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A86351C7D9DD78736406E3FD84DC20BC /* FBSDKCheckmarkIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 62A18C87EDA8058479C6FE2985A92D60 /* FBSDKCheckmarkIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E0D417EB5C1F541AF8777FE4F35D637C /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - A94D84F859ECED65F62428DCA67D8A6E /* FBSDKLoginKit+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BA5A46C701FF3185A9E8A31F8FF7378 /* FBSDKLoginKit+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A993AE765E7DE0C265684D5EEAD01AB2 /* FBSDKShareCameraEffectContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 543E4247E940FC830C03247924B13315 /* FBSDKShareCameraEffectContent.m */; }; - A99ED0E479577D9A6EE3D9D297E7CBDD /* CodFisResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 276C22B3223B59877C3D88B3644963B9 /* CodFisResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A9CBC3E1025849138F1CC14EF9BC2836 /* FBSDKCameraEffectArguments.h in Headers */ = {isa = PBXBuildFile; fileRef = A7021B2FE8A12AA0FC9C70625510A39E /* FBSDKCameraEffectArguments.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A9DE24E43195C8AF8946EB5293B63C36 /* FBSDKPaymentObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 9394F55EF0B51F719C06CEF4E315C26C /* FBSDKPaymentObserver.m */; }; - AAB3A1075997095D6C0A841338F28C49 /* UIDevice-Hardware.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DA8F51A142D7CE0E71B15FFCF20684B /* UIDevice-Hardware.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AB077BCBEE82672925C142F064D6411D /* FBSDKLoginUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 78C0419524EAD2BAEAE75354503474E1 /* FBSDKLoginUtility.m */; }; - AC301C333BA69062681ADA02486C35E7 /* FBSDKContainerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D93D3936B572ED1F698387057C299945 /* FBSDKContainerViewController.m */; }; - AC5A673EB5F87A58AEC0ED278F61DD67 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = C29DE603D35A12EA57EA903220773C81 /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AD1AFA6C38D9F61C46071F26C9E5F0E3 /* NSMutableData+AES.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F7518DC7FCC48EB6FA2A2DA420336C0 /* NSMutableData+AES.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AD74B049F147D9AF5714F1D09BE078DC /* PNObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8766997BC0347060CA9AB363D89F270A /* PNObjectModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ADA07BAAEF3FBFB8E1F03BF0157CCEF5 /* _FBSDKTemporaryErrorRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = 27803FE494AE44EF2B6214D6748C8C0D /* _FBSDKTemporaryErrorRecoveryAttempter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AE20EF8A7F2121086D9804F32789ABF1 /* FBSDKTooltipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 52918DEFFCA326653F8922AD91D11FAF /* FBSDKTooltipView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - AF0F29923B4B6907B2AC3074FEC58C30 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - AF166201D1EC9CF5742A94D21EB649C1 /* BFExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = AB87D7716571C956B5550CEC4E14590D /* BFExecutor.m */; }; - AFC6DC1967B85742B8ECA969CED51610 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CA71742EF3BFD8FDF2A93536D42A027 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B029131D11CC9CC1DE4CEB02A4F8EF6D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - B066DF550BA91DCA930318AFF3AD8E64 /* FBSDKAccessTokenCacheV4.m in Sources */ = {isa = PBXBuildFile; fileRef = 17124624038F34B57C6F0EA03432C56C /* FBSDKAccessTokenCacheV4.m */; }; - B0CCE739C5121F05E3C6D9DB892C5063 /* FBSDKLikeButtonPopWAV.m in Sources */ = {isa = PBXBuildFile; fileRef = 43C824F268BCC8964AE4BFDB1D7245FB /* FBSDKLikeButtonPopWAV.m */; }; - B1BACE667D77E61166CF04C9020B2C92 /* PNObject+PNObjectDELETEConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A08AE125079B781AFAD3479BC84A9403 /* PNObject+PNObjectDELETEConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B1BF67E3AB7193009B967EA22A14F4D1 /* CodFis-Helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BD02D1AD403EE8827DF4516858BAC1A /* CodFis-Helper-dummy.m */; }; - B23F2F52588767CCDB72E9B48A45B3B9 /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D7D1B60093B31B5DBE04C23BAA1745 /* PureLayout-dummy.m */; }; - B2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 7EC8255D34115A89452CC9A357AD0CAF /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B2A8B56DE665BA53648CC6FF84F3074C /* FBSDKShareOpenGraphValueContainer+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B5C6E1176A1A984C46C3624128FC2FA /* FBSDKShareOpenGraphValueContainer+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B368878174AF369829CCEF85BBA2D84C /* FBSDKShareMessengerGenericTemplateElement.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D302524B87D0E0563F1196983EECA12 /* FBSDKShareMessengerGenericTemplateElement.m */; }; - B37443A757BC77A06BAC487B4CDE8C4C /* PNObject+PNObjectConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = E0313CAEAAB995D3E3B8BDC53F978BF1 /* PNObject+PNObjectConnection.m */; }; - B3B907CDAF7FDC60BFE105DDB4B51B6A /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D0BB43BC43349BFC8C82B31AD2F6C57A /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B43CDF265CF01D7C6072082897C51DEE /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 437046B973D755FED8FC92CEC9EE708D /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B44C79A0E74C733C25666FCD886495FD /* StrongestPasswordValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = EF782A2AD3017F6F970E1A6A40AA3812 /* StrongestPasswordValidator.m */; }; - B456AF903511B066A3AE553E5EBA0DD8 /* StrongestPasswordValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = D4FD60DD42AE8130FA68270C01852479 /* StrongestPasswordValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B4FD7DF0F890DA3BF96606A6BB34BFD5 /* BFTask.h in Headers */ = {isa = PBXBuildFile; fileRef = B8EE196E889A28BBC5BF4C67F3BA34A4 /* BFTask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B549B0A6EC70E3913C7C26DCF8738FDA /* NSObject+RZDataBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A9FF4471F87B4D04E5AF0C40B99DCB1 /* NSObject+RZDataBinding.m */; }; - B58FBEFF3FB819E0567056F62A99A7B6 /* VatNumber+Helper.h in Headers */ = {isa = PBXBuildFile; fileRef = AD4B0C7C2B1E1ADE07D8774992165327 /* VatNumber+Helper.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B5B111C9EF43A9F12BE5DB92957C499D /* FBSDKWebDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC51AD81B8D04828493F7417C836CA2 /* FBSDKWebDialog.m */; }; - B6EAFBAB89ED63B8F1C8AB728E29DE22 /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DA104199E88C71D4AF73B8FFABFF42A /* XCTestCase+Specta.m */; }; - B709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = C06C576797D03479780D7DEE048749FF /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - B752B76E50A781E2FFF2DFC1946CD3CC /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = A8903A765D36B851384B92C59311BF29 /* XCTest+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B7691C9905821BAE10DDAD668FBADE30 /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0948569E88FA6B0946FA126CD86DFBC7 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B7849830B30BEB20E89E72957EAF435C /* UIStoryboard+DJLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 34491AFB1A4CE6DD8F001965A19302AA /* UIStoryboard+DJLocalization.m */; }; - B7A0E4269876BAA9A0851DEDF682FDB5 /* AFOAuth2Manager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BB30C0BCCE010C3483BCB26EC8864B3 /* AFOAuth2Manager.m */; }; - B80C43AB4DBF298ECFF0FDED74EB431F /* BFAppLinkTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 890C78550A66746919FB8DAB1CC0CE51 /* BFAppLinkTarget.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B84CD33084C9867E67BD56E47B7BFC04 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = DC93CECF6B0B6293AC03F24912C570F7 /* UIRefreshControl+AFNetworking.m */; }; - B883ACAD78938017F38872F1CDF3D0FD /* FBSDKApplicationDelegate+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9603DAC77CF6E495013EC37941EB8665 /* FBSDKApplicationDelegate+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B8ACF9FE3F1EED818D093B6E71378CC6 /* AFOAuth2Manager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2EE15DA3B2D963CF915EE5204C254F /* AFOAuth2Manager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B8D42BEAD2B31E6B304EB4B302A38A59 /* _FBSDKLoginRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4246A8AE3068C825AE7382647FA678F9 /* _FBSDKLoginRecoveryAttempter.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B960D56561960240F18FD222FD88CCCC /* FBSDKGraphRequestConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = D4D9999B4C35B8058C3B91BF18AEF178 /* FBSDKGraphRequestConnection.m */; }; - B9615C4F4DDF2979C2B80D272C2A0244 /* NSData+AESKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E195EAB7EE08352186CA5D36A31F909 /* NSData+AESKey.m */; }; - B9A4ED4C5373748BD4D0CC61923D20E5 /* FBSDKLikeActionControllerCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D2BB3D2232AAE18B766C7210638A3EF /* FBSDKLikeActionControllerCache.m */; }; - BA2A8DF285BB96F5B139F487606C2DF5 /* FBSDKAppEventsStateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B0F65F66A13EEB2EC82897B7FFF564FD /* FBSDKAppEventsStateManager.m */; }; - BACC783D7F279C93D656F5E3143C052A /* FBSDKSettings+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 913F5BA62351B4F08B21A802802B6FA5 /* FBSDKSettings+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BC831A801164330FF6D941564E638834 /* FBSDKLikeControl+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E417233F8F25DE5E0D4BE878A1C4F3FE /* FBSDKLikeControl+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BC846415AAB664CBBDF3BD94CC260BB4 /* FBSDKAppEvents+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E2AB15B5417891ED77B7214A970CF69 /* FBSDKAppEvents+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCC96F94FD33CF62441EA9F52A35D282 /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = DD1B66D9E5D527328DD3CFC35775BD0D /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BCD04C4F5F57F2200194BFFF087452B1 /* FBSDKLoginConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 3528B212FF907E1923C98A9DE3150A20 /* FBSDKLoginConstants.m */; }; - BCEA2CAA04C0BECDAD425C61A594E447 /* PEAR-FileManager-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9F9AC2DB35F7E7EB4F5ECFFC768AF148 /* PEAR-FileManager-iOS-dummy.m */; }; - BD0F763B5564F0C3894786BF5F514ECE /* FBSDKLoginConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 09E5A76307883C04147A45F3967FBA02 /* FBSDKLoginConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BD7C4FD0C08B1AC6291FEE44C3D479CA /* PNObjectUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = D527AA5FFEAFD1EA9BDEEB3573A1DC51 /* PNObjectUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BDFFC948BC52136594B63A951A4F70CF /* FBSDKURLSessionTask.h in Headers */ = {isa = PBXBuildFile; fileRef = BD108F96E1BFCF42632044A494D993AB /* FBSDKURLSessionTask.h */; settings = {ATTRIBUTES = (Project, ); }; }; - BE35FCFFAAA6A3E69B0F528E8018A283 /* FBSDKServerConfigurationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = EFBFB98286248168A680B25FD27FC83D /* FBSDKServerConfigurationManager.m */; }; - BF0579BDDE153E48C37656F680D16248 /* AFJSONResponseSerializerWithData.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BEF0C3BFA8D3894AF5D67B207904D92 /* AFJSONResponseSerializerWithData.m */; }; - BF09481B3CE00E7D7541AFB3C1A2B99D /* FBSDKSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 77A16B5B7046079907204A7CDC1BA80B /* FBSDKSettings.m */; }; - BF5F3B061048606F05F27785314436E4 /* NSData+AES.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A620CD72FE5D21526CCB9953DEE5437 /* NSData+AES.m */; }; - BFE5E92CA005E167485F046FFD043B85 /* FBSDKBridgeAPIProtocolWebV1.m in Sources */ = {isa = PBXBuildFile; fileRef = FF6BC732E376BAFD2724C83CCEA83E23 /* FBSDKBridgeAPIProtocolWebV1.m */; }; - C04ED7A43BFE3C84895F30CAE8E280E9 /* FBSDKGraphRequestBody.h in Headers */ = {isa = PBXBuildFile; fileRef = 50AAFF80F45F10BDE9A14EA2E7CDFD75 /* FBSDKGraphRequestBody.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C0774F779DD8D233098AB713DB736427 /* FBSDKLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = CCB0DA35DD96235D0B925541F8A22CAC /* FBSDKLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = B27F0FEB7C9FE28213AAB3C7CC5A41BD /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C136CB219348058A53118FF4BCF12C67 /* FBSDKMessageDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 332EC091C5EA3DA77412D0C99C09B299 /* FBSDKMessageDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C289F222BB659B44825DB44F21BF6D07 /* BFAppLinkReturnToRefererController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A27A53FD1FEB959AF5073EAB279A6E0 /* BFAppLinkReturnToRefererController.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C2AC4329DC66EE276EEE79B8577D5459 /* FBSDKMonotonicTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 473C32D86AF57D5A47DFC5083ED93CB9 /* FBSDKMonotonicTime.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C34247532E685CD6BD6849D51FD13076 /* FBSDKError.m in Sources */ = {isa = PBXBuildFile; fileRef = 55729CA2E25624C5A5B3C5ACCB362698 /* FBSDKError.m */; }; - C355CE4AC50EE96B28D6D286E845C90B /* FBSDKShareOpenGraphValueContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = 3AFDC7D0F900236A9D9E9F16C340C2DB /* FBSDKShareOpenGraphValueContainer.m */; }; - C38A3E0DFD4FCC133AFF0B6329BDB14C /* FBSDKCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D699EEF97E66A30068268AE7FB480FA /* FBSDKCrypto.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C407F024DE683EDBC59292D8A69A3C6D /* FBSDKCameraEffectArguments.m in Sources */ = {isa = PBXBuildFile; fileRef = B609FD8B4368810DEDBE1DB940980E6D /* FBSDKCameraEffectArguments.m */; }; - C40E243F276CCE8C4BE922243572D49F /* BFGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = 96E8B044882B40F5D706D451C504AA44 /* BFGeneric.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = B89F0D55DC144F3FF8DD195C255E2303 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C53FFD2BAF26915055DE88A24D7E14A1 /* FBSDKBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = F090E550922E1457A3AE680F71C1FFC9 /* FBSDKBase64.m */; }; - C54449EBBF72CB9CD18E49DD23CB9C7A /* FBSDKURLOpening.h in Headers */ = {isa = PBXBuildFile; fileRef = B49A1B79308E8B7A53334E63F55D4E62 /* FBSDKURLOpening.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C5AA9272F6745F92D3AC415019E8FDE0 /* FBSDKMessengerIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 161178B44ECADDAB83B0AB4753AFEBCA /* FBSDKMessengerIcon.m */; }; - C5CA0B6EA417B7F4E7FAA346B7CAA461 /* FBSDKGraphRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = DD5913C5BF2466249A4B07E3FA934533 /* FBSDKGraphRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C60E5845068B90D7760411CE582C2934 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D1FD64C46EA1F4F9055CE0DDA76454 /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C625C9FC5ED6FCC7093452FF57BEE6A9 /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = E135DA79EA42BA4C3822BEA5D80D2FDB /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = DB447D62093AF36E4B25F82BDB53F1DE /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - C6B2A1CB53F136395A5A1D92A863945E /* FBSDKTriStateBOOL.m in Sources */ = {isa = PBXBuildFile; fileRef = 70CBA7B3AEDA29C0DDA10881F46FABB6 /* FBSDKTriStateBOOL.m */; }; - C70BFB37CAFB5D6F3940F80F6EC61822 /* FBSDKAccessTokenCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 1720651E4CC3ACF4BA0239F9374C2B59 /* FBSDKAccessTokenCache.m */; }; - C757275C1B77202FC251561E10DA2A5A /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = 23B81740999F1DECAE2BAAF4A2B039AD /* SPTCallSite.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C7634203CCAE9061181FF1E509C569A4 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 14CB7006C21AD6D6E7808E6603C0E620 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C8469274077DD8E140CE6A1EA9681412 /* FBSDKAccessTokenExpirer.m in Sources */ = {isa = PBXBuildFile; fileRef = A78772D20A795CEC352E9FE3C3530707 /* FBSDKAccessTokenExpirer.m */; }; - C88D0D6EE04A57EAB506397F44BF01CA /* FBSDKAppLinkResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 371A293647B3DCBF4E72CC326D105088 /* FBSDKAppLinkResolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CADCC42E463B79E7D2082FA8049719BD /* FBSDKIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = D57DCD2117912263E215F0ED6FBC4781 /* FBSDKIcon.m */; }; - CBA2B5FF1EC261F8AA90DD236BF59B76 /* RZDBTransforms.m in Sources */ = {isa = PBXBuildFile; fileRef = 67BDD0F9B67A2EDDDB603E6F68A34B96 /* RZDBTransforms.m */; }; - CBCCEAD402645565401CA93924736979 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BC2CA6EBE0DEE167B4675266E3A4EA9 /* CoreGraphics.framework */; }; - CC142339B92F6CDD28A09819F236532F /* FBSDKShareMessengerContentUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 414EC0A0AE4EB03240071A053B2D2E93 /* FBSDKShareMessengerContentUtility.m */; }; - CC5A4ED0B7DA8471294C003A49BCA81C /* FBSDKDeviceLoginCodeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E8AFBC220140446C89B82040AAFA994 /* FBSDKDeviceLoginCodeInfo.m */; }; - CC6B007FBCA8D69796A3B151F233B5DA /* PNObject+PNObjectDELETEConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = EC027B83CF68F1B70BFB4195B3D50010 /* PNObject+PNObjectDELETEConnection.m */; }; - CC7A70EB3995F1476B963598CB122F3B /* RZDBMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = B97829BF49241E80AA68DAD3A1191FEB /* RZDBMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F4B2623826CFB0D362CEBDED366755 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CD030F6DBB3746CDCB8822113214DF55 /* FBSDKInternalUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = E7FA32AE5B61E5C2531C56BF184660BB /* FBSDKInternalUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CD106792C4CD0EC47CBF309B1F84050E /* NSData+SHA.h in Headers */ = {isa = PBXBuildFile; fileRef = 37D94FC421EBEC7187E4CE684F77CE07 /* NSData+SHA.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CD283E607D92857B89D30A7AB52F1459 /* FBSDKAppGroupAddDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = E7BAC258407DB22A79224DCD6D12C144 /* FBSDKAppGroupAddDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = CFC8DC4744B260278C490B768A4B7211 /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - CEDB57A668EE81BA31CE03081718B481 /* FBSDKShareDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = A532340E9841858566095877D84B00B7 /* FBSDKShareDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CF298BD66BB208CA3F7498529E99AC8F /* FBSDKImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A707260A167F45E0F2CFE89BA605FF /* FBSDKImageDownloader.m */; }; - CFC46C8826CE949D9A0249125199C0F5 /* FBSDKAccessTokenCacheV3_17.m in Sources */ = {isa = PBXBuildFile; fileRef = F9D38805D7551CC24FA31FF2C25529E3 /* FBSDKAccessTokenCacheV3_17.m */; }; - CFE479860BFB3C4673AB9B1B7F5B9796 /* FBSDKSharePhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D3E854BF7A4960A113DC44DDDA186A /* FBSDKSharePhoto.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D10CC46035F7A0C868C0955664A34609 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F644CFDCEA538649AD39C42AD9CC8C03 /* UIButton+AFNetworking.m */; }; - D188BE317A7E79F22B52FC381ADE4340 /* FBSDKError.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8F92321A76EA57FAFC34E9F905495B /* FBSDKError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D1F58FFA3C6CE9CDD5D1BF5170082509 /* FBSDKLoginError.h in Headers */ = {isa = PBXBuildFile; fileRef = 453B859A9A2545C32DE70FD2A73CD33E /* FBSDKLoginError.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D1F62B0212BDEFC61812FE38AED35B65 /* FBSDKBridgeAPIProtocolWebV1.h in Headers */ = {isa = PBXBuildFile; fileRef = 3330B53EDA8D625BF2908F91BFF11DA9 /* FBSDKBridgeAPIProtocolWebV1.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D336881A906F38326044C1E777EC955F /* FBSDKAudioResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 97A126C54ABFD3D7C65639C680F4FFE6 /* FBSDKAudioResourceLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D35BB2B9921DB3A1EF10264E8E1C1C92 /* FBSDKColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 226DD8628B86DD85524B3620B9AB5C21 /* FBSDKColor.m */; }; - D3ECF7A5A1034D918057FEEE53B9EB0F /* FBSDKBridgeAPIRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = D5311F3F4EC2BAD8137EA47B3118EE84 /* FBSDKBridgeAPIRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D40CAD9DA91C81E5FCE28014F707091F /* UIStoryboard+DJLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 151AC994C8FBAF0D7FF8A8BEA855811C /* UIStoryboard+DJLocalization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D46537A36A855947A478149426F38A54 /* FBSDKButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 65F5430F15D6E96DC78FCDCB2E781023 /* FBSDKButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D4AA4704CA7863CC86E22AAF88635836 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = C11EE8B53099C56000BF8BBA7BEC5372 /* UIProgressView+AFNetworking.m */; }; - D542E74CF3A429E7433464C12405F07B /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD9D7342982D0CE900EFB0406FB9A8D /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D54D8723D019ACDF03024012ABC2A437 /* FBSDKGraphRequestMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = FF2FCDA32153B241F349342ED134199A /* FBSDKGraphRequestMetadata.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D5E2A41348CF1D15A3719698616D2715 /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B2CEA86DA0815F717ED8AA2C347F450 /* SpectaDSL.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D63E8ECBC2FE76F37872ECE745B835DF /* FBSDKAccessTokenCacheV3.h in Headers */ = {isa = PBXBuildFile; fileRef = A44A92A0D9DAE34FB134B6646FBDA8CA /* FBSDKAccessTokenCacheV3.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D67FCACAB2080898E3FB8A15EC03196B /* BFAppLinkReturnToRefererView.h in Headers */ = {isa = PBXBuildFile; fileRef = E35A9662C03FD09FAB04457F2BCBB495 /* BFAppLinkReturnToRefererView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D6A7F64A32E06AFE5E4DC9167E24F016 /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 62FB5BA0F9DA56FA07F597A33CE37CF6 /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D716F6D75CC4ECE3F44F4D13967BADEA /* FBSDKAppInviteDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = B73E2B32DC5AF02B03EF57BAB45DCFFD /* FBSDKAppInviteDialog.m */; }; - D71E413C7E34381E3FA497CB81ADDDA0 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CA983382E0175AF2C4555729FBB34D6 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D81BA6F7398463487CD5081581487B41 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B16362FA9DE70C56AC60ACFE9682C5A /* SPTGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D82AD36C465AC632D5B4E771E8574C1F /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D46E8DBBA17FC311D806A83C6AA7116 /* UIKit.framework */; }; - D87A8B2FC0ACC976C463FB5602B622EA /* FBSDKMaleSilhouetteIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = F9C1C24B69D6A68483880244C15D8A54 /* FBSDKMaleSilhouetteIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = ED5B3D9FC593C1D635A42DF2C8086BED /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - D96E759888F8E6F0CE0169625BF1F0BD /* AFHTTPRequestSerializer+OAuth2.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FF3EFF42698A9901B54C38949D90B56 /* AFHTTPRequestSerializer+OAuth2.m */; }; - DB0B0539707400487903CFA996D540EF /* FBSDKShareOpenGraphObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 22057B3B1B5199E8BAFEAD9C310E0A88 /* FBSDKShareOpenGraphObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB510BB0F9776E21B7F8CE172EECD389 /* FBSDKShareButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 806637B0C67CC4FCCB2E9B2BF6E49D88 /* FBSDKShareButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DB90D539B2D2CBF891AE08A9BB2ED037 /* BFAppLinkTarget.m in Sources */ = {isa = PBXBuildFile; fileRef = C878BBBC1B5CC7733A8DB44AD6967C21 /* BFAppLinkTarget.m */; }; - DBA26625E0BAD6485F796B4F17133EDA /* FBSDKErrorRecoveryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = CB44749BC297320239491BD6360E6A6B /* FBSDKErrorRecoveryConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DBA2ACB360E11D42FD68312A1C48887F /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 834A6179467B86426A38613938A35849 /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DBA2DC858D9A858ACE9EBB94A32B4E55 /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CF76956DA57AC109231D6EAE7E2C37A /* PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DBDCE688BE357A55351C634777E33E21 /* NSObject+RZDataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F61A4BAEE2B3BC9797A866801749BCC /* NSObject+RZDataBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DC330E473E54094800EEB246C5740440 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - DC3AF5BB6E0D4D3023A5B102E109FFFD /* FBSDKDeviceLoginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 99500508B4901BE8AE4D5D2241F35B61 /* FBSDKDeviceLoginManager.m */; }; - DCAC6CF7CB6B0559B0D50C2FEF527C21 /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = DB068890F76A891796983167489EC39E /* SpectaTypes.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DCEE587A593D0F1A4E2125BFAECA8AFE /* FBSDKLoginCompletion+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C08952206B10924CCAF42ED19A04224 /* FBSDKLoginCompletion+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DD079F5CB64C65F409A95EE596F9A0E3 /* PNObject+PNObjectPOSTConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = DD35899D8CC1BFD3DA8589534E8377F2 /* PNObject+PNObjectPOSTConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DD1849D5FDCCD280CBC8274AC43E201D /* FBSDKTestUsersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AB5EEC04838F976DF14EF9121FF4629 /* FBSDKTestUsersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE2EAB4C0F46B40F3C00D11222011BF3 /* FBSDKBridgeAPIProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E9816A6EF36F53A6684C045B155093C9 /* FBSDKBridgeAPIProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE825B8F32AB823F4BE5492CAC6FCB4B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EFDC8A6E30C585BF4ED3936C91FD79E7 /* Security.framework */; }; - DE871541D1DAF07C7D8FEA98DF1AFBBB /* PNInstallation.h in Headers */ = {isa = PBXBuildFile; fileRef = 640975C4F30DA8E78437AA8D79746559 /* PNInstallation.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DED03A83F5A60E899DA246C3A83EBACA /* BFWebViewAppLinkResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 25B6BD5B1B989A466B9FBC18DE884510 /* BFWebViewAppLinkResolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF7FB698380B0339B3BA00B11694386A /* PNObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DDE2ACF69D44496ACAABE1B1FBB2EFA /* PNObjectModel.m */; }; - E09AA03E8F4B4E01CF52872C35D379A6 /* FBSDKShareVideoContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 44D92A873E04B5DA69D5EEC4B3F2BDBB /* FBSDKShareVideoContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E0A41E743277EDB35D30CE90C99D65BF /* FBSDKKeychainStoreViaBundleID.m in Sources */ = {isa = PBXBuildFile; fileRef = 56FD9D9730D84E4228808F26009C43FD /* FBSDKKeychainStoreViaBundleID.m */; }; - E0DF1900C5A73A7C3D2131A97BE5D40C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */; }; - E0EF330DB2D3521ED26E67B2E8687A2E /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B80F8CED2A358E59D5D9245F941A2D8D /* AFNetworkReachabilityManager.m */; }; - E0F03C95E05A98F39D1DC1A98385803E /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 52D4638E0B2262DD32EE177BC5EB3B65 /* EXPDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E18265EA0F8A0D18A2CC9D6DF646F562 /* FBSDKShareMediaContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 55210656A5F1CEA0CB732B29E2AB619D /* FBSDKShareMediaContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E1B3BE648E546EBBC9096092676096BA /* StrongestPasswordValidator-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E453DB9800B06611F23438F997A327A /* StrongestPasswordValidator-dummy.m */; }; - E2C267A336D0E319B03F6112965540B0 /* NSData+AESValue.h in Headers */ = {isa = PBXBuildFile; fileRef = BF548473E89760CC4AC9CEE3FDC8B001 /* NSData+AESValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E2FB3863FFABE664D5A8FB5558EFA758 /* BFAppLinkReturnToRefererView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 38A47AB115CE58D7189D212FE3776CD7 /* BFAppLinkReturnToRefererView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E35810BC20AB1659125676AC17FB456E /* FBSDKShareConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BDEE3B780B4E1F7948BA3897479383E /* FBSDKShareConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E485FBCFA871CB9F257C38C6104B3FD5 /* FBSDKAppGroupJoinDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 599D10F954C8AFD3B8B74C29830B33D0 /* FBSDKAppGroupJoinDialog.m */; }; - E4C486459A5F6055051BED9076844C03 /* Bolts.h in Headers */ = {isa = PBXBuildFile; fileRef = F5D3467809970337F34A98CB99327EAC /* Bolts.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E57365155D043153512AE31E73A3AE8D /* FBSDKBridgeAPICrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E04A95B94B460963D81E97DEBDA6D8B /* FBSDKBridgeAPICrypto.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E5A3542AD87657E08DDB693CD7C48CD8 /* BFWebViewAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C5F52B42ED7580353B0823759F8CD52 /* BFWebViewAppLinkResolver.m */; }; - E66EDE92DE4B13E4853191475509CDFB /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 4931789D26B733211B4096EE95B6920B /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E73651F74CAD43F1EC9C61A1E15B2273 /* FBSDKLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = EE00028C944A5DACE914E65A8E42AAB9 /* FBSDKLogger.m */; }; - E7608D422C821C6B2EDBD8A904109E18 /* FBSDKLoginTooltipView.m in Sources */ = {isa = PBXBuildFile; fileRef = 0F6B25E2C512DC51FE47F17735DB73DA /* FBSDKLoginTooltipView.m */; }; - E800588CFA581D53C49A44134384B430 /* FBSDKSharingButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D0E6D34213AB02333D7F50D5CB04653 /* FBSDKSharingButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E80844C19053A30D6BD7A0C3B73EEEAA /* FBSDKLiking.h in Headers */ = {isa = PBXBuildFile; fileRef = FE8ADBF2F6D74B65B05618FA753FF959 /* FBSDKLiking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E91A75183B50DDF39117A436008E24A4 /* FBSDKInternalUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = AD3A0C9357B24FA8463E34BA41044AA8 /* FBSDKInternalUtility.m */; }; - E9310AA69CB760DF93FCBB32CC4618F3 /* FBSDKAccessTokenCacheV3_21.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5915CD5CD00D3AC09628C194A1874C /* FBSDKAccessTokenCacheV3_21.m */; }; - E93940855F4FEEED2479F552486480CF /* FBSDKAppEventsState.h in Headers */ = {isa = PBXBuildFile; fileRef = 070C0C9925DB1D94FB32C90CB4EB12B3 /* FBSDKAppEventsState.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C1592C0EE52A2570E21D85451018448 /* Expecta-dummy.m */; }; - EA140C36DB2D6A9AFAE40BA0A1ED7E7E /* FBSDKShareDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = BE61C4EBC24C81466557AC14C9B12FEF /* FBSDKShareDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EA31CCC1A4A32DBE4CD939023099CA7D /* FBSDKAppEventsUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = EC74CCC62C8CC0FA1E9A33C33D6A19B2 /* FBSDKAppEventsUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EA530698DA9328E84217B2632E97B4C3 /* FBSDKProfilePictureView.h in Headers */ = {isa = PBXBuildFile; fileRef = C4893AA4035AEE2D120CCC660BD88A0B /* FBSDKProfilePictureView.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EA7F051D202670246D43B8126E5B4864 /* FBSDKBridgeAPIProtocolWebV2.m in Sources */ = {isa = PBXBuildFile; fileRef = 04E84B3959A79827929087F0D916A44D /* FBSDKBridgeAPIProtocolWebV2.m */; }; - EB47A5EDEA5EFF7CEBF251E48F968AC6 /* FBSDKApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 70BBAE7FFFF148F470D0CA0354837CEF /* FBSDKApplicationDelegate.m */; }; - EB4A844A172E95561950F59F49F31A44 /* FBSDKLoginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 85BF18C15FB3C9A06A160BD4B3B18B89 /* FBSDKLoginManager.m */; }; - ECCB3BD11FA6A97F04934E8FF614F200 /* FBSDKBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = 981EA336FFF5190314F9FAF9FA3D4FFA /* FBSDKBase64.h */; settings = {ATTRIBUTES = (Project, ); }; }; - ED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 60C3D316F32BC2E5C07A7ADA5A07A335 /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - EDEDABB0A7CE2131C2CF03E094C1840D /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 68FFB0C6AED60155C6E449B2A43563F9 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - EE4667F68475438AC3BD6E7C8F905523 /* FBSDKKeychainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 6862B74397D24FFDAF3A65918A6623FA /* FBSDKKeychainStore.m */; }; - EE95EC96592F59BC59DC8A5D2A1F6461 /* FBSDKLoginCompletion.m in Sources */ = {isa = PBXBuildFile; fileRef = 29A1CC01700DAA88133DDCAEF4154CC2 /* FBSDKLoginCompletion.m */; }; - EF812E5D08395B3990D8711C82A90FB8 /* UIDevice-Utils-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9374B6D2BE5885426D84EB61045BD4CF /* UIDevice-Utils-dummy.m */; }; - F006CC8B3278EB6D03FD835CA28C33C6 /* FBSDKGameRequestDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 30B86BE73AB9F307B02C0CA07CE6B5BF /* FBSDKGameRequestDialog.m */; }; - F01B09E4E00F0E3BB617CECA6343AEFA /* FBSDKKeychainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 109FA53110068270617AF4961234AE01 /* FBSDKKeychainStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F0C50AB449C97E65E247A609EDD151E2 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 23A6F4BFE92BE0C14379D2688D99BFCD /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m */; }; - F127FB58BFFA583DB14AE231AE9826C4 /* Pods-PNObject_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C6A7875971DFD8B00865186211FBD472 /* Pods-PNObject_Tests-dummy.m */; }; - F14342B6B371DFF46C906DD0AD4F49B7 /* FBSDKShareLinkContent.h in Headers */ = {isa = PBXBuildFile; fileRef = E30AFDBE4B3883D5FA6F3E821A6CDCF5 /* FBSDKShareLinkContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F1602B08348E016979696C86FE7C9D70 /* FBSDKLoginManagerLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 265DEB08420D568235541EFAB1D870C1 /* FBSDKLoginManagerLogger.m */; }; - F1D79E2D4CDCF8EF0A9FD17414395836 /* FBSDKShareMessengerContentUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = FD34F954512B8A4290CE2520DCD4E932 /* FBSDKShareMessengerContentUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F24CFB8CDC8FF502392C8ADB97B5693B /* Bolts.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D39443B2F3FB9A3A8BEFF38BC0EB4DE /* Bolts.m */; }; - F3A8F47BC69BE761EC30A5F02D8A2176 /* FBSDKLikeButtonPopWAV.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D146EF243489EE9E7F90D479C153E08 /* FBSDKLikeButtonPopWAV.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4AF1BA06F07E566D12446F8AB86C929 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 68662A19AF4601BC42976CBC0B44FD4A /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F50C2673F16A8595EE08CEC3B8B85912 /* DJLocalizableString.h in Headers */ = {isa = PBXBuildFile; fileRef = C681F870C2148BE816B4857C256C48D6 /* DJLocalizableString.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F66D3FFD1965EB35F6FE239BC2B03B15 /* FBSDKLikeObjectType.m in Sources */ = {isa = PBXBuildFile; fileRef = 626EE21F50F2608E93664B3AC710987A /* FBSDKLikeObjectType.m */; }; - F66F20722B7CD54F2EF75DDFD90D0280 /* NSDate_Utils-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F62687EBD6A093220E0B06CE9724E91A /* NSDate_Utils-dummy.m */; }; - F702D3BC1FA6695674145FF41C2AE639 /* BFTaskCompletionSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 9A076304B218452303A6ABE79E3E6E16 /* BFTaskCompletionSource.m */; }; - F72AEB4002F9AE28BE58E8092EEE80C0 /* FBSDKShareDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B1391ED376A20D458A44874E0FB355D /* FBSDKShareDialog.m */; }; - F7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AE07BB50C86950308DDC527134BD4FC /* XCTest.framework */; }; - F7D0620B3958ABA31C96ABAFAB690142 /* FBSDKAccessTokenExpirer.h in Headers */ = {isa = PBXBuildFile; fileRef = BAA43AACEDE3BDA552B6DBCB987A87B0 /* FBSDKAccessTokenExpirer.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F8DCA6C3C05A59B2C95A1B5F1CBD8C99 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53B011154D06541CC6355F0E749E7389 /* MobileCoreServices.framework */; }; - F8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 22DC2B7F88C4D9ED54BFCF9135CD6DCF /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - F90AB41015899701F8C4B66F6E6D6E0D /* FBSDKShareVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 05EA3C767B2CDA9255CCF80D49F2DB1C /* FBSDKShareVideo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9195123C863E423DF77D4F6D8B37C2C /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = B8F8BB728F17BB6F2895A226D8197094 /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F936C08FAAB3A29296ABE8DB9B9A9AD0 /* FBSDKShareLinkContent.m in Sources */ = {isa = PBXBuildFile; fileRef = C10A23B720AAF0CB63F419CD5E7E5817 /* FBSDKShareLinkContent.m */; }; - F9FD63BD63BC30D7D72D3652E267BDA8 /* NSString+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 15EFE509962306386DD959BFF4D9EA17 /* NSString+Helper.m */; }; - FA00A76EDDC79989BB92FC727FF99D98 /* FBSDKDeviceLoginManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8C93A607A5EA76F8C4BABC58F89882 /* FBSDKDeviceLoginManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA233DC8E8A9CF5E67F1F456059A7F2A /* FBSDKCameraEffectArguments+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 827437F57FA81FCEC172EF8723E2820B /* FBSDKCameraEffectArguments+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FA54975506E72DD8D0712350F6B96D3E /* FBSDKBridgeAPICrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = ABD86DBC740B5954557E8C60E80F6B64 /* FBSDKBridgeAPICrypto.m */; }; - FB0288B263496C5EFAFC2C2E962D18A8 /* FBSDKShareVideoContent.m in Sources */ = {isa = PBXBuildFile; fileRef = CFE625C76A1AFDC539AE23A9255692D8 /* FBSDKShareVideoContent.m */; }; - FB78AB0C04F175F41136D3A360FBC428 /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = F33F8011732DB235FCD1D6DC34EA0F44 /* NSArray+PureLayout.m */; }; - FB9F36C66EADD18C7E7591FF1672D21F /* FBSDKMessageDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DAD9EA5CDAE53433D5CAE8BCD33A20E /* FBSDKMessageDialog.m */; }; - FC0BDC904394B55C2E9C3A8C308E8EB6 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1EFC716407ACFABC139C26869B0628B3 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FC9ACAFA4E12B4D41007910974A7FCC9 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 1196106794947352DFD68D1B3C1A2465 /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FCDA840311FB8C01B0DC6D61A2E442FF /* PNLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E5518C24ABEF56D055C449B0853253 /* PNLocation.m */; }; - FD7BD436456F97A418DE68561354EC4B /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 143FCFD0678C1BD9B350D22FFA8E8716 /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FDC9AD66CD4B61C2795E412657E15B6F /* RZDBCoalesce.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F88DAA461A1C2A9F00634EC11EEB5B8 /* RZDBCoalesce.m */; }; - FDD639FFC2EC1CC93A5E8AAC7618EC1C /* FBSDKAppEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F417141F4F7E6ACB775990CD7ECCE8A /* FBSDKAppEvents.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 694CDAE3227689553B66824B33DFF1B1 /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; - FE84AC96EC28C0CBAEFC5685D6899F49 /* nv_ios_http_status.h in Headers */ = {isa = PBXBuildFile; fileRef = E119997E8CBEA22BBA627DEF18E284C4 /* nv_ios_http_status.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FF881F8710F108A1AE53DED6DB25A494 /* FBSDKButton+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = 8252940C863EA9072E74FFCF1DD61F22 /* FBSDKButton+Subclass.h */; settings = {ATTRIBUTES = (Project, ); }; }; - FFFABEC2B482411621A7C52404E1F855 /* _FBSDKTemporaryErrorRecoveryAttempter.m in Sources */ = {isa = PBXBuildFile; fileRef = 19D4C6574DA724811996FB2B79EA9486 /* _FBSDKTemporaryErrorRecoveryAttempter.m */; }; + 00F305AF6DBA128963E6AF6F881D1003 /* SPTExample.h in Headers */ = {isa = PBXBuildFile; fileRef = D46A64ECBFB90E6F8FA173DA56993314 /* SPTExample.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0152742AA1857092355DF70B672D46F6 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0B243224F6E2B01B74C79F0377139E80 /* XCTest.framework */; }; + 01D2DF942F5EA2CF9A3521A3038A3329 /* EXPDoubleTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = A373CB0170E3799074B8D43A97F6C3DE /* EXPDoubleTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 02D70F25B1D17CDCA8739A324E39598D /* PNObject+Protected.h in Headers */ = {isa = PBXBuildFile; fileRef = 2259653BA47063BB08391397AA4D6B29 /* PNObject+Protected.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 033C96EC85C29D83F41E8691272AA89A /* SPTExample.m in Sources */ = {isa = PBXBuildFile; fileRef = B926D05DE0F6797BC2493E0BBC663EE5 /* SPTExample.m */; }; + 03C3DFD87D3672F4A0277718D96AF3AC /* BFURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 47529291057D7967C6EC1395C1D3517E /* BFURL.m */; }; + 048261C6DC90BD20FB6B7D80D39FAAF1 /* EXPMatchers+match.h in Headers */ = {isa = PBXBuildFile; fileRef = 3947CAB7BA76C2DCF9C1AC6C4B8B9816 /* EXPMatchers+match.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 049957B67D6CDCEB437E71E659F55E0C /* FBSDKEventBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = 03544C46C5B4889BCB1205F7BF2604A1 /* FBSDKEventBinding.m */; }; + 05185729116B927A056C7AF9754C4539 /* FBSDKLiking.h in Headers */ = {isa = PBXBuildFile; fileRef = 70809CF813292F967C2F301B243571FB /* FBSDKLiking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0550B4BF59B1049BD82A1D505D494E7F /* FBSDKSharePhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 7FFD442C08D07342BF2D569764C17502 /* FBSDKSharePhoto.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 08A77C331857F6CB64AE42ED3A2C2668 /* EXPMatchers+beSupersetOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D49012A51A1B5C9ABD583D3B12D61E1 /* EXPMatchers+beSupersetOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 08B1188775832322BF1A45824DD88321 /* AFOAuth2Manager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BB30C0BCCE010C3483BCB26EC8864B3 /* AFOAuth2Manager.m */; }; + 091323A9C683CC6AE616CC5C2E6703B8 /* FBSDKProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = 16462DED9F55E0ED16FFE38C1ED53CD1 /* FBSDKProfile.m */; }; + 09712EBDA1994961CE9C31F1EFDAF894 /* FBSDKGraphRequestDataAttachment.m in Sources */ = {isa = PBXBuildFile; fileRef = 31AC3BF6268C5138FFE5B801AAED212D /* FBSDKGraphRequestDataAttachment.m */; }; + 098562CA49DC385B7C4EB46B312A1C7D /* ExpectaSupport.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D0DF3729BE6BBEEE00F9B91E3D1674F /* ExpectaSupport.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 09ADD3463A685ED824702245C079C8B8 /* FBSDKDeviceRequestsHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 193E4E44508695DE7A55DB438C385177 /* FBSDKDeviceRequestsHelper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 09C0057FD1DEEF4659BAB5030B00B77A /* FBSDKAppInviteContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 264E69028A0C84EABC73E28CFA284AE3 /* FBSDKAppInviteContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0A004A774371313724FD2CDAB8E028B7 /* FBSDKConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D257A2F765F81E2A8F1698939933D63 /* FBSDKConstants.m */; }; + 0A1AF115F308A6C498AEDDA1EBCF3CF1 /* FBSDKBridgeAPIRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = C42A7B280E657A70E6DF71DAB0887DB3 /* FBSDKBridgeAPIRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0A1CFD0C8DB65F5B278C84D60E8AF191 /* FBSDKGraphRequestPiggybackManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 255326F6938207707C684919F7491B1A /* FBSDKGraphRequestPiggybackManager.m */; }; + 0AE212F7CDA9749547620FE976BA88F4 /* EXPMatchers+conformTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 800D7827EDE27C97F6CF2751A65EAC01 /* EXPMatchers+conformTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AE598228DE88AC96D9F004D7E3030FE /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DA4EF941F355AF232E76D0362583A7A /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0B125FBEA33B922D6A58FF0617C8111E /* FBSDKProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = A2ABDF177C47796393C929E00486BBD2 /* FBSDKProfile.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0B1796622C52B0FB7C4C83A1DFA9B473 /* BFGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = B9AEE51E846500100F68164B7E238349 /* BFGeneric.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0B42F3E2DD16761607DF335860AAE4F3 /* PNObjectUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = D527AA5FFEAFD1EA9BDEEB3573A1DC51 /* PNObjectUtilities.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0BAFF1949FC6F2B5F412297CF4375A94 /* NSArray+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = F1406D8AC4FA98818B9092CEA3E20A29 /* NSArray+PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0CA0E2158F6EB8006169912283109B48 /* FBSDKLoginManagerLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = FFAF6BD0022B3CEDB7E260EF8F44B4FB /* FBSDKLoginManagerLogger.m */; }; + 0CAB4EEE9D9F8E1A47F24FD2F28FB6D1 /* CodFisResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D63D39F5A65930A719EB5CA354755F9 /* CodFisResponse.m */; }; + 0CE53BFCC4DCA47C9CDBB607FF4DB660 /* PNObject+PNObjectGETConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = BD34E4911A8C97EA3C3543FD49C2D096 /* PNObject+PNObjectGETConnection.m */; }; + 0D0F452B575E190C7213A91EB17B2F2C /* FBSDKColor.m in Sources */ = {isa = PBXBuildFile; fileRef = 82A9CE801509DD721875DFD93FE32730 /* FBSDKColor.m */; }; + 0D18D671FB019E5EFAA82CEBA4D6BB92 /* FBSDKServerConfiguration+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E357E32EA8D6A9B3888D3596C3AA3776 /* FBSDKServerConfiguration+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0D3C5DD6B9F4D84D787D9AE239C810AB /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9FC6CB7CF81A4D88DDFFCA3A269B7F29 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0D7E001306FB9D7B7CC00EF937083824 /* FBSDKCodelessMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 87ED635594827F2E8464EDA2788E6D55 /* FBSDKCodelessMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0E0943A0BD830457B9F09EAF47750295 /* PNObject+PNObjectGETConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 408972FACA5A1B21A155BCAEE932439B /* PNObject+PNObjectGETConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0EF9C95C80360F9C598CBC725E365EAD /* HTTPStatusCodes.h in Headers */ = {isa = PBXBuildFile; fileRef = 68851197844455F40E4C06D94EA40DB6 /* HTTPStatusCodes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0FB0184291757E2845799BB6910C182B /* SPTCompiledExample.h in Headers */ = {isa = PBXBuildFile; fileRef = 8D0E30867072236A95E7876836C8F4A4 /* SPTCompiledExample.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1053B2DB6537E9415F0EAA416CEAA76F /* FBSDKLikeButtonPopWAV.m in Sources */ = {isa = PBXBuildFile; fileRef = EEC193E3F520E1B6AB4F3372A37E4BAE /* FBSDKLikeButtonPopWAV.m */; }; + 1080F1D985357A95E3F9829CF4C19E80 /* FBSDKURLSessionTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EE551CD8266F254A5DAA54EDB79C7BA /* FBSDKURLSessionTask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 108871841048D34FCD7ABE208F1C4D0C /* FBSDKAppLinkResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 898F592C01E433162EEF7551D2AAEFB6 /* FBSDKAppLinkResolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 11370609D1CD9B9107F787C3BB5B4492 /* EXPMatchers+beTruthy.m in Sources */ = {isa = PBXBuildFile; fileRef = C4133B738A4980DB8CFA963ED740C59C /* EXPMatchers+beTruthy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 11A17EFE591AA340A6CE7A274DC1987B /* FBSDKCodelessParameterComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = CC7C2F2E2DE9B376DAAC74105A9F6666 /* FBSDKCodelessParameterComponent.m */; }; + 11C3318EF5EF0363DF1E0BA0638BCF43 /* FBSDKAppLink_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = D7F72703BE3D6FC73268CEC1B54CE873 /* FBSDKAppLink_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 12391E62320C3781CAD46C0EFDD589C7 /* FBSDKLoginTooltipView.m in Sources */ = {isa = PBXBuildFile; fileRef = E94C13ABE0366ABA3DE88BB136000108 /* FBSDKLoginTooltipView.m */; }; + 1316AD4724A521235B74E419BECCA208 /* FBSDKPaymentObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E15D107A27585EB378759650D71B11E /* FBSDKPaymentObserver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1344771FCD7E484D006FCF8B82604547 /* FBSDKShareMediaContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D4138F15DE6BC317FEE875C58D5E9DF /* FBSDKShareMediaContent.m */; }; + 136EEE92B8F627C7219894D51F87A071 /* PNUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 3508A777B47A718379F2EAF4270531DF /* PNUser.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 138F2AD3773BBFF3CDD2764FF13CD27C /* FBSDKAccessTokenCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D200A199F3480AC54156D74567862E5 /* FBSDKAccessTokenCache.m */; }; + 1477A552AA3E3027A18F09B549FC9115 /* FBSDKProfilePictureView.m in Sources */ = {isa = PBXBuildFile; fileRef = FC174185FAB7A4F971B645D5474701EF /* FBSDKProfilePictureView.m */; }; + 14ABA42FD2E2ADFCECEA08CF5DC158C4 /* PNAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 87AAC9B7E486DDDEEFD4F57F7AECF48F /* PNAddress.m */; }; + 15A83EF248565323AA06F18C58CA1F34 /* NSData+SHA.h in Headers */ = {isa = PBXBuildFile; fileRef = 50F1A0E415C3F797F256FED40444E2DD /* NSData+SHA.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 15BCB2AF5FB6BC37B64AA1FF69CB31E3 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8FC98C93277D7E6BF8CA5D23CB43D95C /* SystemConfiguration.framework */; }; + 15EFA090B7770B1148DF5B475DAC2027 /* SpectaUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = D67B3C8C11BB65F8C4C53C7A4AE87EAC /* SpectaUtility.m */; }; + 174FCA70BE25DA6C1F884D62421CF464 /* PNLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 68758C3411A71AEED45A7CC14C650578 /* PNLocation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1751090389BAE32331DF7D6C14732F88 /* FBSDKAccessTokenCacheV3_17.m in Sources */ = {isa = PBXBuildFile; fileRef = E7B7AB25D5DD7C7CB8A762BDAC5BA64F /* FBSDKAccessTokenCacheV3_17.m */; }; + 17A9072498EF63122AEF07383B4A9761 /* FBSDKGameRequestFrictionlessRecipientCache.h in Headers */ = {isa = PBXBuildFile; fileRef = BBD3EC1F0D7D8327357AA769BBD293AC /* FBSDKGameRequestFrictionlessRecipientCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 17A9449C050498493A1F79B62E8D6E55 /* FBSDKAccessToken.m in Sources */ = {isa = PBXBuildFile; fileRef = E251366A8B36B8B9C9DC672E8D750278 /* FBSDKAccessToken.m */; }; + 18280685903B8517AA27746BD27DEC76 /* FBSDKAccessTokenCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 207EE05BFBF535B0FBCC1B4F35245968 /* FBSDKAccessTokenCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 183E2DED78A76D5E58A41D8D017DF9C7 /* FBSDKAppEventsStateManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 21382B817A2018EE60879362EEAA5FE3 /* FBSDKAppEventsStateManager.m */; }; + 188E716EBDF21E71A02CC7EFB29C6C30 /* FBSDKAppGroupJoinDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 35B32CAC5F01D66EA844A8CC98A49175 /* FBSDKAppGroupJoinDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 18F5664C8CC2918D6A165D1B90D9C8E5 /* AFOAuth2Manager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2EE15DA3B2D963CF915EE5204C254F /* AFOAuth2Manager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 197BD0EAF2B8B8E1DA7B65B82E27133A /* EXPMatchers+beIdenticalTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AC81A0D2E762BD988AF1E7E0BBC1AEE /* EXPMatchers+beIdenticalTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1A3ADB043C2D513D9258861EB23A69B2 /* FBSDKLoginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FA46E687E1312187756E021E50CD42E /* FBSDKLoginManager.m */; }; + 1A40002D8D0F2E1C849C829D99A38DA7 /* NSData+AESKey.h in Headers */ = {isa = PBXBuildFile; fileRef = F7864DD1693A7A235C28BC7C4D10B58E /* NSData+AESKey.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1AA16342BE87ACC6DE2BC83518BDFCF6 /* _FBSDKLoginRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = 452E64327494846C3D2E7CAF2898AFDC /* _FBSDKLoginRecoveryAttempter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1AB0379AA91C582CB55A4611628D2900 /* FBSDKLoginError.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F888E9855668DCC7F64E0402CBE13CB /* FBSDKLoginError.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1ABAD35DC2453FC1A7BB3B94C8746AB5 /* DJLocalizationSystem+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = E2164C3CCF342AB7241FC9A9B7E17F36 /* DJLocalizationSystem+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1AF719F550D1F36CD24805149417F8C3 /* FBSDKLoginButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A090559352B38A5116A2F0A8B9C1497 /* FBSDKLoginButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1AFCC51E6CD2BA28739A25FA32795D26 /* FBSDKLikeControl.m in Sources */ = {isa = PBXBuildFile; fileRef = EE0AC7D4EEAD02045DC937D7BD2C1C23 /* FBSDKLikeControl.m */; }; + 1B5631ECABDFC196E23F140C0337213D /* _FBSDKLoginRecoveryAttempter.m in Sources */ = {isa = PBXBuildFile; fileRef = C06378B48C7515ABB5B949DE8B63375D /* _FBSDKLoginRecoveryAttempter.m */; }; + 1BE70E91E0121441BD9C9466364F67F8 /* NSObject+RZDataBinding.m in Sources */ = {isa = PBXBuildFile; fileRef = C18D28F8319BFCC61B6C109FFEF432CC /* NSObject+RZDataBinding.m */; }; + 1BFC968ADFAF4F910818A182CDF07EBB /* FBSDKGraphRequestPiggybackManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0520C7E3795A436FFB2969476664B7D9 /* FBSDKGraphRequestPiggybackManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C34EC9BBFDDE10CD9F3847B75EDAAF9 /* NSObject+RZDataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = EA897AA5523D9BBF72539EE0EEDE87A9 /* NSObject+RZDataBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C3A9D56E54E41D20E4977EB35C5A318 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E774A5077A3054A8BBA9C022C1E29F4 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m */; }; + 1C5BEFFB0A0C786594702A006EEC6CE5 /* FBSDKSharingButton.h in Headers */ = {isa = PBXBuildFile; fileRef = B31A3DA2188BE0FC38C6889CC1B9DCDA /* FBSDKSharingButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1C5DBE11967543148446FACF449C3885 /* FBSDKCodelessParameterComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A7FDB37BF24244A3C52060B82A5DB49 /* FBSDKCodelessParameterComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CB925272502B9378C5DF891A6FC1502 /* FBSDKDeviceLoginManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 97235C98D0D6BE67142911F95065B66A /* FBSDKDeviceLoginManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1CBF9A754FEBA4FD0E5D8AD2EB3FFCD9 /* EXPUnsupportedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 78ADC27CAD5317640AD7062E17593E6A /* EXPUnsupportedObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 1D0D64823BF323E997715CA85450E551 /* FBSDKAppLinkReturnToRefererView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FB864BD98F199EA7151B86D7776B8C3 /* FBSDKAppLinkReturnToRefererView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1DA3E5951079ED7BB5FBC108102BB150 /* FBSDKMonotonicTime.h in Headers */ = {isa = PBXBuildFile; fileRef = F50D11F39AE29BB5A0578C32B1DD4D06 /* FBSDKMonotonicTime.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1ECF3D2B32C6DED2CE0769D30757CE08 /* FBSDKShareDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = B147DE1A7260EFF4D15C8B36FF290A4E /* FBSDKShareDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1ECF98F86E123748E422CD05A555235E /* FBSDKDeviceLoginManagerResult+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0927668E0C2C5C5630C5BD9F8AEFF05B /* FBSDKDeviceLoginManagerResult+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1EFA02B376598B7BBED28346C8753E28 /* FBSDKAppEventsUninstall.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E73B3A37690059AD6CD0A5E0C51DC60 /* FBSDKAppEventsUninstall.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1F65EE7AF8BB1BA499DE41B3611F9789 /* RZDBTransforms.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C1F83A82EF1E725A2A7424E4FC2641E /* RZDBTransforms.m */; }; + 1FE049AF9EA4DFEE0ADAE2E08F0294F9 /* Expecta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D9C88EC650ED2970A74902F58713724 /* Expecta-dummy.m */; }; + 1FE4E5B7FD421540AEA91A0DDF9728D3 /* FBSDKLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 1798DBD97EF8F8F206F34CCF900897F6 /* FBSDKLogger.m */; }; + 201D40D63C43A4FAB1082EE5098901EB /* EXPMatchers+beLessThan.h in Headers */ = {isa = PBXBuildFile; fileRef = D6687C4432E52053F517767D035DB259 /* EXPMatchers+beLessThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 204CE0368C63B493BA94C67D70AF19CA /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 03C681477C9407E00FE027DB25A56590 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 208E5B367B5ACA775FDBB8239726218E /* NSDataAES-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EF80CAB2F23373F48E87570F7ECC5A9 /* NSDataAES-dummy.m */; }; + 2095A32CF66523D4354C9DFC8B6DF931 /* FBSDKLoginConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 626329BFEA37AF9E99A2ABC7DFF906C3 /* FBSDKLoginConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 21535B6B089E5472A3250B0C56893BA7 /* Pods-PNObject_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 73B30F1E60DA52CB98F98C8708976D8F /* Pods-PNObject_Example-dummy.m */; }; + 21809E415ACA6A73B8DE677487C5E61B /* FBSDKBridgeAPIResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 3ED6A22CEB2E40168F13BFCD2FC0DBC3 /* FBSDKBridgeAPIResponse.m */; }; + 21F2EF2767136B85E80E026A974D9CCC /* EXPMatchers+beIdenticalTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 6CFFE266989CAEEB105125FDA511198E /* EXPMatchers+beIdenticalTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 222C650B3594A18E7DB0AD88FD5C845F /* FBSDKAccessTokenCacheV3_21.m in Sources */ = {isa = PBXBuildFile; fileRef = AB9AFF952B2628EEF3D2785E78D3666C /* FBSDKAccessTokenCacheV3_21.m */; }; + 224EBFFFCE79EF531EBBC5764B8F47C8 /* FBSDKShareLinkContent+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = B33648BCE03F8F323A600AFB2C4184B1 /* FBSDKShareLinkContent+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22D77C86C41F5BD76A0A4437BB30E166 /* FBSDKEventBindingManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5BB9A02B49FC5E7C8A2B9A5D4DA1F980 /* FBSDKEventBindingManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 22F5AC77C784F4F179A7763B90B24A6A /* FBSDKShareOpenGraphContent.m in Sources */ = {isa = PBXBuildFile; fileRef = BAB42CCC406C6A5E4743ED0336157DA1 /* FBSDKShareOpenGraphContent.m */; }; + 23FC5CB7AEB3CD68F5BA662EFCAA5F93 /* AFHTTPRequestSerializer+OAuth2.h in Headers */ = {isa = PBXBuildFile; fileRef = F76C90725C029275161554BC0426191A /* AFHTTPRequestSerializer+OAuth2.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2405168C50070FEC7A7C15EF29083177 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E65A5B341221CBEEF0E88382CDB87241 /* Foundation.framework */; }; + 24F18AC451AF480B2AE995F6AAA6C28E /* EXPMatchers+raiseWithReason.h in Headers */ = {isa = PBXBuildFile; fileRef = 2562B5BCB3BB4273DD636EBF7CF6D668 /* EXPMatchers+raiseWithReason.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2634D93125CFB6C39D524F1F7F4C069C /* FBSDKImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = B19299E53733482BCF184D69D0D9D4F4 /* FBSDKImageDownloader.m */; }; + 2647288BA688C6A1E74FBD05CC04D164 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E61444B20CBFB611DB03797D93038E0 /* AFSecurityPolicy.m */; }; + 267A5EFFF05B4A200CA9FA0F62F89E4B /* FBSDKLoginUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = D130FE1B704C334E307D8657EAF37098 /* FBSDKLoginUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2736DB4B35A53B66F656FBEDB5FD29C8 /* FBSDKDeviceRequestsHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 42853A0181BFFC8BD67A522A40B3D75C /* FBSDKDeviceRequestsHelper.m */; }; + 274D7D0AD4D167B0E2D0F9D38A32C31A /* FBSDKLoginKit.h in Headers */ = {isa = PBXBuildFile; fileRef = E7CB4A36C71DCA9004167558E6FFB3DE /* FBSDKLoginKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 27AE1E66223D92B631DB67BC329BEA61 /* FBSDKShareError.h in Headers */ = {isa = PBXBuildFile; fileRef = A0392097A153840E34B245E5BC8B3EF4 /* FBSDKShareError.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2800FDB5AA5EDE296635E8BC3A07D292 /* FBSDKViewImpressionTracker.h in Headers */ = {isa = PBXBuildFile; fileRef = BD0EDE71BBA1CCD2D49375A35F02988C /* FBSDKViewImpressionTracker.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 28ECD775F8DCC733D298F8ABA2013C6A /* FBSDKShareMessengerGenericTemplateContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 5870AC01A2B66DACFB5EF8DF86F3A3E9 /* FBSDKShareMessengerGenericTemplateContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 295F39241310A5652C790ED165CD51D8 /* XCTestCase+Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = B729151CBE9D4D3FCA84A885A7FA8AF1 /* XCTestCase+Specta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2976B0ACA2F8F18E7BF4242F5F0EB9A4 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 12DBABF54A0D1A13073266DEAF71AB5F /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 299BAD28841F9E59571012470D83E9DB /* NSArray+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = BE635994183DF4CE80601C6FB12722E3 /* NSArray+PureLayout.m */; }; + 29F6FFB37AF9E82BA73AFAF917DE483B /* FBSDKShareOpenGraphValueContainer.m in Sources */ = {isa = PBXBuildFile; fileRef = E0FF3EC47A42286B181021A479DD1803 /* FBSDKShareOpenGraphValueContainer.m */; }; + 2A4536F0731EC4249479D0F6805AB9EA /* FBSDKSystemAccountStoreAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = B13B325A3DE8D33ECA3430517021C0F8 /* FBSDKSystemAccountStoreAdapter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A4662905490343662D2B5C9BBE10845 /* FBSDKAppLinkTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FFDDE1BDCD388670D4D56FA7A5837D7 /* FBSDKAppLinkTarget.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2A7B906C6E4C44D16C334B19B29D502D /* FBSDKServerConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = C3E3FF9898F600C508E5121B11879A62 /* FBSDKServerConfiguration.m */; }; + 2B8DA2E4560E08CADAF8524226832C7C /* FBSDKURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 41D7537A4D4D5D37F50A1831829FD47A /* FBSDKURL.m */; }; + 2BB317087B5BD4CEEDBF599295F74117 /* FBSDKBridgeAPIProtocolType.h in Headers */ = {isa = PBXBuildFile; fileRef = 098D32B91683044612866E4D6B655190 /* FBSDKBridgeAPIProtocolType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2BE5F801929C0162A2EC55CB1232C056 /* EXPMatchers+beginWith.h in Headers */ = {isa = PBXBuildFile; fileRef = DE67682584A286D51ED20B31D084E028 /* EXPMatchers+beginWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2BEBB43A11CC5E3860D8B864F3E4F620 /* FBSDKKeychainStoreViaBundleID.m in Sources */ = {isa = PBXBuildFile; fileRef = A20E26A23FB1A3AD970DC56195FABB73 /* FBSDKKeychainStoreViaBundleID.m */; }; + 2C7EC772E87A746723857AC903AF2F90 /* FBSDKServerConfigurationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A8C19BF201CB6D0FEAE915501EAB18B /* FBSDKServerConfigurationManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CBA5742A8F4A8B904F9C30717BAB2ED /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C4A3461A90A87F919F4C075AED6B06 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CDF58E4DBD75C68C7DFA7EAB88234BF /* EXPMatchers+beInTheRangeOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A615662CD3D253D18C81ACEB4D51FEA /* EXPMatchers+beInTheRangeOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2D6D441DC7DC9152121F61EC3F74D8C5 /* BFAppLinkNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E5C60BEF924ADC12560A04F338BBB59 /* BFAppLinkNavigation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2E7BD4927D6049811F367F4D0952BFE7 /* FBSDKBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 955C1438A6C55A109024ECFE0E59F2A6 /* FBSDKBase64.m */; }; + 2EBB3871169ADA80543D579DA2B68C5F /* NSData+AESKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 73C4CA0DDD20C9404F022699B69E1C8F /* NSData+AESKey.m */; }; + 2F00F1852018F6AF3EDAFD7E8ABB744D /* FBSDKAccessTokenCacheV3.h in Headers */ = {isa = PBXBuildFile; fileRef = 872397B71CB788624C68B559D4C409E2 /* FBSDKAccessTokenCacheV3.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2F3272F9B3E950E60A797EF3BF9D1A61 /* FBSDKShareMessengerGenericTemplateElement.h in Headers */ = {isa = PBXBuildFile; fileRef = CAE94A7CEF07674CA5A9504B98BB4B9D /* FBSDKShareMessengerGenericTemplateElement.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 30DC49514C1A0C670507330948AAB941 /* ExpectaSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = E1A28981401446572FE29DAC9570ECC5 /* ExpectaSupport.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 317B01976E992013776876BF69F013C5 /* EXPMatchers+endWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 40847E3530278BABA50E27F042C4A6D4 /* EXPMatchers+endWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 318F82D2BD9FF120D4D9EBCE096E9963 /* EXPMatcherHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = F2399C18A88B380AD1FBABFD1ADC63B7 /* EXPMatcherHelpers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 31C7D5A52A23943A31FE7BB18D7D04B5 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4E58EFDBC0BD5FC5AA09EF2E78FA9FC6 /* AFHTTPSessionManager.m */; }; + 3222DC27D07E09F14C5AF5093C2BBA9E /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C4AE2EB524458DF5D3195C2082156FDE /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 32522D61F476D77D64D49C33DC711869 /* FBSDKShareVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = CB62F7CE20B50C030CBE53D47D42937F /* FBSDKShareVideo.m */; }; + 3266C3E22519A5D701B1E51D9C19656B /* PEARFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A4A34BDF7F1C2EF28E102545830C36B4 /* PEARFileManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3328BCF13ECAA14F6A55B3913A9563A9 /* EXPMatchers+contain.h in Headers */ = {isa = PBXBuildFile; fileRef = FC1C84083C56DEA9692B2856DE211395 /* EXPMatchers+contain.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 340798B6FC125386C76859EA154B51E2 /* FBSDKAppLinkReturnToRefererController.h in Headers */ = {isa = PBXBuildFile; fileRef = 69BB3407552D83DCDB500A2BCAC62AA9 /* FBSDKAppLinkReturnToRefererController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 34247D73BA4ED2166489ABF8D5FB42C3 /* NSValue+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F6FFF41F5657EF1F9999F87B32D0ACE /* NSValue+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 346777A7B527D4304B9A01624EA0483E /* FBSDKLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 949B94603FCE91B73D37C7942A1DC84A /* FBSDKLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 34F69CC34872B435330A29D530FE63A4 /* FBSDKCoreKit.h in Headers */ = {isa = PBXBuildFile; fileRef = C74DE409E2F8EB010B597C7B60FC2295 /* FBSDKCoreKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 34F73CE41B0F74002D57370081D3D60A /* AFHTTPRequestSerializer+OAuth2.m in Sources */ = {isa = PBXBuildFile; fileRef = 1FF3EFF42698A9901B54C38949D90B56 /* AFHTTPRequestSerializer+OAuth2.m */; }; + 34FFFA1167F9A5A163406DF4499401E7 /* FBSDKCloseIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C281D535337DDB08FADBA3886092C98 /* FBSDKCloseIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 350451B877576A77F8E59C5644EE3C56 /* EXPMatchers+beSupersetOf.h in Headers */ = {isa = PBXBuildFile; fileRef = BED4CE54AC8106A6864F85607C1A6976 /* EXPMatchers+beSupersetOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3524D932E585DFC2A41B081B077D6FDE /* FBSDKLikeBoxView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3FE24076474E62A09BCA909DA1A68CF2 /* FBSDKLikeBoxView.m */; }; + 3610BA1DA288AC37DD83277DBCB50B00 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A166368F7803FF5D28A6F926C6EA624E /* AFURLRequestSerialization.m */; }; + 363458F1BDA4A3C107E84C6060AB3A7E /* EXPMatchers+beSubclassOf.h in Headers */ = {isa = PBXBuildFile; fileRef = EDFB9389E6BC749689DAF1C72BD35634 /* EXPMatchers+beSubclassOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 366F79F8A5C97EBA6483C5E33D351461 /* SPTSpec.h in Headers */ = {isa = PBXBuildFile; fileRef = 83C5495006CAFA9B3AD7DDB0535CA4CD /* SPTSpec.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36B6A108F6DA30A5D65A92A2A2C88DB6 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A9C72854AB6B24B7EDC326DA284454 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 36DF1910A3A1B78FCA8C5D64C1124757 /* BFCancellationToken.h in Headers */ = {isa = PBXBuildFile; fileRef = 50AF06AE6DE7B9BAEEA4794F8B2A879B /* BFCancellationToken.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 377BA877A725435D078BD8591ACC2271 /* EXPExpect.h in Headers */ = {isa = PBXBuildFile; fileRef = 748A5B4FCF6878E666806705BA41E859 /* EXPExpect.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 379EE353AAAF4E1C20360A28426F81C3 /* _FBSDKTemporaryErrorRecoveryAttempter.m in Sources */ = {isa = PBXBuildFile; fileRef = CE2C67768601CAAF60233B174DB92151 /* _FBSDKTemporaryErrorRecoveryAttempter.m */; }; + 37E74BB611D287EA8DA7D4A9433ADCC3 /* EXPMatchers+beNil.m in Sources */ = {isa = PBXBuildFile; fileRef = DF997915633455E830598962FABE969F /* EXPMatchers+beNil.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 38DD78F4364DEC953B9F985FA92A3FB4 /* FBSDKAppLink.h in Headers */ = {isa = PBXBuildFile; fileRef = BE26F71E3C57510BE75F06CA83292052 /* FBSDKAppLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 38DEA83415273708C683A11099389EDE /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A189CCFF17CA7A7B9FFE7F300CF2F715 /* MobileCoreServices.framework */; }; + 3934CBF26A913E61688A22F32249BDD5 /* FBSDKVideoUploader.m in Sources */ = {isa = PBXBuildFile; fileRef = FCD1EA6A6A7C243E0424BB20F7AB9F52 /* FBSDKVideoUploader.m */; }; + 396019EFCD86DFFCE38988E275F393DA /* FBSDKLikeObjectType.m in Sources */ = {isa = PBXBuildFile; fileRef = 0BB2B82D03CB3906ABDE6669ED9D833A /* FBSDKLikeObjectType.m */; }; + 39B59AE5EB29B1F0BB134DCFA3E02F66 /* FBSDKWebDialogView.h in Headers */ = {isa = PBXBuildFile; fileRef = F04DCF6C3EF993D25317DBCB0D789345 /* FBSDKWebDialogView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A232DA217B1001ADAC04AF1DED9DB36 /* FBSDKBridgeAPIRequest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = E103652089DD85A4A5A16985A7C35A23 /* FBSDKBridgeAPIRequest+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3A5D233A243A3B622CFEBE69417C5311 /* FBSDKGraphRequestBody.m in Sources */ = {isa = PBXBuildFile; fileRef = 96469ECD1F7F9EE7F98E75A3797FDB8E /* FBSDKGraphRequestBody.m */; }; + 3A60D4659A54DA4A4013E1CBE261D9F2 /* FBSDKMeasurementEvent_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CC2B7BDEE80DDFF3EA3524AB6E7999D /* FBSDKMeasurementEvent_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3C4D25D70D007E6B5633FE23BE6B2CD4 /* FBSDKShareMessengerGenericTemplateContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 5B7C69B54E006EECF1C28F66946D96EF /* FBSDKShareMessengerGenericTemplateContent.m */; }; + 3C9ACC4D8CF8870CB1D991F45D8FFA43 /* AFOAuthCredential.m in Sources */ = {isa = PBXBuildFile; fileRef = FE13F68BA7E00A87F6382640DA4031B8 /* AFOAuthCredential.m */; }; + 3CBB32A2E0C543FB415508C2BD5EB93C /* FBSDKBridgeAPIRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D5E98EF533DB073454B50533F063ACE /* FBSDKBridgeAPIRequest.m */; }; + 3CDDB713C31C45BA2279C4A398ECF24D /* FBSDKMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D5D5A109336011BE64863B8BBDCF230 /* FBSDKMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3E66C3E919E8B5A41952912EE11C028B /* FBSDKTooltipView.m in Sources */ = {isa = PBXBuildFile; fileRef = D0D00D31B319D6657AF1BFB3622F4819 /* FBSDKTooltipView.m */; }; + 3E7AF8FD5D0B9BB6CE7C6A2245D686A8 /* FBSDKLogo.m in Sources */ = {isa = PBXBuildFile; fileRef = 32A83024C86330332FE1464C4AD7953C /* FBSDKLogo.m */; }; + 3E83440DD72381F99AF66A1C0D5E5461 /* EXPMatchers+raise.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ECF7B3E0E8A8B859C7A2F89B06AAA26 /* EXPMatchers+raise.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 3EED88EEDE1C0C7A16DC71CA2DDE4EA3 /* FBSDKShareMessengerActionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 6085CE9C47854FC205AA516CE066CE0F /* FBSDKShareMessengerActionButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3EF512C592A4C3ED940D79AF1A684B5C /* FBSDKApplicationDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EDC28F0107C2466419BBD9DE692C5399 /* FBSDKApplicationDelegate.m */; }; + 3F75926F86F06BB85DB6F865FE9F7966 /* BFAppLinkReturnToRefererController.m in Sources */ = {isa = PBXBuildFile; fileRef = AA77261700278C71645546302461BF34 /* BFAppLinkReturnToRefererController.m */; }; + 3FF4180C47E4C942A0EFF31E974381A9 /* PNObject+PNObjectDELETEConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A08AE125079B781AFAD3479BC84A9403 /* PNObject+PNObjectDELETEConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3FF44F4B7C7249A431DE9B6A01F006EC /* FBSDKGraphRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 718E9C888B54AD428B7A5D9DF4D5ED56 /* FBSDKGraphRequest.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 40509D22018572758A17B9974F7A4189 /* FBSDKShareOpenGraphObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 7642275934E424A63198BB2B53B41144 /* FBSDKShareOpenGraphObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 409A1CC1433E5C95EE7CE682A2E2E0B4 /* FBSDKGameRequestContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 6732E2A7357018A011AC949878023A74 /* FBSDKGameRequestContent.m */; }; + 40BBC298C02D608C2D6C5954C47D1A94 /* BFCancellationTokenSource.m in Sources */ = {isa = PBXBuildFile; fileRef = BEEF5F450117F10026EC99F89C596C84 /* BFCancellationTokenSource.m */; }; + 41617DB18E0304559B81D83FE6D10356 /* FBSDKMaleSilhouetteIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = FE6EABB3BDE91D97C148A51DE2050436 /* FBSDKMaleSilhouetteIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 438D276A2D57438A513843B07D96DF03 /* EXPMatchers+postNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 6727A49F23F5D0E57AD124C38F13BFE8 /* EXPMatchers+postNotification.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 43A375FD41EC165799C29D1A236A5209 /* DDDKeychainWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = F9A441E9586B3C8581D76BC1E0A03671 /* DDDKeychainWrapper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 44137D4F96AFCC1B3B9656F201140F35 /* NSDataAESCipher.m in Sources */ = {isa = PBXBuildFile; fileRef = A2C3EC08D3C5AB7F67EF98D3DF744910 /* NSDataAESCipher.m */; }; + 448052C6B70F1BE9B44B7AFB9DCEB45B /* FBSDKKeychainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 176E870DCB3AF59CD26DB552E58F97DE /* FBSDKKeychainStore.m */; }; + 449CEA122C4676A1B00D3A3C3CBE7A6E /* FBSDKCameraEffectArguments.h in Headers */ = {isa = PBXBuildFile; fileRef = F3C7BC76A5F427D2951B7C3F2DB7CEFC /* FBSDKCameraEffectArguments.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 44FD0E419777DFA3AD0463D952EB0772 /* FBSDKShareOpenGraphContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ADED0A7769310FE904BC209FDA425FA /* FBSDKShareOpenGraphContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 466523A1E1B31C1AA8FD5BDC3B434F0E /* FBSDKLoginConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A97FC406D15CA4B86550A496F6988BF2 /* FBSDKLoginConstants.m */; }; + 46C0B3FCB2E2C02C974CBA1411DFAF25 /* FBSDKAccessTokenCacheV4.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DD181996D4B1D7A965555F0BD9DACCF /* FBSDKAccessTokenCacheV4.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 46D0DC84B3B40B9CB044D74E4709C754 /* FBSDKLoginButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 172CA916B01ADF01834F21D4BBC99E7F /* FBSDKLoginButton.m */; }; + 46E4B5B6B00026940A4F68E4B3DCE84A /* FBSDKAppGroupAddDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 06475B8A4E97FA30A4B8FEEDCB4EAF7F /* FBSDKAppGroupAddDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4739AE05F2E34C90B7BD2AE0BEB92650 /* FBSDKURL_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 35BE26673679AF3E2590326B5CA04ECA /* FBSDKURL_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 47AF601E76F55D5A1DB9D2BDA3A68B4C /* BFAppLinkNavigation.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D751AFFF300A2F684AE78260EB03685 /* BFAppLinkNavigation.m */; }; + 48CCA302404C30F8C62A1122D6A51826 /* UIStoryboard+DJLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = 88CABB3CA14023398BAF033A078AEDCE /* UIStoryboard+DJLocalization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 494F9C90E427437A64345EFD97B24110 /* FBSDKGraphRequestConnection+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 805B50B7ED432F0E73C491477AA168B5 /* FBSDKGraphRequestConnection+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A98F2855308B3D4747CADBFD1645254 /* FBSDKShareCameraEffectContent.h in Headers */ = {isa = PBXBuildFile; fileRef = A0E9946A5BA7F2E0540229B719AD8A8E /* FBSDKShareCameraEffectContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4A9A562406FF3C97C4129D66B18F6859 /* EXPDoubleTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = 3551BEEAC27EF8D09CD29F52E558D806 /* EXPDoubleTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4AC1B9D0D40CAC17B102DDBBD3BA0999 /* EXPMatchers+haveCountOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CF9487BD2BD29A89969AFDC1E824BF9 /* EXPMatchers+haveCountOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 4B6FD049765DBAE95476186D50C81A6D /* FBSDKBridgeAPIResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 8847F10A21BF43DFF71395A3E1AB5A59 /* FBSDKBridgeAPIResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4BCE79019BD603FF6B7775814DC455E7 /* DJLocalization.h in Headers */ = {isa = PBXBuildFile; fileRef = A99EA254D66D2678098821F32E154DEF /* DJLocalization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C0526852A3E399A470F21927CF42F72 /* FBSDKLoginManager.h in Headers */ = {isa = PBXBuildFile; fileRef = D3091B1C12A13E5647BD49E81D3CF04B /* FBSDKLoginManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4C35E7911543D1BC76F8C272C36640DA /* EXPMatchers+beKindOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8027B64849AE705283D770AE136C543C /* EXPMatchers+beKindOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4CD6CB8AAFF20879DCBF76E285F28E54 /* EXPUnsupportedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 544310B55950B4943152573ED2AFFE8B /* EXPUnsupportedObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4CFEAF71BBEA78F270AC77A312256950 /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD2F4B240BEA72CCF0601DEFB7DF452 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4E222FAC164C5AF9D134FAA764D1AD01 /* FBSDKErrorConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D2D8AC6F61FDC1242D2122868466363 /* FBSDKErrorConfiguration.m */; }; + 4E948B6EEB7EB8AB4979EBD6794E254B /* FBSDKMath.m in Sources */ = {isa = PBXBuildFile; fileRef = B22E0A3A9166CC492A6B1197C5CEBFF8 /* FBSDKMath.m */; }; + 4F38CAFE2AD68D3E5D36A79DCE736D2D /* PureLayoutDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = E3B47E60EDE1E9A02809DEF9923F4931 /* PureLayoutDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4F6B9E97C001CCEC71169ED327BCA693 /* FBSDKGameRequestFrictionlessRecipientCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B7877ED51692A3542CF09D985F7F4943 /* FBSDKGameRequestFrictionlessRecipientCache.m */; }; + 4FAAB3660027FAC050A74C50CBD73231 /* FBSDKConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 369556203A1B8AC26266ABF8A2697A2A /* FBSDKConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4FDB78C8DBCAB8394F6858ED9A0AD888 /* SPTCallSite.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E19E7F2A879610962D09F17D159E49C /* SPTCallSite.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 4FEACBD15B82E17E01DAF9C08F9A3845 /* FBSDKLikeBoxView.h in Headers */ = {isa = PBXBuildFile; fileRef = 384BF2ED884F26B398ECBCFA92CF6E14 /* FBSDKLikeBoxView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 508388C4C2D0C7F15FA3C49B1C83ADF5 /* FBSDKLoginKit+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = D29203C6537617FB954FDD799C384F58 /* FBSDKLoginKit+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 51157F5787119DA743B3CDCF26C2BC82 /* FBSDKSettings+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CF110C040A6C071E0CCA79CE2745EE0 /* FBSDKSettings+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 513AC396F7199753D3A09DB4D82E9D76 /* BFAppLinkReturnToRefererView.m in Sources */ = {isa = PBXBuildFile; fileRef = A0E40EF9DC8E81ADFAF25AC32D7EABB2 /* BFAppLinkReturnToRefererView.m */; }; + 51F525AB91E0FBAFD33419A6D658D346 /* SPTGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 7332C1E49582D8BB28F10D054D709139 /* SPTGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 52013313F8863A2E5BD7EBBBC151080E /* FBSDKCameraEffectTextures.h in Headers */ = {isa = PBXBuildFile; fileRef = DD66E6FED006CAC3550B19E204BEC63C /* FBSDKCameraEffectTextures.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 522785F8A1647F9D2428F3F09B72B639 /* PNObjcPassword.h in Headers */ = {isa = PBXBuildFile; fileRef = D42FD38E24E40D4390E6E20CB316304F /* PNObjcPassword.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 522B93E3C9779AC51A0B6DDA8DBC3169 /* EXPMatchers+beginWith.m in Sources */ = {isa = PBXBuildFile; fileRef = 21EE23B56B6160B8FF9892C879BF17BF /* EXPMatchers+beginWith.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 530F9F7F9A63D142BBCF8EAAEC3BF49D /* FBSDKTypeUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F1D6EF45199DB45509D1E7117799302 /* FBSDKTypeUtility.m */; }; + 541A150F47F274A2E75151231B26278B /* FBSDKGraphErrorRecoveryProcessor.m in Sources */ = {isa = PBXBuildFile; fileRef = 382F7323EE572C7B5BEEE17B4A8BC464 /* FBSDKGraphErrorRecoveryProcessor.m */; }; + 542EEE9F64801548D7D715C76DE67212 /* FBSDKTestUsersManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 40D0360875987A8961CE4CDC11E76684 /* FBSDKTestUsersManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5454C3D7021E044D6BFA6D2B0170BC59 /* FBSDKMessengerIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = C36D0990929ACC7C7E57A00EA14900CB /* FBSDKMessengerIcon.m */; }; + 54AD6DE6A29D9DAA91597608E2FE005F /* FBSDKSharePhotoContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 565ADF0C1EA97B982FEB1A8BC05B7C2E /* FBSDKSharePhotoContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 54FED1ABB9325BAF9830CD2828198843 /* FBSDKBoltsMeasurementEventListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 77AFBC5B46A02911078C7A0E7E9BB0F6 /* FBSDKBoltsMeasurementEventListener.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 552B55E25CD26A0A0881FD8C7855EF2E /* FBSDKShareDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 157C7F2CDCAFB2C0654489B1DE32558F /* FBSDKShareDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 55BC5838B2C50DCB0660F1FC1F3D4916 /* nv_ios_http_status.m in Sources */ = {isa = PBXBuildFile; fileRef = AC0454B2B1FCCBFAFF0A59DD5E5C4F52 /* nv_ios_http_status.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 561EE129AC0DB801204077B18B6A035C /* FBSDKInternalUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 3278C19DB886D77F2D550A9BBEDFB91A /* FBSDKInternalUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56C2DB17A9779095DC6A92D40560E170 /* FBSDKButton+Subclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F1BF5543D80B51DF0A66E88F653F3435 /* FBSDKButton+Subclass.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56CDEC1A2C8DC901A01F0358A08EADBC /* FBSDKURLConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 057B5D00B60E06F193E8BC4B3E2444C3 /* FBSDKURLConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 56FB80211E0860AC159095C4E100C3C2 /* EXPMatchers+beTruthy.h in Headers */ = {isa = PBXBuildFile; fileRef = 15ADDF66D61DF3F757DC15DD22960A85 /* EXPMatchers+beTruthy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57072620B5F92EB21C27C92109189580 /* FBSDKAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = AA7D9A7CB43B42B8194FDB3FC3BFA0F7 /* FBSDKAppLinkResolver.m */; }; + 57DE7FD54FA977AE629EF8DC9CC40DF0 /* FBSDKUIUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 894A257D948EE417BCF17996CA3F53CE /* FBSDKUIUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57F1098F692CAEE9463F08D4BEAD6639 /* FBSDKGraphErrorRecoveryProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 95CE3638CD655496A931B5F3D3EE6709 /* FBSDKGraphErrorRecoveryProcessor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 57FA9C9E75997394348C17E6F2F7DEB9 /* FBSDKLikeObjectType.h in Headers */ = {isa = PBXBuildFile; fileRef = 8714BC79FC4AE625BF543612A8626CDE /* FBSDKLikeObjectType.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 580133EA8C6B03050D04359FBD1864A5 /* FBSDKShareMessengerContentUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A9179BB63F92444BB2D72730D28C05F /* FBSDKShareMessengerContentUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 584B3A9ABE4DB7870AD38335D696F48F /* UIDevice-Hardware.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D17E600DCFB32A0E02AAEF855AAFEE /* UIDevice-Hardware.m */; }; + 584EB991FA3571F93AD6C6F8CBE40ECB /* FBSDKCameraEffectTextures+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BA24DC711C9A9BF728E911963B7D295 /* FBSDKCameraEffectTextures+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5855C9103CD56D525F718C56B1415B18 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = BC1E39658FAE36DE0487BC875B578D96 /* AFURLResponseSerialization.m */; }; + 588EBFF034DDE1388B6B8204CDE44163 /* FBSDKAppLink.m in Sources */ = {isa = PBXBuildFile; fileRef = A5BFAF03F4C3972E82C33C9CC26CDEBD /* FBSDKAppLink.m */; }; + 589A28C1BD126C470D35FF87C1731232 /* FBSDKDynamicFrameworkLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0C36F361714BF3701DBE769DCC4D51 /* FBSDKDynamicFrameworkLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 58E4A3FA33E8AD9728E8E8BE06459E0B /* FBSDKCloseIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 97652E23694192076D88B7C98EA13878 /* FBSDKCloseIcon.m */; }; + 58FAE1B62B5CB317C1864645E4A00E0C /* FBSDKImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D9112F85BC4C12A79ADCAFEBD6501AD /* FBSDKImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 599679184FB094F22D2006ED35BE11EC /* PNObject+PNObjectPOSTConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 873CFF1D9529B6114BA69362D3FB5F5C /* PNObject+PNObjectPOSTConnection.m */; }; + 5A5C26749271533645256CC332DF7292 /* FBSDKAppEventsState.m in Sources */ = {isa = PBXBuildFile; fileRef = 0504389A5BE500DFAF6462082446D938 /* FBSDKAppEventsState.m */; }; + 5AD96ECFA4E51B3AED9A4355D6DC3BD6 /* FBSDKMutableCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = EC3FEF4D8E0DC876D4BEC311CFC5D274 /* FBSDKMutableCopying.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5B0D99DBC6962679024DCB43643813BF /* FBSDKAppEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = F69FF63557810B667D967581618582B5 /* FBSDKAppEvents.m */; }; + 5B131207C7BA6BF1455FD2194CB63B7F /* EXPMatchers+beCloseTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD38A9226FE7FDA838763FAA4056722 /* EXPMatchers+beCloseTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5BB3106321C514F91FC6D5C37D0BC5DA /* SPTSharedExampleGroups.m in Sources */ = {isa = PBXBuildFile; fileRef = DD515BEE94EE644F9B8BBE4A92E294CA /* SPTSharedExampleGroups.m */; }; + 5C030388FB39B3282C460E73545A74B2 /* FBSDKGraphRequest+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = CD0505928D66817CBB6EF5B7DE3C9CFB /* FBSDKGraphRequest+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5C7D10E737DB82BD7AE8257E1A6A44DE /* BFAppLinkTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 746988DB73522DD2D4EB7DFEC771D31A /* BFAppLinkTarget.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5C836967A64A9B0A73004E02B0A797BA /* NSValue+Expecta.m in Sources */ = {isa = PBXBuildFile; fileRef = DEB52BB2809F059D93B9F3616B2C905D /* NSValue+Expecta.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 5CB4B2864D1BC7CFD01093A34233FC62 /* FBSDKAccessTokenCacheV3_21.h in Headers */ = {isa = PBXBuildFile; fileRef = B184E5094AB0B36173233CACA23FAD11 /* FBSDKAccessTokenCacheV3_21.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5CDA68EF888D84B0B24D7D7EA044A17C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E65A5B341221CBEEF0E88382CDB87241 /* Foundation.framework */; }; + 5CE0BD054025A82FFE16616B8559F448 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 5591BB007FC9E3071D990D1CF0A52C23 /* UIImageView+AFNetworking.m */; }; + 5CF3B82DFDB3064C86E53278994C1532 /* FBSDKCheckmarkIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 04E2BABEA53E3363A9BC0F646F4BBCE3 /* FBSDKCheckmarkIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5D5A5C58521774012084AF03E04F172E /* FBSDKShareUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = EBB4AC8A822AA58630CAC4468B0B14ED /* FBSDKShareUtility.m */; }; + 5DE6FF81784F3E5A4B2613938B81B958 /* FBSDKShareConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FA7EE8D5280ACA9545EB0F4B0F4138EA /* FBSDKShareConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 5E44108C666B3F67AC4BD3B1DEF3B732 /* FBSDKLikeActionControllerCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D9B4847D4B627158FFC1A63EA6DC80F /* FBSDKLikeActionControllerCache.m */; }; + 5F9AEF2488EDE6958051A208A40A67C4 /* FBSDKInternalUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = C7B095BFA92E7D5342D36E7B4BEFA6CC /* FBSDKInternalUtility.m */; }; + 5FD203D399B52F2A8A7129195256F81F /* FBSDKLoginUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = E70EB6CB87C778ADC5A4325EEFF99B01 /* FBSDKLoginUtility.m */; }; + 61030D3EB4C684D7284E718381F3EC94 /* FBSDKShareError.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B5A30A9EC17834C60F15FCD8D5862EA /* FBSDKShareError.m */; }; + 623976AE79DDE4B446ADB0AB18158DF4 /* NSObject+Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = 8FA08EC0714F4A88BF630D3F963EB509 /* NSObject+Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 638564E69D361A1892C40E91C2405ED4 /* AFOAuthCredential.h in Headers */ = {isa = PBXBuildFile; fileRef = F997A285593487CF4D2467662618064D /* AFOAuthCredential.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63F9CAF62FF3F4925BF18F8F7EAA3D65 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D56E1741F8C7E0E3D263D5B58F460EC3 /* AFNetworkActivityIndicatorManager.m */; }; + 64023F7F676FA908189FABFB4480DD64 /* FBSDKDeviceLoginError.h in Headers */ = {isa = PBXBuildFile; fileRef = 93AD73B1077B7352ED7AC7FCAF654105 /* FBSDKDeviceLoginError.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 641E32DFF8249C4D2477436850AA8A97 /* FBSDKShareConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = A387993C7396BA018A78B182545014E7 /* FBSDKShareConstants.m */; }; + 64A3E2F4776B7BAB34FAD028AC015031 /* AFJSONResponseSerializerWithData.h in Headers */ = {isa = PBXBuildFile; fileRef = A2DF4A77D1D9958186177B1D8CEB3C31 /* AFJSONResponseSerializerWithData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 64E385C5B6D77DF22B536BDDF7C25C0D /* FBSDKTriStateBOOL.h in Headers */ = {isa = PBXBuildFile; fileRef = EC0CCAE8180310F27F4D45B4C566DFFD /* FBSDKTriStateBOOL.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 655A6D5F35E3F2178EEBA91DF6E4A34F /* UIDevice-Utils-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BB34A34410BB0E2237F80F427197302 /* UIDevice-Utils-dummy.m */; }; + 656A9171F1D093E42DB3ED1BE457938A /* FBSDKErrorRecoveryConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = FED8B893DA37A3224223A9BFB0E51281 /* FBSDKErrorRecoveryConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 65E12611819508E2DAB6FBDED66889A2 /* CodFis+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 73093867BFAE6EBBDF7A5D9F91A222CA /* CodFis+Helper.m */; }; + 6619FEF6F9675153A61F0052BFE0C2D1 /* FBSDKHashtag.h in Headers */ = {isa = PBXBuildFile; fileRef = 536F022E7BC8A34B94D3EC1E16FA0C13 /* FBSDKHashtag.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 666906D65B6FB93DAD8D35A951445EEC /* FBSDKGraphRequestConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 942CD0883F237C1B6475AB8084F6CBDD /* FBSDKGraphRequestConnection.m */; }; + 66FF7015F3BC028EEC59F0E695FF7BC9 /* FBSDKWebDialogView.m in Sources */ = {isa = PBXBuildFile; fileRef = A5A21E87FC761D2AB2656E8E2DBC885F /* FBSDKWebDialogView.m */; }; + 6704388A6D061F750D5935EF16F23EAB /* FBSDKApplicationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ECC32889FE623554A78B0832BFC075D /* FBSDKApplicationDelegate.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 67739FEF1C037432A2CF1DF2E1093590 /* ALView+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = EC8B465D31717139A016A12D2FFB2744 /* ALView+PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6845F87B7C7D4DB8D2B1BD551CBA0F50 /* BFAppLink_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2153DF21CC1242FEC6CEAFC1D4C2B1F9 /* BFAppLink_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6849ADCF79AF3D161FBF7F60FEF911CF /* Expecta.h in Headers */ = {isa = PBXBuildFile; fileRef = B9A66D1BA73BBAAF86C6CF4CD6BEE54D /* Expecta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 684B4F5D563DFA918DCE8BFD2B02559C /* PNObjectFormData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2188B59C0DAFD7EDFB9D610675470885 /* PNObjectFormData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6854944632B3D42512DCDBA043513186 /* FBSDKIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = B3B28FA59F82B358B1D10BD0A881E27E /* FBSDKIcon.m */; }; + 69A678E4CAE098311DFD3A51A140747C /* BFMeasurementEvent_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E3891458C3A4B448665461397F352DA7 /* BFMeasurementEvent_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 69F5C89876B1A41A040E6A9643D91E36 /* BFAppLinkReturnToRefererView.h in Headers */ = {isa = PBXBuildFile; fileRef = 087B6006953245BE2307CFE4FE8A79C5 /* BFAppLinkReturnToRefererView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6A42EC6B2A721B0FEC8CADDB441FF130 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0B243224F6E2B01B74C79F0377139E80 /* XCTest.framework */; }; + 6A55F873250A5B1E26E0320E42790F94 /* EXPMatchers+equal.m in Sources */ = {isa = PBXBuildFile; fileRef = 8364047D4C435ABFE5C89C5D44227EE8 /* EXPMatchers+equal.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6A64C061241326CBD97B377B6BE66714 /* FBSDKTriStateBOOL.m in Sources */ = {isa = PBXBuildFile; fileRef = 51EBFAD0C0E40885ED2A77D75DE53222 /* FBSDKTriStateBOOL.m */; }; + 6A79CB0F6CBA69860AA8F3340128DC1D /* FBSDKCameraEffectArguments+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B85BFC6FDA0BBCDF52F9B150C0F94CB /* FBSDKCameraEffectArguments+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6A7F40D7542E522A70B679B7D8D1EE98 /* PNObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C775F44E2FBA24D38FF9B7D0B1D0435 /* PNObject.m */; }; + 6AF2F5C155E6B7CFEF956A11F4FAC79E /* FBSDKShareVideoContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E562A612CB4F467213BE91B2F766A9 /* FBSDKShareVideoContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6AFE20F50EBDFC499A6FE45DA4FB3739 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = B63D6D1A539902429FE51B2BF2A53071 /* EXPMatchers+beLessThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 6B3798C77A446D3A3FE2F40801BCFF98 /* FBSDKShareMessengerMediaTemplateContent.h in Headers */ = {isa = PBXBuildFile; fileRef = D0439D5A4E46C28BEDE7B249A11B358A /* FBSDKShareMessengerMediaTemplateContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6BE8998FA3899A7DC8EEBFDC63951BD9 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 91D597045A0BDA11505525EF9C97D548 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6C65E7BD2C584A2718EBC713E6247E84 /* FBSDKWebDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 55AD2686F264B001D9B23B2E667BDC0A /* FBSDKWebDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6CF51E4CD911CC37BD3BC983147A1F32 /* FBSDKGraphRequestConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A664539EAC41F63765859137D417FA54 /* FBSDKGraphRequestConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6D5F44172F6AAF24D4247D37094BC155 /* EXPDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 8980D6FAE79CA78C7001A8EA2BC3E1C4 /* EXPDefines.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6DC8E9658B53381381FF83D6CAB7562F /* FBSDKLikeActionController.h in Headers */ = {isa = PBXBuildFile; fileRef = A5F7CA78CB70B76E563566A7973AAC60 /* FBSDKLikeActionController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6E7858347B08E3DF327E57979BB18517 /* FBSDKDialogConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = DE60FB232ECB173CC83D28B8E9FD5C37 /* FBSDKDialogConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7027A9FEDCBB9B791906363339A6AD97 /* FBSDKShareKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E863438AB7FA603ABBF228C1972C62E3 /* FBSDKShareKit-dummy.m */; }; + 70C2B4A4DF9A6936BC3F62E5A1A598D0 /* FBSDKSendButton.h in Headers */ = {isa = PBXBuildFile; fileRef = FC73FA0EC9903EFA53286D879E678FA9 /* FBSDKSendButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7139601222F664B8F5260815A59BA08C /* BFTaskCompletionSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3FB96D1F6A7EF08A000F86B2C6E5F6 /* BFTaskCompletionSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 713B0290DCD4649E177F455A7356D833 /* FBSDKAppLinkUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = FF5BDB925B9438AB881A5CE3EC32A419 /* FBSDKAppLinkUtility.m */; }; + 7167A0191A09719D4A5FC81E405FD491 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2219D5C06179BD9C93CC2B7E8E7CD4DD /* EXPMatchers+beGreaterThanOrEqualTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 722F4F7059004BC26B05B04159A8F02D /* FBSDKMessengerIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 0E00D21E56F405766DF0B9B5832FDAA4 /* FBSDKMessengerIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 725CCAAF04DC3601E4654019526F8EAF /* FBSDKCrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = C5F23AC255A5CC190D702640CF82EEFC /* FBSDKCrypto.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 72953BBAA66CA4C193619829C6DAF56D /* BFExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = FA043EAD1C57E2A9165D7691DC1DCD15 /* BFExecutor.m */; }; + 72ACC51F1B63B0D7053398FE4CE62237 /* XCTestCase+Specta.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E7F2F46D7D93AFC302D7C7045F11BA4 /* XCTestCase+Specta.m */; }; + 731833E6AB52A6FB84DEB14EE63F1ED0 /* FBSDKBridgeAPICrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 00CAC1E14DB79A2B3778FA8099224F62 /* FBSDKBridgeAPICrypto.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7328A1382E043DA2F89BFD188961A2AC /* SpectaDSL.h in Headers */ = {isa = PBXBuildFile; fileRef = 45D55B98448A8CF5BEC142E2BBB0FA71 /* SpectaDSL.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 73B41D0198453FB22EB2992ED406C255 /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = A5738F31E7FA35B142C111B2013AACF1 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 74ACD77123BD1E4B1F25DE53DAED8EEB /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 48EAEA1A387E7483A605AB622EAB91B8 /* UIRefreshControl+AFNetworking.m */; }; + 74BBEA978F44711C7F7B1F7437FBD674 /* FBSDKProfile+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B179CB1A2CAA77714778F5DB7EB59D2 /* FBSDKProfile+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 759380B7535BF389BFC236BB1CBE2908 /* FBSDKServerConfigurationManager+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = EF207F7E0D5311B1FF52C426AEE0A0C5 /* FBSDKServerConfigurationManager+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7679E06F3D455E0251AB2CB89E925413 /* FBSDKLoginManagerLoginResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 0D74D80556E8DC3CCFB397594080ECFE /* FBSDKLoginManagerLoginResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 76970FE79DF1B898BCB37CF7594E6A56 /* XCTest+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DBECFE13698D4D8DDED7724E25BFCDA /* XCTest+Private.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 781357E25E5A2DEFA8D8EA7E7B19AC6C /* FBSDKShareOpenGraphObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 54EF2C419EDEC0E3FCE2864C5F40C795 /* FBSDKShareOpenGraphObject.m */; }; + 7884DDB21AB55B9D2A9762D0FB4DBDDA /* Specta.h in Headers */ = {isa = PBXBuildFile; fileRef = D91E6EFB912D50035F95B3A10A3CA1FE /* Specta.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 788FE9B988F7485F3483370F7FC8C0D0 /* PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 4CDB54ACD6F9DCEE318FD3F032FC7E4B /* PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 789C113F849D2152650246E812CEFD92 /* ALView+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A1F5AFFD86438D32B457856F1C59628 /* ALView+PureLayout.m */; }; + 78A51680DE2B3C2258E5B7370C3C4F1C /* FBSDKTooltipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BF274BD1AD934B41EBF4A67A2FC6E93 /* FBSDKTooltipView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 78E84D9F67AC3D515E2489187D6E6858 /* FBSDKLogo.h in Headers */ = {isa = PBXBuildFile; fileRef = EBB57EC1C4725BDEC0C2D9A90660ACAE /* FBSDKLogo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 794E313F37A8A5DAD7D4E8CE28B95051 /* FBSDKLoginManagerLoginResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4EA1A58C1768B29C459BE6D58062AC94 /* FBSDKLoginManagerLoginResult.m */; }; + 798FDC261242E3D89E95749D6102E07C /* BFMeasurementEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 5AC0138A592F04FD4FC9F9A9BB3A0B99 /* BFMeasurementEvent.m */; }; + 79ADDEB18C07943EF2210D20F94B065C /* BFAppLink.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A02AB7FDED3B5C6D22B85644965FF2B /* BFAppLink.m */; }; + 7A363BE29075121D69BB814A5768C675 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9969A5355EA68D96AEC6594E6A5E9069 /* AFAutoPurgingImageCache.m */; }; + 7A9C233F2D2D2C54280244BDD228675D /* BFAppLinkTarget.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D6CB9BAB3FC03DEEC9B261FC2A7FDBA /* BFAppLinkTarget.m */; }; + 7BAEC6BD63A58DA35019F4928C72D9C9 /* EXPExpect.m in Sources */ = {isa = PBXBuildFile; fileRef = E8125DFB41A764986449B5FFD87065B1 /* EXPExpect.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 7C204A362F58FDE21BF3C158E2FC5981 /* RZDBCoalesce.h in Headers */ = {isa = PBXBuildFile; fileRef = E82E129D6FE596D85CDF967D18298D39 /* RZDBCoalesce.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C4B8DCA490D1C3C1466C8A074ACCA2D /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F05B4186BB3B1AAE47C0F25011FE071A /* AFURLSessionManager.m */; }; + 7C665FA91BFEDAE2D86EE1F2F0BE82CB /* NSString+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = B108E25F23F3FF0B5A268E471281C15A /* NSString+Helper.m */; }; + 7C67993DB44A89015466DC3DC13A0F93 /* PNInstallation.h in Headers */ = {isa = PBXBuildFile; fileRef = 640975C4F30DA8E78437AA8D79746559 /* PNInstallation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C7613E6DD3B5405607CE0212323BFED /* FBSDKSharingContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 61AEAF3AAE7DB3790BF72EB0A31909EB /* FBSDKSharingContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7C7A3E5E39696BDFE861BDCBD0FF360A /* FBSDKCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 08C8C47139DE7A2034FF8DAFB81C47AD /* FBSDKCrypto.m */; }; + 7C94F778956DE5C5B26E0DD8209B2008 /* FBSDKKeychainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = A2F2629D5E6336FD8A4E7A0CD2C69259 /* FBSDKKeychainStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7CD1EC69438A0F7CD14C2BAFB82C6268 /* FBSDKSettings.m in Sources */ = {isa = PBXBuildFile; fileRef = 23B0C08AA81CFF7D87EC3BD5D0CE1B4B /* FBSDKSettings.m */; }; + 7CD58E642985D548BD6A21BB224E917B /* PNObject+PNObjectDELETEConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = EC027B83CF68F1B70BFB4195B3D50010 /* PNObject+PNObjectDELETEConnection.m */; }; + 7CED56B0BD2B2620B7BA217EABF2D786 /* EXPMatchers+respondTo.h in Headers */ = {isa = PBXBuildFile; fileRef = C72E97BE66A5B29F0A07C26872D0713A /* EXPMatchers+respondTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7D10C9ADE7770705B6589C46A2D56DDE /* FBSDKAppGroupAddDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 4428B42610AB0FB470CE8A9F571BE487 /* FBSDKAppGroupAddDialog.m */; }; + 7D80F293E0D0160FD33D353B80E7D92A /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 952BCB39B0D72AA10B61D9439887C180 /* UIWebView+AFNetworking.m */; }; + 7DB70D62C2A46B2CF4E7DA5BD56EBD60 /* FBSDKAppLinkNavigation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1F544822CB217B6B1ABDF563043A86A3 /* FBSDKAppLinkNavigation.m */; }; + 7F365743FCA2E9F7EDC0F263974F57FE /* FBSDKBridgeAPIProtocolWebV1.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CD3FCF450E8C38314DB299B1C7AD6C6 /* FBSDKBridgeAPIProtocolWebV1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F8D82B2DC379FD4555A31361E385183 /* FBSDKAccessTokenExpirer.h in Headers */ = {isa = PBXBuildFile; fileRef = F887AE57AD2A49338ED76686CC4DD718 /* FBSDKAccessTokenExpirer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 801516439734262C213D041E4F822BEF /* BFTask.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B8947C04C451A0A2DF29B3CBAB3F9D6 /* BFTask.m */; }; + 81A2CDBF20BC107B1A9F6B746220AAE3 /* SPTCallSite.m in Sources */ = {isa = PBXBuildFile; fileRef = FC9787E13A62A239A3C6CD21A98AF9E0 /* SPTCallSite.m */; }; + 8205F4BB9304CC301ED44469A25A31E9 /* SPTExampleGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 538C17A97ECA9192B8A93A339933238C /* SPTExampleGroup.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 820F7BF2538DFC4CFA9B59A637BCDE83 /* PNUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 54EE5407AE0AC49B2A28B4953A66E61C /* PNUser.m */; }; + 824ABE35BCC524701DB1EA1C6B990717 /* FBSDKAppEvents+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = F094D8A53A77AFCF246030E5859876BE /* FBSDKAppEvents+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 82C5215501C4109081E963A4815FCCF1 /* EXPMatchers+beLessThan.m in Sources */ = {isa = PBXBuildFile; fileRef = 4B3CF9BC60882B5CABB7C29219C1A5F5 /* EXPMatchers+beLessThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 82F8536418753B4D6FE778043E77CB92 /* PNObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 16CEDCF52A7FE56873DA10A71C1834E4 /* PNObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 834D962D86A4EF1CFF861CC2EFF48B0D /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D59F55316C71363EBAE55121B468EE8 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 84E484F55BE456F9C2AC6D10B00BC8C5 /* FBSDKAppGroupContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 17B7F258ADC3CB1852D6BF95616AE754 /* FBSDKAppGroupContent.m */; }; + 854A5179B17321B1ACE2F4F89A1A6887 /* EXPFloatTuple.m in Sources */ = {isa = PBXBuildFile; fileRef = FC9BBD4529783C71966EC576E224DB8B /* EXPFloatTuple.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 854E7B4F2E69A96C617624186C3E1CA4 /* AFJSONResponseSerializerWithData.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BEF0C3BFA8D3894AF5D67B207904D92 /* AFJSONResponseSerializerWithData.m */; }; + 855C6BCA0C9A9CA5AD7BE7AD2E3EB947 /* FBSDKSharePhotoContent.m in Sources */ = {isa = PBXBuildFile; fileRef = B367F401FD4702B3206026DF4F75F33D /* FBSDKSharePhotoContent.m */; }; + 859F02AF780B48740A1EE13BDCB6301F /* StrongestPasswordValidator-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 801E0A9A89866BB1388463D16126A85A /* StrongestPasswordValidator-dummy.m */; }; + 865154C1D6849E47CB014F647FD3C3AC /* FBSDKLikeBoxBorderView.m in Sources */ = {isa = PBXBuildFile; fileRef = ADDE93AA0657112092BB44CD65D006EF /* FBSDKLikeBoxBorderView.m */; }; + 8716445EB7B8630DEC2F206115A37D54 /* FBSDKContainerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BF510F166B6FC7160538AC711EAC68A1 /* FBSDKContainerViewController.m */; }; + 872EBC07AD530A1D8BED5019C4AF5E0F /* FBSDKShareLinkContent.m in Sources */ = {isa = PBXBuildFile; fileRef = CD9D6CD3E31885EA3B12EB1BC27DEAD5 /* FBSDKShareLinkContent.m */; }; + 874600BC9704604956CD6C7B06D81AAD /* FBSDKMeasurementEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 2697FCCB73BA3609AEBDD786D5234175 /* FBSDKMeasurementEvent.m */; }; + 8789804AC1D6DB6E826562679A0B5755 /* FBSDKShareOpenGraphAction.h in Headers */ = {isa = PBXBuildFile; fileRef = D6F306826C82D3D7DCBEF677A85120BB /* FBSDKShareOpenGraphAction.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88710DB33EDBB8884DFDD3D7560754F3 /* NSString+Helper.h in Headers */ = {isa = PBXBuildFile; fileRef = 35F30F50F4924304799BACA865C94A99 /* NSString+Helper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 88B9CC88372552827AD0E8D10242F150 /* DDDKeychainWrapper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE0802BEA45CBF21D91724CA980C8B91 /* DDDKeychainWrapper-dummy.m */; }; + 88C8F4FB60378D4DD8712F1AD8A51481 /* FBSDKAppEventsDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 876647EB967D4F5CEB7CB8F4FBB79757 /* FBSDKAppEventsDeviceInfo.m */; }; + 8AAFB07AADB3CD4F639112B28633F6B8 /* FBSDKAppEventsUninstall.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FCBEFF7147CA5ADDE141AAE8CFEA4E /* FBSDKAppEventsUninstall.m */; }; + 8B091229A9A83FE798827C0C8BA60A99 /* FBSDKURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 48930B14EAE31BA46846BE06AE185384 /* FBSDKURL.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8B3C790A9F62211F165C731DAD3EF23E /* FBSDKViewImpressionTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 8963B8734D6A668C052D29DFAFA4F085 /* FBSDKViewImpressionTracker.m */; }; + 8BD2C801BAD7E32D51C1A5FCDD80FD20 /* FBSDKGameRequestDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B271AE2F41468F2DA5075E3F378680 /* FBSDKGameRequestDialog.m */; }; + 8BFF3CC5A8D688A492744775FCB646E5 /* FBSDKLoginCompletion.h in Headers */ = {isa = PBXBuildFile; fileRef = 66CE6A6C55FF062323C0728E0A293795 /* FBSDKLoginCompletion.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8C25C902AEF7C1B06FE471BE69026EF2 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A2B994B4672A9C954B3718919B483170 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8D5A376E51ADE0B377F302FB4E27C6B1 /* FBSDKLikeButton+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C3B3777C1B965AB8BB35AE83D4436BA /* FBSDKLikeButton+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8D6037046EBDB4211EEE5EB161E3F4D0 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = C685DA7E3C04F35929DAAF2AA6845DBC /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8E5B46BE55688C744B490076A5BABE16 /* FBSDKUserDataStore.m in Sources */ = {isa = PBXBuildFile; fileRef = BFD2E4193FCBADCB13E557AEDEE981BA /* FBSDKUserDataStore.m */; }; + 8F486A4828A5C764C62E6FAEB91601A7 /* FBSDKWebViewAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 876BEDE992F7C6D99443EF18BFE22429 /* FBSDKWebViewAppLinkResolver.m */; }; + 8F5C8E3BEFC7BA916E0E538BFB6B1638 /* FBSDKLikeButtonPopWAV.h in Headers */ = {isa = PBXBuildFile; fileRef = E9D3C0E09FD3CC25C5D3A478EA531702 /* FBSDKLikeButtonPopWAV.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8FAFA679169B991C26440F5BA1F79AE4 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DEF1943D8DBFABAA3F0637F6D1638364 /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8FF2350E0E274B2526968718F65F594E /* FBSDKCameraEffectTextures.m in Sources */ = {isa = PBXBuildFile; fileRef = F7AFC8A7A5AE5F65B91A38EE8CD0E02B /* FBSDKCameraEffectTextures.m */; }; + 90BCE8D3D1AB17E293CDB5491C8FA7BD /* FBSDKHybridAppEventsScriptMessageHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B90DE54CC161DDA1C75DDD40CF7FDA1 /* FBSDKHybridAppEventsScriptMessageHandler.m */; }; + 90E43DF6002D7292F4EF6BB2A8F48F73 /* RZDataBinding-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 739BA53B10D2894EFCF6A2AF08454C11 /* RZDataBinding-dummy.m */; }; + 90EF13FE2052073904121CAB7187AEEB /* FBSDKAppEventsStateManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 46F22A2A8EF3BD4B1F683B08B3956F91 /* FBSDKAppEventsStateManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9130F2B076F9DA0F5141BA3C1081EC43 /* FBSDKError.h in Headers */ = {isa = PBXBuildFile; fileRef = CA6815C15E4DF3E1D99EFC04DE634168 /* FBSDKError.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9182F8DDBB6D41DBD25D620B6F16FA84 /* BFWebViewAppLinkResolver.m in Sources */ = {isa = PBXBuildFile; fileRef = 51C40578330A9198354C2DCB5AFC5785 /* BFWebViewAppLinkResolver.m */; }; + 91ED2C949C60F448233A36AA2D699338 /* FBSDKAudioResourceLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = 3F49F1FD84C52521B107B72B7B54DA72 /* FBSDKAudioResourceLoader.m */; }; + 920205AB031DC94595A6B49DA887B3B9 /* FBSDKURLOpening.h in Headers */ = {isa = PBXBuildFile; fileRef = 75DDA03055953C05A58106E8AC33C3FF /* FBSDKURLOpening.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 92763E0B98BFA7F74976576A06F9BDEF /* FBSDKMessageDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = E4E6332A344B4A0932629526E8E6C9CC /* FBSDKMessageDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 92E331296E10F89DA5A2D6D70947091F /* SPTExampleGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 8090ACCF98C8E565350440301F977D9A /* SPTExampleGroup.m */; }; + 92EC832F4B912E0F946DDA210FED5871 /* FBSDKErrorConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 516C170C34D2B97E2B3F13FB5D3B92E2 /* FBSDKErrorConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9308DA2187804CCE5AEB594FC69433B2 /* FBSDKShareMessengerURLActionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = E22E9CCF0015069EC4DA801689A00653 /* FBSDKShareMessengerURLActionButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 935CEB07FC411261B561544D90FB3A66 /* FBSDKAppEventsState.h in Headers */ = {isa = PBXBuildFile; fileRef = B2FEF6ABC1EA5C7650FB77F74C69D1D2 /* FBSDKAppEventsState.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 936A0FDB9C319B1E90CF9AF8F9FEDF50 /* PNObject+PNObjectConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A8D49478D57BB6B6FB40C1ADA4AFE932 /* PNObject+PNObjectConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 936F558BB8EA4B91337D3C5F3B01CC7E /* ExpectaObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 09FC8EE3328476939506F0CAD81A6757 /* ExpectaObject.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9378000FA0D713D2D2092A8EAD15148A /* SpectaTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 0203FB378E2F15AE5A113A383BC90619 /* SpectaTypes.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 93E1F20990B3E61C372E7E7AA07DE1A2 /* FBSDKDeviceLoginCodeInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = C31FA8102DF83AC01E794EEEE51AB787 /* FBSDKDeviceLoginCodeInfo.m */; }; + 9402D5D55901FFD02A2CEE75E788473C /* FBSDKWebDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C99F264193E3ADE6EAA13156157DFD8 /* FBSDKWebDialog.m */; }; + 943BB5F34B5CD9664133C86620EF1727 /* BFAppLink.h in Headers */ = {isa = PBXBuildFile; fileRef = FF2A391F4328DB787D7D6C604A041035 /* BFAppLink.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9540D014FB0C64E24A6E6A857CEE2647 /* EXPMatchers+haveCountOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 09760B847BD503A2045C772B3ED2E2B2 /* EXPMatchers+haveCountOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9618CE7E609826CDF188CEBC9982A39B /* PNInstallation.m in Sources */ = {isa = PBXBuildFile; fileRef = 97334F9A318D4EA1E45EC3E7B4D6EEEC /* PNInstallation.m */; }; + 96285A1E5046745D05F4D6551935A5D5 /* PNObjectConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = EB3D2F853F93E1C5DD8686BB8FCE0297 /* PNObjectConfig.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9704CA353B00EBF0F17D8FE45C56094F /* FBSDKApplicationDelegate+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E40C5CA1634FBE648F7631DA237EDE0 /* FBSDKApplicationDelegate+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 972DCA7EB0835B792402F05F786C1C14 /* SPTTestSuite.m in Sources */ = {isa = PBXBuildFile; fileRef = B6459BA3D7319F3DBD101EA52CDAEC4D /* SPTTestSuite.m */; }; + 97608DD732C7501FA73459EAEFFDBC93 /* EXPMatchers+endWith.h in Headers */ = {isa = PBXBuildFile; fileRef = 18E3F2D763C0560879C54D3E19F7D46F /* EXPMatchers+endWith.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 977BA43F2E386199621B4EEF5529AC52 /* FBSDKGraphRequestDataAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AA8B735DA45CEAD444BE76EBAD0A239 /* FBSDKGraphRequestDataAttachment.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 988A897C68668FD2699C106891E5EDED /* FBSDKAppLinkReturnToRefererView.h in Headers */ = {isa = PBXBuildFile; fileRef = 588036BA015152EA49785DA03F133B1D /* FBSDKAppLinkReturnToRefererView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 989AC73AF203EC1178A0B2E557868E4F /* PNObject+Protected.m in Sources */ = {isa = PBXBuildFile; fileRef = 91DFFD5F597BE0B703594690DB976C8F /* PNObject+Protected.m */; }; + 98DE6A8ED32B28D5103E5ADDEF3C4509 /* FBSDKHashtag.m in Sources */ = {isa = PBXBuildFile; fileRef = 76DE5D8DE9038186BAF45C3051D74179 /* FBSDKHashtag.m */; }; + 990210D04E6297ECF71B94F5473E3ADF /* FBSDKGraphRequestMetadata.m in Sources */ = {isa = PBXBuildFile; fileRef = EA6EB31152E17AD260E9078B9EF5B971 /* FBSDKGraphRequestMetadata.m */; }; + 993ED47BA6B60C214B39DB4D35E1C04F /* EXPMatchers+beInstanceOf.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C6C846D234A6F018B473255B0F47201 /* EXPMatchers+beInstanceOf.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 99A2E0F759E819C5A930D72C10354A9A /* FBSDKLikeControl.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C6178EFF740B1770E47181E2D755AD /* FBSDKLikeControl.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 99E11F86F9773CA005BA910500021B11 /* PNObjcPassword.m in Sources */ = {isa = PBXBuildFile; fileRef = B52A626CE55E09268E47AAA82D1F702A /* PNObjcPassword.m */; }; + 9AC6D21F0D2ACFF0490A2A968FB28521 /* NSData+AESValue.h in Headers */ = {isa = PBXBuildFile; fileRef = D441D2DF6D2DC0EFA6139912F83A816E /* NSData+AESValue.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9AF2916356336DF258EB0614FF3377AE /* FBSDKErrorRecoveryAttempter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1823C6C3EDE6A438390AF42376A3B429 /* FBSDKErrorRecoveryAttempter.m */; }; + 9AF2E07B66DEBC787A23B2799089F44D /* SPTSharedExampleGroups.h in Headers */ = {isa = PBXBuildFile; fileRef = A1A885E6A01CE0321DD46209AEAC8A56 /* SPTSharedExampleGroups.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9B364751F79479816F6EB295523AC7F2 /* FBSDKLoginManagerLoginResult+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4609ED5B43147AB345743308F07A18A4 /* FBSDKLoginManagerLoginResult+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9C43032123DA74368CF14F4F031DB515 /* FBSDKShareButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E4EE4E3A82F63F42815DE3E8CD55193 /* FBSDKShareButton.m */; }; + 9C753A1C10DDC28C8C9215D0B58CCE9A /* EXPMatchers+conformTo.m in Sources */ = {isa = PBXBuildFile; fileRef = D0E9C7B7B50E52257245C7FCE81EAC42 /* EXPMatchers+conformTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9D3CD599014B4F30DE56349C117E2948 /* FBSDKLoginCompletion+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 71113CD9E60F21CD6045F396953DCB2A /* FBSDKLoginCompletion+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9D61DBE4FDD3C57A86A64767032F4FCF /* BFTaskCompletionSource.m in Sources */ = {isa = PBXBuildFile; fileRef = B9A245ECDD956B80B4E44A642331EF83 /* BFTaskCompletionSource.m */; }; + 9DDFE16F634196761FA61836185E2A55 /* FBSDKShareDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 57BC6CFE2FF77A0D657A729BB2CFCAF5 /* FBSDKShareDialog.m */; }; + 9DE7C3FB6171B8038748F48AAFB3DBDE /* FBSDKIcon.h in Headers */ = {isa = PBXBuildFile; fileRef = 21A4A321D36F5A7AD77F203FBB536116 /* FBSDKIcon.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9E1436121B15B5382F66D42C2FF72011 /* EXPMatchers+beKindOf.m in Sources */ = {isa = PBXBuildFile; fileRef = FE242ABAC176E657012AB92CBE4DDB4F /* EXPMatchers+beKindOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + 9E4BEDC737A45D91B6F193E72384088C /* FBSDKSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5619B1BEE713E742B53D6FDA6C86B8C0 /* FBSDKSwizzler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9F10206DF65903B81CD3F816985269F7 /* FBSDKHybridAppEventsScriptMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F1E075C82DF8DE948E2EC4A3B63A3C0A /* FBSDKHybridAppEventsScriptMessageHandler.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A08E34400227E1A75FDAB154821A6736 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = AD279EE06DA2DC38AEC49D7F19A0A2BC /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A09C6504411ECD4F3E27CD83C993207D /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = B946E6678D6085D230EDD6B927817340 /* UIProgressView+AFNetworking.m */; }; + A0E9ED7E722C10D77E8FE302D62AAB78 /* PNObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 8766997BC0347060CA9AB363D89F270A /* PNObjectModel.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A14858EFB92503250412D4DC000E6388 /* CodFisResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 3CCF53AEBA6B2AA7D485B661C65FD727 /* CodFisResponse.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A184D61C3BF5B154326CC7F552AE65F8 /* nv-ios-http-status-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 53DCE1D82D923DC94A1EC30D71C8F023 /* nv-ios-http-status-dummy.m */; }; + A19471AD6C740493AA3BF36A37AB1FC1 /* Specta-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4499DF8459C8D2AF31AA71B9AE675D1D /* Specta-dummy.m */; }; + A1C67CC8B456DB58DD45A5F13534C7E2 /* NSLayoutConstraint+PureLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 323BE48D55B39D125EAB374652FBB6E2 /* NSLayoutConstraint+PureLayout.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A1D6D467725CEA1E1DC7CAB5BEA0B96D /* FBSDKShareDialogMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F7FC7C9360DC60E43AFA5DAC5FDE0DD /* FBSDKShareDialogMode.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A2893F4ACEC4878AE7A813BC87DF8CE7 /* FBSDKBridgeAPIProtocolWebV2.h in Headers */ = {isa = PBXBuildFile; fileRef = DD53C695F3ECDB80A46506C6E2F9A25A /* FBSDKBridgeAPIProtocolWebV2.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A2AD68C8C56C0DAD0299462D11A8E0EC /* FBSDKWebViewAppLinkResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CAF11D909749FDA9F2ED0794DBFE7AE /* FBSDKWebViewAppLinkResolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A2F3A17F0A21A3DEEE6EC83D57CC0F0F /* FBSDKButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A4A3712E9464769F7B299FFD4429F1B8 /* FBSDKButton.m */; }; + A31E14CE478562FD973C0B7AE52828A2 /* FBSDKCoreKit+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = FA1CA53BC015968B8A7D5A2281145D6C /* FBSDKCoreKit+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A461560958A7C2A444019DE8C9D4AA73 /* DJLocalizationSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = 50297A9E224149D1E8A31E0C13343402 /* DJLocalizationSystem.m */; }; + A47058BA3D8100AC8AD306DE999C459A /* BFCancellationTokenRegistration.h in Headers */ = {isa = PBXBuildFile; fileRef = E6E1817B1A9A7142269AD887653D5838 /* BFCancellationTokenRegistration.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A49198B98E5C0BB49892785E10D0F7A8 /* _FBSDKTemporaryErrorRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = CEE7900090D53530DA111253F2CB6043 /* _FBSDKTemporaryErrorRecoveryAttempter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A4CCAE0364E7A158E452A26B49F09019 /* DJLocalizationSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = AC1561C48A0E5AA9B22C0A48189E239A /* DJLocalizationSystem.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A5153CF6A6262915EE2FA75393045171 /* FBSDKMonotonicTime.m in Sources */ = {isa = PBXBuildFile; fileRef = 803FFB178186C751D5B8D54CA328423A /* FBSDKMonotonicTime.m */; }; + A524077B10F421A23E43A3FAF0742C09 /* BFCancellationToken.m in Sources */ = {isa = PBXBuildFile; fileRef = 13211D855E5293A4E7B68979B3927B79 /* BFCancellationToken.m */; }; + A546ED745B1936BDFD4B2C332F54544E /* PNObjectConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 57350A0FB1DCF1849369CA5A30E6D256 /* PNObjectConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A66A8F49BCF0452FF86B23746E4859E2 /* PEARFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E2135D9F38B34065389530EF9C89743 /* PEARFileManager.m */; }; + A67845A90E116A203E63EC3479348C95 /* NSDate+NSDate_Util.m in Sources */ = {isa = PBXBuildFile; fileRef = 23C7228C5DDC140432CF41CC12A34201 /* NSDate+NSDate_Util.m */; }; + A7578BE8C819FE4979DBB9591EB85717 /* NSDate_Utils-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 27A1D7637BB2132A3F444F156482E184 /* NSDate_Utils-dummy.m */; }; + A7ABF62FF15E1E127CD8309A2F049A43 /* FBSDKUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 36C15D5B7538C6F932A0E92F0CD7778D /* FBSDKUtility.m */; }; + A90E0F4E5B6411187B120FE58E05B19C /* FBSDKMeasurementEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 696A3A1D99A35202B4526CF2357B74A5 /* FBSDKMeasurementEvent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A9884A2EDCE569C96A067FC4EF36C01F /* FBSDKShareOpenGraphValueContainer+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F5C77D4033571915F1514FFA13A7AC6 /* FBSDKShareOpenGraphValueContainer+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A9F4A7FBFB0A0FBE5A11472CB0E2C07F /* FBSDKLoginError.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FC55FE8353DEA67B0C980579730F822 /* FBSDKLoginError.m */; }; + AA5C88F10468A55C41A2193119C54D21 /* FBSDKAppLinkReturnToRefererView.m in Sources */ = {isa = PBXBuildFile; fileRef = E3DB002F04E427756444ACE788547734 /* FBSDKAppLinkReturnToRefererView.m */; }; + AA6C2DC638A31B96889518F62367151D /* NSLayoutConstraint+PureLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE4441C0BEC052CFBAE042BF924FACE /* NSLayoutConstraint+PureLayout.m */; }; + AACE3143D5979498634D88F2825A5835 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 5853A3C027EF3C086C98DF233E21B3C5 /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AB182D0291DDE489515C35044E922290 /* BFCancellationTokenRegistration.m in Sources */ = {isa = PBXBuildFile; fileRef = 1BA4A045DAB6043B53CE15EDF906D10C /* BFCancellationTokenRegistration.m */; }; + AB21C0D330C9B43FE6EC4A8BF305D2D9 /* DJLocalizableString.m in Sources */ = {isa = PBXBuildFile; fileRef = 82F6CC1ACAF6F27C6A111F34E7731E6A /* DJLocalizableString.m */; }; + AB5BBDA109B69FC3AB4B19AF19D79137 /* NSMutableData+AES.m in Sources */ = {isa = PBXBuildFile; fileRef = C05C6907571617EC014518E10073274C /* NSMutableData+AES.m */; }; + ABC3CB7089B6AA83B96FCB031E455EA6 /* FBSDKShareVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = F595D724DDAEC4AAEAC9F66C11999838 /* FBSDKShareVideo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC3A306E8F74654902835F64C33B0E0D /* FBSDKAccessTokenCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = 46035459CD822676C43AC57A7C17623B /* FBSDKAccessTokenCaching.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AC7F19718C449A9DC6F00DA6027E0EF9 /* FBSDKUserDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 73168AB5AEFEF68BF6160910269CA1CE /* FBSDKUserDataStore.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD822B83292C5C186C2581BBC86842F3 /* FBSDKGameRequestDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FF9058171819AA185761AE2B04EA055 /* FBSDKGameRequestDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AD82883E20FB648B0EAFB696C8B49895 /* FBSDKCodelessPathComponent.m in Sources */ = {isa = PBXBuildFile; fileRef = F5D2FFE55155C7A7943B0D43B2ED6874 /* FBSDKCodelessPathComponent.m */; }; + ADFA22F318E8237CD11FB41D0BFEF84B /* PureLayout-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D6C25CEF86D625B2705257253DAD8BE /* PureLayout-dummy.m */; }; + AE691DD1EB97FEE2480FA4E0C99A009B /* FBSDKViewHierarchy.h in Headers */ = {isa = PBXBuildFile; fileRef = DEAEF601660FF4DF3234E9612BDE6814 /* FBSDKViewHierarchy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF2E1D84AC3C2318579CED74EF6D5294 /* VatNumber+Helper.h in Headers */ = {isa = PBXBuildFile; fileRef = A8BB7CB0268D269DBE4F5B0469EBA1EA /* VatNumber+Helper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + AF99F1B8AB0B2F0FFB2D5D89E031D894 /* FBSDKDeviceLoginError.m in Sources */ = {isa = PBXBuildFile; fileRef = 3181B47B45E3776B3AB0FAFC6DE02069 /* FBSDKDeviceLoginError.m */; }; + AFB4C25724EBC1689155913AAE5B45E3 /* FBSDKServerConfigurationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = D29168074700CD130E3196CF5B50654D /* FBSDKServerConfigurationManager.m */; }; + B0163131C0CE19D92063F1D4F6A3A57D /* SpectaUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = E712FB17B0B0BF56ED405AF90AB9E748 /* SpectaUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B09052FE148B0590C79C0C6CD54B560A /* FBSDKDeviceLoginManagerResult.h in Headers */ = {isa = PBXBuildFile; fileRef = AE4EEE301DC50F594D9F70CCA22FD21B /* FBSDKDeviceLoginManagerResult.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B0E254530E432BA0E54C65D1CF86DEBC /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 097219E7D000D1D18B00390AF04655BC /* Security.framework */; }; + B14D736299BA7FC6F286FA30D7E373F2 /* DJLocalizableString.h in Headers */ = {isa = PBXBuildFile; fileRef = 46E25B94A00EC37D77852BB2423511D5 /* DJLocalizableString.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B17B2D08D123DBB1C541E8562B16BEA4 /* FBSDKLoginManager+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = ACB25F02D87081973482D519F2156D5C /* FBSDKLoginManager+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B1F4A0076ECF098DF51D77B65DABCB17 /* FBSDKLikeButton.h in Headers */ = {isa = PBXBuildFile; fileRef = A78D0197FB7F04FEFE361A9DF89ECC1A /* FBSDKLikeButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B2BADD56B4205B6455C811CAAC44EB75 /* FBSDKColor.h in Headers */ = {isa = PBXBuildFile; fileRef = B12311AD0419602DF0FDD90C95BAE7F3 /* FBSDKColor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B30CA0A041BB4FBF8F4B29B54654E57F /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 58924C097629393B47F8913C206AB1DB /* AFImageDownloader.m */; }; + B338D6C9D6E10095446FBD283A0AAAE8 /* BFWebViewAppLinkResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = DAB35FF89153EE0C74104A17970026A4 /* BFWebViewAppLinkResolver.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B39C2441EB0E51A74699176E48E1A8E8 /* FBSDKAppLinkTarget.m in Sources */ = {isa = PBXBuildFile; fileRef = FC325C3C3D911B47F0AA694DA05BD71B /* FBSDKAppLinkTarget.m */; }; + B3C78FF7324B4E995EB136FAF0549ABF /* Pods-PNObject_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C6A7875971DFD8B00865186211FBD472 /* Pods-PNObject_Tests-dummy.m */; }; + B3CA67B486E1719A124C5F1DB4256AEF /* FBSDKAppLinkReturnToRefererController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6858509AE4AB5B41576F24603F15520C /* FBSDKAppLinkReturnToRefererController.m */; }; + B4C7B543C4543A80A3043F3537E13745 /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4536743F73315987683C3324B01D7139 /* AFNetworking-dummy.m */; }; + B4E78AC964A04F565CF39007DA69D21E /* FBSDKCodelessPathComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9302213966977B870A5EDA47DC66C8AD /* FBSDKCodelessPathComponent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B5023F69DFBFE68C058D189C112AFE94 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC6CBD664A2CBD2083B8BA395BFEDF5E /* UIKit.framework */; }; + B60DED481B8C9145ED79C156F76E4FCF /* EXPBlockDefinedMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6BC8DD89E498C32B266891C23AB6FDC5 /* EXPBlockDefinedMatcher.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + B61ECF9951BDAA47C2A0F8026561382B /* FBSDKBridgeAPIProtocolNativeV1.h in Headers */ = {isa = PBXBuildFile; fileRef = 116BDADEF0E5671E2778C019325BDDC9 /* FBSDKBridgeAPIProtocolNativeV1.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B67E5C353B849EE14AB231F4B6300202 /* EXPMatchers+beFalsy.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B5DD49FEDCD3CD1BCA1ED51D8365DEB /* EXPMatchers+beFalsy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B7368CEE2255870200C656DF16C7B400 /* FBSDKShareMessengerURLActionButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F541374C8430DA0077106D6E5F1DA26 /* FBSDKShareMessengerURLActionButton.m */; }; + B75A9E1161273C93F86B87F905AA7F66 /* FBSDKAppInviteContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 083753C776988E690880CA346ABF5823 /* FBSDKAppInviteContent.m */; }; + B8041A0CD63F21B8E087F7F795212B5E /* FBSDKBridgeAPIProtocolWebV2.m in Sources */ = {isa = PBXBuildFile; fileRef = 0AC895753CD9C702066BD2354EFB381B /* FBSDKBridgeAPIProtocolWebV2.m */; }; + B81578EB27000DC5531AA588AE3AAD2F /* FBSDKGraphRequestMetadata.h in Headers */ = {isa = PBXBuildFile; fileRef = 41EA81D366F1C2DA0E3C48520066FE1B /* FBSDKGraphRequestMetadata.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B81C0407BB365772AF796E215E3B5242 /* FBSDKContainerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F2186D54B2A440BC97AFEBCB1544D9B /* FBSDKContainerViewController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B8900D0468D47B26F18E5DDE71FDAEED /* FBSDKEventBindingManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 28A68BE6ACD020D05F047DD6D0F256F7 /* FBSDKEventBindingManager.m */; }; + B93A615A86ABFFAB3D0CF5A94130F439 /* EXPMatchers+beSubclassOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 50035DCF1A752411360B10EFFC35F0BD /* EXPMatchers+beSubclassOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + BA0BC9FE6A015F2A0A52F7C393CB6EBA /* FBSDKMaleSilhouetteIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 978F9D4BBECDC7A7F151BB55D0C12299 /* FBSDKMaleSilhouetteIcon.m */; }; + BA646F2BFDE06DC5F9C1EFF721FDE25B /* RZDBCoalesce.m in Sources */ = {isa = PBXBuildFile; fileRef = ECB1D7720A8CF797BE0808D89E06D033 /* RZDBCoalesce.m */; }; + BA7FDA4FBE08D8538A578557CBA6DD4D /* NSDate+NSDate_Util.h in Headers */ = {isa = PBXBuildFile; fileRef = D638C12B68218651E52AA8E3C94B2413 /* NSDate+NSDate_Util.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BAF05A6456511CD7D49701575FAC468C /* FBSDKURLSessionTask.m in Sources */ = {isa = PBXBuildFile; fileRef = BC8982068C4262C37B85828DADB96866 /* FBSDKURLSessionTask.m */; }; + BBD6D82E3C00632FB251B0091A037311 /* FBSDKAppEventsUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B56D76D2BF08891F4D7012036DCE314 /* FBSDKAppEventsUtility.m */; }; + BD513782772FB9C8D088EECEB26994CA /* EXPMatchers+beLessThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 375620A2EF26926B58593F4262BDB803 /* EXPMatchers+beLessThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD999AF96970AA00FA8E946619D45AB6 /* SPTExcludeGlobalBeforeAfterEach.h in Headers */ = {isa = PBXBuildFile; fileRef = 3DFF53BB878A43B652F3626FE15D5FBE /* SPTExcludeGlobalBeforeAfterEach.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BDDB1F5D66FFF46AC15B13F74D65FA07 /* EXPMatchers+beCloseTo.h in Headers */ = {isa = PBXBuildFile; fileRef = B2ADEF6DE2A753024D7EE6BB62C12A0C /* EXPMatchers+beCloseTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE14473DEDAD7850A96E9EE6BC1423B5 /* nv_ios_http_status.h in Headers */ = {isa = PBXBuildFile; fileRef = 16102F175FCEF915822BF8406CA5D2B2 /* nv_ios_http_status.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BE54A0902E6EB79861B5BCA6990FF0FF /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */ = {isa = PBXBuildFile; fileRef = 35804B3CEE4F9061640C2881234D0B6A /* EXPMatchers+beGreaterThanOrEqualTo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BF0236A4E80A93AD277A8CE46B0F983B /* UIStoryboard+DJLocalization.m in Sources */ = {isa = PBXBuildFile; fileRef = 43075ED41EDAC5215E93E64528886C1B /* UIStoryboard+DJLocalization.m */; }; + BFB95EF7E9D91ACFF230A61EF5274AB2 /* BFAppLinkReturnToRefererController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2964338CB51713FCF4178C7C529ACCAD /* BFAppLinkReturnToRefererController.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C09D68B57794FCA0A63B590B7AE55F2F /* FBSDKShareKit+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E5426E047B8483C151AF23A6C16A5096 /* FBSDKShareKit+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C1C824B655656D6CD5F1F5DD11C29144 /* SPTTestSuite.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D21A5C3093EAFB3E12E7F651A3A132A /* SPTTestSuite.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C1D3558C4859BC717A8EACCB37215EDB /* FBSDKLikeButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 807B96CAC1ED20D949D005D57A05B2B5 /* FBSDKLikeButton.m */; }; + C1EB4DAB79037286B468228A394383C2 /* EXPMatchers+beInstanceOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 6B80C2A86E5412DD2870FA63E06F6E33 /* EXPMatchers+beInstanceOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + C2B68344FD47E6858D5E4334F0613EE6 /* EXPMatchers+beNil.h in Headers */ = {isa = PBXBuildFile; fileRef = 87F16AC73F6DC5DC5D2C30FC2F111C10 /* EXPMatchers+beNil.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C2E2A7A3651EA92318AED45B4431B3C1 /* BFAppLinkReturnToRefererView_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E93CE678CED3D184D0F8007F9391C4B /* BFAppLinkReturnToRefererView_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C3763545936D68F70E2336A6DBDF87CB /* FBSDKBoltsMeasurementEventListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 161DDD68AD6642631788D91C227710A2 /* FBSDKBoltsMeasurementEventListener.m */; }; + C471AFE0B359ECE7205F6275DEF2BF45 /* FBSDKError.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BBE8F3262FA519552E8C2072923D34C /* FBSDKError.m */; }; + C639AEC65E071F50582B05D632780677 /* CodFis-Helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FFB25E6B9D88368697A01736E84DAF5 /* CodFis-Helper-dummy.m */; }; + C662AD540F8337B3C028C0AD1439FA64 /* FBSDKURLConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 44E358B4FA39962000122487194B2760 /* FBSDKURLConnection.m */; }; + C6DA0DDEDF28D634002BECBC9EC1682A /* SPTSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 118E6026F09B98DA73AFA88047CC0B74 /* SPTSpec.m */; }; + C6E4AFFCF5DFEBEA9619B9ECBB505236 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 51584A1ACF25CB49347808148BBCEC99 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C7150A505CFD257A50D71B17A42910BF /* FBSDKAudioResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 710A0BE4E9782F28B5400B86A0F9E4B8 /* FBSDKAudioResourceLoader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C756B43DD45331E8FDAF4E336C0F1238 /* FBSDKProfilePictureView.h in Headers */ = {isa = PBXBuildFile; fileRef = D1D89136781DE0949112D15F9A3DD031 /* FBSDKProfilePictureView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C7712DED5239B6760E136922EAF9E723 /* Bolts.m in Sources */ = {isa = PBXBuildFile; fileRef = 64D7FF50177AB684897EFA94FCCD615D /* Bolts.m */; }; + C7856D541CA8451DA020A79FA20C3EAC /* NSData+AESValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 662CB4A93808AEAC21BCD400DC311E45 /* NSData+AESValue.m */; }; + C81A1DB73312FEEAA34D09324000B55D /* EXPMatchers+equal.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B137C5DB9EE4C34F0784B0E2300B45 /* EXPMatchers+equal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C960C17E58C7F8869EECC9C019E306D8 /* FBSDKAppEventsDeviceInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 43FDACBDC768982815404996FC3041F0 /* FBSDKAppEventsDeviceInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C98721120AA130804106F8DE44DCA31A /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 5337B1EBF72D885EDB2CA3F253FC5B37 /* UIButton+AFNetworking.m */; }; + C989BECBB7EAC0BF548A725B7950B784 /* NSMutableData+AES.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B67BCDA25FB657CCDB23961B3E77CDF /* NSMutableData+AES.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CA4CBBB9D9DAEF8174BABB823407FD72 /* BFExecutor.h in Headers */ = {isa = PBXBuildFile; fileRef = 600F03DF58A86C9F7FE46DFD525FD1DF /* BFExecutor.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CA71B66465DCED2490A49660B2B14450 /* FBSDKVideoUploader.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C03F27BB1C39FD44794CD971653F9B8 /* FBSDKVideoUploader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CAD614C557E87939DA2B205FA0F4C449 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AE91203791D4B728219D544E4464FE87 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CB3682266535621C3A27C76EF64E9867 /* EXPMatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E41BAE09E8F96F1CC0C694C0A13330B /* EXPMatchers.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CC17AFEFD713E37E561285987DD29B15 /* FBSDKGameRequestContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 115C678BF96C98C00C9F1103DBBD9F9B /* FBSDKGameRequestContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CCA944C1829F3BA46BBC9BFBDE9D414D /* DDDKeychainWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 33066B4FAF93E2F3564F1B2C745A7128 /* DDDKeychainWrapper.m */; }; + CCD02E5E143C8FEF45E983835202DE47 /* FBSDKLikeDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = B0430D0D9ECF06A2CE776A09363ADA27 /* FBSDKLikeDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CDBACFE3595B7810F501F7401E25AE09 /* FBSDKAppGroupContent.h in Headers */ = {isa = PBXBuildFile; fileRef = A56F16109927B5D358D193F6A4BB3426 /* FBSDKAppGroupContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + CE2E52CE2DF36E8460C12537B5CF15C5 /* FBSDKSwizzler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A047C05FBFBE85A1CE33DE614DF3F33 /* FBSDKSwizzler.m */; }; + CE323FE5656FB439B049DF33D8CD5857 /* PNObject+PNObjectConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = E0313CAEAAB995D3E3B8BDC53F978BF1 /* PNObject+PNObjectConnection.m */; }; + CEA33D025567CBD7BA480680EE5155D4 /* FBSDKAppGroupJoinDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 897162B6B9D1ADADAEBC3ECC01B27AE7 /* FBSDKAppGroupJoinDialog.m */; }; + CFFC1615431F962973EBF97147D9F9C6 /* BFURL_Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 89DC8847612A5AB4B27182CD26A19A76 /* BFURL_Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D09583AB4C7EB67FDDBBD816E3D00772 /* PNObjectUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C893DAD391E87E8A4A1A581DADDB1E /* PNObjectUtilities.m */; }; + D18BD7987D2CA65008AE124484765BC5 /* FBSDKAppEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = C9E20AA73ED43F96743A6B0090627D94 /* FBSDKAppEvents.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D19E441F3323329722629EF0AAAFE2CB /* PureLayout+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0261380939A77EA9E7D9F9C73B948DE9 /* PureLayout+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D1FB09E6227F5F596C07468BCFBD7165 /* FBSDKShareOpenGraphValueContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 18BEBF8BED1319225F8546240158824B /* FBSDKShareOpenGraphValueContainer.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D1FBE3E2B04D6961B08D4859CB79EFB8 /* FBSDKDeviceLoginManagerResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 149C3CE987355271447E21C7D65C6762 /* FBSDKDeviceLoginManagerResult.m */; }; + D22BBEE4E9A6F0D6CE505B5F5B038F99 /* FBSDKLikeControl+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = E58111244B04B80DFF62AC8B4F6EB56B /* FBSDKLikeControl+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D237129D7173A137ADFEBC3AB1CD6DB5 /* EXPFloatTuple.h in Headers */ = {isa = PBXBuildFile; fileRef = EB5B907BC96C09D6BB405190C882BBD5 /* EXPFloatTuple.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D27998A5D70CDFECD6215ED2D001AFAC /* BFURL.h in Headers */ = {isa = PBXBuildFile; fileRef = E65882AA0565553B48541CD07055A7F5 /* BFURL.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D300575510C95C1B143422392CE52070 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7371F8850210EAA2725BBBAE33355C08 /* AFNetworkReachabilityManager.m */; }; + D34C710467282F4B6769AD9FDBB46B8C /* FBSDKSystemAccountStoreAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 24E61FE78C6598F0089A36428F1DD048 /* FBSDKSystemAccountStoreAdapter.m */; }; + D4EE59FAC1241AA395EA48C2815687B6 /* EXPMatchers+respondTo.m in Sources */ = {isa = PBXBuildFile; fileRef = 2598C4C9811FCBD7CCBFD97D7268398C /* EXPMatchers+respondTo.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D58BD72826927EDB727E3C1AC28E18DA /* UIDevice-Hardware.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B879F919DEDACAC5C1C25842290A8F /* UIDevice-Hardware.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D67D67B12F46354719F13F401866FA2C /* FBSDKBridgeAPIProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = E63D6E4DE52529EAD9459120A230E416 /* FBSDKBridgeAPIProtocol.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D6A37D98D7F4B1F3E6BCABC252708FA3 /* EXPMatchers+raise.h in Headers */ = {isa = PBXBuildFile; fileRef = 48EDB67FEAA6908810F10C1EF4059E0B /* EXPMatchers+raise.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D6B0E1F1F7350E9E185C7E7C3A5497CE /* FBSDKLikeDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = F1965FFF8D5A2E0C288D9A560FCFEDCE /* FBSDKLikeDialog.m */; }; + D6C6543A6E64AF372F94310EAEAACADB /* FBSDKShareMessengerContentUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 168389A483EE1A2FFB33EAD7A72599E0 /* FBSDKShareMessengerContentUtility.m */; }; + D6E1856128BBBA14F707E98BB604EC93 /* FBSDKAccessTokenCacheV3_17.h in Headers */ = {isa = PBXBuildFile; fileRef = A71F32979088B96559A98FB6021081D1 /* FBSDKAccessTokenCacheV3_17.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D728200841DAF28BBAFA715C27EE08CB /* EXPMatchers+beFalsy.m in Sources */ = {isa = PBXBuildFile; fileRef = 92C705C9C2D61894D5869A2198F62607 /* EXPMatchers+beFalsy.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + D7405ADE0E61A53C4D53CDE45B98D124 /* FBSDKViewHierarchy.m in Sources */ = {isa = PBXBuildFile; fileRef = 58C10B7ED365FB6C3FC5BF7C540812B8 /* FBSDKViewHierarchy.m */; }; + D772B9EAAD53EE795989F4980949367A /* FBSDKSharingValidation.h in Headers */ = {isa = PBXBuildFile; fileRef = 8624E8CEF200BAFC250C1F71250D0786 /* FBSDKSharingValidation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D86876EFBE692F33A371E6F5F03DDD0F /* FBSDKTimeSpentData.m in Sources */ = {isa = PBXBuildFile; fileRef = E9C89C465DA4E5F451869D6A411A7A9A /* FBSDKTimeSpentData.m */; }; + D8D7E54B80DAA1E55FE055E6D99F0D58 /* ExpectaObject.h in Headers */ = {isa = PBXBuildFile; fileRef = DFE97F191775602DFEAE6E206DA38BBB /* ExpectaObject.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D94DBEAF9BA2CA5C9EE33857DF7AD2A6 /* BFMeasurementEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 69A248BFCCB5D4AE6EE2607BA308DBA7 /* BFMeasurementEvent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9BE0B9B91D0C624AE71E09E800A1496 /* FBSDKShareAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = F41E58C8325EB10B4B63392FD847BAC6 /* FBSDKShareAPI.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9C2977315727943B95783191594F4BA /* FBSDKSharingScheme.h in Headers */ = {isa = PBXBuildFile; fileRef = 6932BABFB9914AE06E34FF9EC3FB6099 /* FBSDKSharingScheme.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D9F69F13B40DC9DB196645DC5CBEE6AC /* EXPMatchers+contain.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DCA1FB1D85806F924962DB918031C6C /* EXPMatchers+contain.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DA95222E5B79F198BA9DEFADDE6AD3A0 /* BFCancellationTokenSource.h in Headers */ = {isa = PBXBuildFile; fileRef = EE55C4283AF5E8AD1B4721099DF4C764 /* BFCancellationTokenSource.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DA9DFA194BC2AE32325A7B91FDEE82AB /* EXPMatchers+postNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = C08EBEEB85A2C61F7C4454A227DD0BF3 /* EXPMatchers+postNotification.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + DAE3672406C3D69A54E3314F294B889B /* FBSDKShareVideoContent.m in Sources */ = {isa = PBXBuildFile; fileRef = F17BB7C782512DC313E03E2EC880AB33 /* FBSDKShareVideoContent.m */; }; + DC358C30D45F03939F47285CF07EB319 /* PNAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 25D8F4929C2A75DC37221A0AA12824E1 /* PNAddress.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DC669F3DADABC97D51AE04F8D26450C9 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 097219E7D000D1D18B00390AF04655BC /* Security.framework */; }; + DD8868A75ECDBCEAF52390B813FF6529 /* NSData+SHA.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BEA087FAA2D12FF5E9BB0B6A376D8DD /* NSData+SHA.m */; }; + DDE3042B112193419BA74F254269B9D2 /* FBSDKShareMessengerGenericTemplateElement.m in Sources */ = {isa = PBXBuildFile; fileRef = C51B5C8D42BB2FCA4FDFB6DB12343DF1 /* FBSDKShareMessengerGenericTemplateElement.m */; }; + DE5557BAD5A0E74C498553437B36AD95 /* FBSDKLikeActionController.m in Sources */ = {isa = PBXBuildFile; fileRef = F8061B3868BDAD11CE1E886FBC87A507 /* FBSDKLikeActionController.m */; }; + DE6B05817658FA630B754D05421587D8 /* StrongestPasswordValidator.h in Headers */ = {isa = PBXBuildFile; fileRef = EDA278F288AAA30155CD1A0E2692CB62 /* StrongestPasswordValidator.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DE904AF6BDFFB74ABA599FA9B172098F /* PNObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 8DDE2ACF69D44496ACAABE1B1FBB2EFA /* PNObjectModel.m */; }; + DED86949F2EA996D06BB9F4A107E855A /* BFAppLinkResolving.h in Headers */ = {isa = PBXBuildFile; fileRef = 35F4F2911C50F7A10EA4CD2EABA60A49 /* BFAppLinkResolving.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF1417108793761811DD0234FCB488E7 /* FBSDKShareAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = BDF47E5D4FDE9BED9604D0D40DBB3A5C /* FBSDKShareAPI.m */; }; + DF2CD8858A3F0E265D27D91895B6656A /* FBSDKTestUsersManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 5BE543CFC04F0279346707BD5FE5A8DB /* FBSDKTestUsersManager.m */; }; + DF73F09FCA1704506EE7E0BF00CD42EB /* FBSDKGraphRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D4C3620B470F0BE002263030752F9B9 /* FBSDKGraphRequest.m */; }; + DFD829C488857DF5E6AF3EF01E0DC849 /* FBSDKMessageDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = F0DE0DF8D914E38271859E2DC3FFAB1D /* FBSDKMessageDialog.m */; }; + DFFE4A79C08EBBEA4A9FF707A8E053DA /* FBSDKSharing.h in Headers */ = {isa = PBXBuildFile; fileRef = C1C2CA015EB5FB6D0D7D1E529440594C /* FBSDKSharing.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E00CBCA8D11F3B297B594BC1EB0A946C /* FBSDKBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = D217711660E1C424F327E5DEFF4DEB5F /* FBSDKBase64.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E012F56169477B39357852DEA9ED4567 /* EXPMatchers+beInTheRangeOf.m in Sources */ = {isa = PBXBuildFile; fileRef = 610B3F3EB62EDF675253EC2EC174742B /* EXPMatchers+beInTheRangeOf.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E03E56B2C755C083A8FD9F7518CB695F /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 422228405026B213960E61CE3699D6CF /* UIActivityIndicatorView+AFNetworking.m */; }; + E0E020B91D1787D0F9D2A43A59564397 /* PNObject+PNObjectPOSTConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = DD35899D8CC1BFD3DA8589534E8377F2 /* PNObject+PNObjectPOSTConnection.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E155E59C839A05C01878A9630051B628 /* FBSDKShareKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 921954198F5E18C5FB71E329721B3574 /* FBSDKShareKit.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E1AF014E9751C5E5497BE55247B37775 /* FBSDKLoginManagerLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = EB03E9ADFEAA91D13AD2155E49EFAC59 /* FBSDKLoginManagerLogger.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E1F5159C91E75C703F981D976A55FD0B /* NSDataAESCipher.h in Headers */ = {isa = PBXBuildFile; fileRef = CAEBDEB3253090886D136A519B999CD9 /* NSDataAESCipher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E282A5F1E1D7D5172562141D53A4F1CC /* FBSDKUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 062D98265A110DA997A2F5C88D7BC54C /* FBSDKUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E3562A44D795D0A7E599FD2E90FD2029 /* FBSDKShareUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E184A6E100068DE232EEE9238820E8D /* FBSDKShareUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E3DBEE41F7561C185CD715D00AB1B99A /* FBSDKShareCameraEffectContent.m in Sources */ = {isa = PBXBuildFile; fileRef = 77FB2688DB92ACD34FD173329000B6F0 /* FBSDKShareCameraEffectContent.m */; }; + E46299E8D5384050881242D7672B425C /* FBSDKErrorRecoveryAttempter.h in Headers */ = {isa = PBXBuildFile; fileRef = 35851A4867C0A3869015CB9897C6113B /* FBSDKErrorRecoveryAttempter.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E498771AE0D01B72AD777A84821F6FC5 /* ResponseConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = C643735F7E92D45BEA621C1ABBCBF3DA /* ResponseConstants.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E52D40C69C9451A95D4EB12E55F0C1B5 /* FBSDKLikeActionControllerCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E34818E402DEACB3E6B52D25C9EAC64D /* FBSDKLikeActionControllerCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E58D3CB8F9931D3436E6C6CE67C718CC /* FBSDKAppEventsUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = D73898976CB279C5DCCEBAE629A98B92 /* FBSDKAppEventsUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E67A8234481FA50D5980A24AD2AF4AA2 /* FBSDKBridgeAPICrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = B1042C4A000AF83F8B9EEEE20CD52608 /* FBSDKBridgeAPICrypto.m */; }; + E71F169F9EE2D9A0D1C3BFD707EBC597 /* FBSDKLoginTooltipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E97A54636CC271E5BC33FC8F2AD411F /* FBSDKLoginTooltipView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E7328026D755F191C97DDF1584204722 /* Bolts.h in Headers */ = {isa = PBXBuildFile; fileRef = E8E98FAA016C6137D77701FC438F8705 /* Bolts.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E742F9FCAA56C970BCC0568FCC6A7725 /* FBSDKAppLinkUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = A76088022DFD59817505A370A8613F5D /* FBSDKAppLinkUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E76C9020FCD6C28A26C533600E50332A /* FBSDKShareMessengerMediaTemplateContent.m in Sources */ = {isa = PBXBuildFile; fileRef = FD37A75E3B04A194B8A7DF3E67156907 /* FBSDKShareMessengerMediaTemplateContent.m */; }; + E81D9CAD6E38E6A11EE835CC45943CF9 /* FBSDKAppInviteDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 7703EBD91F030530D391B9311BBE7284 /* FBSDKAppInviteDialog.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E88E4C1BCB1CBA2A553235BB712DD5DA /* EXPMatchers+beGreaterThan.m in Sources */ = {isa = PBXBuildFile; fileRef = E8FF921CC0A5BF5881CB0A658CAC6F7D /* EXPMatchers+beGreaterThan.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + E89CDC617E8F7654DADDAF195A813F76 /* FBSDKDialogConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = A4AA503239425F3D877CFF2FE3814BBF /* FBSDKDialogConfiguration.m */; }; + E8D3A9E9EDF9A53A2D687E868CDF2F56 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = C53704366AC8BB3E2D54F6F50F20D59D /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E94AC102014ABE5C8D37A0A7B465E523 /* EXPMatchers+beGreaterThan.h in Headers */ = {isa = PBXBuildFile; fileRef = 4268EDC447EE59BDBB8ABBC399FE5188 /* EXPMatchers+beGreaterThan.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E965406F721EA9256CBFD9EF82DF07EA /* NSData+AES.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B9D1C914C0CA7355777345FD1C453E8 /* NSData+AES.h */; settings = {ATTRIBUTES = (Project, ); }; }; + E9946CCF56CB845277D2646DA1B96C1E /* FBSDKAccessTokenExpirer.m in Sources */ = {isa = PBXBuildFile; fileRef = DA654D0F6B5BD3708C8A32ABCAB7F357 /* FBSDKAccessTokenExpirer.m */; }; + EA09268C95CFB9491A86BA3214B901BF /* NSData+AES.m in Sources */ = {isa = PBXBuildFile; fileRef = 9760CF6845E5C00E61FFC02E89A275C8 /* NSData+AES.m */; }; + EA5836F626F702E4380128EE8B51B111 /* VatNumber+Helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 3232F7829A1283E3AF2D1C4E6E9CBC3B /* VatNumber+Helper.m */; }; + EA99CE0C44219ED43BA58D6B822FA535 /* FBSDKLoginKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9E3E19E0D76816F64A6F358938AA2BC7 /* FBSDKLoginKit-dummy.m */; }; + EAD1758DA7AB856D50047EA8465DEB32 /* CodFis+Helper.h in Headers */ = {isa = PBXBuildFile; fileRef = 945553D4E0D0A23E3A6D9AFE6D11DE59 /* CodFis+Helper.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EB6A54166A817E3E3D45BBE7EF30D550 /* FBSDKAppInviteDialog.m in Sources */ = {isa = PBXBuildFile; fileRef = 451DE67489762E7BF4872982818685DF /* FBSDKAppInviteDialog.m */; }; + EB6D9A8D925F6815C154269253739597 /* FBSDKEventBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = 038CD0BC7F1EB85889C5F6485FCE82E2 /* FBSDKEventBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EB7295A0DC35A67A1747CC7A4BCCD85B /* FBSDKLoginCompletion.m in Sources */ = {isa = PBXBuildFile; fileRef = 5ECDADF39BFF0422B052C8AF0281341F /* FBSDKLoginCompletion.m */; }; + EBB345AE250E2766618063FC6ACD5931 /* FBSDKDeviceLoginCodeInfo+Internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 410011B50EE53E54B3FE68221E7AB585 /* FBSDKDeviceLoginCodeInfo+Internal.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC4CA3E90D2E68CEB1A16146BA5DF58B /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 36730929D0B3CB2AC41BF100F89ACA3B /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EC954F98976DBCD2C5E5811605BB46A6 /* FBSDKKeychainStoreViaBundleID.h in Headers */ = {isa = PBXBuildFile; fileRef = 521DC8C943ADDC23A72DB305ED5CB36A /* FBSDKKeychainStoreViaBundleID.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ECD308C08C8456FC6B2A4BA1BC9902B1 /* FBSDKLikeBoxBorderView.h in Headers */ = {isa = PBXBuildFile; fileRef = 52E0074F55BA1EC501E0972582CE4284 /* FBSDKLikeBoxBorderView.h */; settings = {ATTRIBUTES = (Project, ); }; }; + ED073B849AE889A12A4305CF57818780 /* FBSDKDeviceLoginManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E32798AA3060928B31D6D2414AE6CF7E /* FBSDKDeviceLoginManager.m */; }; + ED77A4CF2F0B97B6A0DEF913199402AD /* FBSDKDeviceLoginCodeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0ED5839BD70E5166E50524F5A135BEF7 /* FBSDKDeviceLoginCodeInfo.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EDE5C02715557E5CEA92915847FF2AE3 /* FBSDKTypeUtility.h in Headers */ = {isa = PBXBuildFile; fileRef = 712F3FF5530F663771950BCC0CF0B2D4 /* FBSDKTypeUtility.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EEE7B1E3153CFC7CB68036ADB52213B4 /* PNLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = C5E5518C24ABEF56D055C449B0853253 /* PNLocation.m */; }; + EEE90A804A9D9C45B6FAAE59AF648A37 /* FBSDKBridgeAPIProtocolNativeV1.m in Sources */ = {isa = PBXBuildFile; fileRef = 152F87FDA18CCB12396926DB0DFF6EA1 /* FBSDKBridgeAPIProtocolNativeV1.m */; }; + EEEE790F4AA17DB682FDB4B385EB7C47 /* FBSDKCameraEffectArguments.m in Sources */ = {isa = PBXBuildFile; fileRef = DC189E040D574F2A4945517C0A1F0802 /* FBSDKCameraEffectArguments.m */; }; + EF04C640BA7EEEB81446613F22E96774 /* EXPMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AEF0C66CA8D1E28D60B2C75C55CE9A0 /* EXPMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + EF4D23FC58F9782C3EAE252D5447F2F2 /* FBSDKShareMediaContent.h in Headers */ = {isa = PBXBuildFile; fileRef = D6C8F624B454CFAC87AE5FB889B4728C /* FBSDKShareMediaContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F085E2BCC622A96E91213ADFFD1E3953 /* FBSDKTimeSpentData.h in Headers */ = {isa = PBXBuildFile; fileRef = 50B432BB73B3BB63AB5FD7534F7D1B38 /* FBSDKTimeSpentData.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F0D2B51A842A3C2252D76C832058EA2E /* FBSDKErrorRecoveryConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = ED9E4D474B9CAC5DDD2A39AD25683A14 /* FBSDKErrorRecoveryConfiguration.m */; }; + F0E536CBC0AB099E0B143547EFAAD6C2 /* FBSDKSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DE8E9D0C166D342CA5EA91030B92A5D /* FBSDKSettings.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F15D027606061CC85404F7B42DCC4B76 /* EXPBlockDefinedMatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F337357C275445D11C05C3D05412409 /* EXPBlockDefinedMatcher.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F16026745667552F96933AE3FF637272 /* SpectaDSL.m in Sources */ = {isa = PBXBuildFile; fileRef = 6C83C3A12D9A0C7152215476E20751EC /* SpectaDSL.m */; }; + F20E895881CD1819ECEE12DC011C6724 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E65A5B341221CBEEF0E88382CDB87241 /* Foundation.framework */; }; + F2A1A98C9D1CC9B5D873BB7D1FBE2B9A /* FBSDKSharePhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C4F7BEF57EDE8480EF5D3BB0038A9A9 /* FBSDKSharePhoto.m */; }; + F3750DCD37E60C5EE8D8401B83B9F86E /* FBSDKShareButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 8968CB9A6DE68B4B5677DBBDE983BE39 /* FBSDKShareButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F3A372FEDCAF8F9890FCB5D28F529247 /* PNObject-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C30F58DA20C9E3C4C6D00D79F4434E2 /* PNObject-dummy.m */; }; + F3E714996397702AFA717A6034F89EA5 /* FBSDKBridgeAPIProtocolWebV1.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B843E9A83B5038ED6DD189A70F48C6 /* FBSDKBridgeAPIProtocolWebV1.m */; }; + F435D89A9B19BF74EFC3637565394BBB /* FBSDKSendButton.m in Sources */ = {isa = PBXBuildFile; fileRef = EA10A2832C986A5E90B8DA412A574AD6 /* FBSDKSendButton.m */; }; + F46DB3DC34D1614CAE76A906CC47E075 /* NSString-Helper-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B4C7FA8DA604D0615DD16136A5FE4F1 /* NSString-Helper-dummy.m */; }; + F473AB7AFAD698FA08CAADB2A7B2C7FF /* FBSDKCheckmarkIcon.m in Sources */ = {isa = PBXBuildFile; fileRef = 67886D657034CA4A926FDFA702319389 /* FBSDKCheckmarkIcon.m */; }; + F49906976C1669DDF4D88F8904C8617E /* FBSDKAccessTokenCacheV4.m in Sources */ = {isa = PBXBuildFile; fileRef = 450032CE5D7BD2E90B3183935D3758A6 /* FBSDKAccessTokenCacheV4.m */; }; + F4E0AD7567C1BFF3D9709BA5810907DF /* PNObjectConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = E58254A18A1B3A2F552E1886D9B7BAA2 /* PNObjectConfig.m */; }; + F5034BD1BF1179DCC3C22ABBF887F8BF /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 228290CCA9AB8436577C8CC4F7AF1C06 /* CoreGraphics.framework */; }; + F50941D5934274FBA2BEA0A289CC39C3 /* FBSDKAppLinkNavigation.h in Headers */ = {isa = PBXBuildFile; fileRef = CF14E773AD209A4DBC35D768C2F689FF /* FBSDKAppLinkNavigation.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F57A53A72B4869B03D6D11E48FC32FA8 /* EXPMatchers+raiseWithReason.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D8B4922E95788F5B6D84BD95973C201 /* EXPMatchers+raiseWithReason.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F653602DDC5621262A51E07F860C57F2 /* FBSDKDynamicFrameworkLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = CB33BC990E6388D94448D83125E942C3 /* FBSDKDynamicFrameworkLoader.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + F6FEEE8069B653ADF74319553881FC38 /* SPTCompiledExample.m in Sources */ = {isa = PBXBuildFile; fileRef = 32A4312242020248E5076096163D4572 /* SPTCompiledExample.m */; }; + F714FEE048F7550293C8383C834E6919 /* RZDataBinding.h in Headers */ = {isa = PBXBuildFile; fileRef = A3F0896E256DA1F53B7235EB9C4C1205 /* RZDataBinding.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F73327D72228AE97BFE9F5600E5855D0 /* PEAR-FileManager-iOS-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = AFFF12E2E0C503E8EF4EBB4AF4EBA402 /* PEAR-FileManager-iOS-dummy.m */; }; + F7491890DCB4D7E298F15902820BCA0F /* RZDBMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = C510C630A4C17612F4CEF4569C285F7C /* RZDBMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F862133FFC4970CE1E7049B3F64E99EB /* FBSDKButton.h in Headers */ = {isa = PBXBuildFile; fileRef = AAD0B5A748C81355837677EBC835CD84 /* FBSDKButton.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F8913FB5AA599DB79465591ADA9DEFB2 /* FBSDKPaymentObserver.m in Sources */ = {isa = PBXBuildFile; fileRef = 0999C5B871B290CD16A0DD8EC0D54670 /* FBSDKPaymentObserver.m */; }; + F8F4BCF0BF9B40161D16D28F44BB4DB3 /* FBSDKShareDialogMode.m in Sources */ = {isa = PBXBuildFile; fileRef = 76FBF95528DC39D92FE22C0EA4AC7E7C /* FBSDKShareDialogMode.m */; }; + F9792E591C89A2DB1AC8FA28F383E3DE /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CC6CBD664A2CBD2083B8BA395BFEDF5E /* UIKit.framework */; }; + F9AD97244E916DBC6000C7E2EE146E38 /* Bolts-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EB6967181467BED4492732D1D4705DC6 /* Bolts-dummy.m */; }; + F9B545C30B1E4CD25DF7D3A49CC14DF3 /* FBSDKShareLinkContent.h in Headers */ = {isa = PBXBuildFile; fileRef = 74634C2DC0DA90642585261C51C96620 /* FBSDKShareLinkContent.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9BCE07797B19F778A9E7100E4A9AF72 /* FBSDKServerConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 20A06BD9E7B94EE8EDE93D8132A6477B /* FBSDKServerConfiguration.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FAA4F33836850A5C1A2E7E7AABBFFC46 /* FBSDKCopying.h in Headers */ = {isa = PBXBuildFile; fileRef = 8F6435D1C81D2CCBF8334F92E3678802 /* FBSDKCopying.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FAF562AFA2369A2465D3A3B75B0EA939 /* FBSDKGraphRequestBody.h in Headers */ = {isa = PBXBuildFile; fileRef = CAE9492312C126DB3DCD486FF4353C55 /* FBSDKGraphRequestBody.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FB0446F2F8C6170EE3E66BA826130E2F /* StrongestPasswordValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = BE5D48F63E4D98DF26F93806FDA6E607 /* StrongestPasswordValidator.m */; }; + FB1C06DEA18A3F43E40E1FB8E311623E /* EXPMatcherHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = BD93892679A0E8925992B5C843C04755 /* EXPMatcherHelpers.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + FB6E7FBAF9F3350D2EFCE428BAE57289 /* FBSDKAccessToken.h in Headers */ = {isa = PBXBuildFile; fileRef = E23ABD68532554C46F8B5E911765A163 /* FBSDKAccessToken.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD4EA33D2F522E56F079677C55419981 /* FBSDKMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 21AD0E47271019E55E663568E2B00521 /* FBSDKMath.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FD560570B3E7568E94FA503EE24A1087 /* FBSDKAccessTokenCacheV3.m in Sources */ = {isa = PBXBuildFile; fileRef = 64E9867518D59755916C982BC35CF161 /* FBSDKAccessTokenCacheV3.m */; }; + FD7959AE4ED808E106CED3E794AE82A2 /* FBSDKAppLinkResolving.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF86883A595780271A818F99992EE1B /* FBSDKAppLinkResolving.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FDD7419049586E6232B659EC95DC5AF1 /* PNObjectFormData.m in Sources */ = {isa = PBXBuildFile; fileRef = 70B6EFE36F3843A1CEBD39DDD20322A1 /* PNObjectFormData.m */; }; + FE07B7E252B3635ABBCD49455CE83AA6 /* FBSDKShareOpenGraphAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 44B5F73B49B2F5CD6A2A7696618A8931 /* FBSDKShareOpenGraphAction.m */; }; + FE623762B1E5D0FEB3625D5B819E8FF8 /* EXPMatchers+match.m in Sources */ = {isa = PBXBuildFile; fileRef = 34FCBE7D1D77C32B559F05E07654D2A3 /* EXPMatchers+match.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; }; + FE6D38499076BD23BF81A1490B551C21 /* FBSDKCoreKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EC2A85F7CB62517F814A1B26EC514E99 /* FBSDKCoreKit-dummy.m */; }; + FE73C08B35D0D8E1836A30E1325A67DE /* BFTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 8171265156664F0907696D211D002E6B /* BFTask.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FF80DB2AB04646EF29DDA19BA77D61FD /* RZDBTransforms.h in Headers */ = {isa = PBXBuildFile; fileRef = 5862C90EFD738F31E09EB762AAEB0FCF /* RZDBTransforms.h */; settings = {ATTRIBUTES = (Project, ); }; }; + FFE90F9273AC79D083D598DF2F8861EE /* DJLocalization-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 29FFE39BB9744FB477E9BD45281C4E20 /* DJLocalization-dummy.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0191A024A66F75012AF9E7E0897211F6 /* PBXContainerItemProxy */ = { + 01B113C34FAA406DB4A6CDF20DCB8B9B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = F76C3D6E6CD26C48DA5507B8C82CE87C; - remoteInfo = NSDate_Utils; - }; - 071F219ED2A57E04D33135AE31699E0F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 9E033EDB5EC0819481B0546434FA577B; - remoteInfo = AFNetworking; - }; - 0BD350F24C9C2CFD1E7D7866B734F838 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = FB1EE56FCB7A626DC70FE0286458B1BB; - remoteInfo = "PEAR-FileManager-iOS"; - }; - 0C9DB1804E05F644A1AAE8668CD0929F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 308EDDEC51C8A18A3C77844119C34BC0; - remoteInfo = RZDataBinding; - }; - 0EAC4C30A2B5AD1F540E0FB9C7516BB1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = F76C3D6E6CD26C48DA5507B8C82CE87C; - remoteInfo = NSDate_Utils; - }; - 13563CF7247FA530F268A6DF17EAD1F8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = EF0AEFBF9DC8D43442F5F2A7B603ED0A; - remoteInfo = PNObject; - }; - 135C5182914BCB3FA26CBF3BBA6259AA /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3371FC4FDC48D96B2A6D507752AB84C7; - remoteInfo = FBSDKCoreKit; - }; - 283C16530B434E7AF28D251AD21E70DF /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 2CCA0A5BB7B40CF2F6594BF0D24B4683; - remoteInfo = DJLocalization; - }; - 3373E95BEE689C011254E975B0B2E1F7 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 191EE4AC6A0D8CC08BB8437C0E845116; - remoteInfo = FBSDKLoginKit; - }; - 367FA66A25701C6EA69CF29D7FCAD50F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0E9F6724C731DB563F6A7FC5A489C702; + remoteGlobalIDString = 6493D0116FE1BA5F8BB4133D819DF3C8; remoteInfo = Bolts; }; - 3693728CD9F384AF4F20A02F302DC1E5 /* PBXContainerItemProxy */ = { + 04F8D4266069070FFE805EC907ED2BE5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FE88C6C90B72279CEDF06AB3A39D1B28; - remoteInfo = NSDataAES; - }; - 5206091323F0692F795B5065545FB182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4C6C0DEC127307838A58C68F289A3404; + remoteGlobalIDString = 0FE145A63419906335F165B953111B50; remoteInfo = FBSDKShareKit; }; - 5C0A8975851A02DDBB7A31AF2A5FAC86 /* PBXContainerItemProxy */ = { + 0559C89F6A3C9DB982C028011B4F7274 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = F93DDBEC0063FE03A9B9D176690EDC3E; + remoteGlobalIDString = 6E6F78D1E706987F92C1C61F6B619A67; remoteInfo = "nv-ios-http-status"; }; - 5CF4D4E3E24E01F3BBEF5EF3B1B9DDBB /* PBXContainerItemProxy */ = { + 0833FDF10922F9602D680C4261DC73AF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2CCA0A5BB7B40CF2F6594BF0D24B4683; - remoteInfo = DJLocalization; + remoteGlobalIDString = A7ABB589D7269F28501753691B0189FB; + remoteInfo = "UIDevice-Utils"; }; - 5DF1ACB882003862030BD449DE2812E7 /* PBXContainerItemProxy */ = { + 0985AB55C2B0EF728F93BD29CE93A98C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9FABD90CF9D328EE31409CA42A597A3D; - remoteInfo = PureLayout; + remoteGlobalIDString = D71965AADCF27F9F922926F15DAA80A7; + remoteInfo = FBSDKCoreKit; }; - 5F742B363823C12D18DF2A5D5001CC7A /* PBXContainerItemProxy */ = { + 0C178B7D964BFA9F25A449C638F1A53E /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = FB1EE56FCB7A626DC70FE0286458B1BB; - remoteInfo = "PEAR-FileManager-iOS"; + remoteGlobalIDString = 0EABDFFFE1E889B87B1197D012AD068A; + remoteInfo = AFNetworking; }; - 621E8E01389F4251687B2CD119E20518 /* PBXContainerItemProxy */ = { + 1031B538176B5540A222382EA20A6415 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = AFEFC2C78952EECCF761054356C705E8; + remoteGlobalIDString = 26069BE91A9928289B1454877B6683E5; + remoteInfo = StrongestPasswordValidator; + }; + 10E96630EA055E3B97CE3CB8D42C5126 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 63178740FD447D2079BFABBA20ADEF1E; remoteInfo = "Pods-PNObject_Example"; }; - 6B99C8314C91758F5D961F0741225894 /* PBXContainerItemProxy */ = { + 1874734BD9109688C762D22A600B3550 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 308EDDEC51C8A18A3C77844119C34BC0; - remoteInfo = RZDataBinding; + remoteGlobalIDString = 6E14B2EB890E5F1C28CB981EFB57CB3E; + remoteInfo = "CodFis-Helper"; }; - 6D02ED5A8F6D19CC7C9FA988ABD1B204 /* PBXContainerItemProxy */ = { + 1E73446C51436201237C441EC6DE7E6D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9E033EDB5EC0819481B0546434FA577B; + remoteGlobalIDString = 6493D0116FE1BA5F8BB4133D819DF3C8; + remoteInfo = Bolts; + }; + 1E8BBCDEE24A8B32BFFC9E34F47F93FB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A7ABB589D7269F28501753691B0189FB; + remoteInfo = "UIDevice-Utils"; + }; + 23EB32719EE6056D7806344434FDA68B /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = D71965AADCF27F9F922926F15DAA80A7; + remoteInfo = FBSDKCoreKit; + }; + 278965677B6D0B828227E563A4EB8FED /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 23677D10DAFC9612279D0C04E8F822F0; + remoteInfo = PureLayout; + }; + 2AC3865612BE6F9667AE367795D9769D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = BF3423B26285A217899170780715FAFC; + remoteInfo = DDDKeychainWrapper; + }; + 3C2BE651535437F593E96BA6F86C81B5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = ADBBB3E85D1E2F795520A8939751318B; + remoteInfo = "PEAR-FileManager-iOS"; + }; + 3C7B24FA99915350892228A4F243F962 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6E14B2EB890E5F1C28CB981EFB57CB3E; + remoteInfo = "CodFis-Helper"; + }; + 40054265102AED3C5889EBCF80B22A59 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 0EABDFFFE1E889B87B1197D012AD068A; remoteInfo = AFNetworking; }; - 6F9F122B221132D45EC15C537524859A /* PBXContainerItemProxy */ = { + 4151E7B95097069198D6F5B3C87A7414 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 0E9F6724C731DB563F6A7FC5A489C702; - remoteInfo = Bolts; + remoteGlobalIDString = ADBBB3E85D1E2F795520A8939751318B; + remoteInfo = "PEAR-FileManager-iOS"; }; - 843EA1D2BE8616C7337C144F6C6F4B5F /* PBXContainerItemProxy */ = { + 4564C74DBDD944982494F574EAF254AA /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 91CFADD3F2AAFB0FF2F77F2DBA19DB5B; - remoteInfo = "NSString-Helper"; + remoteGlobalIDString = B8DB1230EFD4A2B4440593A586A5F223; + remoteInfo = Specta; }; - 8DC95B9E30F6F8A78ED0CB286F16527F /* PBXContainerItemProxy */ = { + 47DB42DFCF7769EA7AA39BC546381880 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 2CCA0A5BB7B40CF2F6594BF0D24B4683; + remoteGlobalIDString = C784B90D59D6E06A6468ADC0F4E51429; remoteInfo = DJLocalization; }; - 8F08425F930E8D81DD7DE31302EEE046 /* PBXContainerItemProxy */ = { + 4E9D471F61BDC0C0C489A5ADB75216C4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = F93DDBEC0063FE03A9B9D176690EDC3E; + remoteGlobalIDString = 8499AC93B286F5F061A552CBC893C989; + remoteInfo = PNObject; + }; + 5810721FCBB27E7156001056608264FA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6E6F78D1E706987F92C1C61F6B619A67; remoteInfo = "nv-ios-http-status"; }; - 92411BC099606AAA5F8372410CBEE4AA /* PBXContainerItemProxy */ = { + 58EC99B1214E7FE5E2C4BADE28D11170 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EF6364BCD9239D41077373DF8383FCD0; - remoteInfo = DDDKeychainWrapper; - }; - 975D2D0DFD6D597782D27AEAE5934D23 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0E9F6724C731DB563F6A7FC5A489C702; - remoteInfo = Bolts; - }; - AA984B49A5B2160524ECB1D86FC23D34 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 4C6C0DEC127307838A58C68F289A3404; - remoteInfo = FBSDKShareKit; - }; - ADF327D8A9C3962594D39B6BF5DD41FB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33744B13416CE666037143AD625AD724; - remoteInfo = "CodFis-Helper"; - }; - AE7C1A7B4583A1C42EF5F7A3A565890F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 3371FC4FDC48D96B2A6D507752AB84C7; - remoteInfo = FBSDKCoreKit; - }; - AEA754D409AC94087F9D234D7929DCCB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0E9F6724C731DB563F6A7FC5A489C702; - remoteInfo = Bolts; - }; - B4764FB49940AF927993A209354B8D70 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 91CFADD3F2AAFB0FF2F77F2DBA19DB5B; - remoteInfo = "NSString-Helper"; - }; - BC3EC9A5F9F54960B0AAC9833AC4BC6F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 5271C3FC8724603F0CBAD23A471EAB14; + remoteGlobalIDString = 26069BE91A9928289B1454877B6683E5; remoteInfo = StrongestPasswordValidator; }; - C41296E8C9337723AE6DFD2A74F67A54 /* PBXContainerItemProxy */ = { + 59D97A59206C2207FA9592FAB2D8B236 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = EF6364BCD9239D41077373DF8383FCD0; - remoteInfo = DDDKeychainWrapper; - }; - CC959CB7E1D1D61F8E3BF94711E49313 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0E9F6724C731DB563F6A7FC5A489C702; - remoteInfo = Bolts; - }; - CCA49B703B91F0F2F240F2E865E7942F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 46D68D26DCAAC4D999D549BA45F0B0EC; - remoteInfo = Expecta; - }; - CF34BF1FB63213B633DB0FD11D367C8F /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = FE88C6C90B72279CEDF06AB3A39D1B28; + remoteGlobalIDString = A7334FDC353B84921762C535B7E01EA0; remoteInfo = NSDataAES; }; - D2590C3FF3E19FAA0550C77B683E72DA /* PBXContainerItemProxy */ = { + 6F8EE45D209E05A3632FAA8DAE834776 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 43929E12B775B4FFF3CF21C07EF66EDF; - remoteInfo = "UIDevice-Utils"; + remoteGlobalIDString = 0FE145A63419906335F165B953111B50; + remoteInfo = FBSDKShareKit; }; - D37971599754D6847EB4267A878C7ECC /* PBXContainerItemProxy */ = { + 7A9273A3C23D6A92531B5B84D870262F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3371FC4FDC48D96B2A6D507752AB84C7; - remoteInfo = FBSDKCoreKit; + remoteGlobalIDString = B636D5CA7BFECB99A182D63A69EA5720; + remoteInfo = "NSString-Helper"; }; - D3BC40875C021F9D126D7E396019CB08 /* PBXContainerItemProxy */ = { + 7C2E116E66661D9429ED10896D99260F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 3371FC4FDC48D96B2A6D507752AB84C7; - remoteInfo = FBSDKCoreKit; + remoteGlobalIDString = F23086A6598C6BAA8DAF542D4A03059D; + remoteInfo = NSDate_Utils; }; - DDCFEA730B4AFFC105FAD1F2B2303C5C /* PBXContainerItemProxy */ = { + 7E44AD6A0717588657CD01C68ED90AE8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 191EE4AC6A0D8CC08BB8437C0E845116; + remoteGlobalIDString = 65B039250BC589E46F912B1B0C2AE01B; + remoteInfo = RZDataBinding; + }; + 828F4903FF4383A9B1BA1C7A246CF368 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 428487CF01476A350D641A9BB0599574; remoteInfo = FBSDKLoginKit; }; - ED353573FB6EE04A5AADDF45736B584B /* PBXContainerItemProxy */ = { + 868D6684B4362CF516BB786685C12423 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 5271C3FC8724603F0CBAD23A471EAB14; - remoteInfo = StrongestPasswordValidator; + remoteGlobalIDString = BF3423B26285A217899170780715FAFC; + remoteInfo = DDDKeychainWrapper; }; - F7EE61CEA66F12BD59D481123A484868 /* PBXContainerItemProxy */ = { + 95952E01EF08C3E4AA3A0FF89704D9A0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 43929E12B775B4FFF3CF21C07EF66EDF; - remoteInfo = "UIDevice-Utils"; + remoteGlobalIDString = 6493D0116FE1BA5F8BB4133D819DF3C8; + remoteInfo = Bolts; }; - FA8E693465686092DABB5C1F8B765A4A /* PBXContainerItemProxy */ = { + 981DC05198880419D2E3DE4455FEE0E7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 33744B13416CE666037143AD625AD724; - remoteInfo = "CodFis-Helper"; + remoteGlobalIDString = D71965AADCF27F9F922926F15DAA80A7; + remoteInfo = FBSDKCoreKit; }; - FC4137E88871AB2D6F9D8D0239885011 /* PBXContainerItemProxy */ = { + 9A8FA569E6BFA00B337E6954A449A30D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 1299BA0E752CDD0366B531EF41DC1E68; - remoteInfo = Specta; + remoteGlobalIDString = 428487CF01476A350D641A9BB0599574; + remoteInfo = FBSDKLoginKit; + }; + 9C511BA8666D7472E8A88AAFE61C793D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6493D0116FE1BA5F8BB4133D819DF3C8; + remoteInfo = Bolts; + }; + 9E1D8E066ADB83124E0D55B2933C65BA /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = F23086A6598C6BAA8DAF542D4A03059D; + remoteInfo = NSDate_Utils; + }; + 9F075EF5EFC86BA8B44E5959B1C59566 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C784B90D59D6E06A6468ADC0F4E51429; + remoteInfo = DJLocalization; + }; + BA22E019BF58184538B1D947ED17A4BF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = B636D5CA7BFECB99A182D63A69EA5720; + remoteInfo = "NSString-Helper"; + }; + BF1A88ADFAD9650D61F8FC0499ABCC88 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = C784B90D59D6E06A6468ADC0F4E51429; + remoteInfo = DJLocalization; + }; + C92918F85AD8F4ADDFF3258E567C34F0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = A7334FDC353B84921762C535B7E01EA0; + remoteInfo = NSDataAES; + }; + D4F07391719B5468DF3B71C7E325496C /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 6493D0116FE1BA5F8BB4133D819DF3C8; + remoteInfo = Bolts; + }; + F48C433CE6B0DAE8E8422A254EAD604D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2F76C4DEAE2007246BF4FBF8967B2FA3; + remoteInfo = Expecta; + }; + FA1C7670EF71574F7C438A17CD4F49FF /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = D71965AADCF27F9F922926F15DAA80A7; + remoteInfo = FBSDKCoreKit; + }; + FC83AC3110B1A0C3638AF9A4CC558536 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + proxyType = 1; + remoteGlobalIDString = 65B039250BC589E46F912B1B0C2AE01B; + remoteInfo = RZDataBinding; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 000C8E060C68A35F396E8FBBEAD74321 /* DDDKeychainWrapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDDKeychainWrapper.xcconfig; sourceTree = ""; }; - 001A1E462C59380CBDD7A9F3F394596A /* FBSDKMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMath.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMath.h; sourceTree = ""; }; - 00AA0805FC9FCA3378BFFD4B31756BE5 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; 00C6A0D70D0B027EF3BC2D2DCA4A3D9D /* PNObject.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PNObject.xcconfig; sourceTree = ""; }; + 00CAC1E14DB79A2B3778FA8099224F62 /* FBSDKBridgeAPICrypto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPICrypto.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPICrypto.h; sourceTree = ""; }; + 0203FB378E2F15AE5A113A383BC90619 /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; 0227F4D40A4916468A40CAFC2C96FEDE /* Pods-PNObject_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PNObject_Example-resources.sh"; sourceTree = ""; }; - 02A6652C6757CCF760ED2B143FE02141 /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; - 04E84B3959A79827929087F0D916A44D /* FBSDKBridgeAPIProtocolWebV2.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIProtocolWebV2.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV2.m; sourceTree = ""; }; - 05EA3C767B2CDA9255CCF80D49F2DB1C /* FBSDKShareVideo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareVideo.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.h; sourceTree = ""; }; - 068B809842EDCC64FEDE4E2B20B11DA4 /* BFMeasurementEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFMeasurementEvent.m; path = Bolts/iOS/BFMeasurementEvent.m; sourceTree = ""; }; - 06C24B9F2DDF1C00A2785DFA9D4069AA /* FBSDKShareMessengerGenericTemplateContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerGenericTemplateContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.m; sourceTree = ""; }; - 070C0C9925DB1D94FB32C90CB4EB12B3 /* FBSDKAppEventsState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsState.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.h; sourceTree = ""; }; - 078845D9650F143DC7190619E36BD8C2 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; - 080B2AF9C85B344B7658197E08CB1EB0 /* FBSDKLikeBoxBorderView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeBoxBorderView.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxBorderView.h; sourceTree = ""; }; - 0813CA68F6C1B790E4F01258FC8D29C5 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; - 084679749DA5F6A0CE8B37003A9EC961 /* FBSDKLoginManagerLoginResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginManagerLoginResult.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.m; sourceTree = ""; }; + 0261380939A77EA9E7D9F9C73B948DE9 /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; + 03544C46C5B4889BCB1205F7BF2604A1 /* FBSDKEventBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKEventBinding.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.m; sourceTree = ""; }; + 038CD0BC7F1EB85889C5F6485FCE82E2 /* FBSDKEventBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKEventBinding.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBinding.h; sourceTree = ""; }; + 03C681477C9407E00FE027DB25A56590 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 04E2BABEA53E3363A9BC0F646F4BBCE3 /* FBSDKCheckmarkIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCheckmarkIcon.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCheckmarkIcon.h; sourceTree = ""; }; + 0504389A5BE500DFAF6462082446D938 /* FBSDKAppEventsState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsState.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.m; sourceTree = ""; }; + 0520C7E3795A436FFB2969476664B7D9 /* FBSDKGraphRequestPiggybackManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestPiggybackManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.h; sourceTree = ""; }; + 057B5D00B60E06F193E8BC4B3E2444C3 /* FBSDKURLConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURLConnection.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLConnection.h; sourceTree = ""; }; + 062D98265A110DA997A2F5C88D7BC54C /* FBSDKUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.h; sourceTree = ""; }; + 06475B8A4E97FA30A4B8FEEDCB4EAF7F /* FBSDKAppGroupAddDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppGroupAddDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.h; sourceTree = ""; }; + 07F635318349C3CA4CE2CBCE9E58A983 /* DDDKeychainWrapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDDKeychainWrapper-prefix.pch"; sourceTree = ""; }; + 083753C776988E690880CA346ABF5823 /* FBSDKAppInviteContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppInviteContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.m; sourceTree = ""; }; 084AE6ECA57A970F74C4109DC3D26042 /* libNSString-Helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libNSString-Helper.a"; path = "libNSString-Helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0889B0201C8E42BD77B91F9F149596AF /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; - 0948569E88FA6B0946FA126CD86DFBC7 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; - 09E5A76307883C04147A45F3967FBA02 /* FBSDKLoginConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginConstants.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginConstants.h; sourceTree = ""; }; - 0A3CF72E0B374A4206E35BBF916963E8 /* FBSDKAppGroupContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppGroupContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.h; sourceTree = ""; }; + 087B6006953245BE2307CFE4FE8A79C5 /* BFAppLinkReturnToRefererView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkReturnToRefererView.h; path = Bolts/iOS/BFAppLinkReturnToRefererView.h; sourceTree = ""; }; + 08C8C47139DE7A2034FF8DAFB81C47AD /* FBSDKCrypto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCrypto.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Cryptography/FBSDKCrypto.m; sourceTree = ""; }; + 08FCBEFF7147CA5ADDE141AAE8CFEA4E /* FBSDKAppEventsUninstall.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsUninstall.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.m; sourceTree = ""; }; + 0927668E0C2C5C5630C5BD9F8AEFF05B /* FBSDKDeviceLoginManagerResult+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKDeviceLoginManagerResult+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginManagerResult+Internal.h"; sourceTree = ""; }; + 097219E7D000D1D18B00390AF04655BC /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 09760B847BD503A2045C772B3ED2E2B2 /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; + 098D32B91683044612866E4D6B655190 /* FBSDKBridgeAPIProtocolType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolType.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIProtocolType.h; sourceTree = ""; }; + 0999C5B871B290CD16A0DD8EC0D54670 /* FBSDKPaymentObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKPaymentObserver.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.m; sourceTree = ""; }; + 09FC8EE3328476939506F0CAD81A6757 /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; + 0AA8B735DA45CEAD444BE76EBAD0A239 /* FBSDKGraphRequestDataAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestDataAttachment.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.h; sourceTree = ""; }; 0AC7DF341C5ADF18C839B25F23CB9302 /* Pods-PNObject_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PNObject_Tests.debug.xcconfig"; sourceTree = ""; }; - 0AE07BB50C86950308DDC527134BD4FC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 0B1282E3D7D424C7CCDFC368A8F3EC22 /* FBSDKBridgeAPIProtocolWebV2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolWebV2.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV2.h; sourceTree = ""; }; - 0BA5A46C701FF3185A9E8A31F8FF7378 /* FBSDKLoginKit+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginKit+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginKit+Internal.h"; sourceTree = ""; }; - 0BB83ABE52AFE274194B52C291006BC2 /* FBSDKLikeActionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeActionController.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.h; sourceTree = ""; }; - 0C52A633C498C5B925D2C8E4F2DEC800 /* CodFis+Helper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CodFis+Helper.m"; path = "CodFis-Helper/CodFis+Helper.m"; sourceTree = ""; }; + 0AC895753CD9C702066BD2354EFB381B /* FBSDKBridgeAPIProtocolWebV2.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIProtocolWebV2.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV2.m; sourceTree = ""; }; + 0B243224F6E2B01B74C79F0377139E80 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 0B85BFC6FDA0BBCDF52F9B150C0F94CB /* FBSDKCameraEffectArguments+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKCameraEffectArguments+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCameraEffectArguments+Internal.h"; sourceTree = ""; }; + 0B90DE54CC161DDA1C75DDD40CF7FDA1 /* FBSDKHybridAppEventsScriptMessageHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKHybridAppEventsScriptMessageHandler.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.m; sourceTree = ""; }; + 0BB2B82D03CB3906ABDE6669ED9D833A /* FBSDKLikeObjectType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeObjectType.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeObjectType.m; sourceTree = ""; }; + 0C03F27BB1C39FD44794CD971653F9B8 /* FBSDKVideoUploader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKVideoUploader.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.h; sourceTree = ""; }; + 0C3B3777C1B965AB8BB35AE83D4436BA /* FBSDKLikeButton+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLikeButton+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeButton+Internal.h"; sourceTree = ""; }; + 0C4F7BEF57EDE8480EF5D3BB0038A9A9 /* FBSDKSharePhoto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSharePhoto.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.m; sourceTree = ""; }; 0C739A4DC5B7A154D06B71411E01459C /* libAFNetworking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libAFNetworking.a; path = libAFNetworking.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C77D65BFCC1F323CEDFB774F2F32BBC /* FBSDKShareMessengerActionButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerActionButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h; sourceTree = ""; }; - 0DCEDD28349CD4D0FDC3477080175E1B /* FBSDKSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSettings.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.h; sourceTree = ""; }; - 0E2AB15B5417891ED77B7214A970CF69 /* FBSDKAppEvents+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKAppEvents+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEvents+Internal.h"; sourceTree = ""; }; - 0E453DB9800B06611F23438F997A327A /* StrongestPasswordValidator-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "StrongestPasswordValidator-dummy.m"; sourceTree = ""; }; - 0E83E6B99603BA7D2D5B5469122623ED /* FBSDKDeviceLoginError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginError.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginError.m; sourceTree = ""; }; - 0E9EA79D9F8108F79B145A22302A1192 /* DJLocalization-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DJLocalization-prefix.pch"; sourceTree = ""; }; - 0EAE21FFC2B630F8BD6F2E8242412CDD /* FBSDKURLSessionTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKURLSessionTask.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLSessionTask.m; sourceTree = ""; }; - 0EEFE86DD82D55EBCDBC17FF721D0158 /* FBSDKLikeActionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeActionController.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.m; sourceTree = ""; }; - 0F062F766F07B049681961B0731673E8 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; - 0F6B25E2C512DC51FE47F17735DB73DA /* FBSDKLoginTooltipView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginTooltipView.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.m; sourceTree = ""; }; - 109FA53110068270617AF4961234AE01 /* FBSDKKeychainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKKeychainStore.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStore.h; sourceTree = ""; }; + 0CD3FCF450E8C38314DB299B1C7AD6C6 /* FBSDKBridgeAPIProtocolWebV1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolWebV1.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV1.h; sourceTree = ""; }; + 0D74D80556E8DC3CCFB397594080ECFE /* FBSDKLoginManagerLoginResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginManagerLoginResult.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.h; sourceTree = ""; }; + 0E00D21E56F405766DF0B9B5832FDAA4 /* FBSDKMessengerIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMessengerIcon.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.h; sourceTree = ""; }; + 0E2135D9F38B34065389530EF9C89743 /* PEARFileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PEARFileManager.m; path = "PEAR-FileManager-iOS/PEARFileManager.m"; sourceTree = ""; }; + 0ED5839BD70E5166E50524F5A135BEF7 /* FBSDKDeviceLoginCodeInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginCodeInfo.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginCodeInfo.h; sourceTree = ""; }; + 104339D4CF0D1ACF34BD94ECBF7750A1 /* FBSDKLoginKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSDKLoginKit-prefix.pch"; sourceTree = ""; }; 10BA568F71A4B331D86EED3F308E65DA /* Pods-PNObject_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PNObject_Tests-resources.sh"; sourceTree = ""; }; - 10D215A12ED2589E53FD45F4FDF630B8 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; - 111D24CD3D68D3166C7E2BB3AB4BCB8A /* FBSDKAccessTokenCacheV3_17.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV3_17.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_17.h; sourceTree = ""; }; - 1183F953E427157333EC5EA5FDAC18C7 /* FBSDKShareOpenGraphContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.m; sourceTree = ""; }; - 1196106794947352DFD68D1B3C1A2465 /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; - 119AA50CD8E101928CC28CCF00CDF87B /* FBSDKAccessTokenCaching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCaching.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCaching.h; sourceTree = ""; }; - 11F8B283B32D13700F22C6D795B41066 /* FBSDKBridgeAPIProtocolType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolType.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIProtocolType.h; sourceTree = ""; }; - 128CFD3BB842D71F3F75FB575CDD54AA /* FacebookSDKStrings.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; path = FacebookSDKStrings.bundle; sourceTree = ""; }; - 143FCFD0678C1BD9B350D22FFA8E8716 /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; - 14CB7006C21AD6D6E7808E6603C0E620 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + 115C678BF96C98C00C9F1103DBBD9F9B /* FBSDKGameRequestContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGameRequestContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.h; sourceTree = ""; }; + 116BDADEF0E5671E2778C019325BDDC9 /* FBSDKBridgeAPIProtocolNativeV1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolNativeV1.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.h; sourceTree = ""; }; + 118E6026F09B98DA73AFA88047CC0B74 /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; + 12DBABF54A0D1A13073266DEAF71AB5F /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; + 12E33E70801A48C06920A1C5A947D38F /* FBSDKCoreKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSDKCoreKit.xcconfig; sourceTree = ""; }; + 13211D855E5293A4E7B68979B3927B79 /* BFCancellationToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFCancellationToken.m; path = Bolts/Common/BFCancellationToken.m; sourceTree = ""; }; + 149C3CE987355271447E21C7D65C6762 /* FBSDKDeviceLoginManagerResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginManagerResult.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManagerResult.m; sourceTree = ""; }; 14D9DD4A903CFB812BED1D10CF39FA42 /* libFBSDKLoginKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libFBSDKLoginKit.a; path = libFBSDKLoginKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 151AC994C8FBAF0D7FF8A8BEA855811C /* UIStoryboard+DJLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIStoryboard+DJLocalization.h"; path = "DJLocalization/UIStoryboard+DJLocalization.h"; sourceTree = ""; }; - 15917BA5076DA3D84FE219A363358E66 /* FBSDKAccessTokenCacheV4.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV4.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV4.h; sourceTree = ""; }; + 152F87FDA18CCB12396926DB0DFF6EA1 /* FBSDKBridgeAPIProtocolNativeV1.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIProtocolNativeV1.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.m; sourceTree = ""; }; + 157C7F2CDCAFB2C0654489B1DE32558F /* FBSDKShareDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareDefines.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareDefines.h; sourceTree = ""; }; + 15ADDF66D61DF3F757DC15DD22960A85 /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; 15BA90E35C2DEF377C5A730CB5D9FF5A /* libPNObject.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPNObject.a; path = libPNObject.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 15C70960E2A423921EAC7ADF7A1F240A /* FBSDKContainerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKContainerViewController.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKContainerViewController.h; sourceTree = ""; }; - 15DB97D4559336CAF266A4E21F26CB7A /* FBSDKSystemAccountStoreAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSystemAccountStoreAdapter.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.h; sourceTree = ""; }; - 15EAF8B2AEE03AA71B95BC57BF7A89ED /* FBSDKAppEventsUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m; sourceTree = ""; }; - 15EFE509962306386DD959BFF4D9EA17 /* NSString+Helper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+Helper.m"; path = "NSString-Helper/NSString+Helper.m"; sourceTree = ""; }; - 161178B44ECADDAB83B0AB4753AFEBCA /* FBSDKMessengerIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMessengerIcon.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.m; sourceTree = ""; }; - 169C5D4D5323138DDAA6DC22FDA63B6D /* FBSDKSharePhoto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSharePhoto.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.m; sourceTree = ""; }; + 16102F175FCEF915822BF8406CA5D2B2 /* nv_ios_http_status.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = nv_ios_http_status.h; path = "nv-ios-http-status/nv_ios_http_status.h"; sourceTree = ""; }; + 161DDD68AD6642631788D91C227710A2 /* FBSDKBoltsMeasurementEventListener.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBoltsMeasurementEventListener.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppLink/FBSDKBoltsMeasurementEventListener.m; sourceTree = ""; }; + 16462DED9F55E0ED16FFE38C1ED53CD1 /* FBSDKProfile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKProfile.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.m; sourceTree = ""; }; + 168389A483EE1A2FFB33EAD7A72599E0 /* FBSDKShareMessengerContentUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerContentUtility.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.m; sourceTree = ""; }; 16CEDCF52A7FE56873DA10A71C1834E4 /* PNObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PNObject.h; path = PNObject/Classes/PNObject.h; sourceTree = ""; }; - 17124624038F34B57C6F0EA03432C56C /* FBSDKAccessTokenCacheV4.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV4.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV4.m; sourceTree = ""; }; - 1720651E4CC3ACF4BA0239F9374C2B59 /* FBSDKAccessTokenCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCache.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCache.m; sourceTree = ""; }; - 17BFD543F7F7919FD9C38AE93050E132 /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; - 18D7CF7F88BA39D023E7EF27BC145EF2 /* NSString-Helper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString-Helper-prefix.pch"; sourceTree = ""; }; - 1945A3B41CE53F2498874D10D99E08B9 /* nv_ios_http_status.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = nv_ios_http_status.m; path = "nv-ios-http-status/nv_ios_http_status.m"; sourceTree = ""; }; - 1963BB8E6E8DFDFAB68EC46738882528 /* FBSDKDynamicFrameworkLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDynamicFrameworkLoader.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/FBSDKDynamicFrameworkLoader.m; sourceTree = ""; }; - 19BA632E7EE1FF4E254D4774B0033400 /* FBSDKAppLinkUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.m; sourceTree = ""; }; - 19D4C6574DA724811996FB2B79EA9486 /* _FBSDKTemporaryErrorRecoveryAttempter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FBSDKTemporaryErrorRecoveryAttempter.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/_FBSDKTemporaryErrorRecoveryAttempter.m; sourceTree = ""; }; - 1A27A53FD1FEB959AF5073EAB279A6E0 /* BFAppLinkReturnToRefererController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkReturnToRefererController.h; path = Bolts/iOS/BFAppLinkReturnToRefererController.h; sourceTree = ""; }; + 172CA916B01ADF01834F21D4BBC99E7F /* FBSDKLoginButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginButton.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.m; sourceTree = ""; }; + 176E870DCB3AF59CD26DB552E58F97DE /* FBSDKKeychainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKKeychainStore.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStore.m; sourceTree = ""; }; + 1798DBD97EF8F8F206F34CCF900897F6 /* FBSDKLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLogger.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKLogger.m; sourceTree = ""; }; + 17B7F258ADC3CB1852D6BF95616AE754 /* FBSDKAppGroupContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppGroupContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.m; sourceTree = ""; }; + 17B879F919DEDACAC5C1C25842290A8F /* UIDevice-Hardware.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIDevice-Hardware.h"; path = "Pod/Classes/UIDevice-Hardware.h"; sourceTree = ""; }; + 1823C6C3EDE6A438390AF42376A3B429 /* FBSDKErrorRecoveryAttempter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKErrorRecoveryAttempter.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/FBSDKErrorRecoveryAttempter.m; sourceTree = ""; }; + 18BEBF8BED1319225F8546240158824B /* FBSDKShareOpenGraphValueContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphValueContainer.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.h; sourceTree = ""; }; + 18E3F2D763C0560879C54D3E19F7D46F /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; + 193E4E44508695DE7A55DB438C385177 /* FBSDKDeviceRequestsHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceRequestsHelper.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.h; sourceTree = ""; }; + 1A1F5AFFD86438D32B457856F1C59628 /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; 1A2EE15DA3B2D963CF915EE5204C254F /* AFOAuth2Manager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AFOAuth2Manager.h; sourceTree = ""; }; - 1A4D67DF5330EEEEAB15A31EC371E3F8 /* ALView+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "ALView+PureLayout.m"; path = "PureLayout/PureLayout/ALView+PureLayout.m"; sourceTree = ""; }; - 1A632A3443D89EF740AADBA7FB983FC0 /* FBSDKShareButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareButton.m; sourceTree = ""; }; - 1A6DAE7079029CC5918089220AA0A61D /* EXPMatchers+endWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+endWith.h"; path = "Expecta/Matchers/EXPMatchers+endWith.h"; sourceTree = ""; }; - 1A8C93A607A5EA76F8C4BABC58F89882 /* FBSDKDeviceLoginManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginManager.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.h; sourceTree = ""; }; - 1A9FF4471F87B4D04E5AF0C40B99DCB1 /* NSObject+RZDataBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RZDataBinding.m"; path = "RZDataBinding/NSObject+RZDataBinding.m"; sourceTree = ""; }; - 1BC49AA52989D2D9BB62FF2665F1A8E8 /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; - 1C71227AE9EC119983473D14AC389BD2 /* FBSDKLogo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLogo.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKLogo.m; sourceTree = ""; }; - 1CA1F79BE419604A3EC258CEF7B08EDB /* FBSDKPaymentObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKPaymentObserver.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.h; sourceTree = ""; }; - 1D146EF243489EE9E7F90D479C153E08 /* FBSDKLikeButtonPopWAV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeButtonPopWAV.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeButtonPopWAV.h; sourceTree = ""; }; - 1D8B6902E9BA447BA583ED4D999F0FAF /* FBSDKAppEventsDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsDeviceInfo.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsDeviceInfo.h; sourceTree = ""; }; - 1E13EE60ABA8EB78A2C5B98509382920 /* FBSDKLikeControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeControl.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.m; sourceTree = ""; }; - 1E195EAB7EE08352186CA5D36A31F909 /* NSData+AESKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AESKey.m"; path = "NSDataAES/Classes/NSData+AESKey.m"; sourceTree = ""; }; + 1A3FB96D1F6A7EF08A000F86B2C6E5F6 /* BFTaskCompletionSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFTaskCompletionSource.h; path = Bolts/Common/BFTaskCompletionSource.h; sourceTree = ""; }; + 1AEF0C66CA8D1E28D60B2C75C55CE9A0 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; + 1BA4A045DAB6043B53CE15EDF906D10C /* BFCancellationTokenRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFCancellationTokenRegistration.m; path = Bolts/Common/BFCancellationTokenRegistration.m; sourceTree = ""; }; + 1C281D535337DDB08FADBA3886092C98 /* FBSDKCloseIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCloseIcon.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKCloseIcon.h; sourceTree = ""; }; + 1D63D39F5A65930A719EB5CA354755F9 /* CodFisResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CodFisResponse.m; path = "CodFis-Helper/CodFisResponse.m"; sourceTree = ""; }; + 1DD181996D4B1D7A965555F0BD9DACCF /* FBSDKAccessTokenCacheV4.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV4.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV4.h; sourceTree = ""; }; + 1E15D107A27585EB378759650D71B11E /* FBSDKPaymentObserver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKPaymentObserver.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.h; sourceTree = ""; }; 1E3A9409D147611CC6CEFC013FF45FBA /* PNObject.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = PNObject.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 1E40C5CA1634FBE648F7631DA237EDE0 /* FBSDKApplicationDelegate+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKApplicationDelegate+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKApplicationDelegate+Internal.h"; sourceTree = ""; }; 1E83C4F995602150C30446C7C75BEDC3 /* libRZDataBinding.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libRZDataBinding.a; path = libRZDataBinding.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 1EBE68D6B095F54BE43F9CFEE7FF17A5 /* FBSDKColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKColor.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKColor.h; sourceTree = ""; }; - 1ECD4CBB0E5321BC5F4F62DE24902493 /* FBSDKLogo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLogo.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKLogo.h; sourceTree = ""; }; - 1EFC716407ACFABC139C26869B0628B3 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; - 1F37F49B515C27CB72F8AAB4DE656804 /* UIDevice-Hardware.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIDevice-Hardware.m"; path = "Pod/Classes/UIDevice-Hardware.m"; sourceTree = ""; }; - 1F487BD8094EFD7D47A7CB048072AE99 /* FBSDKMutableCopying.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMutableCopying.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h; sourceTree = ""; }; - 1F4B33CBFF5E1EAF229CAD25B01DCC7D /* FBSDKGraphErrorRecoveryProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphErrorRecoveryProcessor.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.m; sourceTree = ""; }; - 1F940E734C28765523553A012C70096E /* FBSDKGraphRequestConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestConnection.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.h; sourceTree = ""; }; - 1FC3AA2C47EF5AC80A9A0BB86B676342 /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; + 1F1D6EF45199DB45509D1E7117799302 /* FBSDKTypeUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTypeUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTypeUtility.m; sourceTree = ""; }; + 1F544822CB217B6B1ABDF563043A86A3 /* FBSDKAppLinkNavigation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkNavigation.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.m; sourceTree = ""; }; + 1FA46E687E1312187756E021E50CD42E /* FBSDKLoginManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginManager.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.m; sourceTree = ""; }; 1FF3EFF42698A9901B54C38949D90B56 /* AFHTTPRequestSerializer+OAuth2.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFHTTPRequestSerializer+OAuth2.m"; sourceTree = ""; }; - 207ED0282CCE1E1FB66E14B8DFE92CFE /* FBSDKCoreKit+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKCoreKit+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h"; sourceTree = ""; }; - 20C253775307C8D9182C2DB498383EE8 /* FBSDKShareKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSDKShareKit-dummy.m"; sourceTree = ""; }; - 213FB0F0D132493C6C675F19BF1F31AC /* FBSDKShareOpenGraphValueContainer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphValueContainer.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.h; sourceTree = ""; }; + 207EE05BFBF535B0FBCC1B4F35245968 /* FBSDKAccessTokenCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCache.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCache.h; sourceTree = ""; }; + 20A06BD9E7B94EE8EDE93D8132A6477B /* FBSDKServerConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKServerConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.h; sourceTree = ""; }; + 21382B817A2018EE60879362EEAA5FE3 /* FBSDKAppEventsStateManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsStateManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsStateManager.m; sourceTree = ""; }; + 2153DF21CC1242FEC6CEAFC1D4C2B1F9 /* BFAppLink_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLink_Internal.h; path = Bolts/iOS/Internal/BFAppLink_Internal.h; sourceTree = ""; }; 2188B59C0DAFD7EDFB9D610675470885 /* PNObjectFormData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PNObjectFormData.h; path = PNObject/Classes/PNObjectFormData.h; sourceTree = ""; }; - 21DFC62C1EA6734924F565555D63E9BF /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; - 22057B3B1B5199E8BAFEAD9C310E0A88 /* FBSDKShareOpenGraphObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphObject.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.h; sourceTree = ""; }; + 21A4A321D36F5A7AD77F203FBB536116 /* FBSDKIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKIcon.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKIcon.h; sourceTree = ""; }; + 21AD0E47271019E55E663568E2B00521 /* FBSDKMath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMath.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMath.h; sourceTree = ""; }; + 21EE23B56B6160B8FF9892C879BF17BF /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; + 2219D5C06179BD9C93CC2B7E8E7CD4DD /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; 2259653BA47063BB08391397AA4D6B29 /* PNObject+Protected.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PNObject+Protected.h"; path = "PNObject/Classes/PNObject+Protected.h"; sourceTree = ""; }; - 226DD8628B86DD85524B3620B9AB5C21 /* FBSDKColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKColor.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKColor.m; sourceTree = ""; }; - 22C65CA5542A29B11D02BFC66AF1EFE3 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; - 22DC2B7F88C4D9ED54BFCF9135CD6DCF /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; + 228290CCA9AB8436577C8CC4F7AF1C06 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; 235BE4AB4998A621A73ED2BF118F0A7F /* libnv-ios-http-status.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libnv-ios-http-status.a"; path = "libnv-ios-http-status.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 23A6F4BFE92BE0C14379D2688D99BFCD /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerOpenGraphMusicTemplateContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.m; sourceTree = ""; }; - 23B81740999F1DECAE2BAAF4A2B039AD /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; - 247D3543DA4387A7C8E00373E15BE5B5 /* FBSDKDeviceLoginManagerResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginManagerResult.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManagerResult.h; sourceTree = ""; }; - 2542111D528C366AB90A731A201E6E01 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - 25B6BD5B1B989A466B9FBC18DE884510 /* BFWebViewAppLinkResolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFWebViewAppLinkResolver.h; path = Bolts/iOS/BFWebViewAppLinkResolver.h; sourceTree = ""; }; + 23B0C08AA81CFF7D87EC3BD5D0CE1B4B /* FBSDKSettings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSettings.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.m; sourceTree = ""; }; + 23C7228C5DDC140432CF41CC12A34201 /* NSDate+NSDate_Util.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+NSDate_Util.m"; path = "Pod/Classes/NSDate+NSDate_Util.m"; sourceTree = ""; }; + 24E61FE78C6598F0089A36428F1DD048 /* FBSDKSystemAccountStoreAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSystemAccountStoreAdapter.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.m; sourceTree = ""; }; + 255326F6938207707C684919F7491B1A /* FBSDKGraphRequestPiggybackManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestPiggybackManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.m; sourceTree = ""; }; + 2562B5BCB3BB4273DD636EBF7CF6D668 /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + 2598C4C9811FCBD7CCBFD97D7268398C /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; 25D8F4929C2A75DC37221A0AA12824E1 /* PNAddress.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PNAddress.h; sourceTree = ""; }; - 265DEB08420D568235541EFAB1D870C1 /* FBSDKLoginManagerLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginManagerLogger.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLogger.m; sourceTree = ""; }; - 26B7FF51D4554E348CE6CF54B7B0D63F /* FBSDKShareKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSDKShareKit.xcconfig; sourceTree = ""; }; - 27039D60F234A3A41286A612DED7EAEA /* FBSDKShareMessengerGenericTemplateContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerGenericTemplateContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.h; sourceTree = ""; }; - 276C22B3223B59877C3D88B3644963B9 /* CodFisResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CodFisResponse.h; path = "CodFis-Helper/CodFisResponse.h"; sourceTree = ""; }; - 27803FE494AE44EF2B6214D6748C8C0D /* _FBSDKTemporaryErrorRecoveryAttempter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FBSDKTemporaryErrorRecoveryAttempter.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/_FBSDKTemporaryErrorRecoveryAttempter.h; sourceTree = ""; }; - 282612DD771B926AEB2E32C93140A00B /* FBSDKGraphRequestPiggybackManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestPiggybackManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.m; sourceTree = ""; }; - 28B43DA4C1CEF56041C9C8329850405E /* FBSDKShareMessengerMediaTemplateContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerMediaTemplateContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.m; sourceTree = ""; }; - 29A1CC01700DAA88133DDCAEF4154CC2 /* FBSDKLoginCompletion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginCompletion.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.m; sourceTree = ""; }; - 29B77731117FA78156137A838406C47B /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; - 29C520DB26D2DC3582B3421375DEFB85 /* FBSDKAccessToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessToken.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.h; sourceTree = ""; }; - 2A2BF7C7177FE9B55BAF69585CDB548D /* FBSDKDeviceRequestsHelper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceRequestsHelper.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.h; sourceTree = ""; }; + 264E69028A0C84EABC73E28CFA284AE3 /* FBSDKAppInviteContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppInviteContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.h; sourceTree = ""; }; + 2697FCCB73BA3609AEBDD786D5234175 /* FBSDKMeasurementEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMeasurementEvent.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.m; sourceTree = ""; }; + 27A1D7637BB2132A3F444F156482E184 /* NSDate_Utils-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSDate_Utils-dummy.m"; sourceTree = ""; }; + 28A68BE6ACD020D05F047DD6D0F256F7 /* FBSDKEventBindingManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKEventBindingManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.m; sourceTree = ""; }; + 2964338CB51713FCF4178C7C529ACCAD /* BFAppLinkReturnToRefererController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkReturnToRefererController.h; path = Bolts/iOS/BFAppLinkReturnToRefererController.h; sourceTree = ""; }; + 29FFE39BB9744FB477E9BD45281C4E20 /* DJLocalization-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DJLocalization-dummy.m"; sourceTree = ""; }; + 2A047C05FBFBE85A1CE33DE614DF3F33 /* FBSDKSwizzler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSwizzler.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.m; sourceTree = ""; }; 2A4BB22F95B6AD65A989E687D5806FFC /* libPods-PNObject_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-PNObject_Tests.a"; path = "libPods-PNObject_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 2A9CB1CDFBBDE25094959FD70DC0F9CC /* FBSDKGraphRequestBody.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestBody.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.m; sourceTree = ""; }; - 2AB104AE0A27358C3D74295A6F6367AD /* NSString+Helper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+Helper.h"; path = "NSString-Helper/NSString+Helper.h"; sourceTree = ""; }; - 2AB5EEC04838F976DF14EF9121FF4629 /* FBSDKTestUsersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTestUsersManager.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.h; sourceTree = ""; }; - 2AC3B71E36680FFA299FC7A200061D5E /* DJLocalization-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DJLocalization-dummy.m"; sourceTree = ""; }; - 2B40B3642BE85018467B78F83049CCD9 /* FBSDKImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKImageDownloader.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.h; sourceTree = ""; }; - 2BB3A96F9E175C6A51881067EA55CFA7 /* FBSDKShareOpenGraphAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphAction.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.h; sourceTree = ""; }; - 2CB6A420B562E84CB94A07E119DEBAC7 /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; - 2D025490F910C718D4F556B9B4239A7A /* NSData+AESValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AESValue.m"; path = "NSDataAES/Classes/NSData+AESValue.m"; sourceTree = ""; }; - 2D39443B2F3FB9A3A8BEFF38BC0EB4DE /* Bolts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Bolts.m; path = Bolts/Common/Bolts.m; sourceTree = ""; }; - 2E043BEBCB1C7ADD5D5E91F03559623F /* FBSDKProfile+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKProfile+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKProfile+Internal.h"; sourceTree = ""; }; - 2E08795DE80E6A482929057C029B6FE0 /* DJLocalizationSystem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DJLocalizationSystem.h; path = DJLocalization/DJLocalizationSystem.h; sourceTree = ""; }; - 2F88DAA461A1C2A9F00634EC11EEB5B8 /* RZDBCoalesce.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RZDBCoalesce.m; path = RZDataBinding/RZDBCoalesce.m; sourceTree = ""; }; + 2A615662CD3D253D18C81ACEB4D51FEA /* EXPMatchers+beInTheRangeOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInTheRangeOf.h"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.h"; sourceTree = ""; }; + 2A8C19BF201CB6D0FEAE915501EAB18B /* FBSDKServerConfigurationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKServerConfigurationManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.h; sourceTree = ""; }; + 2B67BCDA25FB657CCDB23961B3E77CDF /* NSMutableData+AES.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableData+AES.h"; path = "NSDataAES/Classes/NSMutableData+AES.h"; sourceTree = ""; }; + 2D257A2F765F81E2A8F1698939933D63 /* FBSDKConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKConstants.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.m; sourceTree = ""; }; + 2E4EE4E3A82F63F42815DE3E8CD55193 /* FBSDKShareButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareButton.m; sourceTree = ""; }; + 2E7F2F46D7D93AFC302D7C7045F11BA4 /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; + 2ECF7B3E0E8A8B859C7A2F89B06AAA26 /* EXPMatchers+raise.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raise.m"; path = "Expecta/Matchers/EXPMatchers+raise.m"; sourceTree = ""; }; + 2F5C77D4033571915F1514FFA13A7AC6 /* FBSDKShareOpenGraphValueContainer+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKShareOpenGraphValueContainer+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareOpenGraphValueContainer+Internal.h"; sourceTree = ""; }; + 2FC55FE8353DEA67B0C980579730F822 /* FBSDKLoginError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginError.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginError.m; sourceTree = ""; }; 2FCE5603E1AAE87305D1570E294967EB /* libNSDate_Utils.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libNSDate_Utils.a; path = libNSDate_Utils.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 2FE309DAFBF0FA2F563F3576E5535877 /* FBSDKProfile.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKProfile.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.m; sourceTree = ""; }; - 3033837A79840A42FB47156DA9158777 /* FBSDKProfilePictureView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKProfilePictureView.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfilePictureView.m; sourceTree = ""; }; - 30B86BE73AB9F307B02C0CA07CE6B5BF /* FBSDKGameRequestDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGameRequestDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.m; sourceTree = ""; }; - 30D1DC547C2974D6CAAF89466F70E5EB /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; - 3279B928B0F01EFDC56BD4C3F1C80B34 /* FBSDKDialogConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDialogConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKDialogConfiguration.h; sourceTree = ""; }; - 32B4482C355D667CAC1D1CDA5DD14D8A /* FBSDKCameraEffectTextures.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCameraEffectTextures.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.h; sourceTree = ""; }; - 32BB5BD3999104BB9168FE8B080A2E5E /* FBSDKLikeButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeButton.m; sourceTree = ""; }; - 32D14FA163528AE5E68E24ED6B25DB3D /* FBSDKLikeButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeButton.h; sourceTree = ""; }; - 32E19D621A663F3BE3071D0C276ABA06 /* FBSDKConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKConstants.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.m; sourceTree = ""; }; - 330E307E8519F9DDBEE6B943D9509433 /* StrongestPasswordValidator.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StrongestPasswordValidator.xcconfig; sourceTree = ""; }; - 332EC091C5EA3DA77412D0C99C09B299 /* FBSDKMessageDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMessageDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.h; sourceTree = ""; }; - 3330B53EDA8D625BF2908F91BFF11DA9 /* FBSDKBridgeAPIProtocolWebV1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolWebV1.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV1.h; sourceTree = ""; }; - 3389B2F30972EB9663E2609ED62E82AC /* FBSDKAccessTokenCacheV3.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV3.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.m; sourceTree = ""; }; - 33E6CC0FC9FC81F86321E4CB122873FD /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; - 34491AFB1A4CE6DD8F001965A19302AA /* UIStoryboard+DJLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIStoryboard+DJLocalization.m"; path = "DJLocalization/UIStoryboard+DJLocalization.m"; sourceTree = ""; }; - 348D60399CCEEE964C160352A4C569B3 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; - 34AC803AB1B00F61B97267AE94FA19F0 /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; + 2FFB25E6B9D88368697A01736E84DAF5 /* CodFis-Helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CodFis-Helper-dummy.m"; sourceTree = ""; }; + 3181B47B45E3776B3AB0FAFC6DE02069 /* FBSDKDeviceLoginError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginError.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginError.m; sourceTree = ""; }; + 31AC3BF6268C5138FFE5B801AAED212D /* FBSDKGraphRequestDataAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestDataAttachment.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.m; sourceTree = ""; }; + 3232F7829A1283E3AF2D1C4E6E9CBC3B /* VatNumber+Helper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "VatNumber+Helper.m"; path = "CodFis-Helper/VatNumber+Helper.m"; sourceTree = ""; }; + 323BE48D55B39D125EAB374652FBB6E2 /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; + 3278C19DB886D77F2D550A9BBEDFB91A /* FBSDKInternalUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKInternalUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.h; sourceTree = ""; }; + 32A4312242020248E5076096163D4572 /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; + 32A83024C86330332FE1464C4AD7953C /* FBSDKLogo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLogo.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKLogo.m; sourceTree = ""; }; + 33066B4FAF93E2F3564F1B2C745A7128 /* DDDKeychainWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDDKeychainWrapper.m; path = Pod/Classes/DDDKeychainWrapper.m; sourceTree = ""; }; + 34FCBE7D1D77C32B559F05E07654D2A3 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; 3508A777B47A718379F2EAF4270531DF /* PNUser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PNUser.h; sourceTree = ""; }; - 3528B212FF907E1923C98A9DE3150A20 /* FBSDKLoginConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginConstants.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginConstants.m; sourceTree = ""; }; - 352D34D6407FED7D555CC66BE66D0E93 /* FBSDKCoreKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSDKCoreKit-dummy.m"; sourceTree = ""; }; + 3551BEEAC27EF8D09CD29F52E558D806 /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; + 35804B3CEE4F9061640C2881234D0B6A /* EXPMatchers+beGreaterThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h"; sourceTree = ""; }; + 35851A4867C0A3869015CB9897C6113B /* FBSDKErrorRecoveryAttempter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKErrorRecoveryAttempter.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/FBSDKErrorRecoveryAttempter.h; sourceTree = ""; }; + 35989139B1DC8A2CC3405DD43A49B197 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; 35A037F447D034CE82D96A453455219E /* PNObject-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PNObject-prefix.pch"; sourceTree = ""; }; - 36369D4A617057E0D854E0E5608DAB8E /* FBSDKSendButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSendButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSendButton.h; sourceTree = ""; }; - 371A293647B3DCBF4E72CC326D105088 /* FBSDKAppLinkResolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkResolver.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.h; sourceTree = ""; }; - 372429163979BA15A2EDADE816C74724 /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; - 373688BF73991E3A2290BC2F9089729D /* NSDate+NSDate_Util.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSDate+NSDate_Util.m"; path = "Pod/Classes/NSDate+NSDate_Util.m"; sourceTree = ""; }; - 37D94FC421EBEC7187E4CE684F77CE07 /* NSData+SHA.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+SHA.h"; path = "NSDataAES/Classes/NSData+SHA.h"; sourceTree = ""; }; - 38A47AB115CE58D7189D212FE3776CD7 /* BFAppLinkReturnToRefererView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkReturnToRefererView_Internal.h; path = Bolts/iOS/Internal/BFAppLinkReturnToRefererView_Internal.h; sourceTree = ""; }; - 38E1B4412ABBDCD9D95D9EF86F212154 /* DJLocalizationSystem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DJLocalizationSystem.m; path = DJLocalization/DJLocalizationSystem.m; sourceTree = ""; }; - 39610C2411B1F0BF837D4584A200AD14 /* _FBSDKLoginRecoveryAttempter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FBSDKLoginRecoveryAttempter.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/_FBSDKLoginRecoveryAttempter.m; sourceTree = ""; }; - 3AB34ED815CB6807BB9100A0ECEFC9B5 /* FBSDKServerConfigurationManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKServerConfigurationManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.h; sourceTree = ""; }; - 3AFDC7D0F900236A9D9E9F16C340C2DB /* FBSDKShareOpenGraphValueContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphValueContainer.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.m; sourceTree = ""; }; - 3B1391ED376A20D458A44874E0FB355D /* FBSDKShareDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.m; sourceTree = ""; }; - 3B2CEA86DA0815F717ED8AA2C347F450 /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; + 35B32CAC5F01D66EA844A8CC98A49175 /* FBSDKAppGroupJoinDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppGroupJoinDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.h; sourceTree = ""; }; + 35BE26673679AF3E2590326B5CA04ECA /* FBSDKURL_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURL_Internal.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKURL_Internal.h; sourceTree = ""; }; + 35F30F50F4924304799BACA865C94A99 /* NSString+Helper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSString+Helper.h"; path = "NSString-Helper/NSString+Helper.h"; sourceTree = ""; }; + 35F4F2911C50F7A10EA4CD2EABA60A49 /* BFAppLinkResolving.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkResolving.h; path = Bolts/iOS/BFAppLinkResolving.h; sourceTree = ""; }; + 36730929D0B3CB2AC41BF100F89ACA3B /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + 369556203A1B8AC26266ABF8A2697A2A /* FBSDKConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKConstants.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.h; sourceTree = ""; }; + 36C15D5B7538C6F932A0E92F0CD7778D /* FBSDKUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.m; sourceTree = ""; }; + 375620A2EF26926B58593F4262BDB803 /* EXPMatchers+beLessThanOrEqualTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThanOrEqualTo.h"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h"; sourceTree = ""; }; + 379C348EB2F9F418F970768DEB673F2F /* Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.xcconfig; sourceTree = ""; }; + 382F7323EE572C7B5BEEE17B4A8BC464 /* FBSDKGraphErrorRecoveryProcessor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphErrorRecoveryProcessor.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.m; sourceTree = ""; }; + 384BF2ED884F26B398ECBCFA92CF6E14 /* FBSDKLikeBoxView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeBoxView.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxView.h; sourceTree = ""; }; + 3947CAB7BA76C2DCF9C1AC6C4B8B9816 /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; + 3AC81A0D2E762BD988AF1E7E0BBC1AEE /* EXPMatchers+beIdenticalTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beIdenticalTo.h"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.h"; sourceTree = ""; }; 3B5C70CFEC8F44CE8FD10524DEEC7A6F /* libDJLocalization.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libDJLocalization.a; path = libDJLocalization.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B7AD6C7E9CA0ABC034801ED61E54A98 /* FBSDKShareDialogMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareDialogMode.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.h; sourceTree = ""; }; - 3BBBB89CF1EBB7007A035359B45021A3 /* FBSDKAppInviteContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppInviteContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.h; sourceTree = ""; }; - 3BC2A4598752CCE42FAEE650DACFBB27 /* FBSDKButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKButton.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKButton.m; sourceTree = ""; }; - 3BD9163C5857F05EAFFB51A771923A99 /* FBSDKTimeSpentData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTimeSpentData.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKTimeSpentData.m; sourceTree = ""; }; + 3B8947C04C451A0A2DF29B3CBAB3F9D6 /* BFTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFTask.m; path = Bolts/Common/BFTask.m; sourceTree = ""; }; + 3BBE8F3262FA519552E8C2072923D34C /* FBSDKError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKError.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKError.m; sourceTree = ""; }; 3BEF0C3BFA8D3894AF5D67B207904D92 /* AFJSONResponseSerializerWithData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AFJSONResponseSerializerWithData.m; sourceTree = ""; }; - 3D781656D8734E682AD64B0FDEFEA631 /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; - 3DA22E4972AE49AB0A1FEA51ED84CE16 /* FBSDKAppGroupContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppGroupContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.m; sourceTree = ""; }; - 3DA8F51A142D7CE0E71B15FFCF20684B /* UIDevice-Hardware.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIDevice-Hardware.h"; path = "Pod/Classes/UIDevice-Hardware.h"; sourceTree = ""; }; - 3F201A371D7DD65D7880B581B5230CA3 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; - 3F64FC2366C211E511E8E86B2E7BC11E /* DJLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DJLocalization.h; path = DJLocalization/DJLocalization.h; sourceTree = ""; }; - 404C07B99008A636B002B9F4755C99C7 /* FBSDKLoginManagerLoginResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginManagerLoginResult.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.h; sourceTree = ""; }; + 3BF274BD1AD934B41EBF4A67A2FC6E93 /* FBSDKTooltipView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTooltipView.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.h; sourceTree = ""; }; + 3CCF53AEBA6B2AA7D485B661C65FD727 /* CodFisResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = CodFisResponse.h; path = "CodFis-Helper/CodFisResponse.h"; sourceTree = ""; }; + 3D0DF3729BE6BBEEE00F9B91E3D1674F /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; + 3D21A5C3093EAFB3E12E7F651A3A132A /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; + 3DA4EF941F355AF232E76D0362583A7A /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; + 3DFF53BB878A43B652F3626FE15D5FBE /* SPTExcludeGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExcludeGlobalBeforeAfterEach.h; path = Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h; sourceTree = ""; }; + 3ECC32889FE623554A78B0832BFC075D /* FBSDKApplicationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKApplicationDelegate.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h; sourceTree = ""; }; + 3ED6A22CEB2E40168F13BFCD2FC0DBC3 /* FBSDKBridgeAPIResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIResponse.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIResponse.m; sourceTree = ""; }; + 3EE551CD8266F254A5DAA54EDB79C7BA /* FBSDKURLSessionTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURLSessionTask.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLSessionTask.h; sourceTree = ""; }; + 3F49F1FD84C52521B107B72B7B54DA72 /* FBSDKAudioResourceLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAudioResourceLoader.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAudioResourceLoader.m; sourceTree = ""; }; + 3FB864BD98F199EA7151B86D7776B8C3 /* FBSDKAppLinkReturnToRefererView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkReturnToRefererView_Internal.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLinkReturnToRefererView_Internal.h; sourceTree = ""; }; + 3FE24076474E62A09BCA909DA1A68CF2 /* FBSDKLikeBoxView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeBoxView.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxView.m; sourceTree = ""; }; + 3FF9058171819AA185761AE2B04EA055 /* FBSDKGameRequestDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGameRequestDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.h; sourceTree = ""; }; + 40847E3530278BABA50E27F042C4A6D4 /* EXPMatchers+endWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+endWith.m"; path = "Expecta/Matchers/EXPMatchers+endWith.m"; sourceTree = ""; }; 408972FACA5A1B21A155BCAEE932439B /* PNObject+PNObjectGETConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PNObject+PNObjectGETConnection.h"; path = "PNObject/Classes/PNObject+PNObjectGETConnection.h"; sourceTree = ""; }; - 410947177A7096F2362B6F32FB026CCA /* FBSDKCameraEffectTextures.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCameraEffectTextures.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.m; sourceTree = ""; }; - 414A65CF66591C414BA5755E088706C3 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; - 414EC0A0AE4EB03240071A053B2D2E93 /* FBSDKShareMessengerContentUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerContentUtility.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.m; sourceTree = ""; }; - 4246A8AE3068C825AE7382647FA678F9 /* _FBSDKLoginRecoveryAttempter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FBSDKLoginRecoveryAttempter.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/_FBSDKLoginRecoveryAttempter.h; sourceTree = ""; }; - 437046B973D755FED8FC92CEC9EE708D /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; - 43C824F268BCC8964AE4BFDB1D7245FB /* FBSDKLikeButtonPopWAV.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeButtonPopWAV.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeButtonPopWAV.m; sourceTree = ""; }; - 4420B6DC2C8DF58B85F95E451C4877AA /* FBSDKGameRequestFrictionlessRecipientCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGameRequestFrictionlessRecipientCache.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.m; sourceTree = ""; }; - 4422F7664B24060EA900EF832F38681F /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; - 4455C38349E291964AEF6C5A5ABA56E6 /* FBSDKGameRequestContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGameRequestContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.h; sourceTree = ""; }; - 44D2B7EDDFC2EBAA92A42D9770E5E4B8 /* nv-ios-http-status-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "nv-ios-http-status-dummy.m"; sourceTree = ""; }; - 44D92A873E04B5DA69D5EEC4B3F2BDBB /* FBSDKShareVideoContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareVideoContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.h; sourceTree = ""; }; - 453B859A9A2545C32DE70FD2A73CD33E /* FBSDKLoginError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginError.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginError.h; sourceTree = ""; }; - 45CA445703AC38F189F73FA2D1BC7F76 /* FBSDKAudioResourceLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAudioResourceLoader.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAudioResourceLoader.m; sourceTree = ""; }; - 470B35F64248BEB05588F62DB601CE9F /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; - 4738B15973F584F8A217A163ECB821A3 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; - 473C32D86AF57D5A47DFC5083ED93CB9 /* FBSDKMonotonicTime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMonotonicTime.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMonotonicTime.h; sourceTree = ""; }; - 4862D9579E20C3B5A373964AAE418433 /* EXPDoubleTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPDoubleTuple.m; path = Expecta/EXPDoubleTuple.m; sourceTree = ""; }; - 48A2EE29A85D6265F578270D0025FEC0 /* FBSDKLikeButton+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLikeButton+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeButton+Internal.h"; sourceTree = ""; }; - 490C1F8E8F149587E7EE44AEE486F8E1 /* FBSDKLoginKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSDKLoginKit.xcconfig; sourceTree = ""; }; - 4931789D26B733211B4096EE95B6920B /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - 493F17B24C9FE3BE784DB5751D4ED86F /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; - 49CE81C42545D397D9F3FFF8567CEB54 /* FBSDKGameRequestContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGameRequestContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.m; sourceTree = ""; }; + 40D0360875987A8961CE4CDC11E76684 /* FBSDKTestUsersManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTestUsersManager.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.h; sourceTree = ""; }; + 410011B50EE53E54B3FE68221E7AB585 /* FBSDKDeviceLoginCodeInfo+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKDeviceLoginCodeInfo+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginCodeInfo+Internal.h"; sourceTree = ""; }; + 41D7537A4D4D5D37F50A1831829FD47A /* FBSDKURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKURL.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.m; sourceTree = ""; }; + 41EA81D366F1C2DA0E3C48520066FE1B /* FBSDKGraphRequestMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestMetadata.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestMetadata.h; sourceTree = ""; }; + 422228405026B213960E61CE3699D6CF /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + 4268EDC447EE59BDBB8ABBC399FE5188 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; + 42853A0181BFFC8BD67A522A40B3D75C /* FBSDKDeviceRequestsHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceRequestsHelper.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.m; sourceTree = ""; }; + 43075ED41EDAC5215E93E64528886C1B /* UIStoryboard+DJLocalization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIStoryboard+DJLocalization.m"; path = "DJLocalization/UIStoryboard+DJLocalization.m"; sourceTree = ""; }; + 43FDACBDC768982815404996FC3041F0 /* FBSDKAppEventsDeviceInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsDeviceInfo.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsDeviceInfo.h; sourceTree = ""; }; + 4428B42610AB0FB470CE8A9F571BE487 /* FBSDKAppGroupAddDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppGroupAddDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.m; sourceTree = ""; }; + 444FFF855F5ABFFFF0A7C42DC70E79CB /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; + 4499DF8459C8D2AF31AA71B9AE675D1D /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; + 44B271AE2F41468F2DA5075E3F378680 /* FBSDKGameRequestDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGameRequestDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.m; sourceTree = ""; }; + 44B5F73B49B2F5CD6A2A7696618A8931 /* FBSDKShareOpenGraphAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphAction.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.m; sourceTree = ""; }; + 44E358B4FA39962000122487194B2760 /* FBSDKURLConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKURLConnection.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLConnection.m; sourceTree = ""; }; + 450032CE5D7BD2E90B3183935D3758A6 /* FBSDKAccessTokenCacheV4.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV4.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV4.m; sourceTree = ""; }; + 451DE67489762E7BF4872982818685DF /* FBSDKAppInviteDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppInviteDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.m; sourceTree = ""; }; + 452E64327494846C3D2E7CAF2898AFDC /* _FBSDKLoginRecoveryAttempter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FBSDKLoginRecoveryAttempter.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/_FBSDKLoginRecoveryAttempter.h; sourceTree = ""; }; + 4536743F73315987683C3324B01D7139 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + 45D55B98448A8CF5BEC142E2BBB0FA71 /* SpectaDSL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaDSL.h; path = Specta/Specta/SpectaDSL.h; sourceTree = ""; }; + 46035459CD822676C43AC57A7C17623B /* FBSDKAccessTokenCaching.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCaching.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCaching.h; sourceTree = ""; }; + 4609ED5B43147AB345743308F07A18A4 /* FBSDKLoginManagerLoginResult+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginManagerLoginResult+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLoginResult+Internal.h"; sourceTree = ""; }; + 46E25B94A00EC37D77852BB2423511D5 /* DJLocalizableString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DJLocalizableString.h; path = DJLocalization/DJLocalizableString.h; sourceTree = ""; }; + 46F22A2A8EF3BD4B1F683B08B3956F91 /* FBSDKAppEventsStateManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsStateManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsStateManager.h; sourceTree = ""; }; + 47529291057D7967C6EC1395C1D3517E /* BFURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFURL.m; path = Bolts/iOS/BFURL.m; sourceTree = ""; }; + 48930B14EAE31BA46846BE06AE185384 /* FBSDKURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURL.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKURL.h; sourceTree = ""; }; + 48EAEA1A387E7483A605AB622EAB91B8 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + 48EDB67FEAA6908810F10C1EF4059E0B /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; + 4A9179BB63F92444BB2D72730D28C05F /* FBSDKShareMessengerContentUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerContentUtility.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.h; sourceTree = ""; }; + 4B3CF9BC60882B5CABB7C29219C1A5F5 /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; 4B85BD068FB8EF8539E17A298F917865 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 4BC0ADBAF20FA73C3EA62BCACF9B969D /* NSMutableData+AES.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableData+AES.m"; path = "NSDataAES/Classes/NSMutableData+AES.m"; sourceTree = ""; }; - 4BD9C7060EDA63DB82D91AAEE77B34BA /* EXPMatchers+beLessThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThan.m"; path = "Expecta/Matchers/EXPMatchers+beLessThan.m"; sourceTree = ""; }; - 4C5EFA2912AE114C638AE6037115EE7E /* FBSDKServerConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKServerConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.m; sourceTree = ""; }; - 4C8EB009AEF23960E7C3004E4AE5CFCD /* FBSDKShareCameraEffectContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareCameraEffectContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.h; sourceTree = ""; }; - 4CE187D8382D9259B2DDFC08E2A617C3 /* VatNumber+Helper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "VatNumber+Helper.m"; path = "CodFis-Helper/VatNumber+Helper.m"; sourceTree = ""; }; - 4DBAD19C62DFC9472078800F22FDDB76 /* FBSDKAppLinkUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.h; sourceTree = ""; }; - 4F3735585B5A55C144A201D58AA8D595 /* FBSDKKeychainStoreViaBundleID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKKeychainStoreViaBundleID.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStoreViaBundleID.h; sourceTree = ""; }; - 4FBAAEEB8A73233768EA94C3FA492BB1 /* BFTaskCompletionSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFTaskCompletionSource.h; path = Bolts/Common/BFTaskCompletionSource.h; sourceTree = ""; }; - 4FC481214B7C937DFD93601B1E6C87A1 /* FBSDKGraphRequest+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKGraphRequest+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequest+Internal.h"; sourceTree = ""; }; - 4FF394CB2AF2F4E0E5CED306D9D6612C /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - 502F4C1D657EFC7BF6E4BDFED65F3CDB /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; - 50AAFF80F45F10BDE9A14EA2E7CDFD75 /* FBSDKGraphRequestBody.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestBody.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.h; sourceTree = ""; }; - 50F2735053673239222637C009C22717 /* CodFisResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = CodFisResponse.m; path = "CodFis-Helper/CodFisResponse.m"; sourceTree = ""; }; - 52918DEFFCA326653F8922AD91D11FAF /* FBSDKTooltipView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTooltipView.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.h; sourceTree = ""; }; - 52D4638E0B2262DD32EE177BC5EB3B65 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; - 537973880D7EAC0F5E37C72602B1D519 /* FBSDKErrorConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKErrorConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.m; sourceTree = ""; }; - 53A1F63F6ABA390F52F6C3A756E83E5A /* BFCancellationTokenRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFCancellationTokenRegistration.h; path = Bolts/Common/BFCancellationTokenRegistration.h; sourceTree = ""; }; - 53A707260A167F45E0F2CFE89BA605FF /* FBSDKImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKImageDownloader.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.m; sourceTree = ""; }; - 53B011154D06541CC6355F0E749E7389 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; - 543E4247E940FC830C03247924B13315 /* FBSDKShareCameraEffectContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareCameraEffectContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.m; sourceTree = ""; }; + 4BB34A34410BB0E2237F80F427197302 /* UIDevice-Utils-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIDevice-Utils-dummy.m"; sourceTree = ""; }; + 4C33A3E7DEF95301AA59E97BEAE14668 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; + 4C6C846D234A6F018B473255B0F47201 /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; + 4CC2B7BDEE80DDFF3EA3524AB6E7999D /* FBSDKMeasurementEvent_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMeasurementEvent_Internal.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMeasurementEvent_Internal.h; sourceTree = ""; }; + 4CDB54ACD6F9DCEE318FD3F032FC7E4B /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; + 4D9C88EC650ED2970A74902F58713724 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; + 4E184A6E100068DE232EEE9238820E8D /* FBSDKShareUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareUtility.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.h; sourceTree = ""; }; + 4E58EFDBC0BD5FC5AA09EF2E78FA9FC6 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + 4E93CE678CED3D184D0F8007F9391C4B /* BFAppLinkReturnToRefererView_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkReturnToRefererView_Internal.h; path = Bolts/iOS/Internal/BFAppLinkReturnToRefererView_Internal.h; sourceTree = ""; }; + 4EA1A58C1768B29C459BE6D58062AC94 /* FBSDKLoginManagerLoginResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginManagerLoginResult.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManagerLoginResult.m; sourceTree = ""; }; + 4F541374C8430DA0077106D6E5F1DA26 /* FBSDKShareMessengerURLActionButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerURLActionButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerURLActionButton.m; sourceTree = ""; }; + 4FD2F4B240BEA72CCF0601DEFB7DF452 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + 4FD38A9226FE7FDA838763FAA4056722 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; + 50035DCF1A752411360B10EFFC35F0BD /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; + 50297A9E224149D1E8A31E0C13343402 /* DJLocalizationSystem.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DJLocalizationSystem.m; path = DJLocalization/DJLocalizationSystem.m; sourceTree = ""; }; + 50AF06AE6DE7B9BAEEA4794F8B2A879B /* BFCancellationToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFCancellationToken.h; path = Bolts/Common/BFCancellationToken.h; sourceTree = ""; }; + 50B432BB73B3BB63AB5FD7534F7D1B38 /* FBSDKTimeSpentData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTimeSpentData.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKTimeSpentData.h; sourceTree = ""; }; + 50F1A0E415C3F797F256FED40444E2DD /* NSData+SHA.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+SHA.h"; path = "NSDataAES/Classes/NSData+SHA.h"; sourceTree = ""; }; + 51584A1ACF25CB49347808148BBCEC99 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; + 516C170C34D2B97E2B3F13FB5D3B92E2 /* FBSDKErrorConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKErrorConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.h; sourceTree = ""; }; + 51B137C5DB9EE4C34F0784B0E2300B45 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; + 51C40578330A9198354C2DCB5AFC5785 /* BFWebViewAppLinkResolver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFWebViewAppLinkResolver.m; path = Bolts/iOS/BFWebViewAppLinkResolver.m; sourceTree = ""; }; + 51EBFAD0C0E40885ED2A77D75DE53222 /* FBSDKTriStateBOOL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTriStateBOOL.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTriStateBOOL.m; sourceTree = ""; }; + 521DC8C943ADDC23A72DB305ED5CB36A /* FBSDKKeychainStoreViaBundleID.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKKeychainStoreViaBundleID.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStoreViaBundleID.h; sourceTree = ""; }; + 52B84C79443639E710D5300A19CF7D6F /* NSDataAES.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NSDataAES.xcconfig; sourceTree = ""; }; + 52E0074F55BA1EC501E0972582CE4284 /* FBSDKLikeBoxBorderView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeBoxBorderView.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxBorderView.h; sourceTree = ""; }; + 5337B1EBF72D885EDB2CA3F253FC5B37 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; + 536F022E7BC8A34B94D3EC1E16FA0C13 /* FBSDKHashtag.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKHashtag.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h; sourceTree = ""; }; + 538C17A97ECA9192B8A93A339933238C /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; + 53DCE1D82D923DC94A1EC30D71C8F023 /* nv-ios-http-status-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "nv-ios-http-status-dummy.m"; sourceTree = ""; }; + 544310B55950B4943152573ED2AFFE8B /* EXPUnsupportedObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPUnsupportedObject.h; path = Expecta/EXPUnsupportedObject.h; sourceTree = ""; }; 54EE5407AE0AC49B2A28B4953A66E61C /* PNUser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PNUser.m; sourceTree = ""; }; - 551C6F1925FBCCD6B2EFB4A76BC48A16 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; - 55210656A5F1CEA0CB732B29E2AB619D /* FBSDKShareMediaContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMediaContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.h; sourceTree = ""; }; - 557015A8D7ADB6BFC19253DAACF4AD4F /* NSString-Helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString-Helper-dummy.m"; sourceTree = ""; }; - 55729CA2E25624C5A5B3C5ACCB362698 /* FBSDKError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKError.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKError.m; sourceTree = ""; }; - 557B915970B4A4FB6434C1B4DD57CD57 /* FBSDKAppInviteDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppInviteDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.h; sourceTree = ""; }; + 54EF2C419EDEC0E3FCE2864C5F40C795 /* FBSDKShareOpenGraphObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphObject.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.m; sourceTree = ""; }; + 5591BB007FC9E3071D990D1CF0A52C23 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; 55AA69666FEF4E24F23A163FD1B0E843 /* libUIDevice-Utils.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libUIDevice-Utils.a"; path = "libUIDevice-Utils.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 55F64C2002077CF01C4CD6C53465A36C /* FBSDKLoginButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginButton.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h; sourceTree = ""; }; - 5666FCB41D10F40B22FD91CC168B6A1C /* FBSDKLoginManagerLoginResult+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginManagerLoginResult+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLoginResult+Internal.h"; sourceTree = ""; }; - 56FD9D9730D84E4228808F26009C43FD /* FBSDKKeychainStoreViaBundleID.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKKeychainStoreViaBundleID.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStoreViaBundleID.m; sourceTree = ""; }; + 55AD2686F264B001D9B23B2E667BDC0A /* FBSDKWebDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKWebDialog.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.h; sourceTree = ""; }; + 5619B1BEE713E742B53D6FDA6C86B8C0 /* FBSDKSwizzler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSwizzler.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSwizzler.h; sourceTree = ""; }; + 565ADF0C1EA97B982FEB1A8BC05B7C2E /* FBSDKSharePhotoContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharePhotoContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.h; sourceTree = ""; }; 57350A0FB1DCF1849369CA5A30E6D256 /* PNObjectConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PNObjectConstants.h; path = PNObject/Classes/PNObjectConstants.h; sourceTree = ""; }; - 57FBA8833E223F184CC07E4AC4905C6C /* FBSDKBridgeAPIProtocolNativeV1.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIProtocolNativeV1.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.m; sourceTree = ""; }; - 582C7A8B6C27EF84C206BC54CC427454 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - 595915B068CFEEE47B82386372174D3E /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; - 596600E3269FF8A2A736E0C259C145AE /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; - 598899EF16D64A4D76ED6C10E61566CB /* FBSDKTypeUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTypeUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTypeUtility.m; sourceTree = ""; }; - 599D10F954C8AFD3B8B74C29830B33D0 /* FBSDKAppGroupJoinDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppGroupJoinDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.m; sourceTree = ""; }; - 59BADD36DE74DA9CE12F9ACFEA7EA6C7 /* FBSDKMath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMath.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMath.m; sourceTree = ""; }; - 5AD88EE79B68D0B7DB1648C914AC40C6 /* BFExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFExecutor.h; path = Bolts/Common/BFExecutor.h; sourceTree = ""; }; - 5B25BF1F85872BEA3B6510A6CFD0E903 /* CodFis+Helper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CodFis+Helper.h"; path = "CodFis-Helper/CodFis+Helper.h"; sourceTree = ""; }; - 5B5C6E1176A1A984C46C3624128FC2FA /* FBSDKShareOpenGraphValueContainer+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKShareOpenGraphValueContainer+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareOpenGraphValueContainer+Internal.h"; sourceTree = ""; }; - 5BACC7EE92C383C5939548EE352B0941 /* FBSDKAppGroupAddDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppGroupAddDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.m; sourceTree = ""; }; + 57BC6CFE2FF77A0D657A729BB2CFCAF5 /* FBSDKShareDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.m; sourceTree = ""; }; + 5853A3C027EF3C086C98DF233E21B3C5 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + 5862C90EFD738F31E09EB762AAEB0FCF /* RZDBTransforms.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDBTransforms.h; path = RZDataBinding/RZDBTransforms.h; sourceTree = ""; }; + 5870AC01A2B66DACFB5EF8DF86F3A3E9 /* FBSDKShareMessengerGenericTemplateContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerGenericTemplateContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.h; sourceTree = ""; }; + 588036BA015152EA49785DA03F133B1D /* FBSDKAppLinkReturnToRefererView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkReturnToRefererView.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.h; sourceTree = ""; }; + 58924C097629393B47F8913C206AB1DB /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + 58C10B7ED365FB6C3FC5BF7C540812B8 /* FBSDKViewHierarchy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKViewHierarchy.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.m; sourceTree = ""; }; + 5AC0138A592F04FD4FC9F9A9BB3A0B99 /* BFMeasurementEvent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFMeasurementEvent.m; path = Bolts/iOS/BFMeasurementEvent.m; sourceTree = ""; }; + 5B7C69B54E006EECF1C28F66946D96EF /* FBSDKShareMessengerGenericTemplateContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerGenericTemplateContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateContent.m; sourceTree = ""; }; 5BB30C0BCCE010C3483BCB26EC8864B3 /* AFOAuth2Manager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AFOAuth2Manager.m; sourceTree = ""; }; - 5BDEE3B780B4E1F7948BA3897479383E /* FBSDKShareConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareConstants.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareConstants.h; sourceTree = ""; }; - 5C1592C0EE52A2570E21D85451018448 /* Expecta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Expecta-dummy.m"; sourceTree = ""; }; - 5C3B6DB5D2E0418864593840A7EE3DAF /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; - 5D0E6D34213AB02333D7F50D5CB04653 /* FBSDKSharingButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharingButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.h; sourceTree = ""; }; - 5D2BB3D2232AAE18B766C7210638A3EF /* FBSDKLikeActionControllerCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeActionControllerCache.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionControllerCache.m; sourceTree = ""; }; - 5DA3D344DD46CA0327C695662FBBCD45 /* FBSDKAppEventsStateManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsStateManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsStateManager.h; sourceTree = ""; }; - 5E04A95B94B460963D81E97DEBDA6D8B /* FBSDKBridgeAPICrypto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPICrypto.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPICrypto.h; sourceTree = ""; }; + 5BB9A02B49FC5E7C8A2B9A5D4DA1F980 /* FBSDKEventBindingManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKEventBindingManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKEventBindingManager.h; sourceTree = ""; }; + 5BE543CFC04F0279346707BD5FE5A8DB /* FBSDKTestUsersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTestUsersManager.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.m; sourceTree = ""; }; + 5C1F83A82EF1E725A2A7424E4FC2641E /* RZDBTransforms.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RZDBTransforms.m; path = RZDataBinding/RZDBTransforms.m; sourceTree = ""; }; + 5D200A199F3480AC54156D74567862E5 /* FBSDKAccessTokenCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCache.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCache.m; sourceTree = ""; }; + 5D4138F15DE6BC317FEE875C58D5E9DF /* FBSDKShareMediaContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMediaContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.m; sourceTree = ""; }; + 5D49012A51A1B5C9ABD583D3B12D61E1 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; + 5D5D5A109336011BE64863B8BBDCF230 /* FBSDKMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMacros.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKMacros.h; sourceTree = ""; }; + 5D9112F85BC4C12A79ADCAFEBD6501AD /* FBSDKImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKImageDownloader.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.h; sourceTree = ""; }; + 5D9B4847D4B627158FFC1A63EA6DC80F /* FBSDKLikeActionControllerCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeActionControllerCache.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionControllerCache.m; sourceTree = ""; }; + 5E19E7F2A879610962D09F17D159E49C /* SPTCallSite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCallSite.h; path = Specta/Specta/SPTCallSite.h; sourceTree = ""; }; + 5E41BAE09E8F96F1CC0C694C0A13330B /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; 5E7CC90E7578D0A264BEAFA3DEDE7ACE /* Pods-PNObject_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PNObject_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 5FA603DA4BFBA25B5C1CD3AEEEE72C26 /* FBSDKLoginUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginUtility.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginUtility.h; sourceTree = ""; }; - 60C3D316F32BC2E5C07A7ADA5A07A335 /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; - 614755A3E2625FBD24479853AE73250E /* FBSDKGraphRequestPiggybackManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestPiggybackManager.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestPiggybackManager.h; sourceTree = ""; }; - 61CAB27F8F39A9C49A2EDA53C03AB9C1 /* FBSDKBridgeAPIResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIResponse.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIResponse.h; sourceTree = ""; }; + 5ECDADF39BFF0422B052C8AF0281341F /* FBSDKLoginCompletion.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginCompletion.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.m; sourceTree = ""; }; + 5FFDDE1BDCD388670D4D56FA7A5837D7 /* FBSDKAppLinkTarget.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkTarget.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.h; sourceTree = ""; }; + 600F03DF58A86C9F7FE46DFD525FD1DF /* BFExecutor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFExecutor.h; path = Bolts/Common/BFExecutor.h; sourceTree = ""; }; + 6085CE9C47854FC205AA516CE066CE0F /* FBSDKShareMessengerActionButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerActionButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerActionButton.h; sourceTree = ""; }; + 610B3F3EB62EDF675253EC2EC174742B /* EXPMatchers+beInTheRangeOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInTheRangeOf.m"; path = "Expecta/Matchers/EXPMatchers+beInTheRangeOf.m"; sourceTree = ""; }; + 61AEAF3AAE7DB3790BF72EB0A31909EB /* FBSDKSharingContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharingContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h; sourceTree = ""; }; 61D7FE355C0183E56F6F8AB1CD700538 /* Pods-PNObject_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PNObject_Example-acknowledgements.markdown"; sourceTree = ""; }; - 626EE21F50F2608E93664B3AC710987A /* FBSDKLikeObjectType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeObjectType.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeObjectType.m; sourceTree = ""; }; - 62A18C87EDA8058479C6FE2985A92D60 /* FBSDKCheckmarkIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCheckmarkIcon.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCheckmarkIcon.h; sourceTree = ""; }; - 62FB5BA0F9DA56FA07F597A33CE37CF6 /* EXPMatchers+beInstanceOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beInstanceOf.h"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.h"; sourceTree = ""; }; - 63887DC7314FEEFC5DE075DC82E97A32 /* PureLayout-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PureLayout-prefix.pch"; sourceTree = ""; }; - 63E4535198DD1276AB27A18090142291 /* DDDKeychainWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDDKeychainWrapper.h; path = Pod/Classes/DDDKeychainWrapper.h; sourceTree = ""; }; + 626329BFEA37AF9E99A2ABC7DFF906C3 /* FBSDKLoginConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginConstants.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginConstants.h; sourceTree = ""; }; 640975C4F30DA8E78437AA8D79746559 /* PNInstallation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PNInstallation.h; sourceTree = ""; }; - 64EFAC973B5EB731BA63B11D5E743FDD /* NSDataAESCipher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NSDataAESCipher.m; path = NSDataAES/Classes/NSDataAESCipher.m; sourceTree = ""; }; - 6579952A48C721B594DD3FB140E4D63F /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; - 65865F4A08076BC4261C43A2D72A54C6 /* FBSDKShareVideo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareVideo.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.m; sourceTree = ""; }; - 65F5430F15D6E96DC78FCDCB2E781023 /* FBSDKButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKButton.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKButton.h; sourceTree = ""; }; - 67BDD0F9B67A2EDDDB603E6F68A34B96 /* RZDBTransforms.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RZDBTransforms.m; path = RZDataBinding/RZDBTransforms.m; sourceTree = ""; }; - 682BBC7E98E3198474357C2969A886DC /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; - 683ED7A25F74C393AC664573662EA57C /* EXPMatchers+raise.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raise.h"; path = "Expecta/Matchers/EXPMatchers+raise.h"; sourceTree = ""; }; - 6862B74397D24FFDAF3A65918A6623FA /* FBSDKKeychainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKKeychainStore.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStore.m; sourceTree = ""; }; - 68662A19AF4601BC42976CBC0B44FD4A /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + 64D7FF50177AB684897EFA94FCCD615D /* Bolts.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = Bolts.m; path = Bolts/Common/Bolts.m; sourceTree = ""; }; + 64E9867518D59755916C982BC35CF161 /* FBSDKAccessTokenCacheV3.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV3.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.m; sourceTree = ""; }; + 662CB4A93808AEAC21BCD400DC311E45 /* NSData+AESValue.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AESValue.m"; path = "NSDataAES/Classes/NSData+AESValue.m"; sourceTree = ""; }; + 6658A8EB3EE225F944B76265B3FE95CD /* CodFis-Helper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CodFis-Helper.xcconfig"; sourceTree = ""; }; + 66CE6A6C55FF062323C0728E0A293795 /* FBSDKLoginCompletion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginCompletion.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.h; sourceTree = ""; }; + 6727A49F23F5D0E57AD124C38F13BFE8 /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; + 6732E2A7357018A011AC949878023A74 /* FBSDKGameRequestContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGameRequestContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestContent.m; sourceTree = ""; }; + 67886D657034CA4A926FDFA702319389 /* FBSDKCheckmarkIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCheckmarkIcon.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCheckmarkIcon.m; sourceTree = ""; }; + 6858509AE4AB5B41576F24603F15520C /* FBSDKAppLinkReturnToRefererController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkReturnToRefererController.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.m; sourceTree = ""; }; 68758C3411A71AEED45A7CC14C650578 /* PNLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PNLocation.h; sourceTree = ""; }; - 687F61CA99633605E68722380003B055 /* FBSDKMonotonicTime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMonotonicTime.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMonotonicTime.m; sourceTree = ""; }; - 68FFB0C6AED60155C6E449B2A43563F9 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; - 694CDAE3227689553B66824B33DFF1B1 /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; - 69844BAABC7EFF366C5130CC65A8AF7E /* FBSDKLikeBoxView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeBoxView.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxView.h; sourceTree = ""; }; - 6A21BA41A2EAEC6680F1F492959507A0 /* FBSDKAppEventsDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsDeviceInfo.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsDeviceInfo.m; sourceTree = ""; }; - 6A2CC1629170211D717DFC4E8B05636A /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; - 6B362515DDFB7C1C52454B91AD368953 /* FBSDKCloseIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCloseIcon.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKCloseIcon.m; sourceTree = ""; }; - 6C3DDA40CAFB7CB1F63993E55F11C853 /* EXPMatchers+beSubclassOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSubclassOf.m"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.m"; sourceTree = ""; }; - 6C5F52B42ED7580353B0823759F8CD52 /* BFWebViewAppLinkResolver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFWebViewAppLinkResolver.m; path = Bolts/iOS/BFWebViewAppLinkResolver.m; sourceTree = ""; }; + 68851197844455F40E4C06D94EA40DB6 /* HTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HTTPStatusCodes.h; path = "nv-ios-http-status/HTTPStatusCodes.h"; sourceTree = ""; }; + 6932BABFB9914AE06E34FF9EC3FB6099 /* FBSDKSharingScheme.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharingScheme.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharingScheme.h; sourceTree = ""; }; + 696A3A1D99A35202B4526CF2357B74A5 /* FBSDKMeasurementEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMeasurementEvent.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKMeasurementEvent.h; sourceTree = ""; }; + 69A248BFCCB5D4AE6EE2607BA308DBA7 /* BFMeasurementEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFMeasurementEvent.h; path = Bolts/iOS/BFMeasurementEvent.h; sourceTree = ""; }; + 69BB3407552D83DCDB500A2BCAC62AA9 /* FBSDKAppLinkReturnToRefererController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkReturnToRefererController.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererController.h; sourceTree = ""; }; + 6A02AB7FDED3B5C6D22B85644965FF2B /* BFAppLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLink.m; path = Bolts/iOS/BFAppLink.m; sourceTree = ""; }; + 6A090559352B38A5116A2F0A8B9C1497 /* FBSDKLoginButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginButton.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.h; sourceTree = ""; }; + 6B5DD49FEDCD3CD1BCA1ED51D8365DEB /* EXPMatchers+beFalsy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beFalsy.h"; path = "Expecta/Matchers/EXPMatchers+beFalsy.h"; sourceTree = ""; }; + 6B80C2A86E5412DD2870FA63E06F6E33 /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; + 6BC8DD89E498C32B266891C23AB6FDC5 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; 6C775F44E2FBA24D38FF9B7D0B1D0435 /* PNObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PNObject.m; path = PNObject/Classes/PNObject.m; sourceTree = ""; }; - 6D46E8DBBA17FC311D806A83C6AA7116 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 6D699EEF97E66A30068268AE7FB480FA /* FBSDKCrypto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCrypto.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Cryptography/FBSDKCrypto.h; sourceTree = ""; }; - 6DA104199E88C71D4AF73B8FFABFF42A /* XCTestCase+Specta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "XCTestCase+Specta.m"; path = "Specta/Specta/XCTestCase+Specta.m"; sourceTree = ""; }; - 6DB8A07690556E6A3CF315AE82479CB3 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; - 6E70202A55971EDA1E0010BE6622394C /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; - 6E8648157EA2EB94673F4D1264EBC03E /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; - 6F417141F4F7E6ACB775990CD7ECCE8A /* FBSDKAppEvents.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEvents.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.h; sourceTree = ""; }; - 6FC2432D3C447BDFF937886D5251BBB2 /* Specta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Specta.xcconfig; sourceTree = ""; }; - 6FCDC0A941A07E4E4CE1051EB3F8BDF6 /* FBSDKShareOpenGraphObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphObject.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.m; sourceTree = ""; }; - 6FE0DE1860F33DA1720ED8D6F1A76831 /* FBSDKLikeBoxBorderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeBoxBorderView.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxBorderView.m; sourceTree = ""; }; + 6C83C3A12D9A0C7152215476E20751EC /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; + 6CFFE266989CAEEB105125FDA511198E /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; + 6D751AFFF300A2F684AE78260EB03685 /* BFAppLinkNavigation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkNavigation.m; path = Bolts/iOS/BFAppLinkNavigation.m; sourceTree = ""; }; + 6DBECFE13698D4D8DDED7724E25BFCDA /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; + 6DD323D7262AD60915043E23337D9F24 /* UIDevice-Utils-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIDevice-Utils-prefix.pch"; sourceTree = ""; }; + 6E61444B20CBFB611DB03797D93038E0 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 6E774A5077A3054A8BBA9C022C1E29F4 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerOpenGraphMusicTemplateContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.m; sourceTree = ""; }; + 6F337357C275445D11C05C3D05412409 /* EXPBlockDefinedMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPBlockDefinedMatcher.h; path = Expecta/EXPBlockDefinedMatcher.h; sourceTree = ""; }; + 6F6FFF41F5657EF1F9999F87B32D0ACE /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; + 6F7FC7C9360DC60E43AFA5DAC5FDE0DD /* FBSDKShareDialogMode.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareDialogMode.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.h; sourceTree = ""; }; + 70809CF813292F967C2F301B243571FB /* FBSDKLiking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLiking.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLiking.h; sourceTree = ""; }; 70B6EFE36F3843A1CEBD39DDD20322A1 /* PNObjectFormData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PNObjectFormData.m; path = PNObject/Classes/PNObjectFormData.m; sourceTree = ""; }; - 70BBAE7FFFF148F470D0CA0354837CEF /* FBSDKApplicationDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKApplicationDelegate.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.m; sourceTree = ""; }; - 70CBA7B3AEDA29C0DDA10881F46FABB6 /* FBSDKTriStateBOOL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTriStateBOOL.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTriStateBOOL.m; sourceTree = ""; }; - 7124B67A810D5E51E2B94EC46A23305E /* FBSDKShareAPI.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareAPI.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.m; sourceTree = ""; }; - 71647093AE2E6713FC401C19E698A098 /* RZDBCoalesce.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDBCoalesce.h; path = RZDataBinding/RZDBCoalesce.h; sourceTree = ""; }; - 716933F71FAD1BA5311056DF738ACD6A /* FBSDKCopying.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCopying.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKCopying.h; sourceTree = ""; }; - 7195B76B6AE47E7F1753E61A2961103F /* CodFis-Helper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "CodFis-Helper.xcconfig"; sourceTree = ""; }; - 719A4B3FF860DA2A6697131AEFEAFA79 /* FBSDKUIUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKUIUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKUIUtility.h; sourceTree = ""; }; - 71FC61AD0FDAAD372C4E7755E7D8537F /* EXPMatchers+raiseWithReason.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+raiseWithReason.h"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.h"; sourceTree = ""; }; + 710A0BE4E9782F28B5400B86A0F9E4B8 /* FBSDKAudioResourceLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAudioResourceLoader.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAudioResourceLoader.h; sourceTree = ""; }; + 71113CD9E60F21CD6045F396953DCB2A /* FBSDKLoginCompletion+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginCompletion+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion+Internal.h"; sourceTree = ""; }; + 712F3FF5530F663771950BCC0CF0B2D4 /* FBSDKTypeUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTypeUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTypeUtility.h; sourceTree = ""; }; + 718E9C888B54AD428B7A5D9DF4D5ED56 /* FBSDKGraphRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequest.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.h; sourceTree = ""; }; + 72B47B0724761B2B22F82B85F19F2633 /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; + 73093867BFAE6EBBDF7A5D9F91A222CA /* CodFis+Helper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "CodFis+Helper.m"; path = "CodFis-Helper/CodFis+Helper.m"; sourceTree = ""; }; + 73168AB5AEFEF68BF6160910269CA1CE /* FBSDKUserDataStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKUserDataStore.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.h; sourceTree = ""; }; + 7332C1E49582D8BB28F10D054D709139 /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; 73517324CA450DAF3250DB48CDA3182B /* libCodFis-Helper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libCodFis-Helper.a"; path = "libCodFis-Helper.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + 7371F8850210EAA2725BBBAE33355C08 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + 739BA53B10D2894EFCF6A2AF08454C11 /* RZDataBinding-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RZDataBinding-dummy.m"; sourceTree = ""; }; 73B30F1E60DA52CB98F98C8708976D8F /* Pods-PNObject_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PNObject_Example-dummy.m"; sourceTree = ""; }; - 73C3B38B9A491B81729B9D7573196BC3 /* EXPMatchers+beCloseTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beCloseTo.m"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.m"; sourceTree = ""; }; - 7423979AF1DD3EA8A8332676F7A2B8A3 /* PEARFileManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PEARFileManager.m; path = "PEAR-FileManager-iOS/PEARFileManager.m"; sourceTree = ""; }; - 74FA2B81F4A361CD890B885E149CF068 /* FBSDKBridgeAPIResponse.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIResponse.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIResponse.m; sourceTree = ""; }; - 75005F654BA810A5D83BC0989118938B /* FBSDKCrypto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCrypto.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Cryptography/FBSDKCrypto.m; sourceTree = ""; }; - 758E95BE64E2BCCF04D41AAAB7EA7732 /* NSData+SHA.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+SHA.m"; path = "NSDataAES/Classes/NSData+SHA.m"; sourceTree = ""; }; - 772E516065BB3EED55520CDD8992A8E8 /* NSDataAES-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSDataAES-prefix.pch"; sourceTree = ""; }; - 777794B33457529D02B25D7C08481133 /* FBSDKLoginCompletion.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginCompletion.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion.h; sourceTree = ""; }; - 77A16B5B7046079907204A7CDC1BA80B /* FBSDKSettings.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSettings.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.m; sourceTree = ""; }; - 77F49D3C75FE6A66EA8D48D4089E4454 /* FBSDKApplicationDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKApplicationDelegate.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.h; sourceTree = ""; }; - 786220180431B9A0E3C2A8FDD39EEC4F /* FBSDKGraphErrorRecoveryProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphErrorRecoveryProcessor.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.h; sourceTree = ""; }; - 78C0419524EAD2BAEAE75354503474E1 /* FBSDKLoginUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginUtility.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginUtility.m; sourceTree = ""; }; - 793B05AC9F2C8BDA10DA38133BE01999 /* FBSDKShareDialogMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareDialogMode.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.m; sourceTree = ""; }; - 7943FB468D98EB1B48FD1AD8E4A84F4F /* BFCancellationToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFCancellationToken.m; path = Bolts/Common/BFCancellationToken.m; sourceTree = ""; }; - 7A5526068EA2F112C6F4B192ADB1CB42 /* FBSDKBridgeAPIProtocolNativeV1.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolNativeV1.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolNativeV1.h; sourceTree = ""; }; - 7A620CD72FE5D21526CCB9953DEE5437 /* NSData+AES.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AES.m"; path = "NSDataAES/Classes/NSData+AES.m"; sourceTree = ""; }; - 7A6A89003DFE79414FD4894C231876D5 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; - 7A8F92321A76EA57FAFC34E9F905495B /* FBSDKError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKError.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKError.h; sourceTree = ""; }; - 7A8FF3547F24F870C97CE700A6F483FE /* BFURL_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFURL_Internal.h; path = Bolts/iOS/Internal/BFURL_Internal.h; sourceTree = ""; }; - 7AEC575BB1B1B7696DB5D4EB9BCAD507 /* EXPMatchers+beGreaterThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beGreaterThan.h"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.h"; sourceTree = ""; }; - 7BC2CA6EBE0DEE167B4675266E3A4EA9 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; - 7C27124F63BE8463F15388B031904B01 /* FBSDKShareError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareError.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareError.m; sourceTree = ""; }; - 7C3694D487F01B66B9E1E854FB526D58 /* FBSDKProfile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKProfile.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.h; sourceTree = ""; }; + 73C4CA0DDD20C9404F022699B69E1C8F /* NSData+AESKey.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AESKey.m"; path = "NSDataAES/Classes/NSData+AESKey.m"; sourceTree = ""; }; + 74634C2DC0DA90642585261C51C96620 /* FBSDKShareLinkContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareLinkContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.h; sourceTree = ""; }; + 746988DB73522DD2D4EB7DFEC771D31A /* BFAppLinkTarget.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkTarget.h; path = Bolts/iOS/BFAppLinkTarget.h; sourceTree = ""; }; + 748A5B4FCF6878E666806705BA41E859 /* EXPExpect.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPExpect.h; path = Expecta/EXPExpect.h; sourceTree = ""; }; + 75DDA03055953C05A58106E8AC33C3FF /* FBSDKURLOpening.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURLOpening.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKURLOpening.h; sourceTree = ""; }; + 7642275934E424A63198BB2B53B41144 /* FBSDKShareOpenGraphObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphObject.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphObject.h; sourceTree = ""; }; + 76DE5D8DE9038186BAF45C3051D74179 /* FBSDKHashtag.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKHashtag.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.m; sourceTree = ""; }; + 76FBF95528DC39D92FE22C0EA4AC7E7C /* FBSDKShareDialogMode.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareDialogMode.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialogMode.m; sourceTree = ""; }; + 7703EBD91F030530D391B9311BBE7284 /* FBSDKAppInviteDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppInviteDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.h; sourceTree = ""; }; + 77AFBC5B46A02911078C7A0E7E9BB0F6 /* FBSDKBoltsMeasurementEventListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBoltsMeasurementEventListener.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppLink/FBSDKBoltsMeasurementEventListener.h; sourceTree = ""; }; + 77FB2688DB92ACD34FD173329000B6F0 /* FBSDKShareCameraEffectContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareCameraEffectContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.m; sourceTree = ""; }; + 78ADC27CAD5317640AD7062E17593E6A /* EXPUnsupportedObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPUnsupportedObject.m; path = Expecta/EXPUnsupportedObject.m; sourceTree = ""; }; + 7A7FDB37BF24244A3C52060B82A5DB49 /* FBSDKCodelessParameterComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCodelessParameterComponent.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.h; sourceTree = ""; }; + 7ADED0A7769310FE904BC209FDA425FA /* FBSDKShareOpenGraphContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.h; sourceTree = ""; }; + 7B4C7FA8DA604D0615DD16136A5FE4F1 /* NSString-Helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString-Helper-dummy.m"; sourceTree = ""; }; + 7B5A30A9EC17834C60F15FCD8D5862EA /* FBSDKShareError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareError.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareError.m; sourceTree = ""; }; + 7BA24DC711C9A9BF728E911963B7D295 /* FBSDKCameraEffectTextures+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKCameraEffectTextures+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCameraEffectTextures+Internal.h"; sourceTree = ""; }; + 7BEA087FAA2D12FF5E9BB0B6A376D8DD /* NSData+SHA.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+SHA.m"; path = "NSDataAES/Classes/NSData+SHA.m"; sourceTree = ""; }; 7D3A8E17950CDFC3ADE5016E9EB1F8B5 /* libPureLayout.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libPureLayout.a; path = libPureLayout.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 7D650149241EBFA5B62265AAA9E3A11D /* FBSDKShareKit+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKShareKit+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareKit+Internal.h"; sourceTree = ""; }; - 7DA54AF9E74E005A76E10B85302BDC52 /* BFCancellationTokenRegistration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFCancellationTokenRegistration.m; path = Bolts/Common/BFCancellationTokenRegistration.m; sourceTree = ""; }; - 7DD63EE8862896C50EA7BA542F7495F3 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; - 7DE66B19C370FDAA2F04DD7068D46578 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; - 7E0FCC1610D9F2DDA504A8A60366C237 /* DDDKeychainWrapper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DDDKeychainWrapper.m; path = Pod/Classes/DDDKeychainWrapper.m; sourceTree = ""; }; - 7E8AFBC220140446C89B82040AAFA994 /* FBSDKDeviceLoginCodeInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginCodeInfo.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginCodeInfo.m; sourceTree = ""; }; - 7EA4F8BE1C43C9780BF214A715680C90 /* FBSDKAppEventsState.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsState.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.m; sourceTree = ""; }; - 7EC8255D34115A89452CC9A357AD0CAF /* EXPMatchers+beInstanceOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beInstanceOf.m"; path = "Expecta/Matchers/EXPMatchers+beInstanceOf.m"; sourceTree = ""; }; - 7F9FF230D618969EDFEFF786CB0A3CB2 /* FBSDKDeviceLoginManagerResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginManagerResult.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManagerResult.m; sourceTree = ""; }; - 804315AD450E2E54BB44402C6955EA3D /* FBSDKLoginManagerLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginManagerLogger.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLogger.h; sourceTree = ""; }; - 806637B0C67CC4FCCB2E9B2BF6E49D88 /* FBSDKShareButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareButton.h; sourceTree = ""; }; - 81A3594541B67A5B42DD7908323330FE /* FBSDKSharePhotoContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSharePhotoContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.m; sourceTree = ""; }; - 8252940C863EA9072E74FFCF1DD61F22 /* FBSDKButton+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKButton+Subclass.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKButton+Subclass.h"; sourceTree = ""; }; - 827437F57FA81FCEC172EF8723E2820B /* FBSDKCameraEffectArguments+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKCameraEffectArguments+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCameraEffectArguments+Internal.h"; sourceTree = ""; }; - 82ADDD8E99D37DA4442B97448AEC031D /* SPTExampleGroup.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExampleGroup.h; path = Specta/Specta/SPTExampleGroup.h; sourceTree = ""; }; - 8321371E28A1C21F11DE1B7DB08FB466 /* FBSDKShareMediaContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMediaContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.m; sourceTree = ""; }; - 834A6179467B86426A38613938A35849 /* EXPMatchers+equal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+equal.h"; path = "Expecta/Matchers/EXPMatchers+equal.h"; sourceTree = ""; }; - 83C7683DD547D0D287ACE785ED2C27E1 /* FBSDKDeviceLoginCodeInfo+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKDeviceLoginCodeInfo+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginCodeInfo+Internal.h"; sourceTree = ""; }; - 83C877578B66B30793F1879225EF0BF4 /* FBSDKDeviceRequestsHelper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceRequestsHelper.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDeviceRequestsHelper.m; sourceTree = ""; }; - 83FAEFB2D87ECF690069B791C309376F /* FBSDKTriStateBOOL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTriStateBOOL.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTriStateBOOL.h; sourceTree = ""; }; - 84D1FD64C46EA1F4F9055CE0DDA76454 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; - 854B482A8081C7ACB4FEB46AFF2FD502 /* FBSDKAccessToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessToken.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.m; sourceTree = ""; }; - 85BF18C15FB3C9A06A160BD4B3B18B89 /* FBSDKLoginManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginManager.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.m; sourceTree = ""; }; - 866ED3AFBA7CAF833A7B2BA1369D07D8 /* SPTSpec.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSpec.m; path = Specta/Specta/SPTSpec.m; sourceTree = ""; }; + 7D4C3620B470F0BE002263030752F9B9 /* FBSDKGraphRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequest.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.m; sourceTree = ""; }; + 7D59F55316C71363EBAE55121B468EE8 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + 7DE8E9D0C166D342CA5EA91030B92A5D /* FBSDKSettings.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSettings.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKSettings.h; sourceTree = ""; }; + 7E5C60BEF924ADC12560A04F338BBB59 /* BFAppLinkNavigation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkNavigation.h; path = Bolts/iOS/BFAppLinkNavigation.h; sourceTree = ""; }; + 7E73B3A37690059AD6CD0A5E0C51DC60 /* FBSDKAppEventsUninstall.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsUninstall.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUninstall.h; sourceTree = ""; }; + 7F888E9855668DCC7F64E0402CBE13CB /* FBSDKLoginError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginError.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginError.h; sourceTree = ""; }; + 7FC7136D3F9BCE9D3D11238C1EEDF91E /* NSString-Helper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString-Helper-prefix.pch"; sourceTree = ""; }; + 7FFD442C08D07342BF2D569764C17502 /* FBSDKSharePhoto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharePhoto.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.h; sourceTree = ""; }; + 800D7827EDE27C97F6CF2751A65EAC01 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; + 801E0A9A89866BB1388463D16126A85A /* StrongestPasswordValidator-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "StrongestPasswordValidator-dummy.m"; sourceTree = ""; }; + 8027B64849AE705283D770AE136C543C /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; + 803FFB178186C751D5B8D54CA328423A /* FBSDKMonotonicTime.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMonotonicTime.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMonotonicTime.m; sourceTree = ""; }; + 805B50B7ED432F0E73C491477AA168B5 /* FBSDKGraphRequestConnection+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKGraphRequestConnection+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestConnection+Internal.h"; sourceTree = ""; }; + 807B96CAC1ED20D949D005D57A05B2B5 /* FBSDKLikeButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeButton.m; sourceTree = ""; }; + 8090ACCF98C8E565350440301F977D9A /* SPTExampleGroup.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExampleGroup.m; path = Specta/Specta/SPTExampleGroup.m; sourceTree = ""; }; + 8171265156664F0907696D211D002E6B /* BFTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFTask.h; path = Bolts/Common/BFTask.h; sourceTree = ""; }; + 82A9CE801509DD721875DFD93FE32730 /* FBSDKColor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKColor.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKColor.m; sourceTree = ""; }; + 82F6CC1ACAF6F27C6A111F34E7731E6A /* DJLocalizableString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DJLocalizableString.m; path = DJLocalization/DJLocalizableString.m; sourceTree = ""; }; + 830B66BF541F04CDE6617EDD6538B1D9 /* Bolts-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Bolts-prefix.pch"; sourceTree = ""; }; + 8364047D4C435ABFE5C89C5D44227EE8 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; + 83C5495006CAFA9B3AD7DDB0535CA4CD /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; + 85E562A612CB4F467213BE91B2F766A9 /* FBSDKShareVideoContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareVideoContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.h; sourceTree = ""; }; + 8624E8CEF200BAFC250C1F71250D0786 /* FBSDKSharingValidation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharingValidation.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharingValidation.h; sourceTree = ""; }; 86B02ADE54AD8160AA7985E20874AC2F /* libPEAR-FileManager-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPEAR-FileManager-iOS.a"; path = "libPEAR-FileManager-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 86CA04588DF0658AF0E3203538161873 /* FBSDKViewImpressionTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKViewImpressionTracker.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKViewImpressionTracker.m; sourceTree = ""; }; - 86D3A325B030422B6DC4C35FB99E2606 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + 87083AC80734642A6AC8137D00D7B141 /* FacebookSDKStrings.bundle */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "wrapper.plug-in"; path = FacebookSDKStrings.bundle; sourceTree = ""; }; + 8714BC79FC4AE625BF543612A8626CDE /* FBSDKLikeObjectType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeObjectType.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeObjectType.h; sourceTree = ""; }; + 872397B71CB788624C68B559D4C409E2 /* FBSDKAccessTokenCacheV3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV3.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.h; sourceTree = ""; }; + 8734D2AD92DE52FFB555643C20A74AD2 /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; 873CFF1D9529B6114BA69362D3FB5F5C /* PNObject+PNObjectPOSTConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PNObject+PNObjectPOSTConnection.m"; path = "PNObject/Classes/PNObject+PNObjectPOSTConnection.m"; sourceTree = ""; }; + 876647EB967D4F5CEB7CB8F4FBB79757 /* FBSDKAppEventsDeviceInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsDeviceInfo.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsDeviceInfo.m; sourceTree = ""; }; 8766997BC0347060CA9AB363D89F270A /* PNObjectModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PNObjectModel.h; path = PNObject/Classes/PNObjectModel.h; sourceTree = ""; }; + 876AAB1DC6ECA290A5C79CB04A9291D2 /* PEAR-FileManager-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PEAR-FileManager-iOS-prefix.pch"; sourceTree = ""; }; + 876BEDE992F7C6D99443EF18BFE22429 /* FBSDKWebViewAppLinkResolver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKWebViewAppLinkResolver.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.m; sourceTree = ""; }; 87AAC9B7E486DDDEEFD4F57F7AECF48F /* PNAddress.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PNAddress.m; sourceTree = ""; }; - 880C9C38D95BEC002F6315828EAC74D7 /* FBSDKCloseIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCloseIcon.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKCloseIcon.h; sourceTree = ""; }; - 88354D01AB7C69DED51FBC4EB85B5E45 /* FBSDKShareLinkContent+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKShareLinkContent+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareLinkContent+Internal.h"; sourceTree = ""; }; - 884EFE73A10083B348D8199894723D1D /* FBSDKDeviceLoginError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginError.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginError.h; sourceTree = ""; }; - 889CC394FB30524AF79F9FE82025F310 /* BFCancellationTokenSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFCancellationTokenSource.m; path = Bolts/Common/BFCancellationTokenSource.m; sourceTree = ""; }; - 890C78550A66746919FB8DAB1CC0CE51 /* BFAppLinkTarget.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkTarget.h; path = Bolts/iOS/BFAppLinkTarget.h; sourceTree = ""; }; - 89315B8F0B9BDB3ED78EDA1E9C601F50 /* BFCancellationTokenSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFCancellationTokenSource.h; path = Bolts/Common/BFCancellationTokenSource.h; sourceTree = ""; }; - 893400F4AFA174150B0DAEF9FC9D6F74 /* Specta-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Specta-dummy.m"; sourceTree = ""; }; - 89A14669AC7DE4DF84BC162029BBC114 /* PureLayout.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = PureLayout.xcconfig; sourceTree = ""; }; - 8BD02D1AD403EE8827DF4516858BAC1A /* CodFis-Helper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "CodFis-Helper-dummy.m"; sourceTree = ""; }; - 8BE9FC4197C9EC3BB332BE78DCC560A2 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - 8CA47DE4A7964A43BB899B1E84D2AADA /* FBSDKAppEvents.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEvents.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.m; sourceTree = ""; }; - 8CAE28624157BBE9CC0A4B69355DAEEF /* UIDevice-Utils-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIDevice-Utils-prefix.pch"; sourceTree = ""; }; - 8CF76956DA57AC109231D6EAE7E2C37A /* PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayout.h; path = PureLayout/PureLayout/PureLayout.h; sourceTree = ""; }; - 8D302524B87D0E0563F1196983EECA12 /* FBSDKShareMessengerGenericTemplateElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerGenericTemplateElement.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateElement.m; sourceTree = ""; }; - 8D33CAE52357D386BA99C361695A857A /* FBSDKLoginTooltipView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginTooltipView.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.h; sourceTree = ""; }; - 8D43093031D0B554DE2990C210117E4F /* FBSDKCheckmarkIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCheckmarkIcon.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCheckmarkIcon.m; sourceTree = ""; }; - 8DAD9EA5CDAE53433D5CAE8BCD33A20E /* FBSDKMessageDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMessageDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.m; sourceTree = ""; }; + 87ED635594827F2E8464EDA2788E6D55 /* FBSDKCodelessMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCodelessMacros.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessMacros.h; sourceTree = ""; }; + 87F16AC73F6DC5DC5D2C30FC2F111C10 /* EXPMatchers+beNil.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beNil.h"; path = "Expecta/Matchers/EXPMatchers+beNil.h"; sourceTree = ""; }; + 8847F10A21BF43DFF71395A3E1AB5A59 /* FBSDKBridgeAPIResponse.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIResponse.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIResponse.h; sourceTree = ""; }; + 88CABB3CA14023398BAF033A078AEDCE /* UIStoryboard+DJLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIStoryboard+DJLocalization.h"; path = "DJLocalization/UIStoryboard+DJLocalization.h"; sourceTree = ""; }; + 894A257D948EE417BCF17996CA3F53CE /* FBSDKUIUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKUIUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKUIUtility.h; sourceTree = ""; }; + 8963B8734D6A668C052D29DFAFA4F085 /* FBSDKViewImpressionTracker.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKViewImpressionTracker.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKViewImpressionTracker.m; sourceTree = ""; }; + 8968CB9A6DE68B4B5677DBBDE983BE39 /* FBSDKShareButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareButton.h; sourceTree = ""; }; + 897162B6B9D1ADADAEBC3ECC01B27AE7 /* FBSDKAppGroupJoinDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppGroupJoinDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.m; sourceTree = ""; }; + 8980D6FAE79CA78C7001A8EA2BC3E1C4 /* EXPDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDefines.h; path = Expecta/EXPDefines.h; sourceTree = ""; }; + 898F592C01E433162EEF7551D2AAEFB6 /* FBSDKAppLinkResolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkResolver.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.h; sourceTree = ""; }; + 89DC8847612A5AB4B27182CD26A19A76 /* BFURL_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFURL_Internal.h; path = Bolts/iOS/Internal/BFURL_Internal.h; sourceTree = ""; }; + 8B56D76D2BF08891F4D7012036DCE314 /* FBSDKAppEventsUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m; sourceTree = ""; }; + 8CAF11D909749FDA9F2ED0794DBFE7AE /* FBSDKWebViewAppLinkResolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKWebViewAppLinkResolver.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKWebViewAppLinkResolver.h; sourceTree = ""; }; + 8CF110C040A6C071E0CCA79CE2745EE0 /* FBSDKSettings+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKSettings+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSettings+Internal.h"; sourceTree = ""; }; + 8D0E30867072236A95E7876836C8F4A4 /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; + 8D5C4E9E659DF465CEACD70EDC09E5DF /* StrongestPasswordValidator.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = StrongestPasswordValidator.xcconfig; sourceTree = ""; }; + 8D6C25CEF86D625B2705257253DAD8BE /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; + 8D8B4922E95788F5B6D84BD95973C201 /* EXPMatchers+raiseWithReason.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+raiseWithReason.m"; path = "Expecta/Matchers/EXPMatchers+raiseWithReason.m"; sourceTree = ""; }; 8DDE2ACF69D44496ACAABE1B1FBB2EFA /* PNObjectModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PNObjectModel.m; path = PNObject/Classes/PNObjectModel.m; sourceTree = ""; }; - 8E48BC435D5062CA14E0865FBDD11BBA /* NSDataAES.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NSDataAES.xcconfig; sourceTree = ""; }; - 8F4B886FD9CF8437A74A2CF15898225C /* FBSDKShareMessengerURLActionButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerURLActionButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerURLActionButton.m; sourceTree = ""; }; - 8F7518DC7FCC48EB6FA2A2DA420336C0 /* NSMutableData+AES.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSMutableData+AES.h"; path = "NSDataAES/Classes/NSMutableData+AES.h"; sourceTree = ""; }; - 8FDA4A2DDFE88CC2E9CCA0EA2C1602BF /* BFAppLinkNavigation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkNavigation.h; path = Bolts/iOS/BFAppLinkNavigation.h; sourceTree = ""; }; - 90203FC369E7B9BD1AAE3AC0A74B2F2B /* BFAppLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLink.m; path = Bolts/iOS/BFAppLink.m; sourceTree = ""; }; - 90BEC6524341EDC0BF1DF5379A84C02D /* FBSDKErrorRecoveryAttempter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKErrorRecoveryAttempter.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/FBSDKErrorRecoveryAttempter.m; sourceTree = ""; }; - 90D3E854BF7A4960A113DC44DDDA186A /* FBSDKSharePhoto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharePhoto.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhoto.h; sourceTree = ""; }; - 913F5BA62351B4F08B21A802802B6FA5 /* FBSDKSettings+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKSettings+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSettings+Internal.h"; sourceTree = ""; }; - 915B8AE4B12F906975F7408B759649FF /* FBSDKVideoUploader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKVideoUploader.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.h; sourceTree = ""; }; - 91DE027389ED7163D8151BE4F0BE3B51 /* PEARFileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PEARFileManager.h; path = "PEAR-FileManager-iOS/PEARFileManager.h"; sourceTree = ""; }; + 8E97A54636CC271E5BC33FC8F2AD411F /* FBSDKLoginTooltipView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginTooltipView.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.h; sourceTree = ""; }; + 8EF80CAB2F23373F48E87570F7ECC5A9 /* NSDataAES-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSDataAES-dummy.m"; sourceTree = ""; }; + 8F2186D54B2A440BC97AFEBCB1544D9B /* FBSDKContainerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKContainerViewController.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKContainerViewController.h; sourceTree = ""; }; + 8F6435D1C81D2CCBF8334F92E3678802 /* FBSDKCopying.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCopying.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKCopying.h; sourceTree = ""; }; + 8FA08EC0714F4A88BF630D3F963EB509 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; + 8FC98C93277D7E6BF8CA5D23CB43D95C /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; + 91B843E9A83B5038ED6DD189A70F48C6 /* FBSDKBridgeAPIProtocolWebV1.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIProtocolWebV1.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV1.m; sourceTree = ""; }; + 91D597045A0BDA11505525EF9C97D548 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; 91DFFD5F597BE0B703594690DB976C8F /* PNObject+Protected.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PNObject+Protected.m"; path = "PNObject/Classes/PNObject+Protected.m"; sourceTree = ""; }; - 9275FD13B0A2F97828A3FCED247AF8EA /* NSDate_Utils.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NSDate_Utils.xcconfig; sourceTree = ""; }; - 928FB45ED54D177E1E51DA076A9BDF17 /* FBSDKCoreKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCoreKit.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit.h; sourceTree = ""; }; - 935E2E993FC0179631BB35A2AD7D085B /* NSString-Helper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "NSString-Helper.xcconfig"; sourceTree = ""; }; - 9374B6D2BE5885426D84EB61045BD4CF /* UIDevice-Utils-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIDevice-Utils-dummy.m"; sourceTree = ""; }; - 9394F55EF0B51F719C06CEF4E315C26C /* FBSDKPaymentObserver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKPaymentObserver.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKPaymentObserver.m; sourceTree = ""; }; + 921954198F5E18C5FB71E329721B3574 /* FBSDKShareKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareKit.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareKit.h; sourceTree = ""; }; + 92C705C9C2D61894D5869A2198F62607 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; + 9302213966977B870A5EDA47DC66C8AD /* FBSDKCodelessPathComponent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCodelessPathComponent.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 943041CB81EC69C4A877EF899DAFC192 /* FBSDKLoginButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginButton.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginButton.m; sourceTree = ""; }; - 948B5FBC04498006788B7E962DAE36EF /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; - 95139E0C13636BE3FD3763F810D92674 /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; - 9603DAC77CF6E495013EC37941EB8665 /* FBSDKApplicationDelegate+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKApplicationDelegate+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKApplicationDelegate+Internal.h"; sourceTree = ""; }; - 96648AF618770DBA9E7A683DA7D644FB /* EXPMatchers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatchers.h; path = Expecta/Matchers/EXPMatchers.h; sourceTree = ""; }; + 93AD73B1077B7352ED7AC7FCAF654105 /* FBSDKDeviceLoginError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginError.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginError.h; sourceTree = ""; }; + 942CD0883F237C1B6475AB8084F6CBDD /* FBSDKGraphRequestConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestConnection.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.m; sourceTree = ""; }; + 945553D4E0D0A23E3A6D9AFE6D11DE59 /* CodFis+Helper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "CodFis+Helper.h"; path = "CodFis-Helper/CodFis+Helper.h"; sourceTree = ""; }; + 949B94603FCE91B73D37C7942A1DC84A /* FBSDKLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLogger.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKLogger.h; sourceTree = ""; }; + 952BCB39B0D72AA10B61D9439887C180 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; + 955C1438A6C55A109024ECFE0E59F2A6 /* FBSDKBase64.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBase64.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.m; sourceTree = ""; }; + 95CE3638CD655496A931B5F3D3EE6709 /* FBSDKGraphErrorRecoveryProcessor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphErrorRecoveryProcessor.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphErrorRecoveryProcessor.h; sourceTree = ""; }; + 96469ECD1F7F9EE7F98E75A3797FDB8E /* FBSDKGraphRequestBody.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestBody.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.m; sourceTree = ""; }; 96E5917B63E153423DDD5B68ECC67E22 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 96E8B044882B40F5D706D451C504AA44 /* BFGeneric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFGeneric.h; path = Bolts/Common/BFGeneric.h; sourceTree = ""; }; + 97235C98D0D6BE67142911F95065B66A /* FBSDKDeviceLoginManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginManager.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.h; sourceTree = ""; }; 97334F9A318D4EA1E45EC3E7B4D6EEEC /* PNInstallation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PNInstallation.m; sourceTree = ""; }; - 974A6A93247023942B708FC8A682D721 /* ResponseConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ResponseConstants.h; path = "CodFis-Helper/ResponseConstants.h"; sourceTree = ""; }; - 97A126C54ABFD3D7C65639C680F4FFE6 /* FBSDKAudioResourceLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAudioResourceLoader.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAudioResourceLoader.h; sourceTree = ""; }; - 97CFA8B3EED8A0F8D3835623FED92C46 /* PEAR-FileManager-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PEAR-FileManager-iOS.xcconfig"; sourceTree = ""; }; - 981EA336FFF5190314F9FAF9FA3D4FFA /* FBSDKBase64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBase64.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.h; sourceTree = ""; }; - 9890D6CF1DAE3C43B83653D56433DEF4 /* nv-ios-http-status-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "nv-ios-http-status-prefix.pch"; sourceTree = ""; }; - 993BC80B3082EAAC630CFCDE4F47E8CD /* BFURL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFURL.m; path = Bolts/iOS/BFURL.m; sourceTree = ""; }; - 99500508B4901BE8AE4D5D2241F35B61 /* FBSDKDeviceLoginManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginManager.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.m; sourceTree = ""; }; - 99AEA61A2EFD09B079E419C7D393B996 /* ExpectaSupport.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaSupport.h; path = Expecta/ExpectaSupport.h; sourceTree = ""; }; - 99D22635FCB415F2923147FE96A60490 /* FBSDKMessengerIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMessengerIcon.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.h; sourceTree = ""; }; - 9A076304B218452303A6ABE79E3E6E16 /* BFTaskCompletionSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFTaskCompletionSource.m; path = Bolts/Common/BFTaskCompletionSource.m; sourceTree = ""; }; - 9B16362FA9DE70C56AC60ACFE9682C5A /* SPTGlobalBeforeAfterEach.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTGlobalBeforeAfterEach.h; path = Specta/Specta/SPTGlobalBeforeAfterEach.h; sourceTree = ""; }; - 9C08952206B10924CCAF42ED19A04224 /* FBSDKLoginCompletion+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginCompletion+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginCompletion+Internal.h"; sourceTree = ""; }; + 9760CF6845E5C00E61FFC02E89A275C8 /* NSData+AES.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+AES.m"; path = "NSDataAES/Classes/NSData+AES.m"; sourceTree = ""; }; + 97652E23694192076D88B7C98EA13878 /* FBSDKCloseIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCloseIcon.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKCloseIcon.m; sourceTree = ""; }; + 978F9D4BBECDC7A7F151BB55D0C12299 /* FBSDKMaleSilhouetteIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMaleSilhouetteIcon.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKMaleSilhouetteIcon.m; sourceTree = ""; }; + 98D13612C91E439241652D6BD5ECFB8B /* FBSDKShareKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSDKShareKit-prefix.pch"; sourceTree = ""; }; + 9969A5355EA68D96AEC6594E6A5E9069 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; + 9B179CB1A2CAA77714778F5DB7EB59D2 /* FBSDKProfile+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKProfile+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKProfile+Internal.h"; sourceTree = ""; }; + 9B9D1C914C0CA7355777345FD1C453E8 /* NSData+AES.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AES.h"; path = "NSDataAES/Classes/NSData+AES.h"; sourceTree = ""; }; + 9BEAA00A8F442A2E842E01807C16C275 /* CodFis-Helper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CodFis-Helper-prefix.pch"; sourceTree = ""; }; + 9BF13BC3B2D76E147316C276AC692F1E /* StrongestPasswordValidator-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StrongestPasswordValidator-prefix.pch"; sourceTree = ""; }; 9C30F58DA20C9E3C4C6D00D79F4434E2 /* PNObject-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PNObject-dummy.m"; sourceTree = ""; }; - 9CA71742EF3BFD8FDF2A93536D42A027 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - 9CA983382E0175AF2C4555729FBB34D6 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerOpenGraphMusicTemplateContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.h; sourceTree = ""; }; - 9CCE862256875373EFE4B1DF07858207 /* FBSDKShareConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareConstants.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareConstants.m; sourceTree = ""; }; - 9D6E0FB6DFD996056FA65BFB19516769 /* FBSDKShareMessengerMediaTemplateContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerMediaTemplateContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.h; sourceTree = ""; }; - 9D8B8044E4DF51BE152FA977ACE2DB56 /* FBSDKAppLinkResolver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkResolver.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.m; sourceTree = ""; }; - 9E658427F0DA66D0DDD7FF90F20CD461 /* FBSDKConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKConstants.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKConstants.h; sourceTree = ""; }; - 9F0814CF8CE0088A0A79B9F4E9D478D0 /* FBSDKWebDialogView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKWebDialogView.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialogView.m; sourceTree = ""; }; - 9F0D45BCD8CD61DB26111D65CC899839 /* StrongestPasswordValidator-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "StrongestPasswordValidator-prefix.pch"; sourceTree = ""; }; - 9F5C7CB06B8A7F032719385A65C676BD /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; - 9F61A4BAEE2B3BC9797A866801749BCC /* NSObject+RZDataBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RZDataBinding.h"; path = "RZDataBinding/NSObject+RZDataBinding.h"; sourceTree = ""; }; - 9F9AC2DB35F7E7EB4F5ECFFC768AF148 /* PEAR-FileManager-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PEAR-FileManager-iOS-dummy.m"; sourceTree = ""; }; - 9FB875FA00DAA7478E8C1971F2730EE4 /* EXPMatchers+conformTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+conformTo.h"; path = "Expecta/Matchers/EXPMatchers+conformTo.h"; sourceTree = ""; }; - 9FC66829CCEDBBBBFFCD2BD3E43C59BC /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 9C99F264193E3ADE6EAA13156157DFD8 /* FBSDKWebDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKWebDialog.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.m; sourceTree = ""; }; + 9CF9487BD2BD29A89969AFDC1E824BF9 /* EXPMatchers+haveCountOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+haveCountOf.m"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.m"; sourceTree = ""; }; + 9D2D8AC6F61FDC1242D2122868466363 /* FBSDKErrorConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKErrorConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.m; sourceTree = ""; }; + 9D5E98EF533DB073454B50533F063ACE /* FBSDKBridgeAPIRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIRequest.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIRequest.m; sourceTree = ""; }; + 9D6CB9BAB3FC03DEEC9B261FC2A7FDBA /* BFAppLinkTarget.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkTarget.m; path = Bolts/iOS/BFAppLinkTarget.m; sourceTree = ""; }; + 9DCA1FB1D85806F924962DB918031C6C /* EXPMatchers+contain.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+contain.m"; path = "Expecta/Matchers/EXPMatchers+contain.m"; sourceTree = ""; }; + 9E3E19E0D76816F64A6F358938AA2BC7 /* FBSDKLoginKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSDKLoginKit-dummy.m"; sourceTree = ""; }; + 9FC6CB7CF81A4D88DDFFCA3A269B7F29 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerOpenGraphMusicTemplateContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerOpenGraphMusicTemplateContent.h; sourceTree = ""; }; + A0392097A153840E34B245E5BC8B3EF4 /* FBSDKShareError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareError.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareError.h; sourceTree = ""; }; A08AE125079B781AFAD3479BC84A9403 /* PNObject+PNObjectDELETEConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PNObject+PNObjectDELETEConnection.h"; path = "PNObject/Classes/PNObject+PNObjectDELETEConnection.h"; sourceTree = ""; }; - A096D1741200DD03728077D6586CB7A7 /* FBSDKCoreKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSDKCoreKit-prefix.pch"; sourceTree = ""; }; - A217A2718F669E35DE7B316B4FF0D49D /* FBSDKLoginKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSDKLoginKit-prefix.pch"; sourceTree = ""; }; - A21B2663CD95CDC75313E9893D0A0F6D /* FBSDKGameRequestDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGameRequestDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKGameRequestDialog.h; sourceTree = ""; }; + A0E40EF9DC8E81ADFAF25AC32D7EABB2 /* BFAppLinkReturnToRefererView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkReturnToRefererView.m; path = Bolts/iOS/BFAppLinkReturnToRefererView.m; sourceTree = ""; }; + A0E9946A5BA7F2E0540229B719AD8A8E /* FBSDKShareCameraEffectContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareCameraEffectContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareCameraEffectContent.h; sourceTree = ""; }; + A166368F7803FF5D28A6F926C6EA624E /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + A189CCFF17CA7A7B9FFE7F300CF2F715 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = DEVELOPER_DIR; }; + A1A885E6A01CE0321DD46209AEAC8A56 /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; + A20E26A23FB1A3AD970DC56195FABB73 /* FBSDKKeychainStoreViaBundleID.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKKeychainStoreViaBundleID.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStoreViaBundleID.m; sourceTree = ""; }; + A2ABDF177C47796393C929E00486BBD2 /* FBSDKProfile.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKProfile.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfile.h; sourceTree = ""; }; + A2B994B4672A9C954B3718919B483170 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + A2C3EC08D3C5AB7F67EF98D3DF744910 /* NSDataAESCipher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = NSDataAESCipher.m; path = NSDataAES/Classes/NSDataAESCipher.m; sourceTree = ""; }; A2DF4A77D1D9958186177B1D8CEB3C31 /* AFJSONResponseSerializerWithData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AFJSONResponseSerializerWithData.h; sourceTree = ""; }; - A314AC9C76AB31868B8CA34AF3D12586 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; - A34218027F86152F5A300ACC4613AD51 /* BFAppLinkReturnToRefererController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkReturnToRefererController.m; path = Bolts/iOS/BFAppLinkReturnToRefererController.m; sourceTree = ""; }; - A38F07F811430AF8DF8FD05720305FE7 /* FBSDKUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.h; sourceTree = ""; }; - A3A7DE470CF5D4BA311BAA40161F4303 /* RZDataBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDataBinding.h; path = RZDataBinding/RZDataBinding.h; sourceTree = ""; }; - A3BB54C9C6F79A0F9AAF68CAF5CD8D59 /* FBSDKGraphRequestConnection+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKGraphRequestConnection+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestConnection+Internal.h"; sourceTree = ""; }; - A44A92A0D9DAE34FB134B6646FBDA8CA /* FBSDKAccessTokenCacheV3.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV3.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3.h; sourceTree = ""; }; + A2F2629D5E6336FD8A4E7A0CD2C69259 /* FBSDKKeychainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKKeychainStore.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKKeychainStore.h; sourceTree = ""; }; + A373CB0170E3799074B8D43A97F6C3DE /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; + A387993C7396BA018A78B182545014E7 /* FBSDKShareConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareConstants.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareConstants.m; sourceTree = ""; }; + A3F0896E256DA1F53B7235EB9C4C1205 /* RZDataBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDataBinding.h; path = RZDataBinding/RZDataBinding.h; sourceTree = ""; }; + A4A34BDF7F1C2EF28E102545830C36B4 /* PEARFileManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PEARFileManager.h; path = "PEAR-FileManager-iOS/PEARFileManager.h"; sourceTree = ""; }; + A4A3712E9464769F7B299FFD4429F1B8 /* FBSDKButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKButton.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKButton.m; sourceTree = ""; }; + A4AA503239425F3D877CFF2FE3814BBF /* FBSDKDialogConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDialogConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKDialogConfiguration.m; sourceTree = ""; }; A4B0787C01AC5B6B4208D5A4AE5A99AF /* Pods-PNObject_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PNObject_Example-frameworks.sh"; sourceTree = ""; }; A521C2D47CBEF1F451C6C19EF4BDF952 /* libFBSDKShareKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libFBSDKShareKit.a; path = libFBSDKShareKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - A532340E9841858566095877D84B00B7 /* FBSDKShareDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.h; sourceTree = ""; }; - A556598998813732AC9F6BD28CAF167C /* NSLayoutConstraint+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSLayoutConstraint+PureLayout.h"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.h"; sourceTree = ""; }; - A619C2C9A2F566A3CD108ECD6DE3FA81 /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; - A66915C1FAFD8FC98C42CD7F3A0D8900 /* FBSDKLoginKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSDKLoginKit-dummy.m"; sourceTree = ""; }; - A6B25D3D352DE9C7D7A41C7F676EDE97 /* FBSDKErrorRecoveryConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKErrorRecoveryConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorRecoveryConfiguration.m; sourceTree = ""; }; - A6EC663243FB2BED127E4E8082285150 /* FBSDKWebDialogView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKWebDialogView.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialogView.h; sourceTree = ""; }; - A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - A7021B2FE8A12AA0FC9C70625510A39E /* FBSDKCameraEffectArguments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCameraEffectArguments.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.h; sourceTree = ""; }; - A78772D20A795CEC352E9FE3C3530707 /* FBSDKAccessTokenExpirer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenExpirer.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenExpirer.m; sourceTree = ""; }; - A7A02A2E8B47588ADA546E54FAAD1836 /* FBSDKShareKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareKit.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareKit.h; sourceTree = ""; }; - A845AFCF45CB51E5778C69484BB0FAA5 /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; - A8903A765D36B851384B92C59311BF29 /* XCTest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTest+Private.h"; path = "Specta/Specta/XCTest+Private.h"; sourceTree = ""; }; + A56F16109927B5D358D193F6A4BB3426 /* FBSDKAppGroupContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppGroupContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupContent.h; sourceTree = ""; }; + A5738F31E7FA35B142C111B2013AACF1 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; + A5A21E87FC761D2AB2656E8E2DBC885F /* FBSDKWebDialogView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKWebDialogView.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialogView.m; sourceTree = ""; }; + A5BFAF03F4C3972E82C33C9CC26CDEBD /* FBSDKAppLink.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLink.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.m; sourceTree = ""; }; + A5F7CA78CB70B76E563566A7973AAC60 /* FBSDKLikeActionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeActionController.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.h; sourceTree = ""; }; + A664539EAC41F63765859137D417FA54 /* FBSDKGraphRequestConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestConnection.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.h; sourceTree = ""; }; + A71F32979088B96559A98FB6021081D1 /* FBSDKAccessTokenCacheV3_17.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV3_17.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_17.h; sourceTree = ""; }; + A76088022DFD59817505A370A8613F5D /* FBSDKAppLinkUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.h; sourceTree = ""; }; + A78D0197FB7F04FEFE361A9DF89ECC1A /* FBSDKLikeButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeButton.h; sourceTree = ""; }; + A7A9C72854AB6B24B7EDC326DA284454 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + A8BB7CB0268D269DBE4F5B0469EBA1EA /* VatNumber+Helper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "VatNumber+Helper.h"; path = "CodFis-Helper/VatNumber+Helper.h"; sourceTree = ""; }; A8D49478D57BB6B6FB40C1ADA4AFE932 /* PNObject+PNObjectConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PNObject+PNObjectConnection.h"; path = "PNObject/Classes/PNObject+PNObjectConnection.h"; sourceTree = ""; }; A8F263620BD0322B0E0D02C9CBB7E057 /* libBolts.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libBolts.a; path = libBolts.a; sourceTree = BUILT_PRODUCTS_DIR; }; - A9BD44735C7B8881507110469FE7DD5C /* FBSDKLikeBoxView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeBoxView.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxView.m; sourceTree = ""; }; + A9160080FFF62168E4051663683EC394 /* Expecta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Expecta-prefix.pch"; sourceTree = ""; }; + A97FC406D15CA4B86550A496F6988BF2 /* FBSDKLoginConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginConstants.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginConstants.m; sourceTree = ""; }; + A99EA254D66D2678098821F32E154DEF /* DJLocalization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DJLocalization.h; path = DJLocalization/DJLocalization.h; sourceTree = ""; }; + AA77261700278C71645546302461BF34 /* BFAppLinkReturnToRefererController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkReturnToRefererController.m; path = Bolts/iOS/BFAppLinkReturnToRefererController.m; sourceTree = ""; }; + AA7D9A7CB43B42B8194FDB3FC3BFA0F7 /* FBSDKAppLinkResolver.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkResolver.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolver.m; sourceTree = ""; }; AAC8666F362600E8954A21949E4EE65D /* Pods-PNObject_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PNObject_Example.debug.xcconfig"; sourceTree = ""; }; - AAF12D7E466670C7F15FBC80D98098C0 /* FBSDKLikeControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeControl.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.h; sourceTree = ""; }; - AB34E955886DC91A9E8D67EE8026CE19 /* BFMeasurementEvent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFMeasurementEvent.h; path = Bolts/iOS/BFMeasurementEvent.h; sourceTree = ""; }; - AB87D7716571C956B5550CEC4E14590D /* BFExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFExecutor.m; path = Bolts/Common/BFExecutor.m; sourceTree = ""; }; - AB8846917B99D5E403B0B913DA217FAA /* FBSDKErrorConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKErrorConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorConfiguration.h; sourceTree = ""; }; - ABD86DBC740B5954557E8C60E80F6B64 /* FBSDKBridgeAPICrypto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPICrypto.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPICrypto.m; sourceTree = ""; }; - AC1FC5DE20154AB18DD64C862281D20A /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; - AC990A3CBB938A038250AA21F630E921 /* FBSDKLikeDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeDialog.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeDialog.h; sourceTree = ""; }; - ACAE6C44B6ECBB03450746016DA21448 /* NSDate+NSDate_Util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+NSDate_Util.h"; path = "Pod/Classes/NSDate+NSDate_Util.h"; sourceTree = ""; }; - AD3A0C9357B24FA8463E34BA41044AA8 /* FBSDKInternalUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKInternalUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.m; sourceTree = ""; }; - AD4B0C7C2B1E1ADE07D8774992165327 /* VatNumber+Helper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "VatNumber+Helper.h"; path = "CodFis-Helper/VatNumber+Helper.h"; sourceTree = ""; }; - AE63D5241CB313F9D6996BE018E6D27C /* FBSDKGraphRequestMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestMetadata.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestMetadata.m; sourceTree = ""; }; - AE73F8BD4626DC52381CF714E92CF1D4 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; - AFEBC8F42647C1F846071D530686C5E8 /* FBSDKViewImpressionTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKViewImpressionTracker.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKViewImpressionTracker.h; sourceTree = ""; }; - B012FD5341786FEC822A945DD38BC5BE /* DJLocalizationSystem+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DJLocalizationSystem+Private.h"; path = "DJLocalization/DJLocalizationSystem+Private.h"; sourceTree = ""; }; - B0F65F66A13EEB2EC82897B7FFF564FD /* FBSDKAppEventsStateManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEventsStateManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsStateManager.m; sourceTree = ""; }; - B173B06EBEE58E2A28DFC341055306BA /* FBSDKLikeObjectType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeObjectType.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeObjectType.h; sourceTree = ""; }; - B19B7CC4B07CF97AB18DF803F398B91C /* FBSDKShareKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSDKShareKit-prefix.pch"; sourceTree = ""; }; - B27F0FEB7C9FE28213AAB3C7CC5A41BD /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + AAD0B5A748C81355837677EBC835CD84 /* FBSDKButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKButton.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKButton.h; sourceTree = ""; }; + AB9AFF952B2628EEF3D2785E78D3666C /* FBSDKAccessTokenCacheV3_21.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV3_21.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_21.m; sourceTree = ""; }; + AC0454B2B1FCCBFAFF0A59DD5E5C4F52 /* nv_ios_http_status.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = nv_ios_http_status.m; path = "nv-ios-http-status/nv_ios_http_status.m"; sourceTree = ""; }; + AC0C36F361714BF3701DBE769DCC4D51 /* FBSDKDynamicFrameworkLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDynamicFrameworkLoader.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDynamicFrameworkLoader.h; sourceTree = ""; }; + AC1561C48A0E5AA9B22C0A48189E239A /* DJLocalizationSystem.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DJLocalizationSystem.h; path = DJLocalization/DJLocalizationSystem.h; sourceTree = ""; }; + ACB25F02D87081973482D519F2156D5C /* FBSDKLoginManager+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginManager+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManager+Internal.h"; sourceTree = ""; }; + AD279EE06DA2DC38AEC49D7F19A0A2BC /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + ADDE93AA0657112092BB44CD65D006EF /* FBSDKLikeBoxBorderView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeBoxBorderView.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeBoxBorderView.m; sourceTree = ""; }; + AE4EEE301DC50F594D9F70CCA22FD21B /* FBSDKDeviceLoginManagerResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginManagerResult.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManagerResult.h; sourceTree = ""; }; + AE91203791D4B728219D544E4464FE87 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + AEE4441C0BEC052CFBAE042BF924FACE /* NSLayoutConstraint+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSLayoutConstraint+PureLayout.m"; path = "PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m"; sourceTree = ""; }; + AFFF12E2E0C503E8EF4EBB4AF4EBA402 /* PEAR-FileManager-iOS-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PEAR-FileManager-iOS-dummy.m"; sourceTree = ""; }; + B0430D0D9ECF06A2CE776A09363ADA27 /* FBSDKLikeDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeDialog.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeDialog.h; sourceTree = ""; }; + B1042C4A000AF83F8B9EEEE20CD52608 /* FBSDKBridgeAPICrypto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPICrypto.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPICrypto.m; sourceTree = ""; }; + B108E25F23F3FF0B5A268E471281C15A /* NSString+Helper.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSString+Helper.m"; path = "NSString-Helper/NSString+Helper.m"; sourceTree = ""; }; + B12311AD0419602DF0FDD90C95BAE7F3 /* FBSDKColor.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKColor.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKColor.h; sourceTree = ""; }; + B13B325A3DE8D33ECA3430517021C0F8 /* FBSDKSystemAccountStoreAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSystemAccountStoreAdapter.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.h; sourceTree = ""; }; + B147DE1A7260EFF4D15C8B36FF290A4E /* FBSDKShareDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareDialog.h; sourceTree = ""; }; + B184E5094AB0B36173233CACA23FAD11 /* FBSDKAccessTokenCacheV3_21.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV3_21.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_21.h; sourceTree = ""; }; + B19299E53733482BCF184D69D0D9D4F4 /* FBSDKImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKImageDownloader.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKImageDownloader.m; sourceTree = ""; }; + B22E0A3A9166CC492A6B1197C5CEBFF8 /* FBSDKMath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMath.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMath.m; sourceTree = ""; }; + B2ADEF6DE2A753024D7EE6BB62C12A0C /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; B2C893DAD391E87E8A4A1A581DADDB1E /* PNObjectUtilities.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PNObjectUtilities.m; path = PNObject/Classes/PNObjectUtilities.m; sourceTree = ""; }; - B37C48B388078FB49DB241EB953B37BF /* NSValue+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSValue+Expecta.h"; path = "Expecta/NSValue+Expecta.h"; sourceTree = ""; }; - B3922116E7142D79F6D39ECFC762958B /* FBSDKAccessTokenCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCache.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCache.h; sourceTree = ""; }; - B40975E3350FD88DA5ACBEC654FDA947 /* FBSDKServerConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKServerConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.h; sourceTree = ""; }; - B49A1B79308E8B7A53334E63F55D4E62 /* FBSDKURLOpening.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURLOpening.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKURLOpening.h; sourceTree = ""; }; - B4C8E83AE015AEE01FA8E0A5F865DCB1 /* FBSDKErrorRecoveryAttempter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKErrorRecoveryAttempter.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/FBSDKErrorRecoveryAttempter.h; sourceTree = ""; }; + B2FEF6ABC1EA5C7650FB77F74C69D1D2 /* FBSDKAppEventsState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsState.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsState.h; sourceTree = ""; }; + B31A3DA2188BE0FC38C6889CC1B9DCDA /* FBSDKSharingButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharingButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharingButton.h; sourceTree = ""; }; + B33648BCE03F8F323A600AFB2C4184B1 /* FBSDKShareLinkContent+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKShareLinkContent+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareLinkContent+Internal.h"; sourceTree = ""; }; + B367F401FD4702B3206026DF4F75F33D /* FBSDKSharePhotoContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSharePhotoContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.m; sourceTree = ""; }; + B3B28FA59F82B358B1D10BD0A881E27E /* FBSDKIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKIcon.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKIcon.m; sourceTree = ""; }; B52A626CE55E09268E47AAA82D1F702A /* PNObjcPassword.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PNObjcPassword.m; sourceTree = ""; }; - B53ED3854F99EBEA84EE2A82EC002A08 /* PEAR-FileManager-iOS-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "PEAR-FileManager-iOS-prefix.pch"; sourceTree = ""; }; - B5814C0D284054D5599E364B1BD05CDA /* FBSDKGraphRequestDataAttachment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestDataAttachment.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.m; sourceTree = ""; }; - B5FE75BFA960FC767AB543D868F5E8A9 /* FBSDKGraphRequestDataAttachment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestDataAttachment.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestDataAttachment.h; sourceTree = ""; }; - B609FD8B4368810DEDBE1DB940980E6D /* FBSDKCameraEffectArguments.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCameraEffectArguments.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.m; sourceTree = ""; }; - B6E3CA43F481BA38DBF5CA1360CBB260 /* SPTTestSuite.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTTestSuite.h; path = Specta/Specta/SPTTestSuite.h; sourceTree = ""; }; - B6FC34772C32746294CFE849765ECB26 /* EXPMatchers+beCloseTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beCloseTo.h"; path = "Expecta/Matchers/EXPMatchers+beCloseTo.h"; sourceTree = ""; }; - B73E2B32DC5AF02B03EF57BAB45DCFFD /* FBSDKAppInviteDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppInviteDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteDialog.m; sourceTree = ""; }; - B80F8CED2A358E59D5D9245F941A2D8D /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - B89F0D55DC144F3FF8DD195C255E2303 /* EXPMatchers+beFalsy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beFalsy.m"; path = "Expecta/Matchers/EXPMatchers+beFalsy.m"; sourceTree = ""; }; - B8EE196E889A28BBC5BF4C67F3BA34A4 /* BFTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFTask.h; path = Bolts/Common/BFTask.h; sourceTree = ""; }; - B8F8BB728F17BB6F2895A226D8197094 /* EXPMatchers+beKindOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beKindOf.h"; path = "Expecta/Matchers/EXPMatchers+beKindOf.h"; sourceTree = ""; }; - B9305BCA0574DD317321FB99B22F87C2 /* NSDataAESCipher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NSDataAESCipher.h; path = NSDataAES/Classes/NSDataAESCipher.h; sourceTree = ""; }; - B97829BF49241E80AA68DAD3A1191FEB /* RZDBMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDBMacros.h; path = RZDataBinding/RZDBMacros.h; sourceTree = ""; }; - B9D90CA9B650AD0D39AF52BD2A09BB32 /* NSDataAES-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSDataAES-dummy.m"; sourceTree = ""; }; - BA01EA90E611817BCBA32A34933E449E /* FBSDKHashtag.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKHashtag.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.h; sourceTree = ""; }; - BA21F97F78C5110467BF6EB75EFE0B9A /* FBSDKUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKUtility.m; sourceTree = ""; }; - BA2D79E70180FB3A42824305204BBAA2 /* FBSDKShareOpenGraphContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.h; sourceTree = ""; }; - BAA43AACEDE3BDA552B6DBCB987A87B0 /* FBSDKAccessTokenExpirer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenExpirer.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenExpirer.h; sourceTree = ""; }; - BAA6BC94CBEE6AB035607F36C3583F19 /* FBSDKShareError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareError.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareError.h; sourceTree = ""; }; - BAAF1110C8D728E82E84D0AEF44842BE /* BFAppLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLink.h; path = Bolts/iOS/BFAppLink.h; sourceTree = ""; }; - BACD11F4F90DB32806E1099D541951D9 /* FBSDKTestUsersManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTestUsersManager.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKTestUsersManager.m; sourceTree = ""; }; - BB9ADEB1801F27722B7818E38D877690 /* EXPMatchers+respondTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+respondTo.m"; path = "Expecta/Matchers/EXPMatchers+respondTo.m"; sourceTree = ""; }; - BBBC0E7642E7DBA9D3210FA053B3D474 /* FBSDKDialogConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDialogConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKDialogConfiguration.m; sourceTree = ""; }; - BCD9D7342982D0CE900EFB0406FB9A8D /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; - BD108F96E1BFCF42632044A494D993AB /* FBSDKURLSessionTask.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURLSessionTask.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLSessionTask.h; sourceTree = ""; }; + B57448B7171E54F316A32FF4FC68CD47 /* NSString-Helper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "NSString-Helper.xcconfig"; sourceTree = ""; }; + B63D6D1A539902429FE51B2BF2A53071 /* EXPMatchers+beLessThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beLessThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m"; sourceTree = ""; }; + B6459BA3D7319F3DBD101EA52CDAEC4D /* SPTTestSuite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTTestSuite.m; path = Specta/Specta/SPTTestSuite.m; sourceTree = ""; }; + B6C6178EFF740B1770E47181E2D755AD /* FBSDKLikeControl.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeControl.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.h; sourceTree = ""; }; + B729151CBE9D4D3FCA84A885A7FA8AF1 /* XCTestCase+Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCTestCase+Specta.h"; path = "Specta/Specta/XCTestCase+Specta.h"; sourceTree = ""; }; + B73DD86758DE5ACBED70C091FC8F5087 /* NSDate_Utils-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSDate_Utils-prefix.pch"; sourceTree = ""; }; + B7877ED51692A3542CF09D985F7F4943 /* FBSDKGameRequestFrictionlessRecipientCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGameRequestFrictionlessRecipientCache.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.m; sourceTree = ""; }; + B926D05DE0F6797BC2493E0BBC663EE5 /* SPTExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTExample.m; path = Specta/Specta/SPTExample.m; sourceTree = ""; }; + B946E6678D6085D230EDD6B927817340 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; + B9A245ECDD956B80B4E44A642331EF83 /* BFTaskCompletionSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFTaskCompletionSource.m; path = Bolts/Common/BFTaskCompletionSource.m; sourceTree = ""; }; + B9A66D1BA73BBAAF86C6CF4CD6BEE54D /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; + B9AEE51E846500100F68164B7E238349 /* BFGeneric.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFGeneric.h; path = Bolts/Common/BFGeneric.h; sourceTree = ""; }; + BAB42CCC406C6A5E4743ED0336157DA1 /* FBSDKShareOpenGraphContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphContent.m; sourceTree = ""; }; + BBD3EC1F0D7D8327357AA769BBD293AC /* FBSDKGameRequestFrictionlessRecipientCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGameRequestFrictionlessRecipientCache.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.h; sourceTree = ""; }; + BC1E39658FAE36DE0487BC875B578D96 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + BC8982068C4262C37B85828DADB96866 /* FBSDKURLSessionTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKURLSessionTask.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLSessionTask.m; sourceTree = ""; }; + BD0EDE71BBA1CCD2D49375A35F02988C /* FBSDKViewImpressionTracker.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKViewImpressionTracker.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKViewImpressionTracker.h; sourceTree = ""; }; BD34E4911A8C97EA3C3543FD49C2D096 /* PNObject+PNObjectGETConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PNObject+PNObjectGETConnection.m"; path = "PNObject/Classes/PNObject+PNObjectGETConnection.m"; sourceTree = ""; }; - BD79F48B012A41C1C090ADD1FE184152 /* DDDKeychainWrapper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DDDKeychainWrapper-prefix.pch"; sourceTree = ""; }; - BE194CC968FA17F51FBFF426CDC4F808 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; - BE61C4EBC24C81466557AC14C9B12FEF /* FBSDKShareDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareDefines.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareDefines.h; sourceTree = ""; }; - BE7139219CFD2AE4C60F9A68607C667C /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; - BF548473E89760CC4AC9CEE3FDC8B001 /* NSData+AESValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AESValue.h"; path = "NSDataAES/Classes/NSData+AESValue.h"; sourceTree = ""; }; - C06C576797D03479780D7DEE048749FF /* EXPMatchers+beIdenticalTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beIdenticalTo.m"; path = "Expecta/Matchers/EXPMatchers+beIdenticalTo.m"; sourceTree = ""; }; - C10A23B720AAF0CB63F419CD5E7E5817 /* FBSDKShareLinkContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareLinkContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.m; sourceTree = ""; }; - C11EE8B53099C56000BF8BBA7BEC5372 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; - C13C61D44843EE5DADF8BF88E29758AB /* FBSDKBoltsMeasurementEventListener.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBoltsMeasurementEventListener.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppLink/FBSDKBoltsMeasurementEventListener.m; sourceTree = ""; }; - C1A43898CF6E920B815483C8ECEB8A97 /* NSData+AES.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AES.h"; path = "NSDataAES/Classes/NSData+AES.h"; sourceTree = ""; }; - C29DE603D35A12EA57EA903220773C81 /* EXPDoubleTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPDoubleTuple.h; path = Expecta/EXPDoubleTuple.h; sourceTree = ""; }; - C2B985EBD90191181E44E0E19C867D16 /* Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Expecta.h; path = Expecta/Expecta.h; sourceTree = ""; }; - C311977E02E411D8BC3E3797FB780647 /* FBSDKShareMessengerGenericTemplateElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerGenericTemplateElement.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateElement.h; sourceTree = ""; }; - C3452B820394D79B12B262BE04613EC7 /* UIDevice-Utils.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIDevice-Utils.xcconfig"; sourceTree = ""; }; - C37E8452ABB49E1A39C7A29451D354DF /* FBSDKIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKIcon.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKIcon.h; sourceTree = ""; }; - C4893AA4035AEE2D120CCC660BD88A0B /* FBSDKProfilePictureView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKProfilePictureView.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfilePictureView.h; sourceTree = ""; }; + BD93892679A0E8925992B5C843C04755 /* EXPMatcherHelpers.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPMatcherHelpers.m; path = Expecta/Matchers/EXPMatcherHelpers.m; sourceTree = ""; }; + BDF47E5D4FDE9BED9604D0D40DBB3A5C /* FBSDKShareAPI.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareAPI.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.m; sourceTree = ""; }; + BE26F71E3C57510BE75F06CA83292052 /* FBSDKAppLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLink.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLink.h; sourceTree = ""; }; + BE5D48F63E4D98DF26F93806FDA6E607 /* StrongestPasswordValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = StrongestPasswordValidator.m; path = Pod/Classes/StrongestPasswordValidator.m; sourceTree = ""; }; + BE635994183DF4CE80601C6FB12722E3 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; + BED4CE54AC8106A6864F85607C1A6976 /* EXPMatchers+beSupersetOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSupersetOf.h"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.h"; sourceTree = ""; }; + BEEF5F450117F10026EC99F89C596C84 /* BFCancellationTokenSource.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFCancellationTokenSource.m; path = Bolts/Common/BFCancellationTokenSource.m; sourceTree = ""; }; + BF510F166B6FC7160538AC711EAC68A1 /* FBSDKContainerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKContainerViewController.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKContainerViewController.m; sourceTree = ""; }; + BFD2E4193FCBADCB13E557AEDEE981BA /* FBSDKUserDataStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKUserDataStore.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKUserDataStore.m; sourceTree = ""; }; + C05C6907571617EC014518E10073274C /* NSMutableData+AES.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSMutableData+AES.m"; path = "NSDataAES/Classes/NSMutableData+AES.m"; sourceTree = ""; }; + C06378B48C7515ABB5B949DE8B63375D /* _FBSDKLoginRecoveryAttempter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FBSDKLoginRecoveryAttempter.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/_FBSDKLoginRecoveryAttempter.m; sourceTree = ""; }; + C08EBEEB85A2C61F7C4454A227DD0BF3 /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; + C18D28F8319BFCC61B6C109FFEF432CC /* NSObject+RZDataBinding.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSObject+RZDataBinding.m"; path = "RZDataBinding/NSObject+RZDataBinding.m"; sourceTree = ""; }; + C1C2CA015EB5FB6D0D7D1E529440594C /* FBSDKSharing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharing.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h; sourceTree = ""; }; + C31FA8102DF83AC01E794EEEE51AB787 /* FBSDKDeviceLoginCodeInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginCodeInfo.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginCodeInfo.m; sourceTree = ""; }; + C36D0990929ACC7C7E57A00EA14900CB /* FBSDKMessengerIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMessengerIcon.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKMessengerIcon.m; sourceTree = ""; }; + C3E3FF9898F600C508E5121B11879A62 /* FBSDKServerConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKServerConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration.m; sourceTree = ""; }; + C4133B738A4980DB8CFA963ED740C59C /* EXPMatchers+beTruthy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beTruthy.m"; path = "Expecta/Matchers/EXPMatchers+beTruthy.m"; sourceTree = ""; }; + C42A7B280E657A70E6DF71DAB0887DB3 /* FBSDKBridgeAPIRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIRequest.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIRequest.h; sourceTree = ""; }; C4A1E4B2A8DB166BCFF636128277BAA5 /* libExpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libExpecta.a; path = libExpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; - C50B702AE53AF64B4E658D70EBA8F500 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + C4AE2EB524458DF5D3195C2082156FDE /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + C510C630A4C17612F4CEF4569C285F7C /* RZDBMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDBMacros.h; path = RZDataBinding/RZDBMacros.h; sourceTree = ""; }; + C51B5C8D42BB2FCA4FDFB6DB12343DF1 /* FBSDKShareMessengerGenericTemplateElement.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerGenericTemplateElement.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateElement.m; sourceTree = ""; }; + C53704366AC8BB3E2D54F6F50F20D59D /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; C5E5518C24ABEF56D055C449B0853253 /* PNLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = PNLocation.m; sourceTree = ""; }; - C681F870C2148BE816B4857C256C48D6 /* DJLocalizableString.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DJLocalizableString.h; path = DJLocalization/DJLocalizableString.h; sourceTree = ""; }; + C5F23AC255A5CC190D702640CF82EEFC /* FBSDKCrypto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCrypto.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Cryptography/FBSDKCrypto.h; sourceTree = ""; }; + C643735F7E92D45BEA621C1ABBCBF3DA /* ResponseConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ResponseConstants.h; path = "CodFis-Helper/ResponseConstants.h"; sourceTree = ""; }; + C685DA7E3C04F35929DAAF2AA6845DBC /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; C6A7875971DFD8B00865186211FBD472 /* Pods-PNObject_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PNObject_Tests-dummy.m"; sourceTree = ""; }; - C6C54D8D7B608810AE7C655861678E9A /* FBSDKTooltipView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTooltipView.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.m; sourceTree = ""; }; + C72E97BE66A5B29F0A07C26872D0713A /* EXPMatchers+respondTo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+respondTo.h"; path = "Expecta/Matchers/EXPMatchers+respondTo.h"; sourceTree = ""; }; C73C6EA2E857706C62F6B73C63D5B8E1 /* Pods-PNObject_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PNObject_Example.release.xcconfig"; sourceTree = ""; }; + C74DE409E2F8EB010B597C7B60FC2295 /* FBSDKCoreKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCoreKit.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit.h; sourceTree = ""; }; + C7B095BFA92E7D5342D36E7B4BEFA6CC /* FBSDKInternalUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKInternalUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.m; sourceTree = ""; }; C838E3FDEBB793985B8728BC91CF91CF /* Pods-PNObject_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PNObject_Tests-frameworks.sh"; sourceTree = ""; }; - C870A1722729F25D2BBAE7763D2631C0 /* NSDate_Utils-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSDate_Utils-prefix.pch"; sourceTree = ""; }; - C878BBBC1B5CC7733A8DB44AD6967C21 /* BFAppLinkTarget.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkTarget.m; path = Bolts/iOS/BFAppLinkTarget.m; sourceTree = ""; }; - C882AE3B6CC7F4B15DBA59B1F6025D11 /* EXPMatchers+equal.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+equal.m"; path = "Expecta/Matchers/EXPMatchers+equal.m"; sourceTree = ""; }; - C8DBF5B109A96A3EAB7E009DD54EF4DB /* EXPMatchers+beTruthy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beTruthy.h"; path = "Expecta/Matchers/EXPMatchers+beTruthy.h"; sourceTree = ""; }; - C92EFD197F5052AA423BEA1942B6686A /* RZDataBinding-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "RZDataBinding-dummy.m"; sourceTree = ""; }; - C9F74485E52F9ECD4B2D3F74FC7D40F1 /* EXPMatchers+beSupersetOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beSupersetOf.m"; path = "Expecta/Matchers/EXPMatchers+beSupersetOf.m"; sourceTree = ""; }; - CA4074BF7C2F1D321D824E10DD327990 /* SPTCompiledExample.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCompiledExample.m; path = Specta/Specta/SPTCompiledExample.m; sourceTree = ""; }; - CA8D0242B218F00DDC27F0C852BFB195 /* FBSDKBridgeAPIRequest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKBridgeAPIRequest+Private.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIRequest+Private.h"; sourceTree = ""; }; - CB003FB34FC4FCF0D3CBF1D6A51B54E9 /* FBSDKSharePhotoContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharePhotoContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharePhotoContent.h; sourceTree = ""; }; - CB1E160B643AD77570F62911B3527DEE /* EXPMatchers+postNotification.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+postNotification.h"; path = "Expecta/Matchers/EXPMatchers+postNotification.h"; sourceTree = ""; }; - CB44749BC297320239491BD6360E6A6B /* FBSDKErrorRecoveryConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKErrorRecoveryConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorRecoveryConfiguration.h; sourceTree = ""; }; - CCB0DA35DD96235D0B925541F8A22CAC /* FBSDKLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLogger.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKLogger.h; sourceTree = ""; }; + C84799466FAEA7DDEA9DD46620CA93E6 /* RZDataBinding.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RZDataBinding.xcconfig; sourceTree = ""; }; + C9E20AA73ED43F96743A6B0090627D94 /* FBSDKAppEvents.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEvents.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.h; sourceTree = ""; }; + CA6815C15E4DF3E1D99EFC04DE634168 /* FBSDKError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKError.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKError.h; sourceTree = ""; }; + CAE9492312C126DB3DCD486FF4353C55 /* FBSDKGraphRequestBody.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestBody.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestBody.h; sourceTree = ""; }; + CAE94A7CEF07674CA5A9504B98BB4B9D /* FBSDKShareMessengerGenericTemplateElement.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerGenericTemplateElement.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerGenericTemplateElement.h; sourceTree = ""; }; + CAEBDEB3253090886D136A519B999CD9 /* NSDataAESCipher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = NSDataAESCipher.h; path = NSDataAES/Classes/NSDataAESCipher.h; sourceTree = ""; }; + CB33BC990E6388D94448D83125E942C3 /* FBSDKDynamicFrameworkLoader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDynamicFrameworkLoader.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal_NoARC/FBSDKDynamicFrameworkLoader.m; sourceTree = ""; }; + CB62F7CE20B50C030CBE53D47D42937F /* FBSDKShareVideo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareVideo.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.m; sourceTree = ""; }; + CC6CBD664A2CBD2083B8BA395BFEDF5E /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + CC7C2F2E2DE9B376DAAC74105A9F6666 /* FBSDKCodelessParameterComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCodelessParameterComponent.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessParameterComponent.m; sourceTree = ""; }; CCC8C2A264D659D0F1394CD30CB0CFAF /* libDDDKeychainWrapper.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libDDDKeychainWrapper.a; path = libDDDKeychainWrapper.a; sourceTree = BUILT_PRODUCTS_DIR; }; - CDC5860F642AF87AD7D74911F709C0BB /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - CEC1A1238E88A0DF96B9530B6B4B8A31 /* BFTask.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFTask.m; path = Bolts/Common/BFTask.m; sourceTree = ""; }; - CEC51AD81B8D04828493F7417C836CA2 /* FBSDKWebDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKWebDialog.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.m; sourceTree = ""; }; - CEDC5CE20C7814D956FEDBBF5C1E64F8 /* FBSDKURLConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKURLConnection.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLConnection.m; sourceTree = ""; }; + CD0505928D66817CBB6EF5B7DE3C9CFB /* FBSDKGraphRequest+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKGraphRequest+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequest+Internal.h"; sourceTree = ""; }; + CD9D6CD3E31885EA3B12EB1BC27DEAD5 /* FBSDKShareLinkContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareLinkContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.m; sourceTree = ""; }; + CDF86883A595780271A818F99992EE1B /* FBSDKAppLinkResolving.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkResolving.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkResolving.h; sourceTree = ""; }; + CE2C67768601CAAF60233B174DB92151 /* _FBSDKTemporaryErrorRecoveryAttempter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = _FBSDKTemporaryErrorRecoveryAttempter.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/_FBSDKTemporaryErrorRecoveryAttempter.m; sourceTree = ""; }; + CEC4A68EEF98409FF99D2648CB675D88 /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; + CEE7900090D53530DA111253F2CB6043 /* _FBSDKTemporaryErrorRecoveryAttempter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = _FBSDKTemporaryErrorRecoveryAttempter.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ErrorRecovery/_FBSDKTemporaryErrorRecoveryAttempter.h; sourceTree = ""; }; CF0CCCDF4C0E2DCF3CB409210373C0D6 /* Pods-PNObject_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PNObject_Tests.release.xcconfig"; sourceTree = ""; }; - CF4B90B37F3B51DD598EF6B4D295E151 /* EXPMatcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcher.h; path = Expecta/EXPMatcher.h; sourceTree = ""; }; - CF87CAD4F01E3829F7754FE3E1F41756 /* BFMeasurementEvent_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFMeasurementEvent_Internal.h; path = Bolts/iOS/Internal/BFMeasurementEvent_Internal.h; sourceTree = ""; }; - CFC8DC4744B260278C490B768A4B7211 /* EXPMatchers+beGreaterThanOrEqualTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThanOrEqualTo.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m"; sourceTree = ""; }; - CFE625C76A1AFDC539AE23A9255692D8 /* FBSDKShareVideoContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareVideoContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.m; sourceTree = ""; }; + CF14E773AD209A4DBC35D768C2F689FF /* FBSDKAppLinkNavigation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLinkNavigation.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkNavigation.h; sourceTree = ""; }; + CF88175A2DD02EC3A3D4FA839735203D /* FBSDKCoreKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSDKCoreKit-prefix.pch"; sourceTree = ""; }; D0360D5C3D67C35BB3071F13B4EAF7B3 /* Pods-PNObject_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PNObject_Tests-acknowledgements.plist"; sourceTree = ""; }; - D0BB43BC43349BFC8C82B31AD2F6C57A /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + D0439D5A4E46C28BEDE7B249A11B358A /* FBSDKShareMessengerMediaTemplateContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerMediaTemplateContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.h; sourceTree = ""; }; + D0D00D31B319D6657AF1BFB3622F4819 /* FBSDKTooltipView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTooltipView.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKTooltipView.m; sourceTree = ""; }; D0D5B66973CF80A3988FB78B6DCA4342 /* libFBSDKCoreKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libFBSDKCoreKit.a; path = libFBSDKCoreKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D0E848D03B761CD87A502DED275F90A2 /* FBSDKShareMessengerURLActionButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerURLActionButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerURLActionButton.h; sourceTree = ""; }; - D0F4B2623826CFB0D362CEBDED366755 /* EXPBlockDefinedMatcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPBlockDefinedMatcher.m; path = Expecta/EXPBlockDefinedMatcher.m; sourceTree = ""; }; - D11721AA680F5FAEE92666F935EB9C20 /* nv-ios-http-status.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "nv-ios-http-status.xcconfig"; sourceTree = ""; }; - D121F68BD17FEDE3CC7FD0D598DD4BFB /* FBSDKShareUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareUtility.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.m; sourceTree = ""; }; - D1BD72F492588E910208B90194E570EB /* DJLocalizableString.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DJLocalizableString.m; path = DJLocalization/DJLocalizableString.m; sourceTree = ""; }; - D3098E183FC17823C0B342B74F579EF5 /* FBSDKTimeSpentData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTimeSpentData.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKTimeSpentData.h; sourceTree = ""; }; + D0E9C7B7B50E52257245C7FCE81EAC42 /* EXPMatchers+conformTo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+conformTo.m"; path = "Expecta/Matchers/EXPMatchers+conformTo.m"; sourceTree = ""; }; + D130FE1B704C334E307D8657EAF37098 /* FBSDKLoginUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginUtility.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginUtility.h; sourceTree = ""; }; + D1D89136781DE0949112D15F9A3DD031 /* FBSDKProfilePictureView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKProfilePictureView.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfilePictureView.h; sourceTree = ""; }; + D217711660E1C424F327E5DEFF4DEB5F /* FBSDKBase64.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBase64.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.h; sourceTree = ""; }; + D29168074700CD130E3196CF5B50654D /* FBSDKServerConfigurationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKServerConfigurationManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m; sourceTree = ""; }; + D29203C6537617FB954FDD799C384F58 /* FBSDKLoginKit+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginKit+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginKit+Internal.h"; sourceTree = ""; }; + D3091B1C12A13E5647BD49E81D3CF04B /* FBSDKLoginManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginManager.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.h; sourceTree = ""; }; D42FD38E24E40D4390E6E20CB316304F /* PNObjcPassword.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = PNObjcPassword.h; sourceTree = ""; }; - D47AB4C99208FC0449BB2673E7172DB2 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - D4BE06F794DDE4D8F461F43F43662D47 /* FBSDKWebDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKWebDialog.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialog.h; sourceTree = ""; }; - D4D9999B4C35B8058C3B91BF18AEF178 /* FBSDKGraphRequestConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestConnection.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequestConnection.m; sourceTree = ""; }; - D4FB59AB227BCD0365CC65B949B810BD /* FBSDKShareUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareUtility.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.h; sourceTree = ""; }; - D4FD60DD42AE8130FA68270C01852479 /* StrongestPasswordValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = StrongestPasswordValidator.h; path = Pod/Classes/StrongestPasswordValidator.h; sourceTree = ""; }; + D441D2DF6D2DC0EFA6139912F83A816E /* NSData+AESValue.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AESValue.h"; path = "NSDataAES/Classes/NSData+AESValue.h"; sourceTree = ""; }; + D46A64ECBFB90E6F8FA173DA56993314 /* SPTExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTExample.h; path = Specta/Specta/SPTExample.h; sourceTree = ""; }; D527AA5FFEAFD1EA9BDEEB3573A1DC51 /* PNObjectUtilities.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PNObjectUtilities.h; path = PNObject/Classes/PNObjectUtilities.h; sourceTree = ""; }; - D5311F3F4EC2BAD8137EA47B3118EE84 /* FBSDKBridgeAPIRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIRequest.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIRequest.h; sourceTree = ""; }; - D564210E06F29F351DC35F6E439CA454 /* BFAppLink_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLink_Internal.h; path = Bolts/iOS/Internal/BFAppLink_Internal.h; sourceTree = ""; }; - D57DCD2117912263E215F0ED6FBC4781 /* FBSDKIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKIcon.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKIcon.m; sourceTree = ""; }; - D5CBBF03959B92B04265BFBD02CAC07E /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; - D6942D4839DE251E012F45C321EECBB8 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; + D56E1741F8C7E0E3D263D5B58F460EC3 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + D638C12B68218651E52AA8E3C94B2413 /* NSDate+NSDate_Util.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSDate+NSDate_Util.h"; path = "Pod/Classes/NSDate+NSDate_Util.h"; sourceTree = ""; }; + D6687C4432E52053F517767D035DB259 /* EXPMatchers+beLessThan.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beLessThan.h"; path = "Expecta/Matchers/EXPMatchers+beLessThan.h"; sourceTree = ""; }; + D67B3C8C11BB65F8C4C53C7A4AE87EAC /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; D6A7B40713301CF757DF94819D33A124 /* Pods-PNObject_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PNObject_Example-acknowledgements.plist"; sourceTree = ""; }; - D89D5A7607DA2E41FCA185E7859A1EC9 /* RZDBTransforms.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDBTransforms.h; path = RZDataBinding/RZDBTransforms.h; sourceTree = ""; }; - D8B273CFD57D4FBC4E02D5CF55EFB1FC /* EXPMatchers+haveCountOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+haveCountOf.h"; path = "Expecta/Matchers/EXPMatchers+haveCountOf.h"; sourceTree = ""; }; - D93D3936B572ED1F698387057C299945 /* FBSDKContainerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKContainerViewController.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKContainerViewController.m; sourceTree = ""; }; - DAB9E8D1C4A07C7B2B3457724992A787 /* FBSDKCameraEffectTextures+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKCameraEffectTextures+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKCameraEffectTextures+Internal.h"; sourceTree = ""; }; - DAD49DB919559DB3785D72DF14E59408 /* FBSDKAccessTokenCacheV3_21.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenCacheV3_21.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_21.h; sourceTree = ""; }; - DAF9C2C0F6B336822CED8A69F8F94DD9 /* Expecta.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Expecta.xcconfig; sourceTree = ""; }; - DB068890F76A891796983167489EC39E /* SpectaTypes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaTypes.h; path = Specta/Specta/SpectaTypes.h; sourceTree = ""; }; - DB447D62093AF36E4B25F82BDB53F1DE /* EXPMatchers+beginWith.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beginWith.m"; path = "Expecta/Matchers/EXPMatchers+beginWith.m"; sourceTree = ""; }; - DB48F5E36487E8649BD728F2D99459EA /* NSData+AESKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AESKey.h"; path = "NSDataAES/Classes/NSData+AESKey.h"; sourceTree = ""; }; - DB4A764D7D7A8AB26001E309A9A32302 /* FBSDKDeviceLoginManagerResult+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKDeviceLoginManagerResult+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKDeviceLoginManagerResult+Internal.h"; sourceTree = ""; }; - DBB7D17636E80D6D124CC3F9B8C66DCA /* FBSDKBridgeAPIRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIRequest.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIRequest.m; sourceTree = ""; }; - DBCC66AEBB86B944959C98A5AC4B18A0 /* FBSDKTypeUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTypeUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTypeUtility.h; sourceTree = ""; }; - DBCDAF4FFC9F39337601860989815A09 /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; - DC93CECF6B0B6293AC03F24912C570F7 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; - DC95346618694D47E68F4FCA322E255D /* FBSDKShareAPI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareAPI.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.h; sourceTree = ""; }; - DCC5DAD7AE7190749609649BB33D951F /* FBSDKMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMacros.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKMacros.h; sourceTree = ""; }; - DCDFF3ACDC6FE2C13E8A6ACE27D66139 /* FBSDKLoginManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginManager.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginManager.h; sourceTree = ""; }; - DD1B66D9E5D527328DD3CFC35775BD0D /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; + D6C8F624B454CFAC87AE5FB889B4728C /* FBSDKShareMediaContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMediaContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMediaContent.h; sourceTree = ""; }; + D6ED2B9CE5879E41B3C1304415AF0AE4 /* NSDate_Utils.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = NSDate_Utils.xcconfig; sourceTree = ""; }; + D6F306826C82D3D7DCBEF677A85120BB /* FBSDKShareOpenGraphAction.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareOpenGraphAction.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.h; sourceTree = ""; }; + D73898976CB279C5DCCEBAE629A98B92 /* FBSDKAppEventsUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.h; sourceTree = ""; }; + D74836342AF2D5E5345284CF3393FDCE /* UIDevice-Utils.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "UIDevice-Utils.xcconfig"; sourceTree = ""; }; + D7F72703BE3D6FC73268CEC1B54CE873 /* FBSDKAppLink_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppLink_Internal.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKAppLink_Internal.h; sourceTree = ""; }; + D91E6EFB912D50035F95B3A10A3CA1FE /* Specta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Specta.h; path = Specta/Specta/Specta.h; sourceTree = ""; }; + D9926F43895CDB2B741DEFB8D9D8AE66 /* DJLocalization.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DJLocalization.xcconfig; sourceTree = ""; }; + D9B0A8327D068FA57F56B1F1D70964EE /* nv-ios-http-status-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "nv-ios-http-status-prefix.pch"; sourceTree = ""; }; + DA654D0F6B5BD3708C8A32ABCAB7F357 /* FBSDKAccessTokenExpirer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenExpirer.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenExpirer.m; sourceTree = ""; }; + DAB35FF89153EE0C74104A17970026A4 /* BFWebViewAppLinkResolver.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFWebViewAppLinkResolver.h; path = Bolts/iOS/BFWebViewAppLinkResolver.h; sourceTree = ""; }; + DC189E040D574F2A4945517C0A1F0802 /* FBSDKCameraEffectArguments.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCameraEffectArguments.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.m; sourceTree = ""; }; DD35899D8CC1BFD3DA8589534E8377F2 /* PNObject+PNObjectPOSTConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PNObject+PNObjectPOSTConnection.h"; path = "PNObject/Classes/PNObject+PNObjectPOSTConnection.h"; sourceTree = ""; }; - DD5913C5BF2466249A4B07E3FA934533 /* FBSDKGraphRequest.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequest.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.h; sourceTree = ""; }; - DD59985504EAC1E966F1C7F8091978F4 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; - DD680E8EF6A354891BDDE029676A0791 /* NSObject+Expecta.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+Expecta.h"; path = "Expecta/NSObject+Expecta.h"; sourceTree = ""; }; - DD8E685AF8139EF2EFFADAC5472FABC0 /* BFAppLinkResolving.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkResolving.h; path = Bolts/iOS/BFAppLinkResolving.h; sourceTree = ""; }; - DE33C565472564A8DE420E6D02C0E510 /* FBSDKCoreKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSDKCoreKit.xcconfig; sourceTree = ""; }; - DE547AE4285BF192A36000B35357EE74 /* FBSDKLoginManager+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLoginManager+Internal.h"; path = "FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManager+Internal.h"; sourceTree = ""; }; - DE8FB1A851FB17289922D6996C5F4E75 /* EXPMatchers+match.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+match.m"; path = "Expecta/Matchers/EXPMatchers+match.m"; sourceTree = ""; }; - DEE59BAC099D404B41C80625D3B1B0A5 /* FBSDKGraphRequest.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequest.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKGraphRequest.m; sourceTree = ""; }; - DF7EA5F949AF9CCDB6F93C1F1309ADE0 /* FBSDKLoginKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginKit.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit.h; sourceTree = ""; }; + DD515BEE94EE644F9B8BBE4A92E294CA /* SPTSharedExampleGroups.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTSharedExampleGroups.m; path = Specta/Specta/SPTSharedExampleGroups.m; sourceTree = ""; }; + DD53C695F3ECDB80A46506C6E2F9A25A /* FBSDKBridgeAPIProtocolWebV2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocolWebV2.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV2.h; sourceTree = ""; }; + DD66E6FED006CAC3550B19E204BEC63C /* FBSDKCameraEffectTextures.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCameraEffectTextures.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.h; sourceTree = ""; }; + DE0802BEA45CBF21D91724CA980C8B91 /* DDDKeychainWrapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDDKeychainWrapper-dummy.m"; sourceTree = ""; }; + DE60FB232ECB173CC83D28B8E9FD5C37 /* FBSDKDialogConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDialogConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKDialogConfiguration.h; sourceTree = ""; }; + DE67682584A286D51ED20B31D084E028 /* EXPMatchers+beginWith.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beginWith.h"; path = "Expecta/Matchers/EXPMatchers+beginWith.h"; sourceTree = ""; }; + DEAEF601660FF4DF3234E9612BDE6814 /* FBSDKViewHierarchy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKViewHierarchy.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKViewHierarchy.h; sourceTree = ""; }; + DEB52BB2809F059D93B9F3616B2C905D /* NSValue+Expecta.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSValue+Expecta.m"; path = "Expecta/NSValue+Expecta.m"; sourceTree = ""; }; + DEF1943D8DBFABAA3F0637F6D1638364 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + DF997915633455E830598962FABE969F /* EXPMatchers+beNil.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beNil.m"; path = "Expecta/Matchers/EXPMatchers+beNil.m"; sourceTree = ""; }; + DFE97F191775602DFEAE6E206DA38BBB /* ExpectaObject.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = ExpectaObject.h; path = Expecta/ExpectaObject.h; sourceTree = ""; }; E0313CAEAAB995D3E3B8BDC53F978BF1 /* PNObject+PNObjectConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PNObject+PNObjectConnection.m"; path = "PNObject/Classes/PNObject+PNObjectConnection.m"; sourceTree = ""; }; - E056BDC209109A2623CC3AB2CD97BFDF /* FBSDKURLConnection.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKURLConnection.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKURLConnection.h; sourceTree = ""; }; - E0AB76AC3486B0A9B60E573DDE6BAE07 /* BFAppLinkNavigation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkNavigation.m; path = Bolts/iOS/BFAppLinkNavigation.m; sourceTree = ""; }; - E0D417EB5C1F541AF8777FE4F35D637C /* ExpectaObject.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaObject.m; path = Expecta/ExpectaObject.m; sourceTree = ""; }; - E119997E8CBEA22BBA627DEF18E284C4 /* nv_ios_http_status.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = nv_ios_http_status.h; path = "nv-ios-http-status/nv_ios_http_status.h"; sourceTree = ""; }; - E135DA79EA42BA4C3822BEA5D80D2FDB /* SPTSharedExampleGroups.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSharedExampleGroups.h; path = Specta/Specta/SPTSharedExampleGroups.h; sourceTree = ""; }; + E0FF3EC47A42286B181021A479DD1803 /* FBSDKShareOpenGraphValueContainer.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphValueContainer.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphValueContainer.m; sourceTree = ""; }; + E103652089DD85A4A5A16985A7C35A23 /* FBSDKBridgeAPIRequest+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKBridgeAPIRequest+Private.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIRequest+Private.h"; sourceTree = ""; }; + E10EB47C52E20EA119D6B514049F55F8 /* FBSDKShareKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSDKShareKit.xcconfig; sourceTree = ""; }; E143D035B5419A69F443580FA66D752F /* libStrongestPasswordValidator.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libStrongestPasswordValidator.a; path = libStrongestPasswordValidator.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E1A28981401446572FE29DAC9570ECC5 /* ExpectaSupport.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = ExpectaSupport.m; path = Expecta/ExpectaSupport.m; sourceTree = ""; }; + E2164C3CCF342AB7241FC9A9B7E17F36 /* DJLocalizationSystem+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "DJLocalizationSystem+Private.h"; path = "DJLocalization/DJLocalizationSystem+Private.h"; sourceTree = ""; }; E223594B1999E026FF4F52CACA9DDA9F /* libPods-PNObject_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-PNObject_Example.a"; path = "libPods-PNObject_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - E24B8A9374EA3DB9AB98A7A563571E15 /* BFURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFURL.h; path = Bolts/iOS/BFURL.h; sourceTree = ""; }; - E2C7CDE1B7A82CA60A994CBFBCAC09BE /* FBSDKLoginError.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginError.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginError.m; sourceTree = ""; }; - E30AFDBE4B3883D5FA6F3E821A6CDCF5 /* FBSDKShareLinkContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareLinkContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareLinkContent.h; sourceTree = ""; }; - E35A9662C03FD09FAB04457F2BCBB495 /* BFAppLinkReturnToRefererView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLinkReturnToRefererView.h; path = Bolts/iOS/BFAppLinkReturnToRefererView.h; sourceTree = ""; }; - E3625BA6271F170DAA63F924E8324A72 /* FBSDKDynamicFrameworkLoader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDynamicFrameworkLoader.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKDynamicFrameworkLoader.h; sourceTree = ""; }; - E417233F8F25DE5E0D4BE878A1C4F3FE /* FBSDKLikeControl+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLikeControl+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeControl+Internal.h"; sourceTree = ""; }; + E22E9CCF0015069EC4DA801689A00653 /* FBSDKShareMessengerURLActionButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerURLActionButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerURLActionButton.h; sourceTree = ""; }; + E23ABD68532554C46F8B5E911765A163 /* FBSDKAccessToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessToken.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.h; sourceTree = ""; }; + E251366A8B36B8B9C9DC672E8D750278 /* FBSDKAccessToken.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessToken.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAccessToken.m; sourceTree = ""; }; + E32798AA3060928B31D6D2414AE6CF7E /* FBSDKDeviceLoginManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKDeviceLoginManager.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginManager.m; sourceTree = ""; }; + E34818E402DEACB3E6B52D25C9EAC64D /* FBSDKLikeActionControllerCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeActionControllerCache.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionControllerCache.h; sourceTree = ""; }; + E357E32EA8D6A9B3888D3596C3AA3776 /* FBSDKServerConfiguration+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKServerConfiguration+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration+Internal.h"; sourceTree = ""; }; + E3891458C3A4B448665461397F352DA7 /* BFMeasurementEvent_Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFMeasurementEvent_Internal.h; path = Bolts/iOS/Internal/BFMeasurementEvent_Internal.h; sourceTree = ""; }; + E3B47E60EDE1E9A02809DEF9923F4931 /* PureLayoutDefines.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PureLayoutDefines.h; path = PureLayout/PureLayout/PureLayoutDefines.h; sourceTree = ""; }; + E3DB002F04E427756444ACE788547734 /* FBSDKAppLinkReturnToRefererView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkReturnToRefererView.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkReturnToRefererView.m; sourceTree = ""; }; E4A6EFA4A917599F12C0B7DB90CE41C9 /* libSpecta.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSpecta.a; path = libSpecta.a; sourceTree = BUILT_PRODUCTS_DIR; }; + E4E6332A344B4A0932629526E8E6C9CC /* FBSDKMessageDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMessageDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.h; sourceTree = ""; }; + E53045B6A07A7DC12896641929D0A42B /* PEAR-FileManager-iOS.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "PEAR-FileManager-iOS.xcconfig"; sourceTree = ""; }; + E5426E047B8483C151AF23A6C16A5096 /* FBSDKShareKit+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKShareKit+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareKit+Internal.h"; sourceTree = ""; }; + E58111244B04B80DFF62AC8B4F6EB56B /* FBSDKLikeControl+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKLikeControl+Internal.h"; path = "FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeControl+Internal.h"; sourceTree = ""; }; E58254A18A1B3A2F552E1886D9B7BAA2 /* PNObjectConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = PNObjectConfig.m; path = PNObject/Classes/PNObjectConfig.m; sourceTree = ""; }; - E7802BE1413A3FA3549E352B968A0955 /* FBSDKLikeDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeDialog.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeDialog.m; sourceTree = ""; }; - E7873DCC1BB84407C50A10D1B90B52B3 /* FBSDKDeviceLoginCodeInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKDeviceLoginCodeInfo.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKDeviceLoginCodeInfo.h; sourceTree = ""; }; - E7AD4239872F1CE13738BA5A6D02E811 /* SPTSpec.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTSpec.h; path = Specta/Specta/SPTSpec.h; sourceTree = ""; }; - E7BAC258407DB22A79224DCD6D12C144 /* FBSDKAppGroupAddDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppGroupAddDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupAddDialog.h; sourceTree = ""; }; - E7FA32AE5B61E5C2531C56BF184660BB /* FBSDKInternalUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKInternalUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKInternalUtility.h; sourceTree = ""; }; - E85D91E4930905E3E502BEDE26C076A4 /* Bolts-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Bolts-dummy.m"; sourceTree = ""; }; - E9816A6EF36F53A6684C045B155093C9 /* FBSDKBridgeAPIProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocol.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIProtocol.h; sourceTree = ""; }; - E99477BF4314C3AB0FF9BC0E8C5AA0C1 /* CodFis-Helper-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "CodFis-Helper-prefix.pch"; sourceTree = ""; }; + E63D6E4DE52529EAD9459120A230E416 /* FBSDKBridgeAPIProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBridgeAPIProtocol.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/FBSDKBridgeAPIProtocol.h; sourceTree = ""; }; + E65882AA0565553B48541CD07055A7F5 /* BFURL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFURL.h; path = Bolts/iOS/BFURL.h; sourceTree = ""; }; + E65A5B341221CBEEF0E88382CDB87241 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + E69FA403CBE830954F8F4CFF54FDD34D /* DJLocalization-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DJLocalization-prefix.pch"; sourceTree = ""; }; + E6E1817B1A9A7142269AD887653D5838 /* BFCancellationTokenRegistration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFCancellationTokenRegistration.h; path = Bolts/Common/BFCancellationTokenRegistration.h; sourceTree = ""; }; + E70EB6CB87C778ADC5A4325EEFF99B01 /* FBSDKLoginUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginUtility.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginUtility.m; sourceTree = ""; }; + E712FB17B0B0BF56ED405AF90AB9E748 /* SpectaUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SpectaUtility.h; path = Specta/Specta/SpectaUtility.h; sourceTree = ""; }; + E77872ABBDE104DEF1B32A3F930E6FCE /* FBSDKLoginKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSDKLoginKit.xcconfig; sourceTree = ""; }; + E7B7AB25D5DD7C7CB8A762BDAC5BA64F /* FBSDKAccessTokenCacheV3_17.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV3_17.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_17.m; sourceTree = ""; }; + E7CB4A36C71DCA9004167558E6FFB3DE /* FBSDKLoginKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginKit.h; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit.h; sourceTree = ""; }; + E8125DFB41A764986449B5FFD87065B1 /* EXPExpect.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPExpect.m; path = Expecta/EXPExpect.m; sourceTree = ""; }; + E82E129D6FE596D85CDF967D18298D39 /* RZDBCoalesce.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = RZDBCoalesce.h; path = RZDataBinding/RZDBCoalesce.h; sourceTree = ""; }; + E863438AB7FA603ABBF228C1972C62E3 /* FBSDKShareKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSDKShareKit-dummy.m"; sourceTree = ""; }; + E8E98FAA016C6137D77701FC438F8705 /* Bolts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Bolts.h; path = Bolts/Common/Bolts.h; sourceTree = ""; }; + E8FF921CC0A5BF5881CB0A658CAC6F7D /* EXPMatchers+beGreaterThan.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beGreaterThan.m"; path = "Expecta/Matchers/EXPMatchers+beGreaterThan.m"; sourceTree = ""; }; + E94C13ABE0366ABA3DE88BB136000108 /* FBSDKLoginTooltipView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginTooltipView.m; path = FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginTooltipView.m; sourceTree = ""; }; + E9C89C465DA4E5F451869D6A411A7A9A /* FBSDKTimeSpentData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKTimeSpentData.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKTimeSpentData.m; sourceTree = ""; }; + E9D17E600DCFB32A0E02AAEF855AAFEE /* UIDevice-Hardware.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIDevice-Hardware.m"; path = "Pod/Classes/UIDevice-Hardware.m"; sourceTree = ""; }; + E9D3C0E09FD3CC25C5D3A478EA531702 /* FBSDKLikeButtonPopWAV.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeButtonPopWAV.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeButtonPopWAV.h; sourceTree = ""; }; + EA10A2832C986A5E90B8DA412A574AD6 /* FBSDKSendButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSendButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKSendButton.m; sourceTree = ""; }; + EA6EB31152E17AD260E9078B9EF5B971 /* FBSDKGraphRequestMetadata.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKGraphRequestMetadata.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestMetadata.m; sourceTree = ""; }; + EA897AA5523D9BBF72539EE0EEDE87A9 /* NSObject+RZDataBinding.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSObject+RZDataBinding.h"; path = "RZDataBinding/NSObject+RZDataBinding.h"; sourceTree = ""; }; + EB03E9ADFEAA91D13AD2155E49EFAC59 /* FBSDKLoginManagerLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLoginManagerLogger.h; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLogger.h; sourceTree = ""; }; EB3D2F853F93E1C5DD8686BB8FCE0297 /* PNObjectConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = PNObjectConfig.h; path = PNObject/Classes/PNObjectConfig.h; sourceTree = ""; }; - EB5915CD5CD00D3AC09628C194A1874C /* FBSDKAccessTokenCacheV3_21.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV3_21.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_21.m; sourceTree = ""; }; + EB5B907BC96C09D6BB405190C882BBD5 /* EXPFloatTuple.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPFloatTuple.h; path = Expecta/EXPFloatTuple.h; sourceTree = ""; }; + EB6967181467BED4492732D1D4705DC6 /* Bolts-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Bolts-dummy.m"; sourceTree = ""; }; + EBB4AC8A822AA58630CAC4468B0B14ED /* FBSDKShareUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareUtility.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareUtility.m; sourceTree = ""; }; + EBB57EC1C4725BDEC0C2D9A90660ACAE /* FBSDKLogo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLogo.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKLogo.h; sourceTree = ""; }; EC027B83CF68F1B70BFB4195B3D50010 /* PNObject+PNObjectDELETEConnection.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "PNObject+PNObjectDELETEConnection.m"; path = "PNObject/Classes/PNObject+PNObjectDELETEConnection.m"; sourceTree = ""; }; - EC063EB066459DB3FCBFE89385252843 /* FBSDKVideoUploader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKVideoUploader.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m; sourceTree = ""; }; - EC18B3FD2CF766875B9D72C16B0870E2 /* FBSDKServerConfigurationManager+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKServerConfigurationManager+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager+Internal.h"; sourceTree = ""; }; - EC426BA16EBFCEC46BE7649E21E1447F /* BFAppLinkReturnToRefererView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFAppLinkReturnToRefererView.m; path = Bolts/iOS/BFAppLinkReturnToRefererView.m; sourceTree = ""; }; - EC74CCC62C8CC0FA1E9A33C33D6A19B2 /* FBSDKAppEventsUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppEventsUtility.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.h; sourceTree = ""; }; - ECBC2D4436C3043C14CE27C84A3041FB /* PureLayout+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "PureLayout+Internal.h"; path = "PureLayout/PureLayout/PureLayout+Internal.h"; sourceTree = ""; }; - ECC3074B6C525D1709BF725DDADED490 /* RZDataBinding.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = RZDataBinding.xcconfig; sourceTree = ""; }; - ED407B458A1D39F23812A5B477C7A09F /* Specta-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Specta-prefix.pch"; sourceTree = ""; }; - ED5B3D9FC593C1D635A42DF2C8086BED /* EXPMatchers+postNotification.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+postNotification.m"; path = "Expecta/Matchers/EXPMatchers+postNotification.m"; sourceTree = ""; }; - EE00028C944A5DACE914E65A8E42AAB9 /* FBSDKLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLogger.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKLogger.m; sourceTree = ""; }; - EF782A2AD3017F6F970E1A6A40AA3812 /* StrongestPasswordValidator.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = StrongestPasswordValidator.m; path = Pod/Classes/StrongestPasswordValidator.m; sourceTree = ""; }; - EFBFB98286248168A680B25FD27FC83D /* FBSDKServerConfigurationManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKServerConfigurationManager.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager.m; sourceTree = ""; }; - EFDC8A6E30C585BF4ED3936C91FD79E7 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; - F01C62D6F41B9B578FFE240F02691E7D /* HTTPStatusCodes.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = HTTPStatusCodes.h; path = "nv-ios-http-status/HTTPStatusCodes.h"; sourceTree = ""; }; - F090E550922E1457A3AE680F71C1FFC9 /* FBSDKBase64.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBase64.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Base64/FBSDKBase64.m; sourceTree = ""; }; - F0AA710C0ACE6CA8B0D4357F812FA25F /* FBSDKServerConfiguration+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKServerConfiguration+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfiguration+Internal.h"; sourceTree = ""; }; - F0D1F528F6374820770BD0C3DDF3369E /* FBSDKShareOpenGraphAction.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareOpenGraphAction.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareOpenGraphAction.m; sourceTree = ""; }; - F138D03F719E9BF9D781F74DCA128835 /* FBSDKSharingContent.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharingContent.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharingContent.h; sourceTree = ""; }; - F1B86C2954F96ECB4FCF2C742A9073CC /* FBSDKSendButton.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSendButton.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKSendButton.m; sourceTree = ""; }; - F2870EF834C5B6EBB351E2F8BBAB2BE7 /* SpectaDSL.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaDSL.m; path = Specta/Specta/SpectaDSL.m; sourceTree = ""; }; - F2C42575B3834E09F1BE7BEF1832CA25 /* Bolts-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Bolts-prefix.pch"; sourceTree = ""; }; - F3192F0AD227C94A21279120237BE72A /* SpectaUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SpectaUtility.m; path = Specta/Specta/SpectaUtility.m; sourceTree = ""; }; - F33F8011732DB235FCD1D6DC34EA0F44 /* NSArray+PureLayout.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSArray+PureLayout.m"; path = "PureLayout/PureLayout/NSArray+PureLayout.m"; sourceTree = ""; }; - F37F0CBA86D56CA45BFC033D3815EE89 /* Bolts.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Bolts.xcconfig; sourceTree = ""; }; + EC0CCAE8180310F27F4D45B4C566DFFD /* FBSDKTriStateBOOL.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKTriStateBOOL.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKTriStateBOOL.h; sourceTree = ""; }; + EC2A85F7CB62517F814A1B26EC514E99 /* FBSDKCoreKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSDKCoreKit-dummy.m"; sourceTree = ""; }; + EC3FEF4D8E0DC876D4BEC311CFC5D274 /* FBSDKMutableCopying.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMutableCopying.h; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKMutableCopying.h; sourceTree = ""; }; + EC8B465D31717139A016A12D2FFB2744 /* ALView+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "ALView+PureLayout.h"; path = "PureLayout/PureLayout/ALView+PureLayout.h"; sourceTree = ""; }; + ECB10B1A166604998038F053373E7420 /* Bolts.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Bolts.xcconfig; sourceTree = ""; }; + ECB1D7720A8CF797BE0808D89E06D033 /* RZDBCoalesce.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = RZDBCoalesce.m; path = RZDataBinding/RZDBCoalesce.m; sourceTree = ""; }; + ED9E4D474B9CAC5DDD2A39AD25683A14 /* FBSDKErrorRecoveryConfiguration.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKErrorRecoveryConfiguration.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorRecoveryConfiguration.m; sourceTree = ""; }; + EDA278F288AAA30155CD1A0E2692CB62 /* StrongestPasswordValidator.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = StrongestPasswordValidator.h; path = Pod/Classes/StrongestPasswordValidator.h; sourceTree = ""; }; + EDC28F0107C2466419BBD9DE692C5399 /* FBSDKApplicationDelegate.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKApplicationDelegate.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKApplicationDelegate.m; sourceTree = ""; }; + EDFB9389E6BC749689DAF1C72BD35634 /* EXPMatchers+beSubclassOf.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+beSubclassOf.h"; path = "Expecta/Matchers/EXPMatchers+beSubclassOf.h"; sourceTree = ""; }; + EE0AC7D4EEAD02045DC937D7BD2C1C23 /* FBSDKLikeControl.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeControl.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKLikeControl.m; sourceTree = ""; }; + EE55C4283AF5E8AD1B4721099DF4C764 /* BFCancellationTokenSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFCancellationTokenSource.h; path = Bolts/Common/BFCancellationTokenSource.h; sourceTree = ""; }; + EEC193E3F520E1B6AB4F3372A37E4BAE /* FBSDKLikeButtonPopWAV.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeButtonPopWAV.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeButtonPopWAV.m; sourceTree = ""; }; + EF207F7E0D5311B1FF52C426AEE0A0C5 /* FBSDKServerConfigurationManager+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKServerConfigurationManager+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKServerConfigurationManager+Internal.h"; sourceTree = ""; }; + F04DCF6C3EF993D25317DBCB0D789345 /* FBSDKWebDialogView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKWebDialogView.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/WebDialog/FBSDKWebDialogView.h; sourceTree = ""; }; + F05B4186BB3B1AAE47C0F25011FE071A /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + F094D8A53A77AFCF246030E5859876BE /* FBSDKAppEvents+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKAppEvents+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEvents+Internal.h"; sourceTree = ""; }; + F0DE0DF8D914E38271859E2DC3FFAB1D /* FBSDKMessageDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMessageDialog.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKMessageDialog.m; sourceTree = ""; }; + F1406D8AC4FA98818B9092CEA3E20A29 /* NSArray+PureLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSArray+PureLayout.h"; path = "PureLayout/PureLayout/NSArray+PureLayout.h"; sourceTree = ""; }; + F17BB7C782512DC313E03E2EC880AB33 /* FBSDKShareVideoContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareVideoContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideoContent.m; sourceTree = ""; }; + F1965FFF8D5A2E0C288D9A560FCFEDCE /* FBSDKLikeDialog.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeDialog.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeDialog.m; sourceTree = ""; }; + F1BF5543D80B51DF0A66E88F653F3435 /* FBSDKButton+Subclass.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKButton+Subclass.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKButton+Subclass.h"; sourceTree = ""; }; + F1E075C82DF8DE948E2EC4A3B63A3C0A /* FBSDKHybridAppEventsScriptMessageHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKHybridAppEventsScriptMessageHandler.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKHybridAppEventsScriptMessageHandler.h; sourceTree = ""; }; + F2399C18A88B380AD1FBABFD1ADC63B7 /* EXPMatcherHelpers.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = EXPMatcherHelpers.h; path = Expecta/Matchers/EXPMatcherHelpers.h; sourceTree = ""; }; + F3C4A3461A90A87F919F4C075AED6B06 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; + F3C7BC76A5F427D2951B7C3F2DB7CEFC /* FBSDKCameraEffectArguments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKCameraEffectArguments.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectArguments.h; sourceTree = ""; }; F3DEC48A4806C456BF7333F05402A123 /* libNSDataAES.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libNSDataAES.a; path = libNSDataAES.a; sourceTree = BUILT_PRODUCTS_DIR; }; - F4D7D1B60093B31B5DBE04C23BAA1745 /* PureLayout-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "PureLayout-dummy.m"; sourceTree = ""; }; - F535CC38FB46B34B1F0B6A0154B8FEB5 /* DDDKeychainWrapper-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DDDKeychainWrapper-dummy.m"; sourceTree = ""; }; - F5D3467809970337F34A98CB99327EAC /* Bolts.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = Bolts.h; path = Bolts/Common/Bolts.h; sourceTree = ""; }; - F62687EBD6A093220E0B06CE9724E91A /* NSDate_Utils-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSDate_Utils-dummy.m"; sourceTree = ""; }; - F644CFDCEA538649AD39C42AD9CC8C03 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; - F64BAE0FD7713929A1BE73B315D22DC2 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; - F6856040F4AC95416FDF847F1D46CFE5 /* SPTCompiledExample.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SPTCompiledExample.h; path = Specta/Specta/SPTCompiledExample.h; sourceTree = ""; }; - F6BD791E509F7123DC59255480216C18 /* RZDataBinding-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RZDataBinding-prefix.pch"; sourceTree = ""; }; + F41E58C8325EB10B4B63392FD847BAC6 /* FBSDKShareAPI.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareAPI.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareAPI.h; sourceTree = ""; }; + F49BAD09C3436DEC8C12A3D333EBFA44 /* nv-ios-http-status.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "nv-ios-http-status.xcconfig"; sourceTree = ""; }; + F50D11F39AE29BB5A0578C32B1DD4D06 /* FBSDKMonotonicTime.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMonotonicTime.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKMonotonicTime.h; sourceTree = ""; }; + F595D724DDAEC4AAEAC9F66C11999838 /* FBSDKShareVideo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareVideo.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareVideo.h; sourceTree = ""; }; + F5D2FFE55155C7A7943B0D43B2ED6874 /* FBSDKCodelessPathComponent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCodelessPathComponent.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/Codeless/FBSDKCodelessPathComponent.m; sourceTree = ""; }; + F69FF63557810B667D967581618582B5 /* FBSDKAppEvents.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppEvents.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppEvents.m; sourceTree = ""; }; F76C90725C029275161554BC0426191A /* AFHTTPRequestSerializer+OAuth2.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFHTTPRequestSerializer+OAuth2.h"; sourceTree = ""; }; - F863A877B72B5A94C15D7DD4985AD42F /* FBSDKLikeActionControllerCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLikeActionControllerCache.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionControllerCache.h; sourceTree = ""; }; - F8B0C53439B740B986727B281C069F5A /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + F7864DD1693A7A235C28BC7C4D10B58E /* NSData+AESKey.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+AESKey.h"; path = "NSDataAES/Classes/NSData+AESKey.h"; sourceTree = ""; }; + F7AFC8A7A5AE5F65B91A38EE8CD0E02B /* FBSDKCameraEffectTextures.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKCameraEffectTextures.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKCameraEffectTextures.m; sourceTree = ""; }; + F8061B3868BDAD11CE1E886FBC87A507 /* FBSDKLikeActionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLikeActionController.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKLikeActionController.m; sourceTree = ""; }; + F887AE57AD2A49338ED76686CC4DD718 /* FBSDKAccessTokenExpirer.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAccessTokenExpirer.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenExpirer.h; sourceTree = ""; }; + F9624A50537E9F441B415BC1794085B8 /* NSDataAES-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSDataAES-prefix.pch"; sourceTree = ""; }; F997A285593487CF4D2467662618064D /* AFOAuthCredential.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = AFOAuthCredential.h; sourceTree = ""; }; - F9C1C24B69D6A68483880244C15D8A54 /* FBSDKMaleSilhouetteIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMaleSilhouetteIcon.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKMaleSilhouetteIcon.h; sourceTree = ""; }; - F9D38805D7551CC24FA31FF2C25529E3 /* FBSDKAccessTokenCacheV3_17.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAccessTokenCacheV3_17.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/TokenCaching/FBSDKAccessTokenCacheV3_17.m; sourceTree = ""; }; - FA120E1282ACB671004856AF11AD59BD /* FBSDKHashtag.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKHashtag.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKHashtag.m; sourceTree = ""; }; - FA34D6794794CF0D1EE00F973897B7D8 /* FBSDKAppInviteContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppInviteContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppInviteContent.m; sourceTree = ""; }; - FBD8C67393B9005E3F55A1B963ABBACA /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - FBEC7FAE517D0CB7D19E2E84E19593FF /* EXPMatchers+match.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+match.h"; path = "Expecta/Matchers/EXPMatchers+match.h"; sourceTree = ""; }; - FBF676731846C67268EF1FDB916E1CB0 /* BFCancellationToken.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFCancellationToken.h; path = Bolts/Common/BFCancellationToken.h; sourceTree = ""; }; - FD34F954512B8A4290CE2520DCD4E932 /* FBSDKShareMessengerContentUtility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareMessengerContentUtility.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKShareMessengerContentUtility.h; sourceTree = ""; }; - FD8E19C26F26DBD79AF5AB2D428A82F4 /* DJLocalization.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DJLocalization.xcconfig; sourceTree = ""; }; - FDD0673232604B02F4BB250F22D9A2CF /* FBSDKSharing.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSharing.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSharing.h; sourceTree = ""; }; + F9A441E9586B3C8581D76BC1E0A03671 /* DDDKeychainWrapper.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DDDKeychainWrapper.h; path = Pod/Classes/DDDKeychainWrapper.h; sourceTree = ""; }; + FA043EAD1C57E2A9165D7691DC1DCD15 /* BFExecutor.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = BFExecutor.m; path = Bolts/Common/BFExecutor.m; sourceTree = ""; }; + FA1CA53BC015968B8A7D5A2281145D6C /* FBSDKCoreKit+Internal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "FBSDKCoreKit+Internal.h"; path = "FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h"; sourceTree = ""; }; + FA7EE8D5280ACA9545EB0F4B0F4138EA /* FBSDKShareConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKShareConstants.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareConstants.h; sourceTree = ""; }; + FB72119DFFE43FFB9BF49600A12E9063 /* DDDKeychainWrapper.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DDDKeychainWrapper.xcconfig; sourceTree = ""; }; + FC174185FAB7A4F971B645D5474701EF /* FBSDKProfilePictureView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKProfilePictureView.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKProfilePictureView.m; sourceTree = ""; }; + FC1C84083C56DEA9692B2856DE211395 /* EXPMatchers+contain.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "EXPMatchers+contain.h"; path = "Expecta/Matchers/EXPMatchers+contain.h"; sourceTree = ""; }; + FC325C3C3D911B47F0AA694DA05BD71B /* FBSDKAppLinkTarget.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkTarget.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkTarget.m; sourceTree = ""; }; + FC73FA0EC9903EFA53286D879E678FA9 /* FBSDKSendButton.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKSendButton.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKSendButton.h; sourceTree = ""; }; + FC9787E13A62A239A3C6CD21A98AF9E0 /* SPTCallSite.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SPTCallSite.m; path = Specta/Specta/SPTCallSite.m; sourceTree = ""; }; + FC9BBD4529783C71966EC576E224DB8B /* EXPFloatTuple.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = EXPFloatTuple.m; path = Expecta/EXPFloatTuple.m; sourceTree = ""; }; + FCD1EA6A6A7C243E0424BB20F7AB9F52 /* FBSDKVideoUploader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKVideoUploader.m; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKVideoUploader.m; sourceTree = ""; }; + FD37A75E3B04A194B8A7DF3E67156907 /* FBSDKShareMessengerMediaTemplateContent.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKShareMessengerMediaTemplateContent.m; path = FBSDKShareKit/FBSDKShareKit/FBSDKShareMessengerMediaTemplateContent.m; sourceTree = ""; }; + FD85A1234712148DBB0F85A07FF3DCE7 /* RZDataBinding-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "RZDataBinding-prefix.pch"; sourceTree = ""; }; FE13F68BA7E00A87F6382640DA4031B8 /* AFOAuthCredential.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = AFOAuthCredential.m; sourceTree = ""; }; - FE768F15CB7991DB6A695BD9C133A8FE /* FBSDKGameRequestFrictionlessRecipientCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGameRequestFrictionlessRecipientCache.h; path = FBSDKShareKit/FBSDKShareKit/Internal/FBSDKGameRequestFrictionlessRecipientCache.h; sourceTree = ""; }; - FE8ADBF2F6D74B65B05618FA753FF959 /* FBSDKLiking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKLiking.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKLiking.h; sourceTree = ""; }; - FEC1C356E2E95D8C2A86201754B4EE48 /* FBSDKAppGroupJoinDialog.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKAppGroupJoinDialog.h; path = FBSDKShareKit/FBSDKShareKit/FBSDKAppGroupJoinDialog.h; sourceTree = ""; }; - FF2FCDA32153B241F349342ED134199A /* FBSDKGraphRequestMetadata.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKGraphRequestMetadata.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/Network/FBSDKGraphRequestMetadata.h; sourceTree = ""; }; - FF6BC732E376BAFD2724C83CCEA83E23 /* FBSDKBridgeAPIProtocolWebV1.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKBridgeAPIProtocolWebV1.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/BridgeAPI/ProtocolVersions/FBSDKBridgeAPIProtocolWebV1.m; sourceTree = ""; }; - FF9060392A2823EC4C8438B150CF4437 /* FBSDKBoltsMeasurementEventListener.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKBoltsMeasurementEventListener.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/AppLink/FBSDKBoltsMeasurementEventListener.h; sourceTree = ""; }; - FFA766758C3D1A501DDFAD173F7A3BF5 /* FBSDKMaleSilhouetteIcon.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKMaleSilhouetteIcon.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKMaleSilhouetteIcon.m; sourceTree = ""; }; - FFD37374C5E2CDEE65CDC278645186B1 /* FBSDKSystemAccountStoreAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKSystemAccountStoreAdapter.m; path = FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKSystemAccountStoreAdapter.m; sourceTree = ""; }; + FE242ABAC176E657012AB92CBE4DDB4F /* EXPMatchers+beKindOf.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "EXPMatchers+beKindOf.m"; path = "Expecta/Matchers/EXPMatchers+beKindOf.m"; sourceTree = ""; }; + FE6EABB3BDE91D97C148A51DE2050436 /* FBSDKMaleSilhouetteIcon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKMaleSilhouetteIcon.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/UI/FBSDKMaleSilhouetteIcon.h; sourceTree = ""; }; + FED8B893DA37A3224223A9BFB0E51281 /* FBSDKErrorRecoveryConfiguration.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSDKErrorRecoveryConfiguration.h; path = FBSDKCoreKit/FBSDKCoreKit/Internal/ServerConfiguration/FBSDKErrorRecoveryConfiguration.h; sourceTree = ""; }; + FF2A391F4328DB787D7D6C604A041035 /* BFAppLink.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = BFAppLink.h; path = Bolts/iOS/BFAppLink.h; sourceTree = ""; }; + FF5BDB925B9438AB881A5CE3EC32A419 /* FBSDKAppLinkUtility.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKAppLinkUtility.m; path = FBSDKCoreKit/FBSDKCoreKit/FBSDKAppLinkUtility.m; sourceTree = ""; }; + FFAF6BD0022B3CEDB7E260EF8F44B4FB /* FBSDKLoginManagerLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSDKLoginManagerLogger.m; path = FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLogger.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 03F8C9DE4B5918EEA35CE61AA3A1186A /* Frameworks */ = { + 1620C9079759C4431D1DA8FC4BAB5039 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0E8E7C035F8969CF3DC93E5490A6158B /* Foundation.framework in Frameworks */, - F7B20B4187947E3B6B93F0457C239D0B /* XCTest.framework in Frameworks */, + B5023F69DFBFE68C058D189C112AFE94 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 07CCB61741DB19681E54D52635F9781A /* Frameworks */ = { + 183D8B39A377C80256E80C5E7CE0EFC6 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 159FAB6CD5082235D0E679171A344443 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0D24DFA4BA8EFFD3F138126549EFE951 /* Frameworks */ = { + 1901D5D15C8BA6880BE394AF51292643 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3684FF9BA2B323A9F1901E96D92A14E7 /* Foundation.framework in Frameworks */, + B0E254530E432BA0E54C65D1CF86DEBC /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2092B5B20A311B695C3CA5A12BAF22C8 /* Frameworks */ = { + 2CC988D65D245DEFA0E35C6D21B06A8F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5671F03996AC98D4690EBDA5CF3E19B0 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 21D270636DA3A99981B5C9368FAB11F0 /* Frameworks */ = { + 2DA54A2A3BF2841D7F9B3E12A095954A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - AF0F29923B4B6907B2AC3074FEC58C30 /* Foundation.framework in Frameworks */, - 77EF47250F65A110824DC946B809E579 /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3E108E26F181801A30B13F85220FC5A3 /* Frameworks */ = { + 359C1EC68B3A2076B55FAF471EB05D22 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A57301A2784BE95F16F4E721689F0A1D /* Foundation.framework in Frameworks */, - 45412CEE8DC0221E0957EC2148B35D8A /* UIKit.framework in Frameworks */, + F20E895881CD1819ECEE12DC011C6724 /* Foundation.framework in Frameworks */, + 6A42EC6B2A721B0FEC8CADDB441FF130 /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4E57223CCC2DE41FBBCF629FB3801596 /* Frameworks */ = { + 363A1F5DC0AA283A9CE90E738C8DB9EB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 02322ED6DD078B57A0E5C7A138DCD0C9 /* Foundation.framework in Frameworks */, - 829C9AC7F65F8DAA53040DECB97DDF4E /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5C9B6072BC26C896FBF08CB8C61639D6 /* Frameworks */ = { + 3F3AC413E63A86FAF928CC69B5E9644A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3F1BBC2ABDADEAF803B8D0682E93BCCB /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6227CDAF92DBFAF02B2F250269820190 /* Frameworks */ = { + 4FA715DE21577DA07A1A3781A5854923 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC330E473E54094800EEB246C5740440 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 67E9957D7F14EE3FF51901DF587B70E1 /* Frameworks */ = { + 834759D2B85F882D0F8D01D07E8C2881 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 464E7715978447706C1C247AF111223A /* Foundation.framework in Frameworks */, - D82AD36C465AC632D5B4E771E8574C1F /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 837322C469518863893FE462AAAEFABA /* Frameworks */ = { + 860D38515223AF05773323E7C4888E9E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2C59F45A8302BB97F5678A332C14AF24 /* Foundation.framework in Frameworks */, + F5034BD1BF1179DCC3C22ABBF887F8BF /* CoreGraphics.framework in Frameworks */, + 38DEA83415273708C683A11099389EDE /* MobileCoreServices.framework in Frameworks */, + DC669F3DADABC97D51AE04F8D26450C9 /* Security.framework in Frameworks */, + 15BCB2AF5FB6BC37B64AA1FF69CB31E3 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8A62A0A729710D9F09843A6C1E57DB2E /* Frameworks */ = { + 8ACE5D363E68267FC6642B20866636E2 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8A89C3EE1793DA7D2390D9055F8D3246 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B0272BED4F0409A027756F62B8516FB9 /* Frameworks */ = { + 9E361E01B513237B3C62235AA01160F7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 94364FA898389C303EC455F7BFC20CA5 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BC42581F224BF9BD0BB99B7F14A7A6F1 /* Frameworks */ = { + AAF74BC7E61069ABB1C1E8DD7C27A420 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 94C11F4CFCD63CF412D9C04B20BCBA11 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - BF42AED82E9D3037F41FB2DAAB4409EF /* Frameworks */ = { + AFBAB76B3C8A22AA84D87DF175529D4A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A799D82200AF1641AE0B3556F4721D58 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - CE8115E5916DAD65ECDDAF2000EBD560 /* Frameworks */ = { + C22BD4FE3380B2A965FE9401168E0EE3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 66435F5738144955EF8AADD630329F5B /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DD2904E256B961C4B2C383627001D979 /* Frameworks */ = { + C612259F05A2C8B976735ABC62436A36 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B029131D11CC9CC1DE4CEB02A4F8EF6D /* Foundation.framework in Frameworks */, + 5CDA68EF888D84B0B24D7D7EA044A17C /* Foundation.framework in Frameworks */, + 0152742AA1857092355DF70B672D46F6 /* XCTest.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E0E2C93F38BCFA591658D131C1881BBF /* Frameworks */ = { + C619C5D849CFC895D349FA52B5E1A808 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 38C78D5B87585B9F52B6DBF4E5F9831B /* Foundation.framework in Frameworks */, + 2405168C50070FEC7A7C15EF29083177 /* Foundation.framework in Frameworks */, + F9792E591C89A2DB1AC8FA28F383E3DE /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - EA5B7419A2951995061D45820C7CFE8A /* Frameworks */ = { + E0B8A662FCE8C34AC8F8BA57367B28CF /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 70BE114F9DD4B124A91874C1B23020F4 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - EB187704746E850501B2C5A6F209B1DB /* Frameworks */ = { + EBEF0006E610BD8A277F6C8DB149B1F6 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9918ADEBDB0D0DC41E0EA29E2A8189E0 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - EF7781497AB3632E9408F7646795C5EA /* Frameworks */ = { + EF8B5976CC8D279BAF59A63B6AF2BB06 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E0DF1900C5A73A7C3D2131A97BE5D40C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - F3284DBE3CA8932733932AD2A48445B2 /* Frameworks */ = { + F1AC5723879C2B84E8589C0C546731EE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CBCCEAD402645565401CA93924736979 /* CoreGraphics.framework in Frameworks */, - 0214246CCB1FF7182F7222B9CCDF8FCB /* Foundation.framework in Frameworks */, - F8DCA6C3C05A59B2C95A1B5F1CBD8C99 /* MobileCoreServices.framework in Frameworks */, - DE825B8F32AB823F4BE5492CAC6FCB4B /* Security.framework in Frameworks */, - 903158692A045396106CA22C0DD13BA6 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 005794132F81AD19790754880D591FFE /* DJLocalization */ = { + 0B0892DA30CD9297FD42F8CEB802385C /* Support Files */ = { isa = PBXGroup; children = ( - 8EE59434F39B924529872127287AE4F6 /* Core */, - A0718B6AA3E4536BE2D121057DC2D713 /* Support Files */, - ); - name = DJLocalization; - path = DJLocalization; - sourceTree = ""; - }; - 06B126DC3739438CA67187E6716EA715 /* Support Files */ = { - isa = PBXGroup; - children = ( - 26B7FF51D4554E348CE6CF54B7B0D63F /* FBSDKShareKit.xcconfig */, - 20C253775307C8D9182C2DB498383EE8 /* FBSDKShareKit-dummy.m */, - B19B7CC4B07CF97AB18DF803F398B91C /* FBSDKShareKit-prefix.pch */, + E10EB47C52E20EA119D6B514049F55F8 /* FBSDKShareKit.xcconfig */, + E863438AB7FA603ABBF228C1972C62E3 /* FBSDKShareKit-dummy.m */, + 98D13612C91E439241652D6BD5ECFB8B /* FBSDKShareKit-prefix.pch */, ); name = "Support Files"; path = "../Target Support Files/FBSDKShareKit"; sourceTree = ""; }; - 0CA98E550D84DB17D535435A626D7950 /* Tasks */ = { + 11F1F6BD9389C2268BA65BC3B6348E33 /* Support Files */ = { isa = PBXGroup; children = ( - FBF676731846C67268EF1FDB916E1CB0 /* BFCancellationToken.h */, - 7943FB468D98EB1B48FD1AD8E4A84F4F /* BFCancellationToken.m */, - 53A1F63F6ABA390F52F6C3A756E83E5A /* BFCancellationTokenRegistration.h */, - 7DA54AF9E74E005A76E10B85302BDC52 /* BFCancellationTokenRegistration.m */, - 89315B8F0B9BDB3ED78EDA1E9C601F50 /* BFCancellationTokenSource.h */, - 889CC394FB30524AF79F9FE82025F310 /* BFCancellationTokenSource.m */, - 5AD88EE79B68D0B7DB1648C914AC40C6 /* BFExecutor.h */, - AB87D7716571C956B5550CEC4E14590D /* BFExecutor.m */, - 96E8B044882B40F5D706D451C504AA44 /* BFGeneric.h */, - B8EE196E889A28BBC5BF4C67F3BA34A4 /* BFTask.h */, - CEC1A1238E88A0DF96B9530B6B4B8A31 /* BFTask.m */, - 4FBAAEEB8A73233768EA94C3FA492BB1 /* BFTaskCompletionSource.h */, - 9A076304B218452303A6ABE79E3E6E16 /* BFTaskCompletionSource.m */, - F5D3467809970337F34A98CB99327EAC /* Bolts.h */, - 2D39443B2F3FB9A3A8BEFF38BC0EB4DE /* Bolts.m */, - ); - name = Tasks; - sourceTree = ""; - }; - 14AD9FDE37E277609979463FF0B8BDCA /* Support Files */ = { - isa = PBXGroup; - children = ( - ECC3074B6C525D1709BF725DDADED490 /* RZDataBinding.xcconfig */, - C92EFD197F5052AA423BEA1942B6686A /* RZDataBinding-dummy.m */, - F6BD791E509F7123DC59255480216C18 /* RZDataBinding-prefix.pch */, + D9926F43895CDB2B741DEFB8D9D8AE66 /* DJLocalization.xcconfig */, + 29FFE39BB9744FB477E9BD45281C4E20 /* DJLocalization-dummy.m */, + E69FA403CBE830954F8F4CFF54FDD34D /* DJLocalization-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/RZDataBinding"; + path = "../Target Support Files/DJLocalization"; + sourceTree = ""; + }; + 1508EFE08549FE4D5114F0EBBEECC305 /* RZDataBinding */ = { + isa = PBXGroup; + children = ( + EA897AA5523D9BBF72539EE0EEDE87A9 /* NSObject+RZDataBinding.h */, + C18D28F8319BFCC61B6C109FFEF432CC /* NSObject+RZDataBinding.m */, + A3F0896E256DA1F53B7235EB9C4C1205 /* RZDataBinding.h */, + E82E129D6FE596D85CDF967D18298D39 /* RZDBCoalesce.h */, + ECB1D7720A8CF797BE0808D89E06D033 /* RZDBCoalesce.m */, + C510C630A4C17612F4CEF4569C285F7C /* RZDBMacros.h */, + 5862C90EFD738F31E09EB762AAEB0FCF /* RZDBTransforms.h */, + 5C1F83A82EF1E725A2A7424E4FC2641E /* RZDBTransforms.m */, + 5AB9ADA6439A3FF01A954CC1958FAEBB /* Support Files */, + ); + name = RZDataBinding; + path = RZDataBinding; + sourceTree = ""; + }; + 15C7D54B6FC00D857FC5E8C31EFBA941 /* NSDataAES */ = { + isa = PBXGroup; + children = ( + 9B9D1C914C0CA7355777345FD1C453E8 /* NSData+AES.h */, + 9760CF6845E5C00E61FFC02E89A275C8 /* NSData+AES.m */, + F7864DD1693A7A235C28BC7C4D10B58E /* NSData+AESKey.h */, + 73C4CA0DDD20C9404F022699B69E1C8F /* NSData+AESKey.m */, + D441D2DF6D2DC0EFA6139912F83A816E /* NSData+AESValue.h */, + 662CB4A93808AEAC21BCD400DC311E45 /* NSData+AESValue.m */, + 50F1A0E415C3F797F256FED40444E2DD /* NSData+SHA.h */, + 7BEA087FAA2D12FF5E9BB0B6A376D8DD /* NSData+SHA.m */, + CAEBDEB3253090886D136A519B999CD9 /* NSDataAESCipher.h */, + A2C3EC08D3C5AB7F67EF98D3DF744910 /* NSDataAESCipher.m */, + 2B67BCDA25FB657CCDB23961B3E77CDF /* NSMutableData+AES.h */, + C05C6907571617EC014518E10073274C /* NSMutableData+AES.m */, + 79874668D4138BB864060F811EEC7964 /* Support Files */, + ); + name = NSDataAES; + path = NSDataAES; + sourceTree = ""; + }; + 16BA332108214A120047C1528A07333A /* nv-ios-http-status */ = { + isa = PBXGroup; + children = ( + 68851197844455F40E4C06D94EA40DB6 /* HTTPStatusCodes.h */, + 16102F175FCEF915822BF8406CA5D2B2 /* nv_ios_http_status.h */, + AC0454B2B1FCCBFAFF0A59DD5E5C4F52 /* nv_ios_http_status.m */, + B4BE5B5E4D32DCB472616D4DD7181A5A /* Support Files */, + ); + name = "nv-ios-http-status"; + path = "nv-ios-http-status"; + sourceTree = ""; + }; + 18E40FE79CF2AADE3062B20A5D737D76 /* Support Files */ = { + isa = PBXGroup; + children = ( + 6658A8EB3EE225F944B76265B3FE95CD /* CodFis-Helper.xcconfig */, + 2FFB25E6B9D88368697A01736E84DAF5 /* CodFis-Helper-dummy.m */, + 9BEAA00A8F442A2E842E01807C16C275 /* CodFis-Helper-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/CodFis-Helper"; sourceTree = ""; }; 1D6101F2970774DC431E568CD58CD5DD /* Pods-PNObject_Example */ = { @@ -1891,28 +1968,6 @@ path = "Target Support Files/Pods-PNObject_Example"; sourceTree = ""; }; - 1F9740F3385D24B8919E6A267934F741 /* NSURLSession */ = { - isa = PBXGroup; - children = ( - 4931789D26B733211B4096EE95B6920B /* AFHTTPSessionManager.h */, - F8B0C53439B740B986727B281C069F5A /* AFHTTPSessionManager.m */, - FBD8C67393B9005E3F55A1B963ABBACA /* AFURLSessionManager.h */, - 4FF394CB2AF2F4E0E5CED306D9D6612C /* AFURLSessionManager.m */, - ); - name = NSURLSession; - sourceTree = ""; - }; - 21949C4DEBA2081494EB6D9DB9B0420A /* Support Files */ = { - isa = PBXGroup; - children = ( - 935E2E993FC0179631BB35A2AD7D085B /* NSString-Helper.xcconfig */, - 557015A8D7ADB6BFC19253DAACF4AD4F /* NSString-Helper-dummy.m */, - 18D7CF7F88BA39D023E7EF27BC145EF2 /* NSString-Helper-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/NSString-Helper"; - sourceTree = ""; - }; 22CA63FA344439B3BE39C25E7B9E569B /* PNObject */ = { isa = PBXGroup; children = ( @@ -1946,32 +2001,6 @@ path = ../..; sourceTree = ""; }; - 2528A2A6A08C44DE29D167CF35738232 /* Support Files */ = { - isa = PBXGroup; - children = ( - 000C8E060C68A35F396E8FBBEAD74321 /* DDDKeychainWrapper.xcconfig */, - F535CC38FB46B34B1F0B6A0154B8FEB5 /* DDDKeychainWrapper-dummy.m */, - BD79F48B012A41C1C090ADD1FE184152 /* DDDKeychainWrapper-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/DDDKeychainWrapper"; - sourceTree = ""; - }; - 26C64BEF2A0E8E5DD19EFA5626075F4A /* AFNetworking */ = { - isa = PBXGroup; - children = ( - 84D1FD64C46EA1F4F9055CE0DDA76454 /* AFNetworking.h */, - 1F9740F3385D24B8919E6A267934F741 /* NSURLSession */, - 9C504D7D9798AD70DF8A9D08FFF46862 /* Reachability */, - 99D332E5E91125FC8D1B06A88AD6323B /* Security */, - F47442A3E6E1880824D247B247533C4F /* Serialization */, - 50677499C747F37714C1EED12234F9B0 /* Support Files */, - 3E60498CD64EF54714371DE83EB90697 /* UIKit */, - ); - name = AFNetworking; - path = AFNetworking; - sourceTree = ""; - }; 328535619609C660020CFB604AFF9CEF /* AFJSONResponseSerializerWithData */ = { isa = PBXGroup; children = ( @@ -1982,111 +2011,120 @@ path = AFJSONResponseSerializerWithData; sourceTree = ""; }; - 338AABBC0C0962E53657D1B2E8409416 /* RZDataBinding */ = { + 330CB4FA6779FCC1AA43BE9BB3F713DE /* Support Files */ = { isa = PBXGroup; children = ( - 9F61A4BAEE2B3BC9797A866801749BCC /* NSObject+RZDataBinding.h */, - 1A9FF4471F87B4D04E5AF0C40B99DCB1 /* NSObject+RZDataBinding.m */, - A3A7DE470CF5D4BA311BAA40161F4303 /* RZDataBinding.h */, - 71647093AE2E6713FC401C19E698A098 /* RZDBCoalesce.h */, - 2F88DAA461A1C2A9F00634EC11EEB5B8 /* RZDBCoalesce.m */, - B97829BF49241E80AA68DAD3A1191FEB /* RZDBMacros.h */, - D89D5A7607DA2E41FCA185E7859A1EC9 /* RZDBTransforms.h */, - 67BDD0F9B67A2EDDDB603E6F68A34B96 /* RZDBTransforms.m */, - 14AD9FDE37E277609979463FF0B8BDCA /* Support Files */, + 72B47B0724761B2B22F82B85F19F2633 /* AFNetworking.xcconfig */, + 4536743F73315987683C3324B01D7139 /* AFNetworking-dummy.m */, + 35989139B1DC8A2CC3405DD43A49B197 /* AFNetworking-prefix.pch */, ); - name = RZDataBinding; - path = RZDataBinding; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - 35FD9A9D189D714C81C8B3604164ADDC /* iOS */ = { + 3691E310572BDF11F2BE2327EBE14D34 /* Support Files */ = { isa = PBXGroup; children = ( - 7BC2CA6EBE0DEE167B4675266E3A4EA9 /* CoreGraphics.framework */, - A6ED2AD493A0266C7DACB08EBC8740DC /* Foundation.framework */, - 53B011154D06541CC6355F0E749E7389 /* MobileCoreServices.framework */, - EFDC8A6E30C585BF4ED3936C91FD79E7 /* Security.framework */, - CDC5860F642AF87AD7D74911F709C0BB /* SystemConfiguration.framework */, - 6D46E8DBBA17FC311D806A83C6AA7116 /* UIKit.framework */, - 0AE07BB50C86950308DDC527134BD4FC /* XCTest.framework */, + 8734D2AD92DE52FFB555643C20A74AD2 /* Expecta.xcconfig */, + 4D9C88EC650ED2970A74902F58713724 /* Expecta-dummy.m */, + A9160080FFF62168E4051663683EC394 /* Expecta-prefix.pch */, ); - name = iOS; + name = "Support Files"; + path = "../Target Support Files/Expecta"; sourceTree = ""; }; - 3BEC1A80C6AE9047C3B224F21097FF92 /* NSDataAES */ = { + 3771BBC4CDD47037A3919293A4022823 /* StrongestPasswordValidator */ = { isa = PBXGroup; children = ( - C1A43898CF6E920B815483C8ECEB8A97 /* NSData+AES.h */, - 7A620CD72FE5D21526CCB9953DEE5437 /* NSData+AES.m */, - DB48F5E36487E8649BD728F2D99459EA /* NSData+AESKey.h */, - 1E195EAB7EE08352186CA5D36A31F909 /* NSData+AESKey.m */, - BF548473E89760CC4AC9CEE3FDC8B001 /* NSData+AESValue.h */, - 2D025490F910C718D4F556B9B4239A7A /* NSData+AESValue.m */, - 37D94FC421EBEC7187E4CE684F77CE07 /* NSData+SHA.h */, - 758E95BE64E2BCCF04D41AAAB7EA7732 /* NSData+SHA.m */, - B9305BCA0574DD317321FB99B22F87C2 /* NSDataAESCipher.h */, - 64EFAC973B5EB731BA63B11D5E743FDD /* NSDataAESCipher.m */, - 8F7518DC7FCC48EB6FA2A2DA420336C0 /* NSMutableData+AES.h */, - 4BC0ADBAF20FA73C3EA62BCACF9B969D /* NSMutableData+AES.m */, - C469579A569FB1839338F524D4DB38A9 /* Support Files */, + EDA278F288AAA30155CD1A0E2692CB62 /* StrongestPasswordValidator.h */, + BE5D48F63E4D98DF26F93806FDA6E607 /* StrongestPasswordValidator.m */, + 4DE9667A673F78B67F7C03B3B4BAE7F7 /* Support Files */, ); - name = NSDataAES; - path = NSDataAES; + name = StrongestPasswordValidator; + path = StrongestPasswordValidator; sourceTree = ""; }; - 3D98D84F5E5D289CB1CE40FAD02267FB /* AppLinks */ = { + 37FCC04DA649647BFEA7F426F329F169 /* Support Files */ = { isa = PBXGroup; children = ( - BAAF1110C8D728E82E84D0AEF44842BE /* BFAppLink.h */, - 90203FC369E7B9BD1AAE3AC0A74B2F2B /* BFAppLink.m */, - D564210E06F29F351DC35F6E439CA454 /* BFAppLink_Internal.h */, - 8FDA4A2DDFE88CC2E9CCA0EA2C1602BF /* BFAppLinkNavigation.h */, - E0AB76AC3486B0A9B60E573DDE6BAE07 /* BFAppLinkNavigation.m */, - DD8E685AF8139EF2EFFADAC5472FABC0 /* BFAppLinkResolving.h */, - 1A27A53FD1FEB959AF5073EAB279A6E0 /* BFAppLinkReturnToRefererController.h */, - A34218027F86152F5A300ACC4613AD51 /* BFAppLinkReturnToRefererController.m */, - E35A9662C03FD09FAB04457F2BCBB495 /* BFAppLinkReturnToRefererView.h */, - EC426BA16EBFCEC46BE7649E21E1447F /* BFAppLinkReturnToRefererView.m */, - 38A47AB115CE58D7189D212FE3776CD7 /* BFAppLinkReturnToRefererView_Internal.h */, - 890C78550A66746919FB8DAB1CC0CE51 /* BFAppLinkTarget.h */, - C878BBBC1B5CC7733A8DB44AD6967C21 /* BFAppLinkTarget.m */, - AB34E955886DC91A9E8D67EE8026CE19 /* BFMeasurementEvent.h */, - 068B809842EDCC64FEDE4E2B20B11DA4 /* BFMeasurementEvent.m */, - CF87CAD4F01E3829F7754FE3E1F41756 /* BFMeasurementEvent_Internal.h */, - E24B8A9374EA3DB9AB98A7A563571E15 /* BFURL.h */, - 993BC80B3082EAAC630CFCDE4F47E8CD /* BFURL.m */, - 7A8FF3547F24F870C97CE700A6F483FE /* BFURL_Internal.h */, - 25B6BD5B1B989A466B9FBC18DE884510 /* BFWebViewAppLinkResolver.h */, - 6C5F52B42ED7580353B0823759F8CD52 /* BFWebViewAppLinkResolver.m */, + D74836342AF2D5E5345284CF3393FDCE /* UIDevice-Utils.xcconfig */, + 4BB34A34410BB0E2237F80F427197302 /* UIDevice-Utils-dummy.m */, + 6DD323D7262AD60915043E23337D9F24 /* UIDevice-Utils-prefix.pch */, ); - name = AppLinks; + name = "Support Files"; + path = "../Target Support Files/UIDevice-Utils"; sourceTree = ""; }; - 3E60498CD64EF54714371DE83EB90697 /* UIKit */ = { + 3A0FAC47DCD22A13F92609F6105DE0D8 /* AFNetworking */ = { isa = PBXGroup; children = ( - 5C3B6DB5D2E0418864593840A7EE3DAF /* AFAutoPurgingImageCache.h */, - 7DE66B19C370FDAA2F04DD7068D46578 /* AFAutoPurgingImageCache.m */, - 30D1DC547C2974D6CAAF89466F70E5EB /* AFImageDownloader.h */, - BE7139219CFD2AE4C60F9A68607C667C /* AFImageDownloader.m */, - A314AC9C76AB31868B8CA34AF3D12586 /* AFNetworkActivityIndicatorManager.h */, - AE73F8BD4626DC52381CF714E92CF1D4 /* AFNetworkActivityIndicatorManager.m */, - 9CA71742EF3BFD8FDF2A93536D42A027 /* UIActivityIndicatorView+AFNetworking.h */, - C50B702AE53AF64B4E658D70EBA8F500 /* UIActivityIndicatorView+AFNetworking.m */, - D0BB43BC43349BFC8C82B31AD2F6C57A /* UIButton+AFNetworking.h */, - F644CFDCEA538649AD39C42AD9CC8C03 /* UIButton+AFNetworking.m */, - BCD9D7342982D0CE900EFB0406FB9A8D /* UIImage+AFNetworking.h */, - 078845D9650F143DC7190619E36BD8C2 /* UIImageView+AFNetworking.h */, - 86D3A325B030422B6DC4C35FB99E2606 /* UIImageView+AFNetworking.m */, - 437046B973D755FED8FC92CEC9EE708D /* UIKit+AFNetworking.h */, - 595915B068CFEEE47B82386372174D3E /* UIProgressView+AFNetworking.h */, - C11EE8B53099C56000BF8BBA7BEC5372 /* UIProgressView+AFNetworking.m */, - 68662A19AF4601BC42976CBC0B44FD4A /* UIRefreshControl+AFNetworking.h */, - DC93CECF6B0B6293AC03F24912C570F7 /* UIRefreshControl+AFNetworking.m */, - DD59985504EAC1E966F1C7F8091978F4 /* UIWebView+AFNetworking.h */, - D6942D4839DE251E012F45C321EECBB8 /* UIWebView+AFNetworking.m */, + 5853A3C027EF3C086C98DF233E21B3C5 /* AFNetworking.h */, + 8D261190023C219FEA42C620BD691B54 /* NSURLSession */, + 7D915E76D877912F297EFE4BB4D89DBC /* Reachability */, + 8CF31700F05E13D8128C5EA3516450DE /* Security */, + 413F17C338982D2C5D175743FED4E54C /* Serialization */, + 330CB4FA6779FCC1AA43BE9BB3F713DE /* Support Files */, + 851451DFB466AF790E81EB2547EF78AC /* UIKit */, ); - name = UIKit; + name = AFNetworking; + path = AFNetworking; + sourceTree = ""; + }; + 4064C3DE42D2C087E4581B9245C47AFE /* FBSDKLoginKit */ = { + isa = PBXGroup; + children = ( + 452E64327494846C3D2E7CAF2898AFDC /* _FBSDKLoginRecoveryAttempter.h */, + C06378B48C7515ABB5B949DE8B63375D /* _FBSDKLoginRecoveryAttempter.m */, + 0ED5839BD70E5166E50524F5A135BEF7 /* FBSDKDeviceLoginCodeInfo.h */, + C31FA8102DF83AC01E794EEEE51AB787 /* FBSDKDeviceLoginCodeInfo.m */, + 410011B50EE53E54B3FE68221E7AB585 /* FBSDKDeviceLoginCodeInfo+Internal.h */, + 93AD73B1077B7352ED7AC7FCAF654105 /* FBSDKDeviceLoginError.h */, + 3181B47B45E3776B3AB0FAFC6DE02069 /* FBSDKDeviceLoginError.m */, + 97235C98D0D6BE67142911F95065B66A /* FBSDKDeviceLoginManager.h */, + E32798AA3060928B31D6D2414AE6CF7E /* FBSDKDeviceLoginManager.m */, + AE4EEE301DC50F594D9F70CCA22FD21B /* FBSDKDeviceLoginManagerResult.h */, + 149C3CE987355271447E21C7D65C6762 /* FBSDKDeviceLoginManagerResult.m */, + 0927668E0C2C5C5630C5BD9F8AEFF05B /* FBSDKDeviceLoginManagerResult+Internal.h */, + 6A090559352B38A5116A2F0A8B9C1497 /* FBSDKLoginButton.h */, + 172CA916B01ADF01834F21D4BBC99E7F /* FBSDKLoginButton.m */, + 66CE6A6C55FF062323C0728E0A293795 /* FBSDKLoginCompletion.h */, + 5ECDADF39BFF0422B052C8AF0281341F /* FBSDKLoginCompletion.m */, + 71113CD9E60F21CD6045F396953DCB2A /* FBSDKLoginCompletion+Internal.h */, + 626329BFEA37AF9E99A2ABC7DFF906C3 /* FBSDKLoginConstants.h */, + A97FC406D15CA4B86550A496F6988BF2 /* FBSDKLoginConstants.m */, + 7F888E9855668DCC7F64E0402CBE13CB /* FBSDKLoginError.h */, + 2FC55FE8353DEA67B0C980579730F822 /* FBSDKLoginError.m */, + E7CB4A36C71DCA9004167558E6FFB3DE /* FBSDKLoginKit.h */, + D29203C6537617FB954FDD799C384F58 /* FBSDKLoginKit+Internal.h */, + D3091B1C12A13E5647BD49E81D3CF04B /* FBSDKLoginManager.h */, + 1FA46E687E1312187756E021E50CD42E /* FBSDKLoginManager.m */, + ACB25F02D87081973482D519F2156D5C /* FBSDKLoginManager+Internal.h */, + EB03E9ADFEAA91D13AD2155E49EFAC59 /* FBSDKLoginManagerLogger.h */, + FFAF6BD0022B3CEDB7E260EF8F44B4FB /* FBSDKLoginManagerLogger.m */, + 0D74D80556E8DC3CCFB397594080ECFE /* FBSDKLoginManagerLoginResult.h */, + 4EA1A58C1768B29C459BE6D58062AC94 /* FBSDKLoginManagerLoginResult.m */, + 4609ED5B43147AB345743308F07A18A4 /* FBSDKLoginManagerLoginResult+Internal.h */, + 8E97A54636CC271E5BC33FC8F2AD411F /* FBSDKLoginTooltipView.h */, + E94C13ABE0366ABA3DE88BB136000108 /* FBSDKLoginTooltipView.m */, + D130FE1B704C334E307D8657EAF37098 /* FBSDKLoginUtility.h */, + E70EB6CB87C778ADC5A4325EEFF99B01 /* FBSDKLoginUtility.m */, + 3BF274BD1AD934B41EBF4A67A2FC6E93 /* FBSDKTooltipView.h */, + D0D00D31B319D6657AF1BFB3622F4819 /* FBSDKTooltipView.m */, + 6D8EB9D4EFB061BAB7BDBB7950198671 /* Support Files */, + ); + name = FBSDKLoginKit; + path = FBSDKLoginKit; + sourceTree = ""; + }; + 413F17C338982D2C5D175743FED4E54C /* Serialization */ = { + isa = PBXGroup; + children = ( + 03C681477C9407E00FE027DB25A56590 /* AFURLRequestSerialization.h */, + A166368F7803FF5D28A6F926C6EA624E /* AFURLRequestSerialization.m */, + 4FD2F4B240BEA72CCF0601DEFB7DF452 /* AFURLResponseSerialization.h */, + BC1E39658FAE36DE0487BC875B578D96 /* AFURLResponseSerialization.m */, + ); + name = Serialization; sourceTree = ""; }; 414B65071B6BFD5138E7885FB570F282 /* Targets Support Files */ = { @@ -2098,59 +2136,257 @@ name = "Targets Support Files"; sourceTree = ""; }; - 42D98929F334A0063F195448065B5E9C /* Support Files */ = { + 4DE9667A673F78B67F7C03B3B4BAE7F7 /* Support Files */ = { isa = PBXGroup; children = ( - F37F0CBA86D56CA45BFC033D3815EE89 /* Bolts.xcconfig */, - E85D91E4930905E3E502BEDE26C076A4 /* Bolts-dummy.m */, - F2C42575B3834E09F1BE7BEF1832CA25 /* Bolts-prefix.pch */, + 8D5C4E9E659DF465CEACD70EDC09E5DF /* StrongestPasswordValidator.xcconfig */, + 801E0A9A89866BB1388463D16126A85A /* StrongestPasswordValidator-dummy.m */, + 9BF13BC3B2D76E147316C276AC692F1E /* StrongestPasswordValidator-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/Bolts"; + path = "../Target Support Files/StrongestPasswordValidator"; sourceTree = ""; }; - 42EC11DFC641B31476F015F575DB5663 /* Support Files */ = { + 4E0C64C667DD93592FCDE26AC4C6C2BA /* FBSDKCoreKit */ = { isa = PBXGroup; children = ( - DAF9C2C0F6B336822CED8A69F8F94DD9 /* Expecta.xcconfig */, - 5C1592C0EE52A2570E21D85451018448 /* Expecta-dummy.m */, - 7DD63EE8862896C50EA7BA542F7495F3 /* Expecta-prefix.pch */, + CEE7900090D53530DA111253F2CB6043 /* _FBSDKTemporaryErrorRecoveryAttempter.h */, + CE2C67768601CAAF60233B174DB92151 /* _FBSDKTemporaryErrorRecoveryAttempter.m */, + E23ABD68532554C46F8B5E911765A163 /* FBSDKAccessToken.h */, + E251366A8B36B8B9C9DC672E8D750278 /* FBSDKAccessToken.m */, + 207EE05BFBF535B0FBCC1B4F35245968 /* FBSDKAccessTokenCache.h */, + 5D200A199F3480AC54156D74567862E5 /* FBSDKAccessTokenCache.m */, + 872397B71CB788624C68B559D4C409E2 /* FBSDKAccessTokenCacheV3.h */, + 64E9867518D59755916C982BC35CF161 /* FBSDKAccessTokenCacheV3.m */, + A71F32979088B96559A98FB6021081D1 /* FBSDKAccessTokenCacheV3_17.h */, + E7B7AB25D5DD7C7CB8A762BDAC5BA64F /* FBSDKAccessTokenCacheV3_17.m */, + B184E5094AB0B36173233CACA23FAD11 /* FBSDKAccessTokenCacheV3_21.h */, + AB9AFF952B2628EEF3D2785E78D3666C /* FBSDKAccessTokenCacheV3_21.m */, + 1DD181996D4B1D7A965555F0BD9DACCF /* FBSDKAccessTokenCacheV4.h */, + 450032CE5D7BD2E90B3183935D3758A6 /* FBSDKAccessTokenCacheV4.m */, + 46035459CD822676C43AC57A7C17623B /* FBSDKAccessTokenCaching.h */, + F887AE57AD2A49338ED76686CC4DD718 /* FBSDKAccessTokenExpirer.h */, + DA654D0F6B5BD3708C8A32ABCAB7F357 /* FBSDKAccessTokenExpirer.m */, + C9E20AA73ED43F96743A6B0090627D94 /* FBSDKAppEvents.h */, + F69FF63557810B667D967581618582B5 /* FBSDKAppEvents.m */, + F094D8A53A77AFCF246030E5859876BE /* FBSDKAppEvents+Internal.h */, + 43FDACBDC768982815404996FC3041F0 /* FBSDKAppEventsDeviceInfo.h */, + 876647EB967D4F5CEB7CB8F4FBB79757 /* FBSDKAppEventsDeviceInfo.m */, + B2FEF6ABC1EA5C7650FB77F74C69D1D2 /* FBSDKAppEventsState.h */, + 0504389A5BE500DFAF6462082446D938 /* FBSDKAppEventsState.m */, + 46F22A2A8EF3BD4B1F683B08B3956F91 /* FBSDKAppEventsStateManager.h */, + 21382B817A2018EE60879362EEAA5FE3 /* FBSDKAppEventsStateManager.m */, + 7E73B3A37690059AD6CD0A5E0C51DC60 /* FBSDKAppEventsUninstall.h */, + 08FCBEFF7147CA5ADDE141AAE8CFEA4E /* FBSDKAppEventsUninstall.m */, + D73898976CB279C5DCCEBAE629A98B92 /* FBSDKAppEventsUtility.h */, + 8B56D76D2BF08891F4D7012036DCE314 /* FBSDKAppEventsUtility.m */, + 3ECC32889FE623554A78B0832BFC075D /* FBSDKApplicationDelegate.h */, + EDC28F0107C2466419BBD9DE692C5399 /* FBSDKApplicationDelegate.m */, + 1E40C5CA1634FBE648F7631DA237EDE0 /* FBSDKApplicationDelegate+Internal.h */, + BE26F71E3C57510BE75F06CA83292052 /* FBSDKAppLink.h */, + A5BFAF03F4C3972E82C33C9CC26CDEBD /* FBSDKAppLink.m */, + D7F72703BE3D6FC73268CEC1B54CE873 /* FBSDKAppLink_Internal.h */, + CF14E773AD209A4DBC35D768C2F689FF /* FBSDKAppLinkNavigation.h */, + 1F544822CB217B6B1ABDF563043A86A3 /* FBSDKAppLinkNavigation.m */, + 898F592C01E433162EEF7551D2AAEFB6 /* FBSDKAppLinkResolver.h */, + AA7D9A7CB43B42B8194FDB3FC3BFA0F7 /* FBSDKAppLinkResolver.m */, + CDF86883A595780271A818F99992EE1B /* FBSDKAppLinkResolving.h */, + 69BB3407552D83DCDB500A2BCAC62AA9 /* FBSDKAppLinkReturnToRefererController.h */, + 6858509AE4AB5B41576F24603F15520C /* FBSDKAppLinkReturnToRefererController.m */, + 588036BA015152EA49785DA03F133B1D /* FBSDKAppLinkReturnToRefererView.h */, + E3DB002F04E427756444ACE788547734 /* FBSDKAppLinkReturnToRefererView.m */, + 3FB864BD98F199EA7151B86D7776B8C3 /* FBSDKAppLinkReturnToRefererView_Internal.h */, + 5FFDDE1BDCD388670D4D56FA7A5837D7 /* FBSDKAppLinkTarget.h */, + FC325C3C3D911B47F0AA694DA05BD71B /* FBSDKAppLinkTarget.m */, + A76088022DFD59817505A370A8613F5D /* FBSDKAppLinkUtility.h */, + FF5BDB925B9438AB881A5CE3EC32A419 /* FBSDKAppLinkUtility.m */, + 710A0BE4E9782F28B5400B86A0F9E4B8 /* FBSDKAudioResourceLoader.h */, + 3F49F1FD84C52521B107B72B7B54DA72 /* FBSDKAudioResourceLoader.m */, + D217711660E1C424F327E5DEFF4DEB5F /* FBSDKBase64.h */, + 955C1438A6C55A109024ECFE0E59F2A6 /* FBSDKBase64.m */, + 77AFBC5B46A02911078C7A0E7E9BB0F6 /* FBSDKBoltsMeasurementEventListener.h */, + 161DDD68AD6642631788D91C227710A2 /* FBSDKBoltsMeasurementEventListener.m */, + 00CAC1E14DB79A2B3778FA8099224F62 /* FBSDKBridgeAPICrypto.h */, + B1042C4A000AF83F8B9EEEE20CD52608 /* FBSDKBridgeAPICrypto.m */, + E63D6E4DE52529EAD9459120A230E416 /* FBSDKBridgeAPIProtocol.h */, + 116BDADEF0E5671E2778C019325BDDC9 /* FBSDKBridgeAPIProtocolNativeV1.h */, + 152F87FDA18CCB12396926DB0DFF6EA1 /* FBSDKBridgeAPIProtocolNativeV1.m */, + 098D32B91683044612866E4D6B655190 /* FBSDKBridgeAPIProtocolType.h */, + 0CD3FCF450E8C38314DB299B1C7AD6C6 /* FBSDKBridgeAPIProtocolWebV1.h */, + 91B843E9A83B5038ED6DD189A70F48C6 /* FBSDKBridgeAPIProtocolWebV1.m */, + DD53C695F3ECDB80A46506C6E2F9A25A /* FBSDKBridgeAPIProtocolWebV2.h */, + 0AC895753CD9C702066BD2354EFB381B /* FBSDKBridgeAPIProtocolWebV2.m */, + C42A7B280E657A70E6DF71DAB0887DB3 /* FBSDKBridgeAPIRequest.h */, + 9D5E98EF533DB073454B50533F063ACE /* FBSDKBridgeAPIRequest.m */, + E103652089DD85A4A5A16985A7C35A23 /* FBSDKBridgeAPIRequest+Private.h */, + 8847F10A21BF43DFF71395A3E1AB5A59 /* FBSDKBridgeAPIResponse.h */, + 3ED6A22CEB2E40168F13BFCD2FC0DBC3 /* FBSDKBridgeAPIResponse.m */, + AAD0B5A748C81355837677EBC835CD84 /* FBSDKButton.h */, + A4A3712E9464769F7B299FFD4429F1B8 /* FBSDKButton.m */, + F1BF5543D80B51DF0A66E88F653F3435 /* FBSDKButton+Subclass.h */, + 1C281D535337DDB08FADBA3886092C98 /* FBSDKCloseIcon.h */, + 97652E23694192076D88B7C98EA13878 /* FBSDKCloseIcon.m */, + 87ED635594827F2E8464EDA2788E6D55 /* FBSDKCodelessMacros.h */, + 7A7FDB37BF24244A3C52060B82A5DB49 /* FBSDKCodelessParameterComponent.h */, + CC7C2F2E2DE9B376DAAC74105A9F6666 /* FBSDKCodelessParameterComponent.m */, + 9302213966977B870A5EDA47DC66C8AD /* FBSDKCodelessPathComponent.h */, + F5D2FFE55155C7A7943B0D43B2ED6874 /* FBSDKCodelessPathComponent.m */, + B12311AD0419602DF0FDD90C95BAE7F3 /* FBSDKColor.h */, + 82A9CE801509DD721875DFD93FE32730 /* FBSDKColor.m */, + 369556203A1B8AC26266ABF8A2697A2A /* FBSDKConstants.h */, + 2D257A2F765F81E2A8F1698939933D63 /* FBSDKConstants.m */, + 8F2186D54B2A440BC97AFEBCB1544D9B /* FBSDKContainerViewController.h */, + BF510F166B6FC7160538AC711EAC68A1 /* FBSDKContainerViewController.m */, + 8F6435D1C81D2CCBF8334F92E3678802 /* FBSDKCopying.h */, + C74DE409E2F8EB010B597C7B60FC2295 /* FBSDKCoreKit.h */, + FA1CA53BC015968B8A7D5A2281145D6C /* FBSDKCoreKit+Internal.h */, + C5F23AC255A5CC190D702640CF82EEFC /* FBSDKCrypto.h */, + 08C8C47139DE7A2034FF8DAFB81C47AD /* FBSDKCrypto.m */, + 193E4E44508695DE7A55DB438C385177 /* FBSDKDeviceRequestsHelper.h */, + 42853A0181BFFC8BD67A522A40B3D75C /* FBSDKDeviceRequestsHelper.m */, + DE60FB232ECB173CC83D28B8E9FD5C37 /* FBSDKDialogConfiguration.h */, + A4AA503239425F3D877CFF2FE3814BBF /* FBSDKDialogConfiguration.m */, + AC0C36F361714BF3701DBE769DCC4D51 /* FBSDKDynamicFrameworkLoader.h */, + CB33BC990E6388D94448D83125E942C3 /* FBSDKDynamicFrameworkLoader.m */, + CA6815C15E4DF3E1D99EFC04DE634168 /* FBSDKError.h */, + 3BBE8F3262FA519552E8C2072923D34C /* FBSDKError.m */, + 516C170C34D2B97E2B3F13FB5D3B92E2 /* FBSDKErrorConfiguration.h */, + 9D2D8AC6F61FDC1242D2122868466363 /* FBSDKErrorConfiguration.m */, + 35851A4867C0A3869015CB9897C6113B /* FBSDKErrorRecoveryAttempter.h */, + 1823C6C3EDE6A438390AF42376A3B429 /* FBSDKErrorRecoveryAttempter.m */, + FED8B893DA37A3224223A9BFB0E51281 /* FBSDKErrorRecoveryConfiguration.h */, + ED9E4D474B9CAC5DDD2A39AD25683A14 /* FBSDKErrorRecoveryConfiguration.m */, + 038CD0BC7F1EB85889C5F6485FCE82E2 /* FBSDKEventBinding.h */, + 03544C46C5B4889BCB1205F7BF2604A1 /* FBSDKEventBinding.m */, + 5BB9A02B49FC5E7C8A2B9A5D4DA1F980 /* FBSDKEventBindingManager.h */, + 28A68BE6ACD020D05F047DD6D0F256F7 /* FBSDKEventBindingManager.m */, + 95CE3638CD655496A931B5F3D3EE6709 /* FBSDKGraphErrorRecoveryProcessor.h */, + 382F7323EE572C7B5BEEE17B4A8BC464 /* FBSDKGraphErrorRecoveryProcessor.m */, + 718E9C888B54AD428B7A5D9DF4D5ED56 /* FBSDKGraphRequest.h */, + 7D4C3620B470F0BE002263030752F9B9 /* FBSDKGraphRequest.m */, + CD0505928D66817CBB6EF5B7DE3C9CFB /* FBSDKGraphRequest+Internal.h */, + CAE9492312C126DB3DCD486FF4353C55 /* FBSDKGraphRequestBody.h */, + 96469ECD1F7F9EE7F98E75A3797FDB8E /* FBSDKGraphRequestBody.m */, + A664539EAC41F63765859137D417FA54 /* FBSDKGraphRequestConnection.h */, + 942CD0883F237C1B6475AB8084F6CBDD /* FBSDKGraphRequestConnection.m */, + 805B50B7ED432F0E73C491477AA168B5 /* FBSDKGraphRequestConnection+Internal.h */, + 0AA8B735DA45CEAD444BE76EBAD0A239 /* FBSDKGraphRequestDataAttachment.h */, + 31AC3BF6268C5138FFE5B801AAED212D /* FBSDKGraphRequestDataAttachment.m */, + 41EA81D366F1C2DA0E3C48520066FE1B /* FBSDKGraphRequestMetadata.h */, + EA6EB31152E17AD260E9078B9EF5B971 /* FBSDKGraphRequestMetadata.m */, + 0520C7E3795A436FFB2969476664B7D9 /* FBSDKGraphRequestPiggybackManager.h */, + 255326F6938207707C684919F7491B1A /* FBSDKGraphRequestPiggybackManager.m */, + F1E075C82DF8DE948E2EC4A3B63A3C0A /* FBSDKHybridAppEventsScriptMessageHandler.h */, + 0B90DE54CC161DDA1C75DDD40CF7FDA1 /* FBSDKHybridAppEventsScriptMessageHandler.m */, + 21A4A321D36F5A7AD77F203FBB536116 /* FBSDKIcon.h */, + B3B28FA59F82B358B1D10BD0A881E27E /* FBSDKIcon.m */, + 5D9112F85BC4C12A79ADCAFEBD6501AD /* FBSDKImageDownloader.h */, + B19299E53733482BCF184D69D0D9D4F4 /* FBSDKImageDownloader.m */, + 3278C19DB886D77F2D550A9BBEDFB91A /* FBSDKInternalUtility.h */, + C7B095BFA92E7D5342D36E7B4BEFA6CC /* FBSDKInternalUtility.m */, + A2F2629D5E6336FD8A4E7A0CD2C69259 /* FBSDKKeychainStore.h */, + 176E870DCB3AF59CD26DB552E58F97DE /* FBSDKKeychainStore.m */, + 521DC8C943ADDC23A72DB305ED5CB36A /* FBSDKKeychainStoreViaBundleID.h */, + A20E26A23FB1A3AD970DC56195FABB73 /* FBSDKKeychainStoreViaBundleID.m */, + 949B94603FCE91B73D37C7942A1DC84A /* FBSDKLogger.h */, + 1798DBD97EF8F8F206F34CCF900897F6 /* FBSDKLogger.m */, + EBB57EC1C4725BDEC0C2D9A90660ACAE /* FBSDKLogo.h */, + 32A83024C86330332FE1464C4AD7953C /* FBSDKLogo.m */, + 5D5D5A109336011BE64863B8BBDCF230 /* FBSDKMacros.h */, + FE6EABB3BDE91D97C148A51DE2050436 /* FBSDKMaleSilhouetteIcon.h */, + 978F9D4BBECDC7A7F151BB55D0C12299 /* FBSDKMaleSilhouetteIcon.m */, + 21AD0E47271019E55E663568E2B00521 /* FBSDKMath.h */, + B22E0A3A9166CC492A6B1197C5CEBFF8 /* FBSDKMath.m */, + 696A3A1D99A35202B4526CF2357B74A5 /* FBSDKMeasurementEvent.h */, + 2697FCCB73BA3609AEBDD786D5234175 /* FBSDKMeasurementEvent.m */, + 4CC2B7BDEE80DDFF3EA3524AB6E7999D /* FBSDKMeasurementEvent_Internal.h */, + F50D11F39AE29BB5A0578C32B1DD4D06 /* FBSDKMonotonicTime.h */, + 803FFB178186C751D5B8D54CA328423A /* FBSDKMonotonicTime.m */, + EC3FEF4D8E0DC876D4BEC311CFC5D274 /* FBSDKMutableCopying.h */, + 1E15D107A27585EB378759650D71B11E /* FBSDKPaymentObserver.h */, + 0999C5B871B290CD16A0DD8EC0D54670 /* FBSDKPaymentObserver.m */, + A2ABDF177C47796393C929E00486BBD2 /* FBSDKProfile.h */, + 16462DED9F55E0ED16FFE38C1ED53CD1 /* FBSDKProfile.m */, + 9B179CB1A2CAA77714778F5DB7EB59D2 /* FBSDKProfile+Internal.h */, + D1D89136781DE0949112D15F9A3DD031 /* FBSDKProfilePictureView.h */, + FC174185FAB7A4F971B645D5474701EF /* FBSDKProfilePictureView.m */, + 20A06BD9E7B94EE8EDE93D8132A6477B /* FBSDKServerConfiguration.h */, + C3E3FF9898F600C508E5121B11879A62 /* FBSDKServerConfiguration.m */, + E357E32EA8D6A9B3888D3596C3AA3776 /* FBSDKServerConfiguration+Internal.h */, + 2A8C19BF201CB6D0FEAE915501EAB18B /* FBSDKServerConfigurationManager.h */, + D29168074700CD130E3196CF5B50654D /* FBSDKServerConfigurationManager.m */, + EF207F7E0D5311B1FF52C426AEE0A0C5 /* FBSDKServerConfigurationManager+Internal.h */, + 7DE8E9D0C166D342CA5EA91030B92A5D /* FBSDKSettings.h */, + 23B0C08AA81CFF7D87EC3BD5D0CE1B4B /* FBSDKSettings.m */, + 8CF110C040A6C071E0CCA79CE2745EE0 /* FBSDKSettings+Internal.h */, + 5619B1BEE713E742B53D6FDA6C86B8C0 /* FBSDKSwizzler.h */, + 2A047C05FBFBE85A1CE33DE614DF3F33 /* FBSDKSwizzler.m */, + B13B325A3DE8D33ECA3430517021C0F8 /* FBSDKSystemAccountStoreAdapter.h */, + 24E61FE78C6598F0089A36428F1DD048 /* FBSDKSystemAccountStoreAdapter.m */, + 40D0360875987A8961CE4CDC11E76684 /* FBSDKTestUsersManager.h */, + 5BE543CFC04F0279346707BD5FE5A8DB /* FBSDKTestUsersManager.m */, + 50B432BB73B3BB63AB5FD7534F7D1B38 /* FBSDKTimeSpentData.h */, + E9C89C465DA4E5F451869D6A411A7A9A /* FBSDKTimeSpentData.m */, + EC0CCAE8180310F27F4D45B4C566DFFD /* FBSDKTriStateBOOL.h */, + 51EBFAD0C0E40885ED2A77D75DE53222 /* FBSDKTriStateBOOL.m */, + 712F3FF5530F663771950BCC0CF0B2D4 /* FBSDKTypeUtility.h */, + 1F1D6EF45199DB45509D1E7117799302 /* FBSDKTypeUtility.m */, + 894A257D948EE417BCF17996CA3F53CE /* FBSDKUIUtility.h */, + 48930B14EAE31BA46846BE06AE185384 /* FBSDKURL.h */, + 41D7537A4D4D5D37F50A1831829FD47A /* FBSDKURL.m */, + 35BE26673679AF3E2590326B5CA04ECA /* FBSDKURL_Internal.h */, + 057B5D00B60E06F193E8BC4B3E2444C3 /* FBSDKURLConnection.h */, + 44E358B4FA39962000122487194B2760 /* FBSDKURLConnection.m */, + 75DDA03055953C05A58106E8AC33C3FF /* FBSDKURLOpening.h */, + 3EE551CD8266F254A5DAA54EDB79C7BA /* FBSDKURLSessionTask.h */, + BC8982068C4262C37B85828DADB96866 /* FBSDKURLSessionTask.m */, + 73168AB5AEFEF68BF6160910269CA1CE /* FBSDKUserDataStore.h */, + BFD2E4193FCBADCB13E557AEDEE981BA /* FBSDKUserDataStore.m */, + 062D98265A110DA997A2F5C88D7BC54C /* FBSDKUtility.h */, + 36C15D5B7538C6F932A0E92F0CD7778D /* FBSDKUtility.m */, + DEAEF601660FF4DF3234E9612BDE6814 /* FBSDKViewHierarchy.h */, + 58C10B7ED365FB6C3FC5BF7C540812B8 /* FBSDKViewHierarchy.m */, + BD0EDE71BBA1CCD2D49375A35F02988C /* FBSDKViewImpressionTracker.h */, + 8963B8734D6A668C052D29DFAFA4F085 /* FBSDKViewImpressionTracker.m */, + 55AD2686F264B001D9B23B2E667BDC0A /* FBSDKWebDialog.h */, + 9C99F264193E3ADE6EAA13156157DFD8 /* FBSDKWebDialog.m */, + F04DCF6C3EF993D25317DBCB0D789345 /* FBSDKWebDialogView.h */, + A5A21E87FC761D2AB2656E8E2DBC885F /* FBSDKWebDialogView.m */, + 8CAF11D909749FDA9F2ED0794DBFE7AE /* FBSDKWebViewAppLinkResolver.h */, + 876BEDE992F7C6D99443EF18BFE22429 /* FBSDKWebViewAppLinkResolver.m */, + 9D7F7AB5505D9267E26E5F245D033DC1 /* Resources */, + 613EE9CFF68BEE578D4A84BAC82FADA5 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Expecta"; + name = FBSDKCoreKit; + path = FBSDKCoreKit; sourceTree = ""; }; - 50677499C747F37714C1EED12234F9B0 /* Support Files */ = { + 4FE67B89F7A94CE787A4D27629F1EAD8 /* AppLinks */ = { isa = PBXGroup; children = ( - 502F4C1D657EFC7BF6E4BDFED65F3CDB /* AFNetworking.xcconfig */, - F64BAE0FD7713929A1BE73B315D22DC2 /* AFNetworking-dummy.m */, - 582C7A8B6C27EF84C206BC54CC427454 /* AFNetworking-prefix.pch */, + FF2A391F4328DB787D7D6C604A041035 /* BFAppLink.h */, + 6A02AB7FDED3B5C6D22B85644965FF2B /* BFAppLink.m */, + 2153DF21CC1242FEC6CEAFC1D4C2B1F9 /* BFAppLink_Internal.h */, + 7E5C60BEF924ADC12560A04F338BBB59 /* BFAppLinkNavigation.h */, + 6D751AFFF300A2F684AE78260EB03685 /* BFAppLinkNavigation.m */, + 35F4F2911C50F7A10EA4CD2EABA60A49 /* BFAppLinkResolving.h */, + 2964338CB51713FCF4178C7C529ACCAD /* BFAppLinkReturnToRefererController.h */, + AA77261700278C71645546302461BF34 /* BFAppLinkReturnToRefererController.m */, + 087B6006953245BE2307CFE4FE8A79C5 /* BFAppLinkReturnToRefererView.h */, + A0E40EF9DC8E81ADFAF25AC32D7EABB2 /* BFAppLinkReturnToRefererView.m */, + 4E93CE678CED3D184D0F8007F9391C4B /* BFAppLinkReturnToRefererView_Internal.h */, + 746988DB73522DD2D4EB7DFEC771D31A /* BFAppLinkTarget.h */, + 9D6CB9BAB3FC03DEEC9B261FC2A7FDBA /* BFAppLinkTarget.m */, + 69A248BFCCB5D4AE6EE2607BA308DBA7 /* BFMeasurementEvent.h */, + 5AC0138A592F04FD4FC9F9A9BB3A0B99 /* BFMeasurementEvent.m */, + E3891458C3A4B448665461397F352DA7 /* BFMeasurementEvent_Internal.h */, + E65882AA0565553B48541CD07055A7F5 /* BFURL.h */, + 47529291057D7967C6EC1395C1D3517E /* BFURL.m */, + 89DC8847612A5AB4B27182CD26A19A76 /* BFURL_Internal.h */, + DAB35FF89153EE0C74104A17970026A4 /* BFWebViewAppLinkResolver.h */, + 51C40578330A9198354C2DCB5AFC5785 /* BFWebViewAppLinkResolver.m */, ); - name = "Support Files"; - path = "../Target Support Files/AFNetworking"; - sourceTree = ""; - }; - 523C5839674BA2E5E26EB4FFF418CAB8 /* Support Files */ = { - isa = PBXGroup; - children = ( - 7195B76B6AE47E7F1753E61A2961103F /* CodFis-Helper.xcconfig */, - 8BD02D1AD403EE8827DF4516858BAC1A /* CodFis-Helper-dummy.m */, - E99477BF4314C3AB0FF9BC0E8C5AA0C1 /* CodFis-Helper-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/CodFis-Helper"; - sourceTree = ""; - }; - 557C22FF46EEF8FBC6F65B238F9135A8 /* UIDevice-Utils */ = { - isa = PBXGroup; - children = ( - 3DA8F51A142D7CE0E71B15FFCF20684B /* UIDevice-Hardware.h */, - 1F37F49B515C27CB72F8AAB4DE656804 /* UIDevice-Hardware.m */, - 6D4D72654F4350EA31F76E99C46BA938 /* Support Files */, - ); - name = "UIDevice-Utils"; - path = "UIDevice-Utils"; + name = AppLinks; sourceTree = ""; }; 56E3498721C07CEBAD1B748137B62CBA /* PNClasses */ = { @@ -2171,48 +2407,118 @@ path = PNObject/Classes/PNClasses; sourceTree = ""; }; - 634D03828528C801C8FBCDA2BD0CA46B /* PEAR-FileManager-iOS */ = { + 58DE1F13715D0AE6CA8A279D32F3832D /* UIDevice-Utils */ = { isa = PBXGroup; children = ( - 91DE027389ED7163D8151BE4F0BE3B51 /* PEARFileManager.h */, - 7423979AF1DD3EA8A8332676F7A2B8A3 /* PEARFileManager.m */, - B69FC4DFEA6B9E0BCD8EE3049BC59C00 /* Support Files */, + 17B879F919DEDACAC5C1C25842290A8F /* UIDevice-Hardware.h */, + E9D17E600DCFB32A0E02AAEF855AAFEE /* UIDevice-Hardware.m */, + 37FCC04DA649647BFEA7F426F329F169 /* Support Files */, ); - name = "PEAR-FileManager-iOS"; - path = "PEAR-FileManager-iOS"; + name = "UIDevice-Utils"; + path = "UIDevice-Utils"; sourceTree = ""; }; - 655C5CEB804ADC636FA679D73B2A8098 /* Support Files */ = { + 5AB9ADA6439A3FF01A954CC1958FAEBB /* Support Files */ = { isa = PBXGroup; children = ( - 6FC2432D3C447BDFF937886D5251BBB2 /* Specta.xcconfig */, - 893400F4AFA174150B0DAEF9FC9D6F74 /* Specta-dummy.m */, - ED407B458A1D39F23812A5B477C7A09F /* Specta-prefix.pch */, + C84799466FAEA7DDEA9DD46620CA93E6 /* RZDataBinding.xcconfig */, + 739BA53B10D2894EFCF6A2AF08454C11 /* RZDataBinding-dummy.m */, + FD85A1234712148DBB0F85A07FF3DCE7 /* RZDataBinding-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/Specta"; + path = "../Target Support Files/RZDataBinding"; sourceTree = ""; }; - 68FCEDF1ABD6753132915F8CBF563329 /* Support Files */ = { + 5DAEAE5182B6663A676D609E4A2C1E57 /* CodFis-Helper */ = { isa = PBXGroup; children = ( - 330E307E8519F9DDBEE6B943D9509433 /* StrongestPasswordValidator.xcconfig */, - 0E453DB9800B06611F23438F997A327A /* StrongestPasswordValidator-dummy.m */, - 9F0D45BCD8CD61DB26111D65CC899839 /* StrongestPasswordValidator-prefix.pch */, + 945553D4E0D0A23E3A6D9AFE6D11DE59 /* CodFis+Helper.h */, + 73093867BFAE6EBBDF7A5D9F91A222CA /* CodFis+Helper.m */, + 3CCF53AEBA6B2AA7D485B661C65FD727 /* CodFisResponse.h */, + 1D63D39F5A65930A719EB5CA354755F9 /* CodFisResponse.m */, + C643735F7E92D45BEA621C1ABBCBF3DA /* ResponseConstants.h */, + A8BB7CB0268D269DBE4F5B0469EBA1EA /* VatNumber+Helper.h */, + 3232F7829A1283E3AF2D1C4E6E9CBC3B /* VatNumber+Helper.m */, + 18E40FE79CF2AADE3062B20A5D737D76 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/StrongestPasswordValidator"; + name = "CodFis-Helper"; + path = "CodFis-Helper"; sourceTree = ""; }; - 6D4D72654F4350EA31F76E99C46BA938 /* Support Files */ = { + 60B0F756033CA76A19662DF7D639624D /* DDDKeychainWrapper */ = { isa = PBXGroup; children = ( - C3452B820394D79B12B262BE04613EC7 /* UIDevice-Utils.xcconfig */, - 9374B6D2BE5885426D84EB61045BD4CF /* UIDevice-Utils-dummy.m */, - 8CAE28624157BBE9CC0A4B69355DAEEF /* UIDevice-Utils-prefix.pch */, + F9A441E9586B3C8581D76BC1E0A03671 /* DDDKeychainWrapper.h */, + 33066B4FAF93E2F3564F1B2C745A7128 /* DDDKeychainWrapper.m */, + 7453B62343287F0C6762425434413EF2 /* Support Files */, + ); + name = DDDKeychainWrapper; + path = DDDKeychainWrapper; + sourceTree = ""; + }; + 613EE9CFF68BEE578D4A84BAC82FADA5 /* Support Files */ = { + isa = PBXGroup; + children = ( + 12E33E70801A48C06920A1C5A947D38F /* FBSDKCoreKit.xcconfig */, + EC2A85F7CB62517F814A1B26EC514E99 /* FBSDKCoreKit-dummy.m */, + CF88175A2DD02EC3A3D4FA839735203D /* FBSDKCoreKit-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/UIDevice-Utils"; + path = "../Target Support Files/FBSDKCoreKit"; + sourceTree = ""; + }; + 623B6AF09BBC3ADBE71F57413533EB19 /* NSString-Helper */ = { + isa = PBXGroup; + children = ( + 35F30F50F4924304799BACA865C94A99 /* NSString+Helper.h */, + B108E25F23F3FF0B5A268E471281C15A /* NSString+Helper.m */, + 661033AFF1E05229EE76FCC55D1D0D6B /* Support Files */, + ); + name = "NSString-Helper"; + path = "NSString-Helper"; + sourceTree = ""; + }; + 62B61C6988B360DD52758DBC7222FBFE /* DJLocalization */ = { + isa = PBXGroup; + children = ( + 91D787847F6ACE3507A58D105730075E /* Core */, + 11F1F6BD9389C2268BA65BC3B6348E33 /* Support Files */, + ); + name = DJLocalization; + path = DJLocalization; + sourceTree = ""; + }; + 661033AFF1E05229EE76FCC55D1D0D6B /* Support Files */ = { + isa = PBXGroup; + children = ( + B57448B7171E54F316A32FF4FC68CD47 /* NSString-Helper.xcconfig */, + 7B4C7FA8DA604D0615DD16136A5FE4F1 /* NSString-Helper-dummy.m */, + 7FC7136D3F9BCE9D3D11238C1EEDF91E /* NSString-Helper-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/NSString-Helper"; + sourceTree = ""; + }; + 6D7D2F27984B47AA4DC26F2042AE6E9D /* Bolts */ = { + isa = PBXGroup; + children = ( + 4FE67B89F7A94CE787A4D27629F1EAD8 /* AppLinks */, + AB75237EDE6D45AC6911C7C9EC94EEFD /* Support Files */, + 85E0B4E18EE031E5D922801C1DA682E8 /* Tasks */, + ); + name = Bolts; + path = Bolts; + sourceTree = ""; + }; + 6D8EB9D4EFB061BAB7BDBB7950198671 /* Support Files */ = { + isa = PBXGroup; + children = ( + E77872ABBDE104DEF1B32A3F930E6FCE /* FBSDKLoginKit.xcconfig */, + 9E3E19E0D76816F64A6F358938AA2BC7 /* FBSDKLoginKit-dummy.m */, + 104339D4CF0D1ACF34BD94ECBF7750A1 /* FBSDKLoginKit-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/FBSDKLoginKit"; sourceTree = ""; }; 6E03DBA8E2B3252BA582D6D168710AFD /* Vendors */ = { @@ -2225,33 +2531,15 @@ path = PNObject/Classes/Vendors; sourceTree = ""; }; - 72648B9149B70AF4AE505CE8B0FCC537 /* Bolts */ = { + 7453B62343287F0C6762425434413EF2 /* Support Files */ = { isa = PBXGroup; children = ( - 3D98D84F5E5D289CB1CE40FAD02267FB /* AppLinks */, - 42D98929F334A0063F195448065B5E9C /* Support Files */, - 0CA98E550D84DB17D535435A626D7950 /* Tasks */, + FB72119DFFE43FFB9BF49600A12E9063 /* DDDKeychainWrapper.xcconfig */, + DE0802BEA45CBF21D91724CA980C8B91 /* DDDKeychainWrapper-dummy.m */, + 07F635318349C3CA4CE2CBCE9E58A983 /* DDDKeychainWrapper-prefix.pch */, ); - name = Bolts; - path = Bolts; - sourceTree = ""; - }; - 766BE14146770AED8DDBB4C51C844134 /* PureLayout */ = { - isa = PBXGroup; - children = ( - DD1B66D9E5D527328DD3CFC35775BD0D /* ALView+PureLayout.h */, - 1A4D67DF5330EEEEAB15A31EC371E3F8 /* ALView+PureLayout.m */, - AC1FC5DE20154AB18DD64C862281D20A /* NSArray+PureLayout.h */, - F33F8011732DB235FCD1D6DC34EA0F44 /* NSArray+PureLayout.m */, - A556598998813732AC9F6BD28CAF167C /* NSLayoutConstraint+PureLayout.h */, - A845AFCF45CB51E5778C69484BB0FAA5 /* NSLayoutConstraint+PureLayout.m */, - 8CF76956DA57AC109231D6EAE7E2C37A /* PureLayout.h */, - ECBC2D4436C3043C14CE27C84A3041FB /* PureLayout+Internal.h */, - 0948569E88FA6B0946FA126CD86DFBC7 /* PureLayoutDefines.h */, - E3A7BAEB61209E2AEC4D2FBE78AB460F /* Support Files */, - ); - name = PureLayout; - path = PureLayout; + name = "Support Files"; + path = "../Target Support Files/DDDKeychainWrapper"; sourceTree = ""; }; 7815B12811ECA8994710D40F7B54643E /* AFOAuth2Manager */ = { @@ -2268,139 +2556,229 @@ path = AFOAuth2Manager; sourceTree = ""; }; + 79874668D4138BB864060F811EEC7964 /* Support Files */ = { + isa = PBXGroup; + children = ( + 52B84C79443639E710D5300A19CF7D6F /* NSDataAES.xcconfig */, + 8EF80CAB2F23373F48E87570F7ECC5A9 /* NSDataAES-dummy.m */, + F9624A50537E9F441B415BC1794085B8 /* NSDataAES-prefix.pch */, + ); + name = "Support Files"; + path = "../Target Support Files/NSDataAES"; + sourceTree = ""; + }; + 7D915E76D877912F297EFE4BB4D89DBC /* Reachability */ = { + isa = PBXGroup; + children = ( + A2B994B4672A9C954B3718919B483170 /* AFNetworkReachabilityManager.h */, + 7371F8850210EAA2725BBBAE33355C08 /* AFNetworkReachabilityManager.m */, + ); + name = Reachability; + sourceTree = ""; + }; 7DB346D0F39D3F0E887471402A8071AB = { isa = PBXGroup; children = ( 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, D5D27757BE31D2E1125B1DE683D3A505 /* Development Pods */, F4CDA5FA9197A41E0081E84F932906EB /* Frameworks */, - B359DCCEB27A9F132F06646E7BC675FF /* Pods */, + 9A6A7DC20DEDBE2CE7D6360C1910A761 /* Pods */, C480B5F01E58D59EDA927E3EC6A18A0E /* Products */, 414B65071B6BFD5138E7885FB570F282 /* Targets Support Files */, ); sourceTree = ""; }; - 7DFE298BE76D9636FC0476C057E9FAE6 /* NSString-Helper */ = { + 80CD6F9E4A2683131C7CE8EFB100849C /* Support Files */ = { isa = PBXGroup; children = ( - 2AB104AE0A27358C3D74295A6F6367AD /* NSString+Helper.h */, - 15EFE509962306386DD959BFF4D9EA17 /* NSString+Helper.m */, - 21949C4DEBA2081494EB6D9DB9B0420A /* Support Files */, + 379C348EB2F9F418F970768DEB673F2F /* Specta.xcconfig */, + 4499DF8459C8D2AF31AA71B9AE675D1D /* Specta-dummy.m */, + CEC4A68EEF98409FF99D2648CB675D88 /* Specta-prefix.pch */, ); - name = "NSString-Helper"; - path = "NSString-Helper"; + name = "Support Files"; + path = "../Target Support Files/Specta"; sourceTree = ""; }; - 8EE59434F39B924529872127287AE4F6 /* Core */ = { + 83573D2A7A69A7FBDC5817812857DAFF /* Support Files */ = { isa = PBXGroup; children = ( - C681F870C2148BE816B4857C256C48D6 /* DJLocalizableString.h */, - D1BD72F492588E910208B90194E570EB /* DJLocalizableString.m */, - 3F64FC2366C211E511E8E86B2E7BC11E /* DJLocalization.h */, - 2E08795DE80E6A482929057C029B6FE0 /* DJLocalizationSystem.h */, - 38E1B4412ABBDCD9D95D9EF86F212154 /* DJLocalizationSystem.m */, - B012FD5341786FEC822A945DD38BC5BE /* DJLocalizationSystem+Private.h */, - 151AC994C8FBAF0D7FF8A8BEA855811C /* UIStoryboard+DJLocalization.h */, - 34491AFB1A4CE6DD8F001965A19302AA /* UIStoryboard+DJLocalization.m */, + 444FFF855F5ABFFFF0A7C42DC70E79CB /* PureLayout.xcconfig */, + 8D6C25CEF86D625B2705257253DAD8BE /* PureLayout-dummy.m */, + 4C33A3E7DEF95301AA59E97BEAE14668 /* PureLayout-prefix.pch */, ); - name = Core; + name = "Support Files"; + path = "../Target Support Files/PureLayout"; sourceTree = ""; }; - 95D762AC191EE6F75C0B0C641961D60D /* FBSDKLoginKit */ = { + 851451DFB466AF790E81EB2547EF78AC /* UIKit */ = { isa = PBXGroup; children = ( - 4246A8AE3068C825AE7382647FA678F9 /* _FBSDKLoginRecoveryAttempter.h */, - 39610C2411B1F0BF837D4584A200AD14 /* _FBSDKLoginRecoveryAttempter.m */, - E7873DCC1BB84407C50A10D1B90B52B3 /* FBSDKDeviceLoginCodeInfo.h */, - 7E8AFBC220140446C89B82040AAFA994 /* FBSDKDeviceLoginCodeInfo.m */, - 83C7683DD547D0D287ACE785ED2C27E1 /* FBSDKDeviceLoginCodeInfo+Internal.h */, - 884EFE73A10083B348D8199894723D1D /* FBSDKDeviceLoginError.h */, - 0E83E6B99603BA7D2D5B5469122623ED /* FBSDKDeviceLoginError.m */, - 1A8C93A607A5EA76F8C4BABC58F89882 /* FBSDKDeviceLoginManager.h */, - 99500508B4901BE8AE4D5D2241F35B61 /* FBSDKDeviceLoginManager.m */, - 247D3543DA4387A7C8E00373E15BE5B5 /* FBSDKDeviceLoginManagerResult.h */, - 7F9FF230D618969EDFEFF786CB0A3CB2 /* FBSDKDeviceLoginManagerResult.m */, - DB4A764D7D7A8AB26001E309A9A32302 /* FBSDKDeviceLoginManagerResult+Internal.h */, - 55F64C2002077CF01C4CD6C53465A36C /* FBSDKLoginButton.h */, - 943041CB81EC69C4A877EF899DAFC192 /* FBSDKLoginButton.m */, - 777794B33457529D02B25D7C08481133 /* FBSDKLoginCompletion.h */, - 29A1CC01700DAA88133DDCAEF4154CC2 /* FBSDKLoginCompletion.m */, - 9C08952206B10924CCAF42ED19A04224 /* FBSDKLoginCompletion+Internal.h */, - 09E5A76307883C04147A45F3967FBA02 /* FBSDKLoginConstants.h */, - 3528B212FF907E1923C98A9DE3150A20 /* FBSDKLoginConstants.m */, - 453B859A9A2545C32DE70FD2A73CD33E /* FBSDKLoginError.h */, - E2C7CDE1B7A82CA60A994CBFBCAC09BE /* FBSDKLoginError.m */, - DF7EA5F949AF9CCDB6F93C1F1309ADE0 /* FBSDKLoginKit.h */, - 0BA5A46C701FF3185A9E8A31F8FF7378 /* FBSDKLoginKit+Internal.h */, - DCDFF3ACDC6FE2C13E8A6ACE27D66139 /* FBSDKLoginManager.h */, - 85BF18C15FB3C9A06A160BD4B3B18B89 /* FBSDKLoginManager.m */, - DE547AE4285BF192A36000B35357EE74 /* FBSDKLoginManager+Internal.h */, - 804315AD450E2E54BB44402C6955EA3D /* FBSDKLoginManagerLogger.h */, - 265DEB08420D568235541EFAB1D870C1 /* FBSDKLoginManagerLogger.m */, - 404C07B99008A636B002B9F4755C99C7 /* FBSDKLoginManagerLoginResult.h */, - 084679749DA5F6A0CE8B37003A9EC961 /* FBSDKLoginManagerLoginResult.m */, - 5666FCB41D10F40B22FD91CC168B6A1C /* FBSDKLoginManagerLoginResult+Internal.h */, - 8D33CAE52357D386BA99C361695A857A /* FBSDKLoginTooltipView.h */, - 0F6B25E2C512DC51FE47F17735DB73DA /* FBSDKLoginTooltipView.m */, - 5FA603DA4BFBA25B5C1CD3AEEEE72C26 /* FBSDKLoginUtility.h */, - 78C0419524EAD2BAEAE75354503474E1 /* FBSDKLoginUtility.m */, - 52918DEFFCA326653F8922AD91D11FAF /* FBSDKTooltipView.h */, - C6C54D8D7B608810AE7C655861678E9A /* FBSDKTooltipView.m */, - 9D83B578ACB6CFBEEEA7B555CBE537A9 /* Support Files */, + 12DBABF54A0D1A13073266DEAF71AB5F /* AFAutoPurgingImageCache.h */, + 9969A5355EA68D96AEC6594E6A5E9069 /* AFAutoPurgingImageCache.m */, + 36730929D0B3CB2AC41BF100F89ACA3B /* AFImageDownloader.h */, + 58924C097629393B47F8913C206AB1DB /* AFImageDownloader.m */, + AE91203791D4B728219D544E4464FE87 /* AFNetworkActivityIndicatorManager.h */, + D56E1741F8C7E0E3D263D5B58F460EC3 /* AFNetworkActivityIndicatorManager.m */, + 7D59F55316C71363EBAE55121B468EE8 /* UIActivityIndicatorView+AFNetworking.h */, + 422228405026B213960E61CE3699D6CF /* UIActivityIndicatorView+AFNetworking.m */, + 91D597045A0BDA11505525EF9C97D548 /* UIButton+AFNetworking.h */, + 5337B1EBF72D885EDB2CA3F253FC5B37 /* UIButton+AFNetworking.m */, + 51584A1ACF25CB49347808148BBCEC99 /* UIImage+AFNetworking.h */, + A5738F31E7FA35B142C111B2013AACF1 /* UIImageView+AFNetworking.h */, + 5591BB007FC9E3071D990D1CF0A52C23 /* UIImageView+AFNetworking.m */, + AD279EE06DA2DC38AEC49D7F19A0A2BC /* UIKit+AFNetworking.h */, + C685DA7E3C04F35929DAAF2AA6845DBC /* UIProgressView+AFNetworking.h */, + B946E6678D6085D230EDD6B927817340 /* UIProgressView+AFNetworking.m */, + DEF1943D8DBFABAA3F0637F6D1638364 /* UIRefreshControl+AFNetworking.h */, + 48EAEA1A387E7483A605AB622EAB91B8 /* UIRefreshControl+AFNetworking.m */, + F3C4A3461A90A87F919F4C075AED6B06 /* UIWebView+AFNetworking.h */, + 952BCB39B0D72AA10B61D9439887C180 /* UIWebView+AFNetworking.m */, ); - name = FBSDKLoginKit; - path = FBSDKLoginKit; + name = UIKit; sourceTree = ""; }; - 99D332E5E91125FC8D1B06A88AD6323B /* Security */ = { + 85E0B4E18EE031E5D922801C1DA682E8 /* Tasks */ = { isa = PBXGroup; children = ( - BE194CC968FA17F51FBFF426CDC4F808 /* AFSecurityPolicy.h */, - 9FC66829CCEDBBBBFFCD2BD3E43C59BC /* AFSecurityPolicy.m */, + 50AF06AE6DE7B9BAEEA4794F8B2A879B /* BFCancellationToken.h */, + 13211D855E5293A4E7B68979B3927B79 /* BFCancellationToken.m */, + E6E1817B1A9A7142269AD887653D5838 /* BFCancellationTokenRegistration.h */, + 1BA4A045DAB6043B53CE15EDF906D10C /* BFCancellationTokenRegistration.m */, + EE55C4283AF5E8AD1B4721099DF4C764 /* BFCancellationTokenSource.h */, + BEEF5F450117F10026EC99F89C596C84 /* BFCancellationTokenSource.m */, + 600F03DF58A86C9F7FE46DFD525FD1DF /* BFExecutor.h */, + FA043EAD1C57E2A9165D7691DC1DCD15 /* BFExecutor.m */, + B9AEE51E846500100F68164B7E238349 /* BFGeneric.h */, + 8171265156664F0907696D211D002E6B /* BFTask.h */, + 3B8947C04C451A0A2DF29B3CBAB3F9D6 /* BFTask.m */, + 1A3FB96D1F6A7EF08A000F86B2C6E5F6 /* BFTaskCompletionSource.h */, + B9A245ECDD956B80B4E44A642331EF83 /* BFTaskCompletionSource.m */, + E8E98FAA016C6137D77701FC438F8705 /* Bolts.h */, + 64D7FF50177AB684897EFA94FCCD615D /* Bolts.m */, + ); + name = Tasks; + sourceTree = ""; + }; + 8CF31700F05E13D8128C5EA3516450DE /* Security */ = { + isa = PBXGroup; + children = ( + A7A9C72854AB6B24B7EDC326DA284454 /* AFSecurityPolicy.h */, + 6E61444B20CBFB611DB03797D93038E0 /* AFSecurityPolicy.m */, ); name = Security; sourceTree = ""; }; - 9C504D7D9798AD70DF8A9D08FFF46862 /* Reachability */ = { + 8D261190023C219FEA42C620BD691B54 /* NSURLSession */ = { isa = PBXGroup; children = ( - 1EFC716407ACFABC139C26869B0628B3 /* AFNetworkReachabilityManager.h */, - B80F8CED2A358E59D5D9245F941A2D8D /* AFNetworkReachabilityManager.m */, + 3DA4EF941F355AF232E76D0362583A7A /* AFCompatibilityMacros.h */, + C4AE2EB524458DF5D3195C2082156FDE /* AFHTTPSessionManager.h */, + 4E58EFDBC0BD5FC5AA09EF2E78FA9FC6 /* AFHTTPSessionManager.m */, + C53704366AC8BB3E2D54F6F50F20D59D /* AFURLSessionManager.h */, + F05B4186BB3B1AAE47C0F25011FE071A /* AFURLSessionManager.m */, ); - name = Reachability; + name = NSURLSession; sourceTree = ""; }; - 9D83B578ACB6CFBEEEA7B555CBE537A9 /* Support Files */ = { + 91D787847F6ACE3507A58D105730075E /* Core */ = { isa = PBXGroup; children = ( - 490C1F8E8F149587E7EE44AEE486F8E1 /* FBSDKLoginKit.xcconfig */, - A66915C1FAFD8FC98C42CD7F3A0D8900 /* FBSDKLoginKit-dummy.m */, - A217A2718F669E35DE7B316B4FF0D49D /* FBSDKLoginKit-prefix.pch */, + 46E25B94A00EC37D77852BB2423511D5 /* DJLocalizableString.h */, + 82F6CC1ACAF6F27C6A111F34E7731E6A /* DJLocalizableString.m */, + A99EA254D66D2678098821F32E154DEF /* DJLocalization.h */, + AC1561C48A0E5AA9B22C0A48189E239A /* DJLocalizationSystem.h */, + 50297A9E224149D1E8A31E0C13343402 /* DJLocalizationSystem.m */, + E2164C3CCF342AB7241FC9A9B7E17F36 /* DJLocalizationSystem+Private.h */, + 88CABB3CA14023398BAF033A078AEDCE /* UIStoryboard+DJLocalization.h */, + 43075ED41EDAC5215E93E64528886C1B /* UIStoryboard+DJLocalization.m */, ); - name = "Support Files"; - path = "../Target Support Files/FBSDKLoginKit"; + name = Core; sourceTree = ""; }; - 9F3606DF258BE5F118D962401B9CA655 /* DDDKeychainWrapper */ = { + 9A6A7DC20DEDBE2CE7D6360C1910A761 /* Pods */ = { isa = PBXGroup; children = ( - 63E4535198DD1276AB27A18090142291 /* DDDKeychainWrapper.h */, - 7E0FCC1610D9F2DDA504A8A60366C237 /* DDDKeychainWrapper.m */, - 2528A2A6A08C44DE29D167CF35738232 /* Support Files */, + 3A0FAC47DCD22A13F92609F6105DE0D8 /* AFNetworking */, + 6D7D2F27984B47AA4DC26F2042AE6E9D /* Bolts */, + 5DAEAE5182B6663A676D609E4A2C1E57 /* CodFis-Helper */, + 60B0F756033CA76A19662DF7D639624D /* DDDKeychainWrapper */, + 62B61C6988B360DD52758DBC7222FBFE /* DJLocalization */, + F660A2C0AF25A9B6114650DE91F3C822 /* Expecta */, + 4E0C64C667DD93592FCDE26AC4C6C2BA /* FBSDKCoreKit */, + 4064C3DE42D2C087E4581B9245C47AFE /* FBSDKLoginKit */, + DAE21669EA3E17A44FF000000542CF09 /* FBSDKShareKit */, + 15C7D54B6FC00D857FC5E8C31EFBA941 /* NSDataAES */, + BF8D2A1AAB5D1B8A4FD2B10E7CA31C73 /* NSDate_Utils */, + 623B6AF09BBC3ADBE71F57413533EB19 /* NSString-Helper */, + 16BA332108214A120047C1528A07333A /* nv-ios-http-status */, + E5F7749B19D7F3F11554A2F54C646863 /* PEAR-FileManager-iOS */, + 9FB737A35BF7603E7649FCCAAD54576B /* PureLayout */, + 1508EFE08549FE4D5114F0EBBEECC305 /* RZDataBinding */, + 9EC5A3744CFFE16A0C6BEF347E80BDB5 /* Specta */, + 3771BBC4CDD47037A3919293A4022823 /* StrongestPasswordValidator */, + 58DE1F13715D0AE6CA8A279D32F3832D /* UIDevice-Utils */, ); - name = DDDKeychainWrapper; - path = DDDKeychainWrapper; + name = Pods; sourceTree = ""; }; - A0718B6AA3E4536BE2D121057DC2D713 /* Support Files */ = { + 9D7F7AB5505D9267E26E5F245D033DC1 /* Resources */ = { isa = PBXGroup; children = ( - FD8E19C26F26DBD79AF5AB2D428A82F4 /* DJLocalization.xcconfig */, - 2AC3B71E36680FFA299FC7A200061D5E /* DJLocalization-dummy.m */, - 0E9EA79D9F8108F79B145A22302A1192 /* DJLocalization-prefix.pch */, + 87083AC80734642A6AC8137D00D7B141 /* FacebookSDKStrings.bundle */, ); - name = "Support Files"; - path = "../Target Support Files/DJLocalization"; + name = Resources; + sourceTree = ""; + }; + 9EC5A3744CFFE16A0C6BEF347E80BDB5 /* Specta */ = { + isa = PBXGroup; + children = ( + D91E6EFB912D50035F95B3A10A3CA1FE /* Specta.h */, + 45D55B98448A8CF5BEC142E2BBB0FA71 /* SpectaDSL.h */, + 6C83C3A12D9A0C7152215476E20751EC /* SpectaDSL.m */, + 0203FB378E2F15AE5A113A383BC90619 /* SpectaTypes.h */, + E712FB17B0B0BF56ED405AF90AB9E748 /* SpectaUtility.h */, + D67B3C8C11BB65F8C4C53C7A4AE87EAC /* SpectaUtility.m */, + 5E19E7F2A879610962D09F17D159E49C /* SPTCallSite.h */, + FC9787E13A62A239A3C6CD21A98AF9E0 /* SPTCallSite.m */, + 8D0E30867072236A95E7876836C8F4A4 /* SPTCompiledExample.h */, + 32A4312242020248E5076096163D4572 /* SPTCompiledExample.m */, + D46A64ECBFB90E6F8FA173DA56993314 /* SPTExample.h */, + B926D05DE0F6797BC2493E0BBC663EE5 /* SPTExample.m */, + 538C17A97ECA9192B8A93A339933238C /* SPTExampleGroup.h */, + 8090ACCF98C8E565350440301F977D9A /* SPTExampleGroup.m */, + 3DFF53BB878A43B652F3626FE15D5FBE /* SPTExcludeGlobalBeforeAfterEach.h */, + 7332C1E49582D8BB28F10D054D709139 /* SPTGlobalBeforeAfterEach.h */, + A1A885E6A01CE0321DD46209AEAC8A56 /* SPTSharedExampleGroups.h */, + DD515BEE94EE644F9B8BBE4A92E294CA /* SPTSharedExampleGroups.m */, + 83C5495006CAFA9B3AD7DDB0535CA4CD /* SPTSpec.h */, + 118E6026F09B98DA73AFA88047CC0B74 /* SPTSpec.m */, + 3D21A5C3093EAFB3E12E7F651A3A132A /* SPTTestSuite.h */, + B6459BA3D7319F3DBD101EA52CDAEC4D /* SPTTestSuite.m */, + 6DBECFE13698D4D8DDED7724E25BFCDA /* XCTest+Private.h */, + B729151CBE9D4D3FCA84A885A7FA8AF1 /* XCTestCase+Specta.h */, + 2E7F2F46D7D93AFC302D7C7045F11BA4 /* XCTestCase+Specta.m */, + 80CD6F9E4A2683131C7CE8EFB100849C /* Support Files */, + ); + name = Specta; + path = Specta; + sourceTree = ""; + }; + 9FB737A35BF7603E7649FCCAAD54576B /* PureLayout */ = { + isa = PBXGroup; + children = ( + EC8B465D31717139A016A12D2FFB2744 /* ALView+PureLayout.h */, + 1A1F5AFFD86438D32B457856F1C59628 /* ALView+PureLayout.m */, + F1406D8AC4FA98818B9092CEA3E20A29 /* NSArray+PureLayout.h */, + BE635994183DF4CE80601C6FB12722E3 /* NSArray+PureLayout.m */, + 323BE48D55B39D125EAB374652FBB6E2 /* NSLayoutConstraint+PureLayout.h */, + AEE4441C0BEC052CFBAE042BF924FACE /* NSLayoutConstraint+PureLayout.m */, + 4CDB54ACD6F9DCEE318FD3F032FC7E4B /* PureLayout.h */, + 0261380939A77EA9E7D9F9C73B948DE9 /* PureLayout+Internal.h */, + E3B47E60EDE1E9A02809DEF9923F4931 /* PureLayoutDefines.h */, + 83573D2A7A69A7FBDC5817812857DAFF /* Support Files */, + ); + name = PureLayout; + path = PureLayout; sourceTree = ""; }; A494D25BFD3A9F31C3ADB9EE2E2F2C7E /* Pods-PNObject_Tests */ = { @@ -2429,189 +2807,26 @@ path = "Example/Pods/Target Support Files/PNObject"; sourceTree = ""; }; - AB0C05EB5DD87828AD9C9B1738F045D3 /* StrongestPasswordValidator */ = { + AB75237EDE6D45AC6911C7C9EC94EEFD /* Support Files */ = { isa = PBXGroup; children = ( - D4FD60DD42AE8130FA68270C01852479 /* StrongestPasswordValidator.h */, - EF782A2AD3017F6F970E1A6A40AA3812 /* StrongestPasswordValidator.m */, - 68FCEDF1ABD6753132915F8CBF563329 /* Support Files */, + ECB10B1A166604998038F053373E7420 /* Bolts.xcconfig */, + EB6967181467BED4492732D1D4705DC6 /* Bolts-dummy.m */, + 830B66BF541F04CDE6617EDD6538B1D9 /* Bolts-prefix.pch */, ); - name = StrongestPasswordValidator; - path = StrongestPasswordValidator; + name = "Support Files"; + path = "../Target Support Files/Bolts"; sourceTree = ""; }; - AF9B176EC04BAB7586B033767AE28042 /* FBSDKCoreKit */ = { + AC8A9415CB558A9F53FFF0426B8DA3F7 /* Support Files */ = { isa = PBXGroup; children = ( - 27803FE494AE44EF2B6214D6748C8C0D /* _FBSDKTemporaryErrorRecoveryAttempter.h */, - 19D4C6574DA724811996FB2B79EA9486 /* _FBSDKTemporaryErrorRecoveryAttempter.m */, - 29C520DB26D2DC3582B3421375DEFB85 /* FBSDKAccessToken.h */, - 854B482A8081C7ACB4FEB46AFF2FD502 /* FBSDKAccessToken.m */, - B3922116E7142D79F6D39ECFC762958B /* FBSDKAccessTokenCache.h */, - 1720651E4CC3ACF4BA0239F9374C2B59 /* FBSDKAccessTokenCache.m */, - A44A92A0D9DAE34FB134B6646FBDA8CA /* FBSDKAccessTokenCacheV3.h */, - 3389B2F30972EB9663E2609ED62E82AC /* FBSDKAccessTokenCacheV3.m */, - 111D24CD3D68D3166C7E2BB3AB4BCB8A /* FBSDKAccessTokenCacheV3_17.h */, - F9D38805D7551CC24FA31FF2C25529E3 /* FBSDKAccessTokenCacheV3_17.m */, - DAD49DB919559DB3785D72DF14E59408 /* FBSDKAccessTokenCacheV3_21.h */, - EB5915CD5CD00D3AC09628C194A1874C /* FBSDKAccessTokenCacheV3_21.m */, - 15917BA5076DA3D84FE219A363358E66 /* FBSDKAccessTokenCacheV4.h */, - 17124624038F34B57C6F0EA03432C56C /* FBSDKAccessTokenCacheV4.m */, - 119AA50CD8E101928CC28CCF00CDF87B /* FBSDKAccessTokenCaching.h */, - BAA43AACEDE3BDA552B6DBCB987A87B0 /* FBSDKAccessTokenExpirer.h */, - A78772D20A795CEC352E9FE3C3530707 /* FBSDKAccessTokenExpirer.m */, - 6F417141F4F7E6ACB775990CD7ECCE8A /* FBSDKAppEvents.h */, - 8CA47DE4A7964A43BB899B1E84D2AADA /* FBSDKAppEvents.m */, - 0E2AB15B5417891ED77B7214A970CF69 /* FBSDKAppEvents+Internal.h */, - 1D8B6902E9BA447BA583ED4D999F0FAF /* FBSDKAppEventsDeviceInfo.h */, - 6A21BA41A2EAEC6680F1F492959507A0 /* FBSDKAppEventsDeviceInfo.m */, - 070C0C9925DB1D94FB32C90CB4EB12B3 /* FBSDKAppEventsState.h */, - 7EA4F8BE1C43C9780BF214A715680C90 /* FBSDKAppEventsState.m */, - 5DA3D344DD46CA0327C695662FBBCD45 /* FBSDKAppEventsStateManager.h */, - B0F65F66A13EEB2EC82897B7FFF564FD /* FBSDKAppEventsStateManager.m */, - EC74CCC62C8CC0FA1E9A33C33D6A19B2 /* FBSDKAppEventsUtility.h */, - 15EAF8B2AEE03AA71B95BC57BF7A89ED /* FBSDKAppEventsUtility.m */, - 77F49D3C75FE6A66EA8D48D4089E4454 /* FBSDKApplicationDelegate.h */, - 70BBAE7FFFF148F470D0CA0354837CEF /* FBSDKApplicationDelegate.m */, - 9603DAC77CF6E495013EC37941EB8665 /* FBSDKApplicationDelegate+Internal.h */, - 371A293647B3DCBF4E72CC326D105088 /* FBSDKAppLinkResolver.h */, - 9D8B8044E4DF51BE152FA977ACE2DB56 /* FBSDKAppLinkResolver.m */, - 4DBAD19C62DFC9472078800F22FDDB76 /* FBSDKAppLinkUtility.h */, - 19BA632E7EE1FF4E254D4774B0033400 /* FBSDKAppLinkUtility.m */, - 97A126C54ABFD3D7C65639C680F4FFE6 /* FBSDKAudioResourceLoader.h */, - 45CA445703AC38F189F73FA2D1BC7F76 /* FBSDKAudioResourceLoader.m */, - 981EA336FFF5190314F9FAF9FA3D4FFA /* FBSDKBase64.h */, - F090E550922E1457A3AE680F71C1FFC9 /* FBSDKBase64.m */, - FF9060392A2823EC4C8438B150CF4437 /* FBSDKBoltsMeasurementEventListener.h */, - C13C61D44843EE5DADF8BF88E29758AB /* FBSDKBoltsMeasurementEventListener.m */, - 5E04A95B94B460963D81E97DEBDA6D8B /* FBSDKBridgeAPICrypto.h */, - ABD86DBC740B5954557E8C60E80F6B64 /* FBSDKBridgeAPICrypto.m */, - E9816A6EF36F53A6684C045B155093C9 /* FBSDKBridgeAPIProtocol.h */, - 7A5526068EA2F112C6F4B192ADB1CB42 /* FBSDKBridgeAPIProtocolNativeV1.h */, - 57FBA8833E223F184CC07E4AC4905C6C /* FBSDKBridgeAPIProtocolNativeV1.m */, - 11F8B283B32D13700F22C6D795B41066 /* FBSDKBridgeAPIProtocolType.h */, - 3330B53EDA8D625BF2908F91BFF11DA9 /* FBSDKBridgeAPIProtocolWebV1.h */, - FF6BC732E376BAFD2724C83CCEA83E23 /* FBSDKBridgeAPIProtocolWebV1.m */, - 0B1282E3D7D424C7CCDFC368A8F3EC22 /* FBSDKBridgeAPIProtocolWebV2.h */, - 04E84B3959A79827929087F0D916A44D /* FBSDKBridgeAPIProtocolWebV2.m */, - D5311F3F4EC2BAD8137EA47B3118EE84 /* FBSDKBridgeAPIRequest.h */, - DBB7D17636E80D6D124CC3F9B8C66DCA /* FBSDKBridgeAPIRequest.m */, - CA8D0242B218F00DDC27F0C852BFB195 /* FBSDKBridgeAPIRequest+Private.h */, - 61CAB27F8F39A9C49A2EDA53C03AB9C1 /* FBSDKBridgeAPIResponse.h */, - 74FA2B81F4A361CD890B885E149CF068 /* FBSDKBridgeAPIResponse.m */, - 65F5430F15D6E96DC78FCDCB2E781023 /* FBSDKButton.h */, - 3BC2A4598752CCE42FAEE650DACFBB27 /* FBSDKButton.m */, - 8252940C863EA9072E74FFCF1DD61F22 /* FBSDKButton+Subclass.h */, - 880C9C38D95BEC002F6315828EAC74D7 /* FBSDKCloseIcon.h */, - 6B362515DDFB7C1C52454B91AD368953 /* FBSDKCloseIcon.m */, - 1EBE68D6B095F54BE43F9CFEE7FF17A5 /* FBSDKColor.h */, - 226DD8628B86DD85524B3620B9AB5C21 /* FBSDKColor.m */, - 9E658427F0DA66D0DDD7FF90F20CD461 /* FBSDKConstants.h */, - 32E19D621A663F3BE3071D0C276ABA06 /* FBSDKConstants.m */, - 15C70960E2A423921EAC7ADF7A1F240A /* FBSDKContainerViewController.h */, - D93D3936B572ED1F698387057C299945 /* FBSDKContainerViewController.m */, - 716933F71FAD1BA5311056DF738ACD6A /* FBSDKCopying.h */, - 928FB45ED54D177E1E51DA076A9BDF17 /* FBSDKCoreKit.h */, - 207ED0282CCE1E1FB66E14B8DFE92CFE /* FBSDKCoreKit+Internal.h */, - 6D699EEF97E66A30068268AE7FB480FA /* FBSDKCrypto.h */, - 75005F654BA810A5D83BC0989118938B /* FBSDKCrypto.m */, - 2A2BF7C7177FE9B55BAF69585CDB548D /* FBSDKDeviceRequestsHelper.h */, - 83C877578B66B30793F1879225EF0BF4 /* FBSDKDeviceRequestsHelper.m */, - 3279B928B0F01EFDC56BD4C3F1C80B34 /* FBSDKDialogConfiguration.h */, - BBBC0E7642E7DBA9D3210FA053B3D474 /* FBSDKDialogConfiguration.m */, - E3625BA6271F170DAA63F924E8324A72 /* FBSDKDynamicFrameworkLoader.h */, - 1963BB8E6E8DFDFAB68EC46738882528 /* FBSDKDynamicFrameworkLoader.m */, - 7A8F92321A76EA57FAFC34E9F905495B /* FBSDKError.h */, - 55729CA2E25624C5A5B3C5ACCB362698 /* FBSDKError.m */, - AB8846917B99D5E403B0B913DA217FAA /* FBSDKErrorConfiguration.h */, - 537973880D7EAC0F5E37C72602B1D519 /* FBSDKErrorConfiguration.m */, - B4C8E83AE015AEE01FA8E0A5F865DCB1 /* FBSDKErrorRecoveryAttempter.h */, - 90BEC6524341EDC0BF1DF5379A84C02D /* FBSDKErrorRecoveryAttempter.m */, - CB44749BC297320239491BD6360E6A6B /* FBSDKErrorRecoveryConfiguration.h */, - A6B25D3D352DE9C7D7A41C7F676EDE97 /* FBSDKErrorRecoveryConfiguration.m */, - 786220180431B9A0E3C2A8FDD39EEC4F /* FBSDKGraphErrorRecoveryProcessor.h */, - 1F4B33CBFF5E1EAF229CAD25B01DCC7D /* FBSDKGraphErrorRecoveryProcessor.m */, - DD5913C5BF2466249A4B07E3FA934533 /* FBSDKGraphRequest.h */, - DEE59BAC099D404B41C80625D3B1B0A5 /* FBSDKGraphRequest.m */, - 4FC481214B7C937DFD93601B1E6C87A1 /* FBSDKGraphRequest+Internal.h */, - 50AAFF80F45F10BDE9A14EA2E7CDFD75 /* FBSDKGraphRequestBody.h */, - 2A9CB1CDFBBDE25094959FD70DC0F9CC /* FBSDKGraphRequestBody.m */, - 1F940E734C28765523553A012C70096E /* FBSDKGraphRequestConnection.h */, - D4D9999B4C35B8058C3B91BF18AEF178 /* FBSDKGraphRequestConnection.m */, - A3BB54C9C6F79A0F9AAF68CAF5CD8D59 /* FBSDKGraphRequestConnection+Internal.h */, - B5FE75BFA960FC767AB543D868F5E8A9 /* FBSDKGraphRequestDataAttachment.h */, - B5814C0D284054D5599E364B1BD05CDA /* FBSDKGraphRequestDataAttachment.m */, - FF2FCDA32153B241F349342ED134199A /* FBSDKGraphRequestMetadata.h */, - AE63D5241CB313F9D6996BE018E6D27C /* FBSDKGraphRequestMetadata.m */, - 614755A3E2625FBD24479853AE73250E /* FBSDKGraphRequestPiggybackManager.h */, - 282612DD771B926AEB2E32C93140A00B /* FBSDKGraphRequestPiggybackManager.m */, - C37E8452ABB49E1A39C7A29451D354DF /* FBSDKIcon.h */, - D57DCD2117912263E215F0ED6FBC4781 /* FBSDKIcon.m */, - 2B40B3642BE85018467B78F83049CCD9 /* FBSDKImageDownloader.h */, - 53A707260A167F45E0F2CFE89BA605FF /* FBSDKImageDownloader.m */, - E7FA32AE5B61E5C2531C56BF184660BB /* FBSDKInternalUtility.h */, - AD3A0C9357B24FA8463E34BA41044AA8 /* FBSDKInternalUtility.m */, - 109FA53110068270617AF4961234AE01 /* FBSDKKeychainStore.h */, - 6862B74397D24FFDAF3A65918A6623FA /* FBSDKKeychainStore.m */, - 4F3735585B5A55C144A201D58AA8D595 /* FBSDKKeychainStoreViaBundleID.h */, - 56FD9D9730D84E4228808F26009C43FD /* FBSDKKeychainStoreViaBundleID.m */, - CCB0DA35DD96235D0B925541F8A22CAC /* FBSDKLogger.h */, - EE00028C944A5DACE914E65A8E42AAB9 /* FBSDKLogger.m */, - 1ECD4CBB0E5321BC5F4F62DE24902493 /* FBSDKLogo.h */, - 1C71227AE9EC119983473D14AC389BD2 /* FBSDKLogo.m */, - DCC5DAD7AE7190749609649BB33D951F /* FBSDKMacros.h */, - F9C1C24B69D6A68483880244C15D8A54 /* FBSDKMaleSilhouetteIcon.h */, - FFA766758C3D1A501DDFAD173F7A3BF5 /* FBSDKMaleSilhouetteIcon.m */, - 001A1E462C59380CBDD7A9F3F394596A /* FBSDKMath.h */, - 59BADD36DE74DA9CE12F9ACFEA7EA6C7 /* FBSDKMath.m */, - 473C32D86AF57D5A47DFC5083ED93CB9 /* FBSDKMonotonicTime.h */, - 687F61CA99633605E68722380003B055 /* FBSDKMonotonicTime.m */, - 1F487BD8094EFD7D47A7CB048072AE99 /* FBSDKMutableCopying.h */, - 1CA1F79BE419604A3EC258CEF7B08EDB /* FBSDKPaymentObserver.h */, - 9394F55EF0B51F719C06CEF4E315C26C /* FBSDKPaymentObserver.m */, - 7C3694D487F01B66B9E1E854FB526D58 /* FBSDKProfile.h */, - 2FE309DAFBF0FA2F563F3576E5535877 /* FBSDKProfile.m */, - 2E043BEBCB1C7ADD5D5E91F03559623F /* FBSDKProfile+Internal.h */, - C4893AA4035AEE2D120CCC660BD88A0B /* FBSDKProfilePictureView.h */, - 3033837A79840A42FB47156DA9158777 /* FBSDKProfilePictureView.m */, - B40975E3350FD88DA5ACBEC654FDA947 /* FBSDKServerConfiguration.h */, - 4C5EFA2912AE114C638AE6037115EE7E /* FBSDKServerConfiguration.m */, - F0AA710C0ACE6CA8B0D4357F812FA25F /* FBSDKServerConfiguration+Internal.h */, - 3AB34ED815CB6807BB9100A0ECEFC9B5 /* FBSDKServerConfigurationManager.h */, - EFBFB98286248168A680B25FD27FC83D /* FBSDKServerConfigurationManager.m */, - EC18B3FD2CF766875B9D72C16B0870E2 /* FBSDKServerConfigurationManager+Internal.h */, - 0DCEDD28349CD4D0FDC3477080175E1B /* FBSDKSettings.h */, - 77A16B5B7046079907204A7CDC1BA80B /* FBSDKSettings.m */, - 913F5BA62351B4F08B21A802802B6FA5 /* FBSDKSettings+Internal.h */, - 15DB97D4559336CAF266A4E21F26CB7A /* FBSDKSystemAccountStoreAdapter.h */, - FFD37374C5E2CDEE65CDC278645186B1 /* FBSDKSystemAccountStoreAdapter.m */, - 2AB5EEC04838F976DF14EF9121FF4629 /* FBSDKTestUsersManager.h */, - BACD11F4F90DB32806E1099D541951D9 /* FBSDKTestUsersManager.m */, - D3098E183FC17823C0B342B74F579EF5 /* FBSDKTimeSpentData.h */, - 3BD9163C5857F05EAFFB51A771923A99 /* FBSDKTimeSpentData.m */, - 83FAEFB2D87ECF690069B791C309376F /* FBSDKTriStateBOOL.h */, - 70CBA7B3AEDA29C0DDA10881F46FABB6 /* FBSDKTriStateBOOL.m */, - DBCC66AEBB86B944959C98A5AC4B18A0 /* FBSDKTypeUtility.h */, - 598899EF16D64A4D76ED6C10E61566CB /* FBSDKTypeUtility.m */, - 719A4B3FF860DA2A6697131AEFEAFA79 /* FBSDKUIUtility.h */, - E056BDC209109A2623CC3AB2CD97BFDF /* FBSDKURLConnection.h */, - CEDC5CE20C7814D956FEDBBF5C1E64F8 /* FBSDKURLConnection.m */, - B49A1B79308E8B7A53334E63F55D4E62 /* FBSDKURLOpening.h */, - BD108F96E1BFCF42632044A494D993AB /* FBSDKURLSessionTask.h */, - 0EAE21FFC2B630F8BD6F2E8242412CDD /* FBSDKURLSessionTask.m */, - A38F07F811430AF8DF8FD05720305FE7 /* FBSDKUtility.h */, - BA21F97F78C5110467BF6EB75EFE0B9A /* FBSDKUtility.m */, - AFEBC8F42647C1F846071D530686C5E8 /* FBSDKViewImpressionTracker.h */, - 86CA04588DF0658AF0E3203538161873 /* FBSDKViewImpressionTracker.m */, - D4BE06F794DDE4D8F461F43F43662D47 /* FBSDKWebDialog.h */, - CEC51AD81B8D04828493F7417C836CA2 /* FBSDKWebDialog.m */, - A6EC663243FB2BED127E4E8082285150 /* FBSDKWebDialogView.h */, - 9F0814CF8CE0088A0A79B9F4E9D478D0 /* FBSDKWebDialogView.m */, - FBE044F2F6911C722370D40038205871 /* Resources */, - C5E04DD396EF4A6DAD8E3854432E3159 /* Support Files */, + D6ED2B9CE5879E41B3C1304415AF0AE4 /* NSDate_Utils.xcconfig */, + 27A1D7637BB2132A3F444F156482E184 /* NSDate_Utils-dummy.m */, + B73DD86758DE5ACBED70C091FC8F5087 /* NSDate_Utils-prefix.pch */, ); - name = FBSDKCoreKit; - path = FBSDKCoreKit; + name = "Support Files"; + path = "../Target Support Files/NSDate_Utils"; sourceTree = ""; }; B167E90DFF85CADCAF926DBAAB489AAE /* Pod */ = { @@ -2624,218 +2839,40 @@ name = Pod; sourceTree = ""; }; - B1C893DF935221B3FB26525A32D150F2 /* FBSDKShareKit */ = { + B4BE5B5E4D32DCB472616D4DD7181A5A /* Support Files */ = { isa = PBXGroup; children = ( - E7BAC258407DB22A79224DCD6D12C144 /* FBSDKAppGroupAddDialog.h */, - 5BACC7EE92C383C5939548EE352B0941 /* FBSDKAppGroupAddDialog.m */, - 0A3CF72E0B374A4206E35BBF916963E8 /* FBSDKAppGroupContent.h */, - 3DA22E4972AE49AB0A1FEA51ED84CE16 /* FBSDKAppGroupContent.m */, - FEC1C356E2E95D8C2A86201754B4EE48 /* FBSDKAppGroupJoinDialog.h */, - 599D10F954C8AFD3B8B74C29830B33D0 /* FBSDKAppGroupJoinDialog.m */, - 3BBBB89CF1EBB7007A035359B45021A3 /* FBSDKAppInviteContent.h */, - FA34D6794794CF0D1EE00F973897B7D8 /* FBSDKAppInviteContent.m */, - 557B915970B4A4FB6434C1B4DD57CD57 /* FBSDKAppInviteDialog.h */, - B73E2B32DC5AF02B03EF57BAB45DCFFD /* FBSDKAppInviteDialog.m */, - A7021B2FE8A12AA0FC9C70625510A39E /* FBSDKCameraEffectArguments.h */, - B609FD8B4368810DEDBE1DB940980E6D /* FBSDKCameraEffectArguments.m */, - 827437F57FA81FCEC172EF8723E2820B /* FBSDKCameraEffectArguments+Internal.h */, - 32B4482C355D667CAC1D1CDA5DD14D8A /* FBSDKCameraEffectTextures.h */, - 410947177A7096F2362B6F32FB026CCA /* FBSDKCameraEffectTextures.m */, - DAB9E8D1C4A07C7B2B3457724992A787 /* FBSDKCameraEffectTextures+Internal.h */, - 62A18C87EDA8058479C6FE2985A92D60 /* FBSDKCheckmarkIcon.h */, - 8D43093031D0B554DE2990C210117E4F /* FBSDKCheckmarkIcon.m */, - 4455C38349E291964AEF6C5A5ABA56E6 /* FBSDKGameRequestContent.h */, - 49CE81C42545D397D9F3FFF8567CEB54 /* FBSDKGameRequestContent.m */, - A21B2663CD95CDC75313E9893D0A0F6D /* FBSDKGameRequestDialog.h */, - 30B86BE73AB9F307B02C0CA07CE6B5BF /* FBSDKGameRequestDialog.m */, - FE768F15CB7991DB6A695BD9C133A8FE /* FBSDKGameRequestFrictionlessRecipientCache.h */, - 4420B6DC2C8DF58B85F95E451C4877AA /* FBSDKGameRequestFrictionlessRecipientCache.m */, - BA01EA90E611817BCBA32A34933E449E /* FBSDKHashtag.h */, - FA120E1282ACB671004856AF11AD59BD /* FBSDKHashtag.m */, - 0BB83ABE52AFE274194B52C291006BC2 /* FBSDKLikeActionController.h */, - 0EEFE86DD82D55EBCDBC17FF721D0158 /* FBSDKLikeActionController.m */, - F863A877B72B5A94C15D7DD4985AD42F /* FBSDKLikeActionControllerCache.h */, - 5D2BB3D2232AAE18B766C7210638A3EF /* FBSDKLikeActionControllerCache.m */, - 080B2AF9C85B344B7658197E08CB1EB0 /* FBSDKLikeBoxBorderView.h */, - 6FE0DE1860F33DA1720ED8D6F1A76831 /* FBSDKLikeBoxBorderView.m */, - 69844BAABC7EFF366C5130CC65A8AF7E /* FBSDKLikeBoxView.h */, - A9BD44735C7B8881507110469FE7DD5C /* FBSDKLikeBoxView.m */, - 32D14FA163528AE5E68E24ED6B25DB3D /* FBSDKLikeButton.h */, - 32BB5BD3999104BB9168FE8B080A2E5E /* FBSDKLikeButton.m */, - 48A2EE29A85D6265F578270D0025FEC0 /* FBSDKLikeButton+Internal.h */, - 1D146EF243489EE9E7F90D479C153E08 /* FBSDKLikeButtonPopWAV.h */, - 43C824F268BCC8964AE4BFDB1D7245FB /* FBSDKLikeButtonPopWAV.m */, - AAF12D7E466670C7F15FBC80D98098C0 /* FBSDKLikeControl.h */, - 1E13EE60ABA8EB78A2C5B98509382920 /* FBSDKLikeControl.m */, - E417233F8F25DE5E0D4BE878A1C4F3FE /* FBSDKLikeControl+Internal.h */, - AC990A3CBB938A038250AA21F630E921 /* FBSDKLikeDialog.h */, - E7802BE1413A3FA3549E352B968A0955 /* FBSDKLikeDialog.m */, - B173B06EBEE58E2A28DFC341055306BA /* FBSDKLikeObjectType.h */, - 626EE21F50F2608E93664B3AC710987A /* FBSDKLikeObjectType.m */, - FE8ADBF2F6D74B65B05618FA753FF959 /* FBSDKLiking.h */, - 332EC091C5EA3DA77412D0C99C09B299 /* FBSDKMessageDialog.h */, - 8DAD9EA5CDAE53433D5CAE8BCD33A20E /* FBSDKMessageDialog.m */, - 99D22635FCB415F2923147FE96A60490 /* FBSDKMessengerIcon.h */, - 161178B44ECADDAB83B0AB4753AFEBCA /* FBSDKMessengerIcon.m */, - 36369D4A617057E0D854E0E5608DAB8E /* FBSDKSendButton.h */, - F1B86C2954F96ECB4FCF2C742A9073CC /* FBSDKSendButton.m */, - DC95346618694D47E68F4FCA322E255D /* FBSDKShareAPI.h */, - 7124B67A810D5E51E2B94EC46A23305E /* FBSDKShareAPI.m */, - 806637B0C67CC4FCCB2E9B2BF6E49D88 /* FBSDKShareButton.h */, - 1A632A3443D89EF740AADBA7FB983FC0 /* FBSDKShareButton.m */, - 4C8EB009AEF23960E7C3004E4AE5CFCD /* FBSDKShareCameraEffectContent.h */, - 543E4247E940FC830C03247924B13315 /* FBSDKShareCameraEffectContent.m */, - 5BDEE3B780B4E1F7948BA3897479383E /* FBSDKShareConstants.h */, - 9CCE862256875373EFE4B1DF07858207 /* FBSDKShareConstants.m */, - BE61C4EBC24C81466557AC14C9B12FEF /* FBSDKShareDefines.h */, - A532340E9841858566095877D84B00B7 /* FBSDKShareDialog.h */, - 3B1391ED376A20D458A44874E0FB355D /* FBSDKShareDialog.m */, - 3B7AD6C7E9CA0ABC034801ED61E54A98 /* FBSDKShareDialogMode.h */, - 793B05AC9F2C8BDA10DA38133BE01999 /* FBSDKShareDialogMode.m */, - BAA6BC94CBEE6AB035607F36C3583F19 /* FBSDKShareError.h */, - 7C27124F63BE8463F15388B031904B01 /* FBSDKShareError.m */, - A7A02A2E8B47588ADA546E54FAAD1836 /* FBSDKShareKit.h */, - 7D650149241EBFA5B62265AAA9E3A11D /* FBSDKShareKit+Internal.h */, - E30AFDBE4B3883D5FA6F3E821A6CDCF5 /* FBSDKShareLinkContent.h */, - C10A23B720AAF0CB63F419CD5E7E5817 /* FBSDKShareLinkContent.m */, - 88354D01AB7C69DED51FBC4EB85B5E45 /* FBSDKShareLinkContent+Internal.h */, - 55210656A5F1CEA0CB732B29E2AB619D /* FBSDKShareMediaContent.h */, - 8321371E28A1C21F11DE1B7DB08FB466 /* FBSDKShareMediaContent.m */, - 0C77D65BFCC1F323CEDFB774F2F32BBC /* FBSDKShareMessengerActionButton.h */, - FD34F954512B8A4290CE2520DCD4E932 /* FBSDKShareMessengerContentUtility.h */, - 414EC0A0AE4EB03240071A053B2D2E93 /* FBSDKShareMessengerContentUtility.m */, - 27039D60F234A3A41286A612DED7EAEA /* FBSDKShareMessengerGenericTemplateContent.h */, - 06C24B9F2DDF1C00A2785DFA9D4069AA /* FBSDKShareMessengerGenericTemplateContent.m */, - C311977E02E411D8BC3E3797FB780647 /* FBSDKShareMessengerGenericTemplateElement.h */, - 8D302524B87D0E0563F1196983EECA12 /* FBSDKShareMessengerGenericTemplateElement.m */, - 9D6E0FB6DFD996056FA65BFB19516769 /* FBSDKShareMessengerMediaTemplateContent.h */, - 28B43DA4C1CEF56041C9C8329850405E /* FBSDKShareMessengerMediaTemplateContent.m */, - 9CA983382E0175AF2C4555729FBB34D6 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h */, - 23A6F4BFE92BE0C14379D2688D99BFCD /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m */, - D0E848D03B761CD87A502DED275F90A2 /* FBSDKShareMessengerURLActionButton.h */, - 8F4B886FD9CF8437A74A2CF15898225C /* FBSDKShareMessengerURLActionButton.m */, - 2BB3A96F9E175C6A51881067EA55CFA7 /* FBSDKShareOpenGraphAction.h */, - F0D1F528F6374820770BD0C3DDF3369E /* FBSDKShareOpenGraphAction.m */, - BA2D79E70180FB3A42824305204BBAA2 /* FBSDKShareOpenGraphContent.h */, - 1183F953E427157333EC5EA5FDAC18C7 /* FBSDKShareOpenGraphContent.m */, - 22057B3B1B5199E8BAFEAD9C310E0A88 /* FBSDKShareOpenGraphObject.h */, - 6FCDC0A941A07E4E4CE1051EB3F8BDF6 /* FBSDKShareOpenGraphObject.m */, - 213FB0F0D132493C6C675F19BF1F31AC /* FBSDKShareOpenGraphValueContainer.h */, - 3AFDC7D0F900236A9D9E9F16C340C2DB /* FBSDKShareOpenGraphValueContainer.m */, - 5B5C6E1176A1A984C46C3624128FC2FA /* FBSDKShareOpenGraphValueContainer+Internal.h */, - 90D3E854BF7A4960A113DC44DDDA186A /* FBSDKSharePhoto.h */, - 169C5D4D5323138DDAA6DC22FDA63B6D /* FBSDKSharePhoto.m */, - CB003FB34FC4FCF0D3CBF1D6A51B54E9 /* FBSDKSharePhotoContent.h */, - 81A3594541B67A5B42DD7908323330FE /* FBSDKSharePhotoContent.m */, - D4FB59AB227BCD0365CC65B949B810BD /* FBSDKShareUtility.h */, - D121F68BD17FEDE3CC7FD0D598DD4BFB /* FBSDKShareUtility.m */, - 05EA3C767B2CDA9255CCF80D49F2DB1C /* FBSDKShareVideo.h */, - 65865F4A08076BC4261C43A2D72A54C6 /* FBSDKShareVideo.m */, - 44D92A873E04B5DA69D5EEC4B3F2BDBB /* FBSDKShareVideoContent.h */, - CFE625C76A1AFDC539AE23A9255692D8 /* FBSDKShareVideoContent.m */, - FDD0673232604B02F4BB250F22D9A2CF /* FBSDKSharing.h */, - 5D0E6D34213AB02333D7F50D5CB04653 /* FBSDKSharingButton.h */, - F138D03F719E9BF9D781F74DCA128835 /* FBSDKSharingContent.h */, - 915B8AE4B12F906975F7408B759649FF /* FBSDKVideoUploader.h */, - EC063EB066459DB3FCBFE89385252843 /* FBSDKVideoUploader.m */, - 06B126DC3739438CA67187E6716EA715 /* Support Files */, - ); - name = FBSDKShareKit; - path = FBSDKShareKit; - sourceTree = ""; - }; - B359DCCEB27A9F132F06646E7BC675FF /* Pods */ = { - isa = PBXGroup; - children = ( - 26C64BEF2A0E8E5DD19EFA5626075F4A /* AFNetworking */, - 72648B9149B70AF4AE505CE8B0FCC537 /* Bolts */, - F78E5AF4B3530D8B5456110DECDC6085 /* CodFis-Helper */, - 9F3606DF258BE5F118D962401B9CA655 /* DDDKeychainWrapper */, - 005794132F81AD19790754880D591FFE /* DJLocalization */, - E733E0E85DB5D6FF465D4880E3D36E97 /* Expecta */, - AF9B176EC04BAB7586B033767AE28042 /* FBSDKCoreKit */, - 95D762AC191EE6F75C0B0C641961D60D /* FBSDKLoginKit */, - B1C893DF935221B3FB26525A32D150F2 /* FBSDKShareKit */, - 3BEC1A80C6AE9047C3B224F21097FF92 /* NSDataAES */, - ECAF51ACF41D40245DC8F5AE03838A5E /* NSDate_Utils */, - 7DFE298BE76D9636FC0476C057E9FAE6 /* NSString-Helper */, - FFA6C739D3DF11EEE548A51CCDAA66F2 /* nv-ios-http-status */, - 634D03828528C801C8FBCDA2BD0CA46B /* PEAR-FileManager-iOS */, - 766BE14146770AED8DDBB4C51C844134 /* PureLayout */, - 338AABBC0C0962E53657D1B2E8409416 /* RZDataBinding */, - C36532FBD9DF117D8BE38F7F3EE87BA1 /* Specta */, - AB0C05EB5DD87828AD9C9B1738F045D3 /* StrongestPasswordValidator */, - 557C22FF46EEF8FBC6F65B238F9135A8 /* UIDevice-Utils */, - ); - name = Pods; - sourceTree = ""; - }; - B513C59935D9AF4ECEB829448DA6C9BD /* Support Files */ = { - isa = PBXGroup; - children = ( - D11721AA680F5FAEE92666F935EB9C20 /* nv-ios-http-status.xcconfig */, - 44D2B7EDDFC2EBAA92A42D9770E5E4B8 /* nv-ios-http-status-dummy.m */, - 9890D6CF1DAE3C43B83653D56433DEF4 /* nv-ios-http-status-prefix.pch */, + F49BAD09C3436DEC8C12A3D333EBFA44 /* nv-ios-http-status.xcconfig */, + 53DCE1D82D923DC94A1EC30D71C8F023 /* nv-ios-http-status-dummy.m */, + D9B0A8327D068FA57F56B1F1D70964EE /* nv-ios-http-status-prefix.pch */, ); name = "Support Files"; path = "../Target Support Files/nv-ios-http-status"; sourceTree = ""; }; - B69FC4DFEA6B9E0BCD8EE3049BC59C00 /* Support Files */ = { + BF8D2A1AAB5D1B8A4FD2B10E7CA31C73 /* NSDate_Utils */ = { isa = PBXGroup; children = ( - 97CFA8B3EED8A0F8D3835623FED92C46 /* PEAR-FileManager-iOS.xcconfig */, - 9F9AC2DB35F7E7EB4F5ECFFC768AF148 /* PEAR-FileManager-iOS-dummy.m */, - B53ED3854F99EBEA84EE2A82EC002A08 /* PEAR-FileManager-iOS-prefix.pch */, + D638C12B68218651E52AA8E3C94B2413 /* NSDate+NSDate_Util.h */, + 23C7228C5DDC140432CF41CC12A34201 /* NSDate+NSDate_Util.m */, + AC8A9415CB558A9F53FFF0426B8DA3F7 /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/PEAR-FileManager-iOS"; + name = NSDate_Utils; + path = NSDate_Utils; sourceTree = ""; }; - C36532FBD9DF117D8BE38F7F3EE87BA1 /* Specta */ = { + C1804DFEA608FCE87A2C7766D6FD421A /* iOS */ = { isa = PBXGroup; children = ( - 6E8648157EA2EB94673F4D1264EBC03E /* Specta.h */, - 3B2CEA86DA0815F717ED8AA2C347F450 /* SpectaDSL.h */, - F2870EF834C5B6EBB351E2F8BBAB2BE7 /* SpectaDSL.m */, - DB068890F76A891796983167489EC39E /* SpectaTypes.h */, - 414A65CF66591C414BA5755E088706C3 /* SpectaUtility.h */, - F3192F0AD227C94A21279120237BE72A /* SpectaUtility.m */, - 23B81740999F1DECAE2BAAF4A2B039AD /* SPTCallSite.h */, - 21DFC62C1EA6734924F565555D63E9BF /* SPTCallSite.m */, - F6856040F4AC95416FDF847F1D46CFE5 /* SPTCompiledExample.h */, - CA4074BF7C2F1D321D824E10DD327990 /* SPTCompiledExample.m */, - 493F17B24C9FE3BE784DB5751D4ED86F /* SPTExample.h */, - 95139E0C13636BE3FD3763F810D92674 /* SPTExample.m */, - 82ADDD8E99D37DA4442B97448AEC031D /* SPTExampleGroup.h */, - 596600E3269FF8A2A736E0C259C145AE /* SPTExampleGroup.m */, - 34AC803AB1B00F61B97267AE94FA19F0 /* SPTExcludeGlobalBeforeAfterEach.h */, - 9B16362FA9DE70C56AC60ACFE9682C5A /* SPTGlobalBeforeAfterEach.h */, - E135DA79EA42BA4C3822BEA5D80D2FDB /* SPTSharedExampleGroups.h */, - DBCDAF4FFC9F39337601860989815A09 /* SPTSharedExampleGroups.m */, - E7AD4239872F1CE13738BA5A6D02E811 /* SPTSpec.h */, - 866ED3AFBA7CAF833A7B2BA1369D07D8 /* SPTSpec.m */, - B6E3CA43F481BA38DBF5CA1360CBB260 /* SPTTestSuite.h */, - 3D781656D8734E682AD64B0FDEFEA631 /* SPTTestSuite.m */, - A8903A765D36B851384B92C59311BF29 /* XCTest+Private.h */, - 10D215A12ED2589E53FD45F4FDF630B8 /* XCTestCase+Specta.h */, - 6DA104199E88C71D4AF73B8FFABFF42A /* XCTestCase+Specta.m */, - 655C5CEB804ADC636FA679D73B2A8098 /* Support Files */, + 228290CCA9AB8436577C8CC4F7AF1C06 /* CoreGraphics.framework */, + E65A5B341221CBEEF0E88382CDB87241 /* Foundation.framework */, + A189CCFF17CA7A7B9FFE7F300CF2F715 /* MobileCoreServices.framework */, + 097219E7D000D1D18B00390AF04655BC /* Security.framework */, + 8FC98C93277D7E6BF8CA5D23CB43D95C /* SystemConfiguration.framework */, + CC6CBD664A2CBD2083B8BA395BFEDF5E /* UIKit.framework */, + 0B243224F6E2B01B74C79F0377139E80 /* XCTest.framework */, ); - name = Specta; - path = Specta; - sourceTree = ""; - }; - C469579A569FB1839338F524D4DB38A9 /* Support Files */ = { - isa = PBXGroup; - children = ( - 8E48BC435D5062CA14E0865FBDD11BBA /* NSDataAES.xcconfig */, - B9D90CA9B650AD0D39AF52BD2A09BB32 /* NSDataAES-dummy.m */, - 772E516065BB3EED55520CDD8992A8E8 /* NSDataAES-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/NSDataAES"; + name = iOS; sourceTree = ""; }; C480B5F01E58D59EDA927E3EC6A18A0E /* Products */ = { @@ -2867,15 +2904,15 @@ name = Products; sourceTree = ""; }; - C5E04DD396EF4A6DAD8E3854432E3159 /* Support Files */ = { + C552AAE32F9E8DE0599E91EB27362416 /* Support Files */ = { isa = PBXGroup; children = ( - DE33C565472564A8DE420E6D02C0E510 /* FBSDKCoreKit.xcconfig */, - 352D34D6407FED7D555CC66BE66D0E93 /* FBSDKCoreKit-dummy.m */, - A096D1741200DD03728077D6586CB7A7 /* FBSDKCoreKit-prefix.pch */, + E53045B6A07A7DC12896641929D0A42B /* PEAR-FileManager-iOS.xcconfig */, + AFFF12E2E0C503E8EF4EBB4AF4EBA402 /* PEAR-FileManager-iOS-dummy.m */, + 876AAB1DC6ECA290A5C79CB04A9291D2 /* PEAR-FileManager-iOS-prefix.pch */, ); name = "Support Files"; - path = "../Target Support Files/FBSDKCoreKit"; + path = "../Target Support Files/PEAR-FileManager-iOS"; sourceTree = ""; }; D5D27757BE31D2E1125B1DE683D3A505 /* Development Pods */ = { @@ -2886,862 +2923,747 @@ name = "Development Pods"; sourceTree = ""; }; - E3A7BAEB61209E2AEC4D2FBE78AB460F /* Support Files */ = { + DAE21669EA3E17A44FF000000542CF09 /* FBSDKShareKit */ = { isa = PBXGroup; children = ( - 89A14669AC7DE4DF84BC162029BBC114 /* PureLayout.xcconfig */, - F4D7D1B60093B31B5DBE04C23BAA1745 /* PureLayout-dummy.m */, - 63887DC7314FEEFC5DE075DC82E97A32 /* PureLayout-prefix.pch */, + 06475B8A4E97FA30A4B8FEEDCB4EAF7F /* FBSDKAppGroupAddDialog.h */, + 4428B42610AB0FB470CE8A9F571BE487 /* FBSDKAppGroupAddDialog.m */, + A56F16109927B5D358D193F6A4BB3426 /* FBSDKAppGroupContent.h */, + 17B7F258ADC3CB1852D6BF95616AE754 /* FBSDKAppGroupContent.m */, + 35B32CAC5F01D66EA844A8CC98A49175 /* FBSDKAppGroupJoinDialog.h */, + 897162B6B9D1ADADAEBC3ECC01B27AE7 /* FBSDKAppGroupJoinDialog.m */, + 264E69028A0C84EABC73E28CFA284AE3 /* FBSDKAppInviteContent.h */, + 083753C776988E690880CA346ABF5823 /* FBSDKAppInviteContent.m */, + 7703EBD91F030530D391B9311BBE7284 /* FBSDKAppInviteDialog.h */, + 451DE67489762E7BF4872982818685DF /* FBSDKAppInviteDialog.m */, + F3C7BC76A5F427D2951B7C3F2DB7CEFC /* FBSDKCameraEffectArguments.h */, + DC189E040D574F2A4945517C0A1F0802 /* FBSDKCameraEffectArguments.m */, + 0B85BFC6FDA0BBCDF52F9B150C0F94CB /* FBSDKCameraEffectArguments+Internal.h */, + DD66E6FED006CAC3550B19E204BEC63C /* FBSDKCameraEffectTextures.h */, + F7AFC8A7A5AE5F65B91A38EE8CD0E02B /* FBSDKCameraEffectTextures.m */, + 7BA24DC711C9A9BF728E911963B7D295 /* FBSDKCameraEffectTextures+Internal.h */, + 04E2BABEA53E3363A9BC0F646F4BBCE3 /* FBSDKCheckmarkIcon.h */, + 67886D657034CA4A926FDFA702319389 /* FBSDKCheckmarkIcon.m */, + 115C678BF96C98C00C9F1103DBBD9F9B /* FBSDKGameRequestContent.h */, + 6732E2A7357018A011AC949878023A74 /* FBSDKGameRequestContent.m */, + 3FF9058171819AA185761AE2B04EA055 /* FBSDKGameRequestDialog.h */, + 44B271AE2F41468F2DA5075E3F378680 /* FBSDKGameRequestDialog.m */, + BBD3EC1F0D7D8327357AA769BBD293AC /* FBSDKGameRequestFrictionlessRecipientCache.h */, + B7877ED51692A3542CF09D985F7F4943 /* FBSDKGameRequestFrictionlessRecipientCache.m */, + 536F022E7BC8A34B94D3EC1E16FA0C13 /* FBSDKHashtag.h */, + 76DE5D8DE9038186BAF45C3051D74179 /* FBSDKHashtag.m */, + A5F7CA78CB70B76E563566A7973AAC60 /* FBSDKLikeActionController.h */, + F8061B3868BDAD11CE1E886FBC87A507 /* FBSDKLikeActionController.m */, + E34818E402DEACB3E6B52D25C9EAC64D /* FBSDKLikeActionControllerCache.h */, + 5D9B4847D4B627158FFC1A63EA6DC80F /* FBSDKLikeActionControllerCache.m */, + 52E0074F55BA1EC501E0972582CE4284 /* FBSDKLikeBoxBorderView.h */, + ADDE93AA0657112092BB44CD65D006EF /* FBSDKLikeBoxBorderView.m */, + 384BF2ED884F26B398ECBCFA92CF6E14 /* FBSDKLikeBoxView.h */, + 3FE24076474E62A09BCA909DA1A68CF2 /* FBSDKLikeBoxView.m */, + A78D0197FB7F04FEFE361A9DF89ECC1A /* FBSDKLikeButton.h */, + 807B96CAC1ED20D949D005D57A05B2B5 /* FBSDKLikeButton.m */, + 0C3B3777C1B965AB8BB35AE83D4436BA /* FBSDKLikeButton+Internal.h */, + E9D3C0E09FD3CC25C5D3A478EA531702 /* FBSDKLikeButtonPopWAV.h */, + EEC193E3F520E1B6AB4F3372A37E4BAE /* FBSDKLikeButtonPopWAV.m */, + B6C6178EFF740B1770E47181E2D755AD /* FBSDKLikeControl.h */, + EE0AC7D4EEAD02045DC937D7BD2C1C23 /* FBSDKLikeControl.m */, + E58111244B04B80DFF62AC8B4F6EB56B /* FBSDKLikeControl+Internal.h */, + B0430D0D9ECF06A2CE776A09363ADA27 /* FBSDKLikeDialog.h */, + F1965FFF8D5A2E0C288D9A560FCFEDCE /* FBSDKLikeDialog.m */, + 8714BC79FC4AE625BF543612A8626CDE /* FBSDKLikeObjectType.h */, + 0BB2B82D03CB3906ABDE6669ED9D833A /* FBSDKLikeObjectType.m */, + 70809CF813292F967C2F301B243571FB /* FBSDKLiking.h */, + E4E6332A344B4A0932629526E8E6C9CC /* FBSDKMessageDialog.h */, + F0DE0DF8D914E38271859E2DC3FFAB1D /* FBSDKMessageDialog.m */, + 0E00D21E56F405766DF0B9B5832FDAA4 /* FBSDKMessengerIcon.h */, + C36D0990929ACC7C7E57A00EA14900CB /* FBSDKMessengerIcon.m */, + FC73FA0EC9903EFA53286D879E678FA9 /* FBSDKSendButton.h */, + EA10A2832C986A5E90B8DA412A574AD6 /* FBSDKSendButton.m */, + F41E58C8325EB10B4B63392FD847BAC6 /* FBSDKShareAPI.h */, + BDF47E5D4FDE9BED9604D0D40DBB3A5C /* FBSDKShareAPI.m */, + 8968CB9A6DE68B4B5677DBBDE983BE39 /* FBSDKShareButton.h */, + 2E4EE4E3A82F63F42815DE3E8CD55193 /* FBSDKShareButton.m */, + A0E9946A5BA7F2E0540229B719AD8A8E /* FBSDKShareCameraEffectContent.h */, + 77FB2688DB92ACD34FD173329000B6F0 /* FBSDKShareCameraEffectContent.m */, + FA7EE8D5280ACA9545EB0F4B0F4138EA /* FBSDKShareConstants.h */, + A387993C7396BA018A78B182545014E7 /* FBSDKShareConstants.m */, + 157C7F2CDCAFB2C0654489B1DE32558F /* FBSDKShareDefines.h */, + B147DE1A7260EFF4D15C8B36FF290A4E /* FBSDKShareDialog.h */, + 57BC6CFE2FF77A0D657A729BB2CFCAF5 /* FBSDKShareDialog.m */, + 6F7FC7C9360DC60E43AFA5DAC5FDE0DD /* FBSDKShareDialogMode.h */, + 76FBF95528DC39D92FE22C0EA4AC7E7C /* FBSDKShareDialogMode.m */, + A0392097A153840E34B245E5BC8B3EF4 /* FBSDKShareError.h */, + 7B5A30A9EC17834C60F15FCD8D5862EA /* FBSDKShareError.m */, + 921954198F5E18C5FB71E329721B3574 /* FBSDKShareKit.h */, + E5426E047B8483C151AF23A6C16A5096 /* FBSDKShareKit+Internal.h */, + 74634C2DC0DA90642585261C51C96620 /* FBSDKShareLinkContent.h */, + CD9D6CD3E31885EA3B12EB1BC27DEAD5 /* FBSDKShareLinkContent.m */, + B33648BCE03F8F323A600AFB2C4184B1 /* FBSDKShareLinkContent+Internal.h */, + D6C8F624B454CFAC87AE5FB889B4728C /* FBSDKShareMediaContent.h */, + 5D4138F15DE6BC317FEE875C58D5E9DF /* FBSDKShareMediaContent.m */, + 6085CE9C47854FC205AA516CE066CE0F /* FBSDKShareMessengerActionButton.h */, + 4A9179BB63F92444BB2D72730D28C05F /* FBSDKShareMessengerContentUtility.h */, + 168389A483EE1A2FFB33EAD7A72599E0 /* FBSDKShareMessengerContentUtility.m */, + 5870AC01A2B66DACFB5EF8DF86F3A3E9 /* FBSDKShareMessengerGenericTemplateContent.h */, + 5B7C69B54E006EECF1C28F66946D96EF /* FBSDKShareMessengerGenericTemplateContent.m */, + CAE94A7CEF07674CA5A9504B98BB4B9D /* FBSDKShareMessengerGenericTemplateElement.h */, + C51B5C8D42BB2FCA4FDFB6DB12343DF1 /* FBSDKShareMessengerGenericTemplateElement.m */, + D0439D5A4E46C28BEDE7B249A11B358A /* FBSDKShareMessengerMediaTemplateContent.h */, + FD37A75E3B04A194B8A7DF3E67156907 /* FBSDKShareMessengerMediaTemplateContent.m */, + 9FC6CB7CF81A4D88DDFFCA3A269B7F29 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h */, + 6E774A5077A3054A8BBA9C022C1E29F4 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m */, + E22E9CCF0015069EC4DA801689A00653 /* FBSDKShareMessengerURLActionButton.h */, + 4F541374C8430DA0077106D6E5F1DA26 /* FBSDKShareMessengerURLActionButton.m */, + D6F306826C82D3D7DCBEF677A85120BB /* FBSDKShareOpenGraphAction.h */, + 44B5F73B49B2F5CD6A2A7696618A8931 /* FBSDKShareOpenGraphAction.m */, + 7ADED0A7769310FE904BC209FDA425FA /* FBSDKShareOpenGraphContent.h */, + BAB42CCC406C6A5E4743ED0336157DA1 /* FBSDKShareOpenGraphContent.m */, + 7642275934E424A63198BB2B53B41144 /* FBSDKShareOpenGraphObject.h */, + 54EF2C419EDEC0E3FCE2864C5F40C795 /* FBSDKShareOpenGraphObject.m */, + 18BEBF8BED1319225F8546240158824B /* FBSDKShareOpenGraphValueContainer.h */, + E0FF3EC47A42286B181021A479DD1803 /* FBSDKShareOpenGraphValueContainer.m */, + 2F5C77D4033571915F1514FFA13A7AC6 /* FBSDKShareOpenGraphValueContainer+Internal.h */, + 7FFD442C08D07342BF2D569764C17502 /* FBSDKSharePhoto.h */, + 0C4F7BEF57EDE8480EF5D3BB0038A9A9 /* FBSDKSharePhoto.m */, + 565ADF0C1EA97B982FEB1A8BC05B7C2E /* FBSDKSharePhotoContent.h */, + B367F401FD4702B3206026DF4F75F33D /* FBSDKSharePhotoContent.m */, + 4E184A6E100068DE232EEE9238820E8D /* FBSDKShareUtility.h */, + EBB4AC8A822AA58630CAC4468B0B14ED /* FBSDKShareUtility.m */, + F595D724DDAEC4AAEAC9F66C11999838 /* FBSDKShareVideo.h */, + CB62F7CE20B50C030CBE53D47D42937F /* FBSDKShareVideo.m */, + 85E562A612CB4F467213BE91B2F766A9 /* FBSDKShareVideoContent.h */, + F17BB7C782512DC313E03E2EC880AB33 /* FBSDKShareVideoContent.m */, + C1C2CA015EB5FB6D0D7D1E529440594C /* FBSDKSharing.h */, + B31A3DA2188BE0FC38C6889CC1B9DCDA /* FBSDKSharingButton.h */, + 61AEAF3AAE7DB3790BF72EB0A31909EB /* FBSDKSharingContent.h */, + 6932BABFB9914AE06E34FF9EC3FB6099 /* FBSDKSharingScheme.h */, + 8624E8CEF200BAFC250C1F71250D0786 /* FBSDKSharingValidation.h */, + 0C03F27BB1C39FD44794CD971653F9B8 /* FBSDKVideoUploader.h */, + FCD1EA6A6A7C243E0424BB20F7AB9F52 /* FBSDKVideoUploader.m */, + 0B0892DA30CD9297FD42F8CEB802385C /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/PureLayout"; + name = FBSDKShareKit; + path = FBSDKShareKit; sourceTree = ""; }; - E733E0E85DB5D6FF465D4880E3D36E97 /* Expecta */ = { + E5F7749B19D7F3F11554A2F54C646863 /* PEAR-FileManager-iOS */ = { isa = PBXGroup; children = ( - 4422F7664B24060EA900EF832F38681F /* EXPBlockDefinedMatcher.h */, - D0F4B2623826CFB0D362CEBDED366755 /* EXPBlockDefinedMatcher.m */, - 52D4638E0B2262DD32EE177BC5EB3B65 /* EXPDefines.h */, - C29DE603D35A12EA57EA903220773C81 /* EXPDoubleTuple.h */, - 4862D9579E20C3B5A373964AAE418433 /* EXPDoubleTuple.m */, - C2B985EBD90191181E44E0E19C867D16 /* Expecta.h */, - 948B5FBC04498006788B7E962DAE36EF /* ExpectaObject.h */, - E0D417EB5C1F541AF8777FE4F35D637C /* ExpectaObject.m */, - 99AEA61A2EFD09B079E419C7D393B996 /* ExpectaSupport.h */, - B27F0FEB7C9FE28213AAB3C7CC5A41BD /* ExpectaSupport.m */, - 6DB8A07690556E6A3CF315AE82479CB3 /* EXPExpect.h */, - 0813CA68F6C1B790E4F01258FC8D29C5 /* EXPExpect.m */, - 682BBC7E98E3198474357C2969A886DC /* EXPFloatTuple.h */, - D5CBBF03959B92B04265BFBD02CAC07E /* EXPFloatTuple.m */, - CF4B90B37F3B51DD598EF6B4D295E151 /* EXPMatcher.h */, - 470B35F64248BEB05588F62DB601CE9F /* EXPMatcherHelpers.h */, - 22C65CA5542A29B11D02BFC66AF1EFE3 /* EXPMatcherHelpers.m */, - 96648AF618770DBA9E7A683DA7D644FB /* EXPMatchers.h */, - B6FC34772C32746294CFE849765ECB26 /* EXPMatchers+beCloseTo.h */, - 73C3B38B9A491B81729B9D7573196BC3 /* EXPMatchers+beCloseTo.m */, - 17BFD543F7F7919FD9C38AE93050E132 /* EXPMatchers+beFalsy.h */, - B89F0D55DC144F3FF8DD195C255E2303 /* EXPMatchers+beFalsy.m */, - 3F201A371D7DD65D7880B581B5230CA3 /* EXPMatchers+beginWith.h */, - DB447D62093AF36E4B25F82BDB53F1DE /* EXPMatchers+beginWith.m */, - 7AEC575BB1B1B7696DB5D4EB9BCAD507 /* EXPMatchers+beGreaterThan.h */, - 9F5C7CB06B8A7F032719385A65C676BD /* EXPMatchers+beGreaterThan.m */, - 1196106794947352DFD68D1B3C1A2465 /* EXPMatchers+beGreaterThanOrEqualTo.h */, - CFC8DC4744B260278C490B768A4B7211 /* EXPMatchers+beGreaterThanOrEqualTo.m */, - 1FC3AA2C47EF5AC80A9A0BB86B676342 /* EXPMatchers+beIdenticalTo.h */, - C06C576797D03479780D7DEE048749FF /* EXPMatchers+beIdenticalTo.m */, - 62FB5BA0F9DA56FA07F597A33CE37CF6 /* EXPMatchers+beInstanceOf.h */, - 7EC8255D34115A89452CC9A357AD0CAF /* EXPMatchers+beInstanceOf.m */, - 0889B0201C8E42BD77B91F9F149596AF /* EXPMatchers+beInTheRangeOf.h */, - 2CB6A420B562E84CB94A07E119DEBAC7 /* EXPMatchers+beInTheRangeOf.m */, - B8F8BB728F17BB6F2895A226D8197094 /* EXPMatchers+beKindOf.h */, - 1BC49AA52989D2D9BB62FF2665F1A8E8 /* EXPMatchers+beKindOf.m */, - 7A6A89003DFE79414FD4894C231876D5 /* EXPMatchers+beLessThan.h */, - 4BD9C7060EDA63DB82D91AAEE77B34BA /* EXPMatchers+beLessThan.m */, - 14CB7006C21AD6D6E7808E6603C0E620 /* EXPMatchers+beLessThanOrEqualTo.h */, - 29B77731117FA78156137A838406C47B /* EXPMatchers+beLessThanOrEqualTo.m */, - 00AA0805FC9FCA3378BFFD4B31756BE5 /* EXPMatchers+beNil.h */, - 372429163979BA15A2EDADE816C74724 /* EXPMatchers+beNil.m */, - 33E6CC0FC9FC81F86321E4CB122873FD /* EXPMatchers+beSubclassOf.h */, - 6C3DDA40CAFB7CB1F63993E55F11C853 /* EXPMatchers+beSubclassOf.m */, - 551C6F1925FBCCD6B2EFB4A76BC48A16 /* EXPMatchers+beSupersetOf.h */, - C9F74485E52F9ECD4B2D3F74FC7D40F1 /* EXPMatchers+beSupersetOf.m */, - C8DBF5B109A96A3EAB7E009DD54EF4DB /* EXPMatchers+beTruthy.h */, - 6E70202A55971EDA1E0010BE6622394C /* EXPMatchers+beTruthy.m */, - 9FB875FA00DAA7478E8C1971F2730EE4 /* EXPMatchers+conformTo.h */, - 4738B15973F584F8A217A163ECB821A3 /* EXPMatchers+conformTo.m */, - 348D60399CCEEE964C160352A4C569B3 /* EXPMatchers+contain.h */, - 694CDAE3227689553B66824B33DFF1B1 /* EXPMatchers+contain.m */, - 1A6DAE7079029CC5918089220AA0A61D /* EXPMatchers+endWith.h */, - 22DC2B7F88C4D9ED54BFCF9135CD6DCF /* EXPMatchers+endWith.m */, - 834A6179467B86426A38613938A35849 /* EXPMatchers+equal.h */, - C882AE3B6CC7F4B15DBA59B1F6025D11 /* EXPMatchers+equal.m */, - D8B273CFD57D4FBC4E02D5CF55EFB1FC /* EXPMatchers+haveCountOf.h */, - 6A2CC1629170211D717DFC4E8B05636A /* EXPMatchers+haveCountOf.m */, - FBEC7FAE517D0CB7D19E2E84E19593FF /* EXPMatchers+match.h */, - DE8FB1A851FB17289922D6996C5F4E75 /* EXPMatchers+match.m */, - CB1E160B643AD77570F62911B3527DEE /* EXPMatchers+postNotification.h */, - ED5B3D9FC593C1D635A42DF2C8086BED /* EXPMatchers+postNotification.m */, - 683ED7A25F74C393AC664573662EA57C /* EXPMatchers+raise.h */, - 0F062F766F07B049681961B0731673E8 /* EXPMatchers+raise.m */, - 71FC61AD0FDAAD372C4E7755E7D8537F /* EXPMatchers+raiseWithReason.h */, - 6579952A48C721B594DD3FB140E4D63F /* EXPMatchers+raiseWithReason.m */, - 143FCFD0678C1BD9B350D22FFA8E8716 /* EXPMatchers+respondTo.h */, - BB9ADEB1801F27722B7818E38D877690 /* EXPMatchers+respondTo.m */, - 02A6652C6757CCF760ED2B143FE02141 /* EXPUnsupportedObject.h */, - 60C3D316F32BC2E5C07A7ADA5A07A335 /* EXPUnsupportedObject.m */, - DD680E8EF6A354891BDDE029676A0791 /* NSObject+Expecta.h */, - B37C48B388078FB49DB241EB953B37BF /* NSValue+Expecta.h */, - A619C2C9A2F566A3CD108ECD6DE3FA81 /* NSValue+Expecta.m */, - 42EC11DFC641B31476F015F575DB5663 /* Support Files */, + A4A34BDF7F1C2EF28E102545830C36B4 /* PEARFileManager.h */, + 0E2135D9F38B34065389530EF9C89743 /* PEARFileManager.m */, + C552AAE32F9E8DE0599E91EB27362416 /* Support Files */, ); - name = Expecta; - path = Expecta; - sourceTree = ""; - }; - ECAF51ACF41D40245DC8F5AE03838A5E /* NSDate_Utils */ = { - isa = PBXGroup; - children = ( - ACAE6C44B6ECBB03450746016DA21448 /* NSDate+NSDate_Util.h */, - 373688BF73991E3A2290BC2F9089729D /* NSDate+NSDate_Util.m */, - F3638459249F029E226191888EB6B833 /* Support Files */, - ); - name = NSDate_Utils; - path = NSDate_Utils; - sourceTree = ""; - }; - F3638459249F029E226191888EB6B833 /* Support Files */ = { - isa = PBXGroup; - children = ( - 9275FD13B0A2F97828A3FCED247AF8EA /* NSDate_Utils.xcconfig */, - F62687EBD6A093220E0B06CE9724E91A /* NSDate_Utils-dummy.m */, - C870A1722729F25D2BBAE7763D2631C0 /* NSDate_Utils-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/NSDate_Utils"; - sourceTree = ""; - }; - F47442A3E6E1880824D247B247533C4F /* Serialization */ = { - isa = PBXGroup; - children = ( - 8BE9FC4197C9EC3BB332BE78DCC560A2 /* AFURLRequestSerialization.h */, - D47AB4C99208FC0449BB2673E7172DB2 /* AFURLRequestSerialization.m */, - 68FFB0C6AED60155C6E449B2A43563F9 /* AFURLResponseSerialization.h */, - 2542111D528C366AB90A731A201E6E01 /* AFURLResponseSerialization.m */, - ); - name = Serialization; + name = "PEAR-FileManager-iOS"; + path = "PEAR-FileManager-iOS"; sourceTree = ""; }; F4CDA5FA9197A41E0081E84F932906EB /* Frameworks */ = { isa = PBXGroup; children = ( - 35FD9A9D189D714C81C8B3604164ADDC /* iOS */, + C1804DFEA608FCE87A2C7766D6FD421A /* iOS */, ); name = Frameworks; sourceTree = ""; }; - F78E5AF4B3530D8B5456110DECDC6085 /* CodFis-Helper */ = { + F660A2C0AF25A9B6114650DE91F3C822 /* Expecta */ = { isa = PBXGroup; children = ( - 5B25BF1F85872BEA3B6510A6CFD0E903 /* CodFis+Helper.h */, - 0C52A633C498C5B925D2C8E4F2DEC800 /* CodFis+Helper.m */, - 276C22B3223B59877C3D88B3644963B9 /* CodFisResponse.h */, - 50F2735053673239222637C009C22717 /* CodFisResponse.m */, - 974A6A93247023942B708FC8A682D721 /* ResponseConstants.h */, - AD4B0C7C2B1E1ADE07D8774992165327 /* VatNumber+Helper.h */, - 4CE187D8382D9259B2DDFC08E2A617C3 /* VatNumber+Helper.m */, - 523C5839674BA2E5E26EB4FFF418CAB8 /* Support Files */, + 6F337357C275445D11C05C3D05412409 /* EXPBlockDefinedMatcher.h */, + 6BC8DD89E498C32B266891C23AB6FDC5 /* EXPBlockDefinedMatcher.m */, + 8980D6FAE79CA78C7001A8EA2BC3E1C4 /* EXPDefines.h */, + A373CB0170E3799074B8D43A97F6C3DE /* EXPDoubleTuple.h */, + 3551BEEAC27EF8D09CD29F52E558D806 /* EXPDoubleTuple.m */, + B9A66D1BA73BBAAF86C6CF4CD6BEE54D /* Expecta.h */, + DFE97F191775602DFEAE6E206DA38BBB /* ExpectaObject.h */, + 09FC8EE3328476939506F0CAD81A6757 /* ExpectaObject.m */, + 3D0DF3729BE6BBEEE00F9B91E3D1674F /* ExpectaSupport.h */, + E1A28981401446572FE29DAC9570ECC5 /* ExpectaSupport.m */, + 748A5B4FCF6878E666806705BA41E859 /* EXPExpect.h */, + E8125DFB41A764986449B5FFD87065B1 /* EXPExpect.m */, + EB5B907BC96C09D6BB405190C882BBD5 /* EXPFloatTuple.h */, + FC9BBD4529783C71966EC576E224DB8B /* EXPFloatTuple.m */, + 1AEF0C66CA8D1E28D60B2C75C55CE9A0 /* EXPMatcher.h */, + F2399C18A88B380AD1FBABFD1ADC63B7 /* EXPMatcherHelpers.h */, + BD93892679A0E8925992B5C843C04755 /* EXPMatcherHelpers.m */, + 5E41BAE09E8F96F1CC0C694C0A13330B /* EXPMatchers.h */, + B2ADEF6DE2A753024D7EE6BB62C12A0C /* EXPMatchers+beCloseTo.h */, + 4FD38A9226FE7FDA838763FAA4056722 /* EXPMatchers+beCloseTo.m */, + 6B5DD49FEDCD3CD1BCA1ED51D8365DEB /* EXPMatchers+beFalsy.h */, + 92C705C9C2D61894D5869A2198F62607 /* EXPMatchers+beFalsy.m */, + DE67682584A286D51ED20B31D084E028 /* EXPMatchers+beginWith.h */, + 21EE23B56B6160B8FF9892C879BF17BF /* EXPMatchers+beginWith.m */, + 4268EDC447EE59BDBB8ABBC399FE5188 /* EXPMatchers+beGreaterThan.h */, + E8FF921CC0A5BF5881CB0A658CAC6F7D /* EXPMatchers+beGreaterThan.m */, + 35804B3CEE4F9061640C2881234D0B6A /* EXPMatchers+beGreaterThanOrEqualTo.h */, + 2219D5C06179BD9C93CC2B7E8E7CD4DD /* EXPMatchers+beGreaterThanOrEqualTo.m */, + 3AC81A0D2E762BD988AF1E7E0BBC1AEE /* EXPMatchers+beIdenticalTo.h */, + 6CFFE266989CAEEB105125FDA511198E /* EXPMatchers+beIdenticalTo.m */, + 4C6C846D234A6F018B473255B0F47201 /* EXPMatchers+beInstanceOf.h */, + 6B80C2A86E5412DD2870FA63E06F6E33 /* EXPMatchers+beInstanceOf.m */, + 2A615662CD3D253D18C81ACEB4D51FEA /* EXPMatchers+beInTheRangeOf.h */, + 610B3F3EB62EDF675253EC2EC174742B /* EXPMatchers+beInTheRangeOf.m */, + 8027B64849AE705283D770AE136C543C /* EXPMatchers+beKindOf.h */, + FE242ABAC176E657012AB92CBE4DDB4F /* EXPMatchers+beKindOf.m */, + D6687C4432E52053F517767D035DB259 /* EXPMatchers+beLessThan.h */, + 4B3CF9BC60882B5CABB7C29219C1A5F5 /* EXPMatchers+beLessThan.m */, + 375620A2EF26926B58593F4262BDB803 /* EXPMatchers+beLessThanOrEqualTo.h */, + B63D6D1A539902429FE51B2BF2A53071 /* EXPMatchers+beLessThanOrEqualTo.m */, + 87F16AC73F6DC5DC5D2C30FC2F111C10 /* EXPMatchers+beNil.h */, + DF997915633455E830598962FABE969F /* EXPMatchers+beNil.m */, + EDFB9389E6BC749689DAF1C72BD35634 /* EXPMatchers+beSubclassOf.h */, + 50035DCF1A752411360B10EFFC35F0BD /* EXPMatchers+beSubclassOf.m */, + BED4CE54AC8106A6864F85607C1A6976 /* EXPMatchers+beSupersetOf.h */, + 5D49012A51A1B5C9ABD583D3B12D61E1 /* EXPMatchers+beSupersetOf.m */, + 15ADDF66D61DF3F757DC15DD22960A85 /* EXPMatchers+beTruthy.h */, + C4133B738A4980DB8CFA963ED740C59C /* EXPMatchers+beTruthy.m */, + 800D7827EDE27C97F6CF2751A65EAC01 /* EXPMatchers+conformTo.h */, + D0E9C7B7B50E52257245C7FCE81EAC42 /* EXPMatchers+conformTo.m */, + FC1C84083C56DEA9692B2856DE211395 /* EXPMatchers+contain.h */, + 9DCA1FB1D85806F924962DB918031C6C /* EXPMatchers+contain.m */, + 18E3F2D763C0560879C54D3E19F7D46F /* EXPMatchers+endWith.h */, + 40847E3530278BABA50E27F042C4A6D4 /* EXPMatchers+endWith.m */, + 51B137C5DB9EE4C34F0784B0E2300B45 /* EXPMatchers+equal.h */, + 8364047D4C435ABFE5C89C5D44227EE8 /* EXPMatchers+equal.m */, + 09760B847BD503A2045C772B3ED2E2B2 /* EXPMatchers+haveCountOf.h */, + 9CF9487BD2BD29A89969AFDC1E824BF9 /* EXPMatchers+haveCountOf.m */, + 3947CAB7BA76C2DCF9C1AC6C4B8B9816 /* EXPMatchers+match.h */, + 34FCBE7D1D77C32B559F05E07654D2A3 /* EXPMatchers+match.m */, + 6727A49F23F5D0E57AD124C38F13BFE8 /* EXPMatchers+postNotification.h */, + C08EBEEB85A2C61F7C4454A227DD0BF3 /* EXPMatchers+postNotification.m */, + 48EDB67FEAA6908810F10C1EF4059E0B /* EXPMatchers+raise.h */, + 2ECF7B3E0E8A8B859C7A2F89B06AAA26 /* EXPMatchers+raise.m */, + 2562B5BCB3BB4273DD636EBF7CF6D668 /* EXPMatchers+raiseWithReason.h */, + 8D8B4922E95788F5B6D84BD95973C201 /* EXPMatchers+raiseWithReason.m */, + C72E97BE66A5B29F0A07C26872D0713A /* EXPMatchers+respondTo.h */, + 2598C4C9811FCBD7CCBFD97D7268398C /* EXPMatchers+respondTo.m */, + 544310B55950B4943152573ED2AFFE8B /* EXPUnsupportedObject.h */, + 78ADC27CAD5317640AD7062E17593E6A /* EXPUnsupportedObject.m */, + 8FA08EC0714F4A88BF630D3F963EB509 /* NSObject+Expecta.h */, + 6F6FFF41F5657EF1F9999F87B32D0ACE /* NSValue+Expecta.h */, + DEB52BB2809F059D93B9F3616B2C905D /* NSValue+Expecta.m */, + 3691E310572BDF11F2BE2327EBE14D34 /* Support Files */, ); - name = "CodFis-Helper"; - path = "CodFis-Helper"; - sourceTree = ""; - }; - FBE044F2F6911C722370D40038205871 /* Resources */ = { - isa = PBXGroup; - children = ( - 128CFD3BB842D71F3F75FB575CDD54AA /* FacebookSDKStrings.bundle */, - ); - name = Resources; - sourceTree = ""; - }; - FFA6C739D3DF11EEE548A51CCDAA66F2 /* nv-ios-http-status */ = { - isa = PBXGroup; - children = ( - F01C62D6F41B9B578FFE240F02691E7D /* HTTPStatusCodes.h */, - E119997E8CBEA22BBA627DEF18E284C4 /* nv_ios_http_status.h */, - 1945A3B41CE53F2498874D10D99E08B9 /* nv_ios_http_status.m */, - B513C59935D9AF4ECEB829448DA6C9BD /* Support Files */, - ); - name = "nv-ios-http-status"; - path = "nv-ios-http-status"; + name = Expecta; + path = Expecta; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 05E58D356A38DD487823D5BE24334920 /* Headers */ = { + 0F3D68BE8DB057D539676D639CA19719 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 56DF862FDB341B9BFF571308CB65D1E2 /* EXPBlockDefinedMatcher.h in Headers */, - E0F03C95E05A98F39D1DC1A98385803E /* EXPDefines.h in Headers */, - AC5A673EB5F87A58AEC0ED278F61DD67 /* EXPDoubleTuple.h in Headers */, - 0AC841465E3CA33A2D5A18B46C2A7678 /* Expecta.h in Headers */, - A6B84E4776F9B1A6A60F8D1ADC8AF807 /* ExpectaObject.h in Headers */, - 5504E1CA910F4258DDAFD0C25AF8D490 /* ExpectaSupport.h in Headers */, - 770E58F3AB82B2A21DC0F2207328AC4D /* EXPExpect.h in Headers */, - A688437F602916EEDEE68C80545A3D15 /* EXPFloatTuple.h in Headers */, - 7E2C04AB8CB1D40C13D5FD52B1F1327E /* EXPMatcher.h in Headers */, - 5329BE09734B1F03EF22BE39A97D51DD /* EXPMatcherHelpers.h in Headers */, - 88C4D2F85056EA7F7535106211147ECC /* EXPMatchers+beCloseTo.h in Headers */, - 8FBA1C7BEC45C028C2288189DBD810C9 /* EXPMatchers+beFalsy.h in Headers */, - 4BD994BE09FE75E3BC1B1583E815C6ED /* EXPMatchers+beginWith.h in Headers */, - 7F00B5C0B48374699FDA4AF2195F37F3 /* EXPMatchers+beGreaterThan.h in Headers */, - FC9ACAFA4E12B4D41007910974A7FCC9 /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, - 072E8F29228E95010CF6B82102E59E8A /* EXPMatchers+beIdenticalTo.h in Headers */, - D6A7F64A32E06AFE5E4DC9167E24F016 /* EXPMatchers+beInstanceOf.h in Headers */, - 3BBA71B2E9E5B9806E4A00A5915F69F7 /* EXPMatchers+beInTheRangeOf.h in Headers */, - F9195123C863E423DF77D4F6D8B37C2C /* EXPMatchers+beKindOf.h in Headers */, - 09848E9B8DF8DBBB1263FBB91DAA264E /* EXPMatchers+beLessThan.h in Headers */, - C7634203CCAE9061181FF1E509C569A4 /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, - 0CBF5CAA8F3E1589857BC6CEE5E042F8 /* EXPMatchers+beNil.h in Headers */, - 64D92EB797C2CB0A09A128B190DA6E77 /* EXPMatchers+beSubclassOf.h in Headers */, - 240B2559B270C0497F375F56B84C5266 /* EXPMatchers+beSupersetOf.h in Headers */, - 6EE4611B91A104D540D3D4094F25228B /* EXPMatchers+beTruthy.h in Headers */, - 041F0924D6BBCA56F44CFFF7C81C509B /* EXPMatchers+conformTo.h in Headers */, - 335CCD82F4E8B3CD7AF8CE57EBF36F4F /* EXPMatchers+contain.h in Headers */, - 6A37D9AAA0B7BD3336D5F2DFBAF31AD3 /* EXPMatchers+endWith.h in Headers */, - DBA2ACB360E11D42FD68312A1C48887F /* EXPMatchers+equal.h in Headers */, - 2858702E979011C83F32DD7417BE3050 /* EXPMatchers+haveCountOf.h in Headers */, - 0373040B6D0EC3BF9932B60FB8452B11 /* EXPMatchers+match.h in Headers */, - 32DE8BF73DA69143816F16AFC6A7C019 /* EXPMatchers+postNotification.h in Headers */, - 9817696462CA759792EB02DEF0EEFF74 /* EXPMatchers+raise.h in Headers */, - 26EE69036F8E1D37693B1CC6F4EE184B /* EXPMatchers+raiseWithReason.h in Headers */, - FD7BD436456F97A418DE68561354EC4B /* EXPMatchers+respondTo.h in Headers */, - 1722F83A4D5ECBEDF3E9C9410A259304 /* EXPMatchers.h in Headers */, - 07CEA1D649A728B0D963AD1113C98B58 /* EXPUnsupportedObject.h in Headers */, - A153917F76E52B405C5914771613E9D4 /* NSObject+Expecta.h in Headers */, - 6947A74A7CCE879510F8CD52A7D0272A /* NSValue+Expecta.h in Headers */, + 43A375FD41EC165799C29D1A236A5209 /* DDDKeychainWrapper.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0A1C2B07813030B0D51EB1D804A4439E /* Headers */ = { + 135E06379292BAEA4DDD0EE659589AE2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 17889562A613EFB9E8C0CD14947CCC8F /* AFAutoPurgingImageCache.h in Headers */, - E66EDE92DE4B13E4853191475509CDFB /* AFHTTPSessionManager.h in Headers */, - 945F691AD18DC2361A75C6621E42461C /* AFImageDownloader.h in Headers */, - 1702DB74CC573578862AA584FC9D1632 /* AFNetworkActivityIndicatorManager.h in Headers */, - C60E5845068B90D7760411CE582C2934 /* AFNetworking.h in Headers */, - FC0BDC904394B55C2E9C3A8C308E8EB6 /* AFNetworkReachabilityManager.h in Headers */, - 75D4D1F473F6DA208001A46179BAEB7A /* AFSecurityPolicy.h in Headers */, - 5D437F5C4A12A4552070DCFCC423583B /* AFURLRequestSerialization.h in Headers */, - EDEDABB0A7CE2131C2CF03E094C1840D /* AFURLResponseSerialization.h in Headers */, - 29D221887670387A248AD92AA94253C2 /* AFURLSessionManager.h in Headers */, - AFC6DC1967B85742B8ECA969CED51610 /* UIActivityIndicatorView+AFNetworking.h in Headers */, - B3B907CDAF7FDC60BFE105DDB4B51B6A /* UIButton+AFNetworking.h in Headers */, - D542E74CF3A429E7433464C12405F07B /* UIImage+AFNetworking.h in Headers */, - 8962061859D3579C36C4703E96D8F3FD /* UIImageView+AFNetworking.h in Headers */, - B43CDF265CF01D7C6072082897C51DEE /* UIKit+AFNetworking.h in Headers */, - 7482DD9AE507E2E744A01F061D7C9266 /* UIProgressView+AFNetworking.h in Headers */, - F4AF1BA06F07E566D12446F8AB86C929 /* UIRefreshControl+AFNetworking.h in Headers */, - 63FF4EC1D3DDA4B5ED2F68BFC306B2BF /* UIWebView+AFNetworking.h in Headers */, + DE6B05817658FA630B754D05421587D8 /* StrongestPasswordValidator.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1D0DC2D3C8BA2054F823481C7E0A2E01 /* Headers */ = { + 20B8DC986A67EFF77659A504374A7502 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B456AF903511B066A3AE553E5EBA0DD8 /* StrongestPasswordValidator.h in Headers */, + B14D736299BA7FC6F286FA30D7E373F2 /* DJLocalizableString.h in Headers */, + 4BCE79019BD603FF6B7775814DC455E7 /* DJLocalization.h in Headers */, + 1ABAD35DC2453FC1A7BB3B94C8746AB5 /* DJLocalizationSystem+Private.h in Headers */, + A4CCAE0364E7A158E452A26B49F09019 /* DJLocalizationSystem.h in Headers */, + 48CCA302404C30F8C62A1122D6A51826 /* UIStoryboard+DJLocalization.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 22A4D9040C3EF4043783126B1BEF7A32 /* Headers */ = { + 28E7D9FDEBB56EDBF81AEACED2DE44EF /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 0C8B87202EF8C826FA5EC5E5BDFF7676 /* BFAppLink.h in Headers */, - 368EBA3575A0E7D8F4177D54663D3A72 /* BFAppLink_Internal.h in Headers */, - 5DF642A1886939A7CE29475442034CC2 /* BFAppLinkNavigation.h in Headers */, - 67B00D1DAF27165DC3184061E5B9AC32 /* BFAppLinkResolving.h in Headers */, - C289F222BB659B44825DB44F21BF6D07 /* BFAppLinkReturnToRefererController.h in Headers */, - D67FCACAB2080898E3FB8A15EC03196B /* BFAppLinkReturnToRefererView.h in Headers */, - E2FB3863FFABE664D5A8FB5558EFA758 /* BFAppLinkReturnToRefererView_Internal.h in Headers */, - B80C43AB4DBF298ECFF0FDED74EB431F /* BFAppLinkTarget.h in Headers */, - 0F5C566DDDFB79D7A6BCC25D7C67931A /* BFCancellationToken.h in Headers */, - 47A0E45B07A70EAF83C9C04A934F0A79 /* BFCancellationTokenRegistration.h in Headers */, - 496CEBD91E685BDEE54BE6D11ED59711 /* BFCancellationTokenSource.h in Headers */, - 5B0C45E35FE6C61AEB230DAB0D727CFF /* BFExecutor.h in Headers */, - C40E243F276CCE8C4BE922243572D49F /* BFGeneric.h in Headers */, - 8CD0E790A1AD5AA4908ADFF8BD1ABBF2 /* BFMeasurementEvent.h in Headers */, - 31182A7DDE0188775D8275001EDE7F94 /* BFMeasurementEvent_Internal.h in Headers */, - B4FD7DF0F890DA3BF96606A6BB34BFD5 /* BFTask.h in Headers */, - 7BAF4C13BA42D722CEA52471CABBF058 /* BFTaskCompletionSource.h in Headers */, - 3E5E38E786F6517C0D8F74BB572D8985 /* BFURL.h in Headers */, - 49F7563B9792D3469C613D7FE3DCEF71 /* BFURL_Internal.h in Headers */, - DED03A83F5A60E899DA246C3A83EBACA /* BFWebViewAppLinkResolver.h in Headers */, - E4C486459A5F6055051BED9076844C03 /* Bolts.h in Headers */, + 46E4B5B6B00026940A4F68E4B3DCE84A /* FBSDKAppGroupAddDialog.h in Headers */, + CDBACFE3595B7810F501F7401E25AE09 /* FBSDKAppGroupContent.h in Headers */, + 188E716EBDF21E71A02CC7EFB29C6C30 /* FBSDKAppGroupJoinDialog.h in Headers */, + 09C0057FD1DEEF4659BAB5030B00B77A /* FBSDKAppInviteContent.h in Headers */, + E81D9CAD6E38E6A11EE835CC45943CF9 /* FBSDKAppInviteDialog.h in Headers */, + 6A79CB0F6CBA69860AA8F3340128DC1D /* FBSDKCameraEffectArguments+Internal.h in Headers */, + 449CEA122C4676A1B00D3A3C3CBE7A6E /* FBSDKCameraEffectArguments.h in Headers */, + 584EB991FA3571F93AD6C6F8CBE40ECB /* FBSDKCameraEffectTextures+Internal.h in Headers */, + 52013313F8863A2E5BD7EBBBC151080E /* FBSDKCameraEffectTextures.h in Headers */, + 5CF3B82DFDB3064C86E53278994C1532 /* FBSDKCheckmarkIcon.h in Headers */, + CC17AFEFD713E37E561285987DD29B15 /* FBSDKGameRequestContent.h in Headers */, + AD822B83292C5C186C2581BBC86842F3 /* FBSDKGameRequestDialog.h in Headers */, + 17A9072498EF63122AEF07383B4A9761 /* FBSDKGameRequestFrictionlessRecipientCache.h in Headers */, + 6619FEF6F9675153A61F0052BFE0C2D1 /* FBSDKHashtag.h in Headers */, + 6DC8E9658B53381381FF83D6CAB7562F /* FBSDKLikeActionController.h in Headers */, + E52D40C69C9451A95D4EB12E55F0C1B5 /* FBSDKLikeActionControllerCache.h in Headers */, + ECD308C08C8456FC6B2A4BA1BC9902B1 /* FBSDKLikeBoxBorderView.h in Headers */, + 4FEACBD15B82E17E01DAF9C08F9A3845 /* FBSDKLikeBoxView.h in Headers */, + 8D5A376E51ADE0B377F302FB4E27C6B1 /* FBSDKLikeButton+Internal.h in Headers */, + B1F4A0076ECF098DF51D77B65DABCB17 /* FBSDKLikeButton.h in Headers */, + 8F5C8E3BEFC7BA916E0E538BFB6B1638 /* FBSDKLikeButtonPopWAV.h in Headers */, + D22BBEE4E9A6F0D6CE505B5F5B038F99 /* FBSDKLikeControl+Internal.h in Headers */, + 99A2E0F759E819C5A930D72C10354A9A /* FBSDKLikeControl.h in Headers */, + CCD02E5E143C8FEF45E983835202DE47 /* FBSDKLikeDialog.h in Headers */, + 57FA9C9E75997394348C17E6F2F7DEB9 /* FBSDKLikeObjectType.h in Headers */, + 05185729116B927A056C7AF9754C4539 /* FBSDKLiking.h in Headers */, + 92763E0B98BFA7F74976576A06F9BDEF /* FBSDKMessageDialog.h in Headers */, + 722F4F7059004BC26B05B04159A8F02D /* FBSDKMessengerIcon.h in Headers */, + 70C2B4A4DF9A6936BC3F62E5A1A598D0 /* FBSDKSendButton.h in Headers */, + D9BE0B9B91D0C624AE71E09E800A1496 /* FBSDKShareAPI.h in Headers */, + F3750DCD37E60C5EE8D8401B83B9F86E /* FBSDKShareButton.h in Headers */, + 4A98F2855308B3D4747CADBFD1645254 /* FBSDKShareCameraEffectContent.h in Headers */, + 5DE6FF81784F3E5A4B2613938B81B958 /* FBSDKShareConstants.h in Headers */, + 552B55E25CD26A0A0881FD8C7855EF2E /* FBSDKShareDefines.h in Headers */, + 1ECF3D2B32C6DED2CE0769D30757CE08 /* FBSDKShareDialog.h in Headers */, + A1D6D467725CEA1E1DC7CAB5BEA0B96D /* FBSDKShareDialogMode.h in Headers */, + 27AE1E66223D92B631DB67BC329BEA61 /* FBSDKShareError.h in Headers */, + C09D68B57794FCA0A63B590B7AE55F2F /* FBSDKShareKit+Internal.h in Headers */, + E155E59C839A05C01878A9630051B628 /* FBSDKShareKit.h in Headers */, + 224EBFFFCE79EF531EBBC5764B8F47C8 /* FBSDKShareLinkContent+Internal.h in Headers */, + F9B545C30B1E4CD25DF7D3A49CC14DF3 /* FBSDKShareLinkContent.h in Headers */, + EF4D23FC58F9782C3EAE252D5447F2F2 /* FBSDKShareMediaContent.h in Headers */, + 3EED88EEDE1C0C7A16DC71CA2DDE4EA3 /* FBSDKShareMessengerActionButton.h in Headers */, + 580133EA8C6B03050D04359FBD1864A5 /* FBSDKShareMessengerContentUtility.h in Headers */, + 28ECD775F8DCC733D298F8ABA2013C6A /* FBSDKShareMessengerGenericTemplateContent.h in Headers */, + 2F3272F9B3E950E60A797EF3BF9D1A61 /* FBSDKShareMessengerGenericTemplateElement.h in Headers */, + 6B3798C77A446D3A3FE2F40801BCFF98 /* FBSDKShareMessengerMediaTemplateContent.h in Headers */, + 0D3C5DD6B9F4D84D787D9AE239C810AB /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h in Headers */, + 9308DA2187804CCE5AEB594FC69433B2 /* FBSDKShareMessengerURLActionButton.h in Headers */, + 8789804AC1D6DB6E826562679A0B5755 /* FBSDKShareOpenGraphAction.h in Headers */, + 44FD0E419777DFA3AD0463D952EB0772 /* FBSDKShareOpenGraphContent.h in Headers */, + 40509D22018572758A17B9974F7A4189 /* FBSDKShareOpenGraphObject.h in Headers */, + A9884A2EDCE569C96A067FC4EF36C01F /* FBSDKShareOpenGraphValueContainer+Internal.h in Headers */, + D1FB09E6227F5F596C07468BCFBD7165 /* FBSDKShareOpenGraphValueContainer.h in Headers */, + 0550B4BF59B1049BD82A1D505D494E7F /* FBSDKSharePhoto.h in Headers */, + 54AD6DE6A29D9DAA91597608E2FE005F /* FBSDKSharePhotoContent.h in Headers */, + E3562A44D795D0A7E599FD2E90FD2029 /* FBSDKShareUtility.h in Headers */, + ABC3CB7089B6AA83B96FCB031E455EA6 /* FBSDKShareVideo.h in Headers */, + 6AF2F5C155E6B7CFEF956A11F4FAC79E /* FBSDKShareVideoContent.h in Headers */, + DFFE4A79C08EBBEA4A9FF707A8E053DA /* FBSDKSharing.h in Headers */, + 1C5BEFFB0A0C786594702A006EEC6CE5 /* FBSDKSharingButton.h in Headers */, + 7C7613E6DD3B5405607CE0212323BFED /* FBSDKSharingContent.h in Headers */, + D9C2977315727943B95783191594F4BA /* FBSDKSharingScheme.h in Headers */, + D772B9EAAD53EE795989F4980949367A /* FBSDKSharingValidation.h in Headers */, + CA71B66465DCED2490A49660B2B14450 /* FBSDKVideoUploader.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 33434249A1058D89100B5CA9AF3DD90F /* Headers */ = { + 403C1ED2B66F053BC2C51F88F8C3FE08 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2929DFF99B3D834EC080FE2817DCA2A5 /* NSDate+NSDate_Util.h in Headers */, + A49198B98E5C0BB49892785E10D0F7A8 /* _FBSDKTemporaryErrorRecoveryAttempter.h in Headers */, + FB6E7FBAF9F3350D2EFCE428BAE57289 /* FBSDKAccessToken.h in Headers */, + 18280685903B8517AA27746BD27DEC76 /* FBSDKAccessTokenCache.h in Headers */, + 2F00F1852018F6AF3EDAFD7E8ABB744D /* FBSDKAccessTokenCacheV3.h in Headers */, + D6E1856128BBBA14F707E98BB604EC93 /* FBSDKAccessTokenCacheV3_17.h in Headers */, + 5CB4B2864D1BC7CFD01093A34233FC62 /* FBSDKAccessTokenCacheV3_21.h in Headers */, + 46C0B3FCB2E2C02C974CBA1411DFAF25 /* FBSDKAccessTokenCacheV4.h in Headers */, + AC3A306E8F74654902835F64C33B0E0D /* FBSDKAccessTokenCaching.h in Headers */, + 7F8D82B2DC379FD4555A31361E385183 /* FBSDKAccessTokenExpirer.h in Headers */, + 824ABE35BCC524701DB1EA1C6B990717 /* FBSDKAppEvents+Internal.h in Headers */, + D18BD7987D2CA65008AE124484765BC5 /* FBSDKAppEvents.h in Headers */, + C960C17E58C7F8869EECC9C019E306D8 /* FBSDKAppEventsDeviceInfo.h in Headers */, + 935CEB07FC411261B561544D90FB3A66 /* FBSDKAppEventsState.h in Headers */, + 90EF13FE2052073904121CAB7187AEEB /* FBSDKAppEventsStateManager.h in Headers */, + 1EFA02B376598B7BBED28346C8753E28 /* FBSDKAppEventsUninstall.h in Headers */, + E58D3CB8F9931D3436E6C6CE67C718CC /* FBSDKAppEventsUtility.h in Headers */, + 9704CA353B00EBF0F17D8FE45C56094F /* FBSDKApplicationDelegate+Internal.h in Headers */, + 6704388A6D061F750D5935EF16F23EAB /* FBSDKApplicationDelegate.h in Headers */, + 38DD78F4364DEC953B9F985FA92A3FB4 /* FBSDKAppLink.h in Headers */, + 11C3318EF5EF0363DF1E0BA0638BCF43 /* FBSDKAppLink_Internal.h in Headers */, + F50941D5934274FBA2BEA0A289CC39C3 /* FBSDKAppLinkNavigation.h in Headers */, + 108871841048D34FCD7ABE208F1C4D0C /* FBSDKAppLinkResolver.h in Headers */, + FD7959AE4ED808E106CED3E794AE82A2 /* FBSDKAppLinkResolving.h in Headers */, + 340798B6FC125386C76859EA154B51E2 /* FBSDKAppLinkReturnToRefererController.h in Headers */, + 988A897C68668FD2699C106891E5EDED /* FBSDKAppLinkReturnToRefererView.h in Headers */, + 1D0D64823BF323E997715CA85450E551 /* FBSDKAppLinkReturnToRefererView_Internal.h in Headers */, + 2A4662905490343662D2B5C9BBE10845 /* FBSDKAppLinkTarget.h in Headers */, + E742F9FCAA56C970BCC0568FCC6A7725 /* FBSDKAppLinkUtility.h in Headers */, + C7150A505CFD257A50D71B17A42910BF /* FBSDKAudioResourceLoader.h in Headers */, + E00CBCA8D11F3B297B594BC1EB0A946C /* FBSDKBase64.h in Headers */, + 54FED1ABB9325BAF9830CD2828198843 /* FBSDKBoltsMeasurementEventListener.h in Headers */, + 731833E6AB52A6FB84DEB14EE63F1ED0 /* FBSDKBridgeAPICrypto.h in Headers */, + D67D67B12F46354719F13F401866FA2C /* FBSDKBridgeAPIProtocol.h in Headers */, + B61ECF9951BDAA47C2A0F8026561382B /* FBSDKBridgeAPIProtocolNativeV1.h in Headers */, + 2BB317087B5BD4CEEDBF599295F74117 /* FBSDKBridgeAPIProtocolType.h in Headers */, + 7F365743FCA2E9F7EDC0F263974F57FE /* FBSDKBridgeAPIProtocolWebV1.h in Headers */, + A2893F4ACEC4878AE7A813BC87DF8CE7 /* FBSDKBridgeAPIProtocolWebV2.h in Headers */, + 3A232DA217B1001ADAC04AF1DED9DB36 /* FBSDKBridgeAPIRequest+Private.h in Headers */, + 0A1AF115F308A6C498AEDDA1EBCF3CF1 /* FBSDKBridgeAPIRequest.h in Headers */, + 4B6FD049765DBAE95476186D50C81A6D /* FBSDKBridgeAPIResponse.h in Headers */, + 56C2DB17A9779095DC6A92D40560E170 /* FBSDKButton+Subclass.h in Headers */, + F862133FFC4970CE1E7049B3F64E99EB /* FBSDKButton.h in Headers */, + 34FFFA1167F9A5A163406DF4499401E7 /* FBSDKCloseIcon.h in Headers */, + 0D7E001306FB9D7B7CC00EF937083824 /* FBSDKCodelessMacros.h in Headers */, + 1C5DBE11967543148446FACF449C3885 /* FBSDKCodelessParameterComponent.h in Headers */, + B4E78AC964A04F565CF39007DA69D21E /* FBSDKCodelessPathComponent.h in Headers */, + B2BADD56B4205B6455C811CAAC44EB75 /* FBSDKColor.h in Headers */, + 4FAAB3660027FAC050A74C50CBD73231 /* FBSDKConstants.h in Headers */, + B81C0407BB365772AF796E215E3B5242 /* FBSDKContainerViewController.h in Headers */, + FAA4F33836850A5C1A2E7E7AABBFFC46 /* FBSDKCopying.h in Headers */, + A31E14CE478562FD973C0B7AE52828A2 /* FBSDKCoreKit+Internal.h in Headers */, + 34F69CC34872B435330A29D530FE63A4 /* FBSDKCoreKit.h in Headers */, + 725CCAAF04DC3601E4654019526F8EAF /* FBSDKCrypto.h in Headers */, + 09ADD3463A685ED824702245C079C8B8 /* FBSDKDeviceRequestsHelper.h in Headers */, + 6E7858347B08E3DF327E57979BB18517 /* FBSDKDialogConfiguration.h in Headers */, + 589A28C1BD126C470D35FF87C1731232 /* FBSDKDynamicFrameworkLoader.h in Headers */, + 9130F2B076F9DA0F5141BA3C1081EC43 /* FBSDKError.h in Headers */, + 92EC832F4B912E0F946DDA210FED5871 /* FBSDKErrorConfiguration.h in Headers */, + E46299E8D5384050881242D7672B425C /* FBSDKErrorRecoveryAttempter.h in Headers */, + 656A9171F1D093E42DB3ED1BE457938A /* FBSDKErrorRecoveryConfiguration.h in Headers */, + EB6D9A8D925F6815C154269253739597 /* FBSDKEventBinding.h in Headers */, + 22D77C86C41F5BD76A0A4437BB30E166 /* FBSDKEventBindingManager.h in Headers */, + 57F1098F692CAEE9463F08D4BEAD6639 /* FBSDKGraphErrorRecoveryProcessor.h in Headers */, + 5C030388FB39B3282C460E73545A74B2 /* FBSDKGraphRequest+Internal.h in Headers */, + 3FF44F4B7C7249A431DE9B6A01F006EC /* FBSDKGraphRequest.h in Headers */, + FAF562AFA2369A2465D3A3B75B0EA939 /* FBSDKGraphRequestBody.h in Headers */, + 494F9C90E427437A64345EFD97B24110 /* FBSDKGraphRequestConnection+Internal.h in Headers */, + 6CF51E4CD911CC37BD3BC983147A1F32 /* FBSDKGraphRequestConnection.h in Headers */, + 977BA43F2E386199621B4EEF5529AC52 /* FBSDKGraphRequestDataAttachment.h in Headers */, + B81578EB27000DC5531AA588AE3AAD2F /* FBSDKGraphRequestMetadata.h in Headers */, + 1BFC968ADFAF4F910818A182CDF07EBB /* FBSDKGraphRequestPiggybackManager.h in Headers */, + 9F10206DF65903B81CD3F816985269F7 /* FBSDKHybridAppEventsScriptMessageHandler.h in Headers */, + 9DE7C3FB6171B8038748F48AAFB3DBDE /* FBSDKIcon.h in Headers */, + 58FAE1B62B5CB317C1864645E4A00E0C /* FBSDKImageDownloader.h in Headers */, + 561EE129AC0DB801204077B18B6A035C /* FBSDKInternalUtility.h in Headers */, + 7C94F778956DE5C5B26E0DD8209B2008 /* FBSDKKeychainStore.h in Headers */, + EC954F98976DBCD2C5E5811605BB46A6 /* FBSDKKeychainStoreViaBundleID.h in Headers */, + 346777A7B527D4304B9A01624EA0483E /* FBSDKLogger.h in Headers */, + 78E84D9F67AC3D515E2489187D6E6858 /* FBSDKLogo.h in Headers */, + 3CDDB713C31C45BA2279C4A398ECF24D /* FBSDKMacros.h in Headers */, + 41617DB18E0304559B81D83FE6D10356 /* FBSDKMaleSilhouetteIcon.h in Headers */, + FD4EA33D2F522E56F079677C55419981 /* FBSDKMath.h in Headers */, + A90E0F4E5B6411187B120FE58E05B19C /* FBSDKMeasurementEvent.h in Headers */, + 3A60D4659A54DA4A4013E1CBE261D9F2 /* FBSDKMeasurementEvent_Internal.h in Headers */, + 1DA3E5951079ED7BB5FBC108102BB150 /* FBSDKMonotonicTime.h in Headers */, + 5AD96ECFA4E51B3AED9A4355D6DC3BD6 /* FBSDKMutableCopying.h in Headers */, + 1316AD4724A521235B74E419BECCA208 /* FBSDKPaymentObserver.h in Headers */, + 74BBEA978F44711C7F7B1F7437FBD674 /* FBSDKProfile+Internal.h in Headers */, + 0B125FBEA33B922D6A58FF0617C8111E /* FBSDKProfile.h in Headers */, + C756B43DD45331E8FDAF4E336C0F1238 /* FBSDKProfilePictureView.h in Headers */, + 0D18D671FB019E5EFAA82CEBA4D6BB92 /* FBSDKServerConfiguration+Internal.h in Headers */, + F9BCE07797B19F778A9E7100E4A9AF72 /* FBSDKServerConfiguration.h in Headers */, + 759380B7535BF389BFC236BB1CBE2908 /* FBSDKServerConfigurationManager+Internal.h in Headers */, + 2C7EC772E87A746723857AC903AF2F90 /* FBSDKServerConfigurationManager.h in Headers */, + 51157F5787119DA743B3CDCF26C2BC82 /* FBSDKSettings+Internal.h in Headers */, + F0E536CBC0AB099E0B143547EFAAD6C2 /* FBSDKSettings.h in Headers */, + 9E4BEDC737A45D91B6F193E72384088C /* FBSDKSwizzler.h in Headers */, + 2A4536F0731EC4249479D0F6805AB9EA /* FBSDKSystemAccountStoreAdapter.h in Headers */, + 542EEE9F64801548D7D715C76DE67212 /* FBSDKTestUsersManager.h in Headers */, + F085E2BCC622A96E91213ADFFD1E3953 /* FBSDKTimeSpentData.h in Headers */, + 64E385C5B6D77DF22B536BDDF7C25C0D /* FBSDKTriStateBOOL.h in Headers */, + EDE5C02715557E5CEA92915847FF2AE3 /* FBSDKTypeUtility.h in Headers */, + 57DE7FD54FA977AE629EF8DC9CC40DF0 /* FBSDKUIUtility.h in Headers */, + 8B091229A9A83FE798827C0C8BA60A99 /* FBSDKURL.h in Headers */, + 4739AE05F2E34C90B7BD2AE0BEB92650 /* FBSDKURL_Internal.h in Headers */, + 56CDEC1A2C8DC901A01F0358A08EADBC /* FBSDKURLConnection.h in Headers */, + 920205AB031DC94595A6B49DA887B3B9 /* FBSDKURLOpening.h in Headers */, + 1080F1D985357A95E3F9829CF4C19E80 /* FBSDKURLSessionTask.h in Headers */, + AC7F19718C449A9DC6F00DA6027E0EF9 /* FBSDKUserDataStore.h in Headers */, + E282A5F1E1D7D5172562141D53A4F1CC /* FBSDKUtility.h in Headers */, + AE691DD1EB97FEE2480FA4E0C99A009B /* FBSDKViewHierarchy.h in Headers */, + 2800FDB5AA5EDE296635E8BC3A07D292 /* FBSDKViewImpressionTracker.h in Headers */, + 6C65E7BD2C584A2718EBC713E6247E84 /* FBSDKWebDialog.h in Headers */, + 39B59AE5EB29B1F0BB134DCFA3E02F66 /* FBSDKWebDialogView.h in Headers */, + A2AD68C8C56C0DAD0299462D11A8E0EC /* FBSDKWebViewAppLinkResolver.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 335B1A14405F731A64F99E9D5A9A61A4 /* Headers */ = { + 414F5E05F563EB80FF0808DAAD6B8637 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - ADA07BAAEF3FBFB8E1F03BF0157CCEF5 /* _FBSDKTemporaryErrorRecoveryAttempter.h in Headers */, - 7BAF30DB5701CE75E20DF0AC3905032E /* FBSDKAccessToken.h in Headers */, - 3AEC9213DED095BCF9400F1E51F6A789 /* FBSDKAccessTokenCache.h in Headers */, - D63E8ECBC2FE76F37872ECE745B835DF /* FBSDKAccessTokenCacheV3.h in Headers */, - 4D26F2B460D21D584833EB5653AFCC94 /* FBSDKAccessTokenCacheV3_17.h in Headers */, - 520A813691309DD856F26CDC78F9C551 /* FBSDKAccessTokenCacheV3_21.h in Headers */, - 88DC78AB1222106AFA1E1BA9999A93BF /* FBSDKAccessTokenCacheV4.h in Headers */, - 9C841EA77B147BE3F0EC654B24C17EF7 /* FBSDKAccessTokenCaching.h in Headers */, - F7D0620B3958ABA31C96ABAFAB690142 /* FBSDKAccessTokenExpirer.h in Headers */, - BC846415AAB664CBBDF3BD94CC260BB4 /* FBSDKAppEvents+Internal.h in Headers */, - FDD639FFC2EC1CC93A5E8AAC7618EC1C /* FBSDKAppEvents.h in Headers */, - 1F3CDAB1E7FDA534CBDC1B3035348315 /* FBSDKAppEventsDeviceInfo.h in Headers */, - E93940855F4FEEED2479F552486480CF /* FBSDKAppEventsState.h in Headers */, - 3E36C51DAEF4FB31BF0EEA17D9E7D831 /* FBSDKAppEventsStateManager.h in Headers */, - EA31CCC1A4A32DBE4CD939023099CA7D /* FBSDKAppEventsUtility.h in Headers */, - B883ACAD78938017F38872F1CDF3D0FD /* FBSDKApplicationDelegate+Internal.h in Headers */, - 0B067AC8A5A8D93019FCEEB7C599AE63 /* FBSDKApplicationDelegate.h in Headers */, - C88D0D6EE04A57EAB506397F44BF01CA /* FBSDKAppLinkResolver.h in Headers */, - 3113DC14427E9E70C82CA7112EFD2C01 /* FBSDKAppLinkUtility.h in Headers */, - D336881A906F38326044C1E777EC955F /* FBSDKAudioResourceLoader.h in Headers */, - ECCB3BD11FA6A97F04934E8FF614F200 /* FBSDKBase64.h in Headers */, - 1130AB6C88407245C39BC270B8B2F8EE /* FBSDKBoltsMeasurementEventListener.h in Headers */, - E57365155D043153512AE31E73A3AE8D /* FBSDKBridgeAPICrypto.h in Headers */, - DE2EAB4C0F46B40F3C00D11222011BF3 /* FBSDKBridgeAPIProtocol.h in Headers */, - 07EFD1CB4B2D99D0BB07C1451A95060C /* FBSDKBridgeAPIProtocolNativeV1.h in Headers */, - 51BF5FE55C5AEC38C36AD96822268DD7 /* FBSDKBridgeAPIProtocolType.h in Headers */, - D1F62B0212BDEFC61812FE38AED35B65 /* FBSDKBridgeAPIProtocolWebV1.h in Headers */, - 3442B34E6408F5B478C44B9017ACB369 /* FBSDKBridgeAPIProtocolWebV2.h in Headers */, - 63CA43AF7994AE185702F99F696B5F56 /* FBSDKBridgeAPIRequest+Private.h in Headers */, - D3ECF7A5A1034D918057FEEE53B9EB0F /* FBSDKBridgeAPIRequest.h in Headers */, - 6EC04E76788C76D33037576420E59B7F /* FBSDKBridgeAPIResponse.h in Headers */, - FF881F8710F108A1AE53DED6DB25A494 /* FBSDKButton+Subclass.h in Headers */, - D46537A36A855947A478149426F38A54 /* FBSDKButton.h in Headers */, - 1B0AA4F65020AC674FB43CA1730AA58F /* FBSDKCloseIcon.h in Headers */, - 6B190C7E93517A1E10B4BB7021A5EDF6 /* FBSDKColor.h in Headers */, - 2E07BF758F5A8F957BBD0E18A3CFFEB9 /* FBSDKConstants.h in Headers */, - 782AA5585A48FF46D4E23ED0C9BF6B10 /* FBSDKContainerViewController.h in Headers */, - 5C27AB38412C395631C493F9585AC4AA /* FBSDKCopying.h in Headers */, - 4C2713B09FF4FBE01F73CD6E3AE6F3F7 /* FBSDKCoreKit+Internal.h in Headers */, - 1C140434E35E0C2575626CC3341C936A /* FBSDKCoreKit.h in Headers */, - C38A3E0DFD4FCC133AFF0B6329BDB14C /* FBSDKCrypto.h in Headers */, - 8DF2B98D8D28CDF7C48D8819B51DAB92 /* FBSDKDeviceRequestsHelper.h in Headers */, - 3BC1D1322B47FCDD09500DEF9FADD824 /* FBSDKDialogConfiguration.h in Headers */, - 45A0413B83FBE40F6A15E8889E572709 /* FBSDKDynamicFrameworkLoader.h in Headers */, - D188BE317A7E79F22B52FC381ADE4340 /* FBSDKError.h in Headers */, - 6C41C6F88BB52DABDD4A6BE4CC558FB7 /* FBSDKErrorConfiguration.h in Headers */, - 0B38F73501E22992A74CC468E6D2DCCF /* FBSDKErrorRecoveryAttempter.h in Headers */, - DBA26625E0BAD6485F796B4F17133EDA /* FBSDKErrorRecoveryConfiguration.h in Headers */, - 568ABE80C8E753C0932206E54A4B2267 /* FBSDKGraphErrorRecoveryProcessor.h in Headers */, - A3C081EAD0E50239D13F6B49FE6352D9 /* FBSDKGraphRequest+Internal.h in Headers */, - C5CA0B6EA417B7F4E7FAA346B7CAA461 /* FBSDKGraphRequest.h in Headers */, - C04ED7A43BFE3C84895F30CAE8E280E9 /* FBSDKGraphRequestBody.h in Headers */, - 648D6EEB6723D2DE2E269B8B4112EE66 /* FBSDKGraphRequestConnection+Internal.h in Headers */, - 91BD82007A55A6352188B52EBE3187A7 /* FBSDKGraphRequestConnection.h in Headers */, - 813F5DA064B164015D132FFC45EF17BE /* FBSDKGraphRequestDataAttachment.h in Headers */, - D54D8723D019ACDF03024012ABC2A437 /* FBSDKGraphRequestMetadata.h in Headers */, - 7E0FF16C1567C0EDA0D09404A5C68E8E /* FBSDKGraphRequestPiggybackManager.h in Headers */, - 78B150B2BE7782E85A28A3B335E546CE /* FBSDKIcon.h in Headers */, - 7232A4105C3D9C4A65F2AD036C161FD0 /* FBSDKImageDownloader.h in Headers */, - CD030F6DBB3746CDCB8822113214DF55 /* FBSDKInternalUtility.h in Headers */, - F01B09E4E00F0E3BB617CECA6343AEFA /* FBSDKKeychainStore.h in Headers */, - 9207C4B218E6E486BE9AF4B4224EA93D /* FBSDKKeychainStoreViaBundleID.h in Headers */, - C0774F779DD8D233098AB713DB736427 /* FBSDKLogger.h in Headers */, - 1BBB0B4B33484A3A7DADBD71984D586D /* FBSDKLogo.h in Headers */, - A84C623D6D0B9C5A385C48DB1EA6414D /* FBSDKMacros.h in Headers */, - D87A8B2FC0ACC976C463FB5602B622EA /* FBSDKMaleSilhouetteIcon.h in Headers */, - 1A89FE97F30318AA4C8B41A6E2EB0E3F /* FBSDKMath.h in Headers */, - C2AC4329DC66EE276EEE79B8577D5459 /* FBSDKMonotonicTime.h in Headers */, - 51701ECBF1223F04730E608CD040D678 /* FBSDKMutableCopying.h in Headers */, - 35B2E91A246CAA3999B355E8765146AC /* FBSDKPaymentObserver.h in Headers */, - 68B6FABC5436AE7D343F358DA6348A6E /* FBSDKProfile+Internal.h in Headers */, - 9693216A72FE477976AFF064425CF6A7 /* FBSDKProfile.h in Headers */, - EA530698DA9328E84217B2632E97B4C3 /* FBSDKProfilePictureView.h in Headers */, - 24AE365F708C35CE89098DFB2BB75A14 /* FBSDKServerConfiguration+Internal.h in Headers */, - 95C3F4B2F8680D4CD140D62C8571FA5C /* FBSDKServerConfiguration.h in Headers */, - 59D73581D171174766C77C56707002AA /* FBSDKServerConfigurationManager+Internal.h in Headers */, - 48AF6A227A7B1255EA2CD77DBC8C2688 /* FBSDKServerConfigurationManager.h in Headers */, - BACC783D7F279C93D656F5E3143C052A /* FBSDKSettings+Internal.h in Headers */, - 8C2E1596A09E080ACC3749105F5E0BC0 /* FBSDKSettings.h in Headers */, - 0DAB98D1D9A846CC1872086B751B4876 /* FBSDKSystemAccountStoreAdapter.h in Headers */, - DD1849D5FDCCD280CBC8274AC43E201D /* FBSDKTestUsersManager.h in Headers */, - 5F8D0038722F23F1392B53E61580B5BF /* FBSDKTimeSpentData.h in Headers */, - 70FC4A9B2DFE07D5AD45A6E3AF155FCA /* FBSDKTriStateBOOL.h in Headers */, - 60E05462345E9E07DACAB01502B3A252 /* FBSDKTypeUtility.h in Headers */, - 67477C053251637D2BB9B1FB3A16591D /* FBSDKUIUtility.h in Headers */, - 2947D51FCCCD7FDE7AFAF60B09311A3D /* FBSDKURLConnection.h in Headers */, - C54449EBBF72CB9CD18E49DD23CB9C7A /* FBSDKURLOpening.h in Headers */, - BDFFC948BC52136594B63A951A4F70CF /* FBSDKURLSessionTask.h in Headers */, - 7B95E3B5D17F07C2C6DFD96958F10F8C /* FBSDKUtility.h in Headers */, - 8AB3D4EE56551FD68566F18B6B8569C9 /* FBSDKViewImpressionTracker.h in Headers */, - 00C48FAA34154021596A1681ADE15ABD /* FBSDKWebDialog.h in Headers */, - 294AEF33791FD789B352E9E6312F6B46 /* FBSDKWebDialogView.h in Headers */, + 67739FEF1C037432A2CF1DF2E1093590 /* ALView+PureLayout.h in Headers */, + 0BAFF1949FC6F2B5F412297CF4375A94 /* NSArray+PureLayout.h in Headers */, + A1C67CC8B456DB58DD45A5F13534C7E2 /* NSLayoutConstraint+PureLayout.h in Headers */, + D19E441F3323329722629EF0AAAFE2CB /* PureLayout+Internal.h in Headers */, + 788FE9B988F7485F3483370F7FC8C0D0 /* PureLayout.h in Headers */, + 4F38CAFE2AD68D3E5D36A79DCE736D2D /* PureLayoutDefines.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 433CB6E0577A463E64D5C29B7B28E607 /* Headers */ = { + 58E8BD2A84EE618981ACCB84F022A3BA /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A63FFEDFE6AD36D498CFB572084FEEB6 /* DDDKeychainWrapper.h in Headers */, + EAD1758DA7AB856D50047EA8465DEB32 /* CodFis+Helper.h in Headers */, + A14858EFB92503250412D4DC000E6388 /* CodFisResponse.h in Headers */, + E498771AE0D01B72AD777A84821F6FC5 /* ResponseConstants.h in Headers */, + AF2E1D84AC3C2318579CED74EF6D5294 /* VatNumber+Helper.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 467F32D12E8D6F8971FB6C1856EE1EF2 /* Headers */ = { + 5F1D4C29426B6B50ADFD6CE7E9764FED /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4D2E8DD01DA026065AF8A003803DF03E /* NSString+Helper.h in Headers */, + D58BD72826927EDB727E3C1AC28E18DA /* UIDevice-Hardware.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4C31DDE2CB21730AFD81670C20AC04C3 /* Headers */ = { + 5FA72E8465A826C361915D255C10809F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A191EF60686F5CF8B659DF06D04410E7 /* HTTPStatusCodes.h in Headers */, - FE84AC96EC28C0CBAEFC5685D6899F49 /* nv_ios_http_status.h in Headers */, + 1C34EC9BBFDDE10CD9F3847B75EDAAF9 /* NSObject+RZDataBinding.h in Headers */, + F714FEE048F7550293C8383C834E6919 /* RZDataBinding.h in Headers */, + 7C204A362F58FDE21BF3C158E2FC5981 /* RZDBCoalesce.h in Headers */, + F7491890DCB4D7E298F15902820BCA0F /* RZDBMacros.h in Headers */, + FF80DB2AB04646EF29DDA19BA77D61FD /* RZDBTransforms.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5F5182DA41168FA98A834EA335118B57 /* Headers */ = { + 64B0478A023178922DC7D6E9ED57DAD6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 48E44CD551C3762842C45ADFFFEE1DA4 /* NSData+AES.h in Headers */, - 99E2E29E69B989F25149469A88B83491 /* NSData+AESKey.h in Headers */, - E2C267A336D0E319B03F6112965540B0 /* NSData+AESValue.h in Headers */, - CD106792C4CD0EC47CBF309B1F84050E /* NSData+SHA.h in Headers */, - 3C0EAA54BB34AF1F99A989AD7B92164B /* NSDataAESCipher.h in Headers */, - AD1AFA6C38D9F61C46071F26C9E5F0E3 /* NSMutableData+AES.h in Headers */, + 0EF9C95C80360F9C598CBC725E365EAD /* HTTPStatusCodes.h in Headers */, + BE14473DEDAD7850A96E9EE6BC1423B5 /* nv_ios_http_status.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6018060235ADE88AEA25DDE2CA395816 /* Headers */ = { + 6BEB3C67F7FFB280AB1882CD015BF9A1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 8DAA551F632563E19BCC12BCC7524857 /* AFHTTPRequestSerializer+OAuth2.h in Headers */, - 095876CD710AA008D1FE3D98E6909415 /* AFJSONResponseSerializerWithData.h in Headers */, - B8ACF9FE3F1EED818D093B6E71378CC6 /* AFOAuth2Manager.h in Headers */, - 507273FDDE385697F93E88203ED67253 /* AFOAuthCredential.h in Headers */, - 8236BF56A3968CD101F1CB2F402B6C93 /* PNAddress.h in Headers */, - DE871541D1DAF07C7D8FEA98DF1AFBBB /* PNInstallation.h in Headers */, - 1994EE6EAD78C200F8CE50B698594C3D /* PNLocation.h in Headers */, - A29757C39DA01021A80C18FC8F4F5F98 /* PNObjcPassword.h in Headers */, - 4829063664323B1F4A192D2F345D472C /* PNObject+PNObjectConnection.h in Headers */, - B1BACE667D77E61166CF04C9020B2C92 /* PNObject+PNObjectDELETEConnection.h in Headers */, - 1CBCA28D2BC787D60E9677EF3B80B298 /* PNObject+PNObjectGETConnection.h in Headers */, - DD079F5CB64C65F409A95EE596F9A0E3 /* PNObject+PNObjectPOSTConnection.h in Headers */, - 5E9FD15835A4AAB745E72B7EFB3E91B8 /* PNObject+Protected.h in Headers */, - 8E460B1D24C2AE1288AC409E5E097315 /* PNObject.h in Headers */, - 1A464F1F359D6E923DAAE4B50CF541A1 /* PNObjectConfig.h in Headers */, - 8A0713BB1B5D7BBD0706861381D4693B /* PNObjectConstants.h in Headers */, - 677E33E852CADD647BE92A6EE54E7F99 /* PNObjectFormData.h in Headers */, - AD74B049F147D9AF5714F1D09BE078DC /* PNObjectModel.h in Headers */, - BD7C4FD0C08B1AC6291FEE44C3D479CA /* PNObjectUtilities.h in Headers */, - 29BED9B28393AA051A0F18DDF3F85D5A /* PNUser.h in Headers */, + F15D027606061CC85404F7B42DCC4B76 /* EXPBlockDefinedMatcher.h in Headers */, + 6D5F44172F6AAF24D4247D37094BC155 /* EXPDefines.h in Headers */, + 01D2DF942F5EA2CF9A3521A3038A3329 /* EXPDoubleTuple.h in Headers */, + 6849ADCF79AF3D161FBF7F60FEF911CF /* Expecta.h in Headers */, + D8D7E54B80DAA1E55FE055E6D99F0D58 /* ExpectaObject.h in Headers */, + 098562CA49DC385B7C4EB46B312A1C7D /* ExpectaSupport.h in Headers */, + 377BA877A725435D078BD8591ACC2271 /* EXPExpect.h in Headers */, + D237129D7173A137ADFEBC3AB1CD6DB5 /* EXPFloatTuple.h in Headers */, + EF04C640BA7EEEB81446613F22E96774 /* EXPMatcher.h in Headers */, + 318F82D2BD9FF120D4D9EBCE096E9963 /* EXPMatcherHelpers.h in Headers */, + BDDB1F5D66FFF46AC15B13F74D65FA07 /* EXPMatchers+beCloseTo.h in Headers */, + B67E5C353B849EE14AB231F4B6300202 /* EXPMatchers+beFalsy.h in Headers */, + 2BE5F801929C0162A2EC55CB1232C056 /* EXPMatchers+beginWith.h in Headers */, + E94AC102014ABE5C8D37A0A7B465E523 /* EXPMatchers+beGreaterThan.h in Headers */, + BE54A0902E6EB79861B5BCA6990FF0FF /* EXPMatchers+beGreaterThanOrEqualTo.h in Headers */, + 197BD0EAF2B8B8E1DA7B65B82E27133A /* EXPMatchers+beIdenticalTo.h in Headers */, + 993ED47BA6B60C214B39DB4D35E1C04F /* EXPMatchers+beInstanceOf.h in Headers */, + 2CDF58E4DBD75C68C7DFA7EAB88234BF /* EXPMatchers+beInTheRangeOf.h in Headers */, + 4C35E7911543D1BC76F8C272C36640DA /* EXPMatchers+beKindOf.h in Headers */, + 201D40D63C43A4FAB1082EE5098901EB /* EXPMatchers+beLessThan.h in Headers */, + BD513782772FB9C8D088EECEB26994CA /* EXPMatchers+beLessThanOrEqualTo.h in Headers */, + C2B68344FD47E6858D5E4334F0613EE6 /* EXPMatchers+beNil.h in Headers */, + 363458F1BDA4A3C107E84C6060AB3A7E /* EXPMatchers+beSubclassOf.h in Headers */, + 350451B877576A77F8E59C5644EE3C56 /* EXPMatchers+beSupersetOf.h in Headers */, + 56FB80211E0860AC159095C4E100C3C2 /* EXPMatchers+beTruthy.h in Headers */, + 0AE212F7CDA9749547620FE976BA88F4 /* EXPMatchers+conformTo.h in Headers */, + 3328BCF13ECAA14F6A55B3913A9563A9 /* EXPMatchers+contain.h in Headers */, + 97608DD732C7501FA73459EAEFFDBC93 /* EXPMatchers+endWith.h in Headers */, + C81A1DB73312FEEAA34D09324000B55D /* EXPMatchers+equal.h in Headers */, + 9540D014FB0C64E24A6E6A857CEE2647 /* EXPMatchers+haveCountOf.h in Headers */, + 048261C6DC90BD20FB6B7D80D39FAAF1 /* EXPMatchers+match.h in Headers */, + 438D276A2D57438A513843B07D96DF03 /* EXPMatchers+postNotification.h in Headers */, + D6A37D98D7F4B1F3E6BCABC252708FA3 /* EXPMatchers+raise.h in Headers */, + 24F18AC451AF480B2AE995F6AAA6C28E /* EXPMatchers+raiseWithReason.h in Headers */, + 7CED56B0BD2B2620B7BA217EABF2D786 /* EXPMatchers+respondTo.h in Headers */, + CB3682266535621C3A27C76EF64E9867 /* EXPMatchers.h in Headers */, + 4CD6CB8AAFF20879DCBF76E285F28E54 /* EXPUnsupportedObject.h in Headers */, + 623976AE79DDE4B446ADB0AB18158DF4 /* NSObject+Expecta.h in Headers */, + 34247D73BA4ED2166489ABF8D5FB42C3 /* NSValue+Expecta.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 61EA34AC92E25DF60C30E13093743086 /* Headers */ = { + 6F56D06E94B1ECCC13054ADFF6CA3BDE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DBDCE688BE357A55351C634777E33E21 /* NSObject+RZDataBinding.h in Headers */, - 423DBBC0C1F266141B9D9F3D94E79235 /* RZDataBinding.h in Headers */, - 7B8A6D9FC16F49799C6280037B8EB1F6 /* RZDBCoalesce.h in Headers */, - CC7A70EB3995F1476B963598CB122F3B /* RZDBMacros.h in Headers */, - 62BA49AA0D43E7F68069E737554F3FFB /* RZDBTransforms.h in Headers */, + 1AA16342BE87ACC6DE2BC83518BDFCF6 /* _FBSDKLoginRecoveryAttempter.h in Headers */, + EBB345AE250E2766618063FC6ACD5931 /* FBSDKDeviceLoginCodeInfo+Internal.h in Headers */, + ED77A4CF2F0B97B6A0DEF913199402AD /* FBSDKDeviceLoginCodeInfo.h in Headers */, + 64023F7F676FA908189FABFB4480DD64 /* FBSDKDeviceLoginError.h in Headers */, + 1CB925272502B9378C5DF891A6FC1502 /* FBSDKDeviceLoginManager.h in Headers */, + 1ECF98F86E123748E422CD05A555235E /* FBSDKDeviceLoginManagerResult+Internal.h in Headers */, + B09052FE148B0590C79C0C6CD54B560A /* FBSDKDeviceLoginManagerResult.h in Headers */, + 1AF719F550D1F36CD24805149417F8C3 /* FBSDKLoginButton.h in Headers */, + 9D3CD599014B4F30DE56349C117E2948 /* FBSDKLoginCompletion+Internal.h in Headers */, + 8BFF3CC5A8D688A492744775FCB646E5 /* FBSDKLoginCompletion.h in Headers */, + 2095A32CF66523D4354C9DFC8B6DF931 /* FBSDKLoginConstants.h in Headers */, + 1AB0379AA91C582CB55A4611628D2900 /* FBSDKLoginError.h in Headers */, + 508388C4C2D0C7F15FA3C49B1C83ADF5 /* FBSDKLoginKit+Internal.h in Headers */, + 274D7D0AD4D167B0E2D0F9D38A32C31A /* FBSDKLoginKit.h in Headers */, + B17B2D08D123DBB1C541E8562B16BEA4 /* FBSDKLoginManager+Internal.h in Headers */, + 4C0526852A3E399A470F21927CF42F72 /* FBSDKLoginManager.h in Headers */, + E1AF014E9751C5E5497BE55247B37775 /* FBSDKLoginManagerLogger.h in Headers */, + 9B364751F79479816F6EB295523AC7F2 /* FBSDKLoginManagerLoginResult+Internal.h in Headers */, + 7679E06F3D455E0251AB2CB89E925413 /* FBSDKLoginManagerLoginResult.h in Headers */, + E71F169F9EE2D9A0D1C3BFD707EBC597 /* FBSDKLoginTooltipView.h in Headers */, + 267A5EFFF05B4A200CA9FA0F62F89E4B /* FBSDKLoginUtility.h in Headers */, + 78A51680DE2B3C2258E5B7370C3C4F1C /* FBSDKTooltipView.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 651CBDF83FED97A367D5BFC7453F81D2 /* Headers */ = { + 7B6AC967AA7DEBDAEB68F887299C1096 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 04F77578A891A374F5397EFB22DC92FD /* CodFis+Helper.h in Headers */, - A99ED0E479577D9A6EE3D9D297E7CBDD /* CodFisResponse.h in Headers */, - 5F7A9994BDE178C6A0BC5BC7F84A7D9A /* ResponseConstants.h in Headers */, - B58FBEFF3FB819E0567056F62A99A7B6 /* VatNumber+Helper.h in Headers */, + BA7FDA4FBE08D8538A578557CBA6DD4D /* NSDate+NSDate_Util.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 89BD32676632B5797DA79C21DC056AE3 /* Headers */ = { + 9B66352F6C641405218F27E2F73B7466 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - CD283E607D92857B89D30A7AB52F1459 /* FBSDKAppGroupAddDialog.h in Headers */, - 70142C988CF9534083BEC108EDC46A1C /* FBSDKAppGroupContent.h in Headers */, - 1632478F369494BB32B4FAD96ED5A50E /* FBSDKAppGroupJoinDialog.h in Headers */, - 108D1A7E0CF19BEBA753645B6516EE75 /* FBSDKAppInviteContent.h in Headers */, - 31CF84406303E5C15F513E34FFAAF194 /* FBSDKAppInviteDialog.h in Headers */, - FA233DC8E8A9CF5E67F1F456059A7F2A /* FBSDKCameraEffectArguments+Internal.h in Headers */, - A9CBC3E1025849138F1CC14EF9BC2836 /* FBSDKCameraEffectArguments.h in Headers */, - 1DE838EA276D4912FFF016D71C2D54A2 /* FBSDKCameraEffectTextures+Internal.h in Headers */, - 1FB2718F24F2A209BBCFA22EB54CBD64 /* FBSDKCameraEffectTextures.h in Headers */, - A86351C7D9DD78736406E3FD84DC20BC /* FBSDKCheckmarkIcon.h in Headers */, - 4B3D26FDE499B85581293EEB9FD4794C /* FBSDKGameRequestContent.h in Headers */, - A5FC83A2904040D53EE5F630C21551C2 /* FBSDKGameRequestDialog.h in Headers */, - 0212D7241A0E4E37276F410FDF0DE78E /* FBSDKGameRequestFrictionlessRecipientCache.h in Headers */, - 1F523591D668302FB565E286E59C9F20 /* FBSDKHashtag.h in Headers */, - 77B76C209CBEEB52B5FBB13ED0D9EFC9 /* FBSDKLikeActionController.h in Headers */, - 23A2E45323AB9CB2B488B57F2F4D4F09 /* FBSDKLikeActionControllerCache.h in Headers */, - 340DDB4E9B1DB6B21352E5F5110D33B0 /* FBSDKLikeBoxBorderView.h in Headers */, - A47E18704227CF35067AE8D3FE94ADB3 /* FBSDKLikeBoxView.h in Headers */, - 43FEEA2EDFA087E94EC12EAD64031B1F /* FBSDKLikeButton+Internal.h in Headers */, - 99AE240D78D8275E777DE87771EC6A02 /* FBSDKLikeButton.h in Headers */, - F3A8F47BC69BE761EC30A5F02D8A2176 /* FBSDKLikeButtonPopWAV.h in Headers */, - BC831A801164330FF6D941564E638834 /* FBSDKLikeControl+Internal.h in Headers */, - 3D86BDA6619CA78219BADBE0F0622E70 /* FBSDKLikeControl.h in Headers */, - 8F3CC722BCFD80169D97EC2EDEF14586 /* FBSDKLikeDialog.h in Headers */, - 3AE0BB5EF45F95C48CA1771654BB6748 /* FBSDKLikeObjectType.h in Headers */, - E80844C19053A30D6BD7A0C3B73EEEAA /* FBSDKLiking.h in Headers */, - C136CB219348058A53118FF4BCF12C67 /* FBSDKMessageDialog.h in Headers */, - 8D0358876A8871F5118E991B97426F0B /* FBSDKMessengerIcon.h in Headers */, - 3200889D9198D473744AA2C657F335E8 /* FBSDKSendButton.h in Headers */, - 9E54EB08C6ECDD0222FEEAC09DA8A2D5 /* FBSDKShareAPI.h in Headers */, - DB510BB0F9776E21B7F8CE172EECD389 /* FBSDKShareButton.h in Headers */, - 0CA6A548721B022615DAA9CFC3FD9EED /* FBSDKShareCameraEffectContent.h in Headers */, - E35810BC20AB1659125676AC17FB456E /* FBSDKShareConstants.h in Headers */, - EA140C36DB2D6A9AFAE40BA0A1ED7E7E /* FBSDKShareDefines.h in Headers */, - CEDB57A668EE81BA31CE03081718B481 /* FBSDKShareDialog.h in Headers */, - 19FFFD8E5BE5DC4470D247C683219298 /* FBSDKShareDialogMode.h in Headers */, - 40321611C42DE6FADC6E6AFAD3BFDEB9 /* FBSDKShareError.h in Headers */, - 9C51C025962CBC4A3D3DEAD0D10881EB /* FBSDKShareKit+Internal.h in Headers */, - 257FC2F1A0280C9FFC6918D72F9C315B /* FBSDKShareKit.h in Headers */, - 5FC7A3E6ED71AE9796BFD12171FAA858 /* FBSDKShareLinkContent+Internal.h in Headers */, - F14342B6B371DFF46C906DD0AD4F49B7 /* FBSDKShareLinkContent.h in Headers */, - E18265EA0F8A0D18A2CC9D6DF646F562 /* FBSDKShareMediaContent.h in Headers */, - 739D657397B607C6C31C72ED64904A95 /* FBSDKShareMessengerActionButton.h in Headers */, - F1D79E2D4CDCF8EF0A9FD17414395836 /* FBSDKShareMessengerContentUtility.h in Headers */, - 37115174864BB38735B8941958164049 /* FBSDKShareMessengerGenericTemplateContent.h in Headers */, - A27DFBE585B798C9A3A10EB034BE487D /* FBSDKShareMessengerGenericTemplateElement.h in Headers */, - 7E7E10DC8039FF5CD0D7BDC21A405765 /* FBSDKShareMessengerMediaTemplateContent.h in Headers */, - D71E413C7E34381E3FA497CB81ADDDA0 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.h in Headers */, - 32433F821DAD5C1A33962AC5A60619DC /* FBSDKShareMessengerURLActionButton.h in Headers */, - 38F5C3BB16A85DCFE121585D3566DCF4 /* FBSDKShareOpenGraphAction.h in Headers */, - 2BB16B8EB53D7BB69F221999106BAC51 /* FBSDKShareOpenGraphContent.h in Headers */, - DB0B0539707400487903CFA996D540EF /* FBSDKShareOpenGraphObject.h in Headers */, - B2A8B56DE665BA53648CC6FF84F3074C /* FBSDKShareOpenGraphValueContainer+Internal.h in Headers */, - 39C05EA6AFDFD9C3D22E235B495098EF /* FBSDKShareOpenGraphValueContainer.h in Headers */, - CFE479860BFB3C4673AB9B1B7F5B9796 /* FBSDKSharePhoto.h in Headers */, - 11057046F67F489338FFE436CDA92771 /* FBSDKSharePhotoContent.h in Headers */, - 244079DC57138B7B2000061F01F1DB89 /* FBSDKShareUtility.h in Headers */, - F90AB41015899701F8C4B66F6E6D6E0D /* FBSDKShareVideo.h in Headers */, - E09AA03E8F4B4E01CF52872C35D379A6 /* FBSDKShareVideoContent.h in Headers */, - 893FB309FC3423FE4FAE158C6EB5FF60 /* FBSDKSharing.h in Headers */, - E800588CFA581D53C49A44134384B430 /* FBSDKSharingButton.h in Headers */, - 514EF7A065CC21FE9259CEBF51A2166E /* FBSDKSharingContent.h in Headers */, - 888504203FE1EED1860E40396780AD4F /* FBSDKVideoUploader.h in Headers */, + 943BB5F34B5CD9664133C86620EF1727 /* BFAppLink.h in Headers */, + 6845F87B7C7D4DB8D2B1BD551CBA0F50 /* BFAppLink_Internal.h in Headers */, + 2D6D441DC7DC9152121F61EC3F74D8C5 /* BFAppLinkNavigation.h in Headers */, + DED86949F2EA996D06BB9F4A107E855A /* BFAppLinkResolving.h in Headers */, + BFB95EF7E9D91ACFF230A61EF5274AB2 /* BFAppLinkReturnToRefererController.h in Headers */, + 69F5C89876B1A41A040E6A9643D91E36 /* BFAppLinkReturnToRefererView.h in Headers */, + C2E2A7A3651EA92318AED45B4431B3C1 /* BFAppLinkReturnToRefererView_Internal.h in Headers */, + 5C7D10E737DB82BD7AE8257E1A6A44DE /* BFAppLinkTarget.h in Headers */, + 36DF1910A3A1B78FCA8C5D64C1124757 /* BFCancellationToken.h in Headers */, + A47058BA3D8100AC8AD306DE999C459A /* BFCancellationTokenRegistration.h in Headers */, + DA95222E5B79F198BA9DEFADDE6AD3A0 /* BFCancellationTokenSource.h in Headers */, + CA4CBBB9D9DAEF8174BABB823407FD72 /* BFExecutor.h in Headers */, + 0B1796622C52B0FB7C4C83A1DFA9B473 /* BFGeneric.h in Headers */, + D94DBEAF9BA2CA5C9EE33857DF7AD2A6 /* BFMeasurementEvent.h in Headers */, + 69A678E4CAE098311DFD3A51A140747C /* BFMeasurementEvent_Internal.h in Headers */, + FE73C08B35D0D8E1836A30E1325A67DE /* BFTask.h in Headers */, + 7139601222F664B8F5260815A59BA08C /* BFTaskCompletionSource.h in Headers */, + D27998A5D70CDFECD6215ED2D001AFAC /* BFURL.h in Headers */, + CFFC1615431F962973EBF97147D9F9C6 /* BFURL_Internal.h in Headers */, + B338D6C9D6E10095446FBD283A0AAAE8 /* BFWebViewAppLinkResolver.h in Headers */, + E7328026D755F191C97DDF1584204722 /* Bolts.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8E294873AB0514D13BB756D7279658F4 /* Headers */ = { + A1A49DECB955624B891772FB15A2EBFA /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - F50C2673F16A8595EE08CEC3B8B85912 /* DJLocalizableString.h in Headers */, - 52A79831D792B2F0B0A6702A31D56F91 /* DJLocalization.h in Headers */, - 008115C4CAB7B2A4BAE64EC13EBD69F6 /* DJLocalizationSystem+Private.h in Headers */, - 8A8E27A44803F4FAB5771A818BB17E59 /* DJLocalizationSystem.h in Headers */, - D40CAD9DA91C81E5FCE28014F707091F /* UIStoryboard+DJLocalization.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8EDB4F25FDA80A4530E7BD1D0F660072 /* Headers */ = { + A9F1C38D99373A7EDFA660F1A2E79B56 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - B8D42BEAD2B31E6B304EB4B302A38A59 /* _FBSDKLoginRecoveryAttempter.h in Headers */, - 03B1A1E8EB739D0E4B80CFB3DB149A4B /* FBSDKDeviceLoginCodeInfo+Internal.h in Headers */, - 28F0B4DD8AA0EA83E7F2C7092F77E857 /* FBSDKDeviceLoginCodeInfo.h in Headers */, - 29F097982C5B14020D46777E22B1A26A /* FBSDKDeviceLoginError.h in Headers */, - FA00A76EDDC79989BB92FC727FF99D98 /* FBSDKDeviceLoginManager.h in Headers */, - 54DCFC8132999B6374D784423B6B2950 /* FBSDKDeviceLoginManagerResult+Internal.h in Headers */, - 688A65459817A8F99E4835F4AA62273C /* FBSDKDeviceLoginManagerResult.h in Headers */, - 0FB9EAAF34295E7EB74576BE08F883DC /* FBSDKLoginButton.h in Headers */, - DCEE587A593D0F1A4E2125BFAECA8AFE /* FBSDKLoginCompletion+Internal.h in Headers */, - 1A6324F957214F01EFB9F564F736B7E0 /* FBSDKLoginCompletion.h in Headers */, - BD0F763B5564F0C3894786BF5F514ECE /* FBSDKLoginConstants.h in Headers */, - D1F58FFA3C6CE9CDD5D1BF5170082509 /* FBSDKLoginError.h in Headers */, - A94D84F859ECED65F62428DCA67D8A6E /* FBSDKLoginKit+Internal.h in Headers */, - 2CDD7865D100F1E63906DD8D391995A0 /* FBSDKLoginKit.h in Headers */, - A399352FDDA67E8C25758178D41015FB /* FBSDKLoginManager+Internal.h in Headers */, - 8BB38955DBD85C49CA17D600C6468AC2 /* FBSDKLoginManager.h in Headers */, - 14EA2CB39FFB603079950BFCA2AB0205 /* FBSDKLoginManagerLogger.h in Headers */, - 488C6ECAF75329F1E94784B35B54BB49 /* FBSDKLoginManagerLoginResult+Internal.h in Headers */, - 8018AE0F1A0A5E2D931D7C6FC14A741A /* FBSDKLoginManagerLoginResult.h in Headers */, - 2F4D84D76B88E9240EF581B84B73AC0A /* FBSDKLoginTooltipView.h in Headers */, - 875C97DA85DED90F4A4C2CD9D51C2185 /* FBSDKLoginUtility.h in Headers */, - AE20EF8A7F2121086D9804F32789ABF1 /* FBSDKTooltipView.h in Headers */, + 23FC5CB7AEB3CD68F5BA662EFCAA5F93 /* AFHTTPRequestSerializer+OAuth2.h in Headers */, + 64A3E2F4776B7BAB34FAD028AC015031 /* AFJSONResponseSerializerWithData.h in Headers */, + 18F5664C8CC2918D6A165D1B90D9C8E5 /* AFOAuth2Manager.h in Headers */, + 638564E69D361A1892C40E91C2405ED4 /* AFOAuthCredential.h in Headers */, + DC358C30D45F03939F47285CF07EB319 /* PNAddress.h in Headers */, + 7C67993DB44A89015466DC3DC13A0F93 /* PNInstallation.h in Headers */, + 174FCA70BE25DA6C1F884D62421CF464 /* PNLocation.h in Headers */, + 522785F8A1647F9D2428F3F09B72B639 /* PNObjcPassword.h in Headers */, + 936A0FDB9C319B1E90CF9AF8F9FEDF50 /* PNObject+PNObjectConnection.h in Headers */, + 3FF4180C47E4C942A0EFF31E974381A9 /* PNObject+PNObjectDELETEConnection.h in Headers */, + 0E0943A0BD830457B9F09EAF47750295 /* PNObject+PNObjectGETConnection.h in Headers */, + E0E020B91D1787D0F9D2A43A59564397 /* PNObject+PNObjectPOSTConnection.h in Headers */, + 02D70F25B1D17CDCA8739A324E39598D /* PNObject+Protected.h in Headers */, + 82F8536418753B4D6FE778043E77CB92 /* PNObject.h in Headers */, + 96285A1E5046745D05F4D6551935A5D5 /* PNObjectConfig.h in Headers */, + A546ED745B1936BDFD4B2C332F54544E /* PNObjectConstants.h in Headers */, + 684B4F5D563DFA918DCE8BFD2B02559C /* PNObjectFormData.h in Headers */, + A0E9ED7E722C10D77E8FE302D62AAB78 /* PNObjectModel.h in Headers */, + 0B42F3E2DD16761607DF335860AAE4F3 /* PNObjectUtilities.h in Headers */, + 136EEE92B8F627C7219894D51F87A071 /* PNUser.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C114170C58506048E9A7EC3871513F0E /* Headers */ = { + B77FA0C61822F85E3AB0C9B315DB9FEB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - AAB3A1075997095D6C0A841338F28C49 /* UIDevice-Hardware.h in Headers */, + 3266C3E22519A5D701B1E51D9C19656B /* PEARFileManager.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - C709B1B823EA863E52EADAD358A99BF9 /* Headers */ = { + B8D2B623C07C95B59D036C59C87B4CAC /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - BCC96F94FD33CF62441EA9F52A35D282 /* ALView+PureLayout.h in Headers */, - 4F62A501B7D09BEF900E8D8C7140FAD0 /* NSArray+PureLayout.h in Headers */, - 6A615807FF989B63E726D840B85A8969 /* NSLayoutConstraint+PureLayout.h in Headers */, - 4C21A233C82B9BFFED74F772E4D00AD9 /* PureLayout+Internal.h in Headers */, - DBA2DC858D9A858ACE9EBB94A32B4E55 /* PureLayout.h in Headers */, - B7691C9905821BAE10DDAD668FBADE30 /* PureLayoutDefines.h in Headers */, + 7884DDB21AB55B9D2A9762D0FB4DBDDA /* Specta.h in Headers */, + 7328A1382E043DA2F89BFD188961A2AC /* SpectaDSL.h in Headers */, + 9378000FA0D713D2D2092A8EAD15148A /* SpectaTypes.h in Headers */, + B0163131C0CE19D92063F1D4F6A3A57D /* SpectaUtility.h in Headers */, + 4FDB78C8DBCAB8394F6858ED9A0AD888 /* SPTCallSite.h in Headers */, + 0FB0184291757E2845799BB6910C182B /* SPTCompiledExample.h in Headers */, + 00F305AF6DBA128963E6AF6F881D1003 /* SPTExample.h in Headers */, + 8205F4BB9304CC301ED44469A25A31E9 /* SPTExampleGroup.h in Headers */, + BD999AF96970AA00FA8E946619D45AB6 /* SPTExcludeGlobalBeforeAfterEach.h in Headers */, + 51F525AB91E0FBAFD33419A6D658D346 /* SPTGlobalBeforeAfterEach.h in Headers */, + 9AF2E07B66DEBC787A23B2799089F44D /* SPTSharedExampleGroups.h in Headers */, + 366F79F8A5C97EBA6483C5E33D351461 /* SPTSpec.h in Headers */, + C1C824B655656D6CD5F1F5DD11C29144 /* SPTTestSuite.h in Headers */, + 76970FE79DF1B898BCB37CF7594E6A56 /* XCTest+Private.h in Headers */, + 295F39241310A5652C790ED165CD51D8 /* XCTestCase+Specta.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E9234FDA6762951FCFA4821395DC965A /* Headers */ = { + C63C9A1472C2D77A8E68248ED1FDC719 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 03600C5461C060203FB29627BB46259F /* Specta.h in Headers */, - D5E2A41348CF1D15A3719698616D2715 /* SpectaDSL.h in Headers */, - DCAC6CF7CB6B0559B0D50C2FEF527C21 /* SpectaTypes.h in Headers */, - 66A55A68F9D4FE50308126B5703FCF23 /* SpectaUtility.h in Headers */, - C757275C1B77202FC251561E10DA2A5A /* SPTCallSite.h in Headers */, - 15363096BCDA06E6515990074E5AB0C7 /* SPTCompiledExample.h in Headers */, - 54C29E2C954D773D294C6D9875F4F41A /* SPTExample.h in Headers */, - 303FF43BB4728C97DCEBC908AB4B7BA5 /* SPTExampleGroup.h in Headers */, - 2D1536865A3B49067D321D285B5E95AA /* SPTExcludeGlobalBeforeAfterEach.h in Headers */, - D81BA6F7398463487CD5081581487B41 /* SPTGlobalBeforeAfterEach.h in Headers */, - C625C9FC5ED6FCC7093452FF57BEE6A9 /* SPTSharedExampleGroups.h in Headers */, - 5EC95D6FAE93B2AB9B5D4751EA2D0256 /* SPTSpec.h in Headers */, - 2B8617C61E5262CCDA2DB453F4CE293F /* SPTTestSuite.h in Headers */, - B752B76E50A781E2FFF2DFC1946CD3CC /* XCTest+Private.h in Headers */, - 662AB49D6719A4EF9D15415B8C7E77C9 /* XCTestCase+Specta.h in Headers */, + 88710DB33EDBB8884DFDD3D7560754F3 /* NSString+Helper.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - EF91D39226B60AF00FE546E0591D55E0 /* Headers */ = { + D53BC95104B5428BD30E279280AE958B /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + E965406F721EA9256CBFD9EF82DF07EA /* NSData+AES.h in Headers */, + 1A40002D8D0F2E1C849C829D99A38DA7 /* NSData+AESKey.h in Headers */, + 9AC6D21F0D2ACFF0490A2A968FB28521 /* NSData+AESValue.h in Headers */, + 15A83EF248565323AA06F18C58CA1F34 /* NSData+SHA.h in Headers */, + E1F5159C91E75C703F981D976A55FD0B /* NSDataAESCipher.h in Headers */, + C989BECBB7EAC0BF548A725B7950B784 /* NSMutableData+AES.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D6B11467C2D679F808D61A15E162C9AF /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 2976B0ACA2F8F18E7BF4242F5F0EB9A4 /* AFAutoPurgingImageCache.h in Headers */, + 0AE598228DE88AC96D9F004D7E3030FE /* AFCompatibilityMacros.h in Headers */, + 3222DC27D07E09F14C5AF5093C2BBA9E /* AFHTTPSessionManager.h in Headers */, + EC4CA3E90D2E68CEB1A16146BA5DF58B /* AFImageDownloader.h in Headers */, + CAD614C557E87939DA2B205FA0F4C449 /* AFNetworkActivityIndicatorManager.h in Headers */, + AACE3143D5979498634D88F2825A5835 /* AFNetworking.h in Headers */, + 8C25C902AEF7C1B06FE471BE69026EF2 /* AFNetworkReachabilityManager.h in Headers */, + 36B6A108F6DA30A5D65A92A2A2C88DB6 /* AFSecurityPolicy.h in Headers */, + 204CE0368C63B493BA94C67D70AF19CA /* AFURLRequestSerialization.h in Headers */, + 4CFEAF71BBEA78F270AC77A312256950 /* AFURLResponseSerialization.h in Headers */, + E8D3A9E9EDF9A53A2D687E868CDF2F56 /* AFURLSessionManager.h in Headers */, + 834D962D86A4EF1CFF861CC2EFF48B0D /* UIActivityIndicatorView+AFNetworking.h in Headers */, + 6BE8998FA3899A7DC8EEBFDC63951BD9 /* UIButton+AFNetworking.h in Headers */, + C6E4AFFCF5DFEBEA9619B9ECBB505236 /* UIImage+AFNetworking.h in Headers */, + 73B41D0198453FB22EB2992ED406C255 /* UIImageView+AFNetworking.h in Headers */, + A08E34400227E1A75FDAB154821A6736 /* UIKit+AFNetworking.h in Headers */, + 8D6037046EBDB4211EEE5EB161E3F4D0 /* UIProgressView+AFNetworking.h in Headers */, + 8FAFA679169B991C26440F5BA1F79AE4 /* UIRefreshControl+AFNetworking.h in Headers */, + 2CBA5742A8F4A8B904F9C30717BAB2ED /* UIWebView+AFNetworking.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + E4828CBC52333317917F8DCA95C340AE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4879BA2B5D79FE5B2405416BC24AF658 /* PEARFileManager.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */ = { + 0EABDFFFE1E889B87B1197D012AD068A /* AFNetworking */ = { isa = PBXNativeTarget; - buildConfigurationList = 8AE925A3FECD26D8C770C50697A7F672 /* Build configuration list for PBXNativeTarget "Bolts" */; + buildConfigurationList = F3EDF7FB6B623BD9FDFB7310F9E3993D /* Build configuration list for PBXNativeTarget "AFNetworking" */; buildPhases = ( - 7C7268EAAC6516366BAAD18EE7173DA3 /* Sources */, - 837322C469518863893FE462AAAEFABA /* Frameworks */, - 22A4D9040C3EF4043783126B1BEF7A32 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Bolts; - productName = Bolts; - productReference = A8F263620BD0322B0E0D02C9CBB7E057 /* libBolts.a */; - productType = "com.apple.product-type.library.static"; - }; - 1299BA0E752CDD0366B531EF41DC1E68 /* Specta */ = { - isa = PBXNativeTarget; - buildConfigurationList = D79E19E30DA89AD97F800824E9518580 /* Build configuration list for PBXNativeTarget "Specta" */; - buildPhases = ( - 276F16A4350034FB8246D2B188E63C74 /* Sources */, - 21D270636DA3A99981B5C9368FAB11F0 /* Frameworks */, - E9234FDA6762951FCFA4821395DC965A /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Specta; - productName = Specta; - productReference = E4A6EFA4A917599F12C0B7DB90CE41C9 /* libSpecta.a */; - productType = "com.apple.product-type.library.static"; - }; - 191EE4AC6A0D8CC08BB8437C0E845116 /* FBSDKLoginKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = AF10A9BCFA07E08173352DAB670F7334 /* Build configuration list for PBXNativeTarget "FBSDKLoginKit" */; - buildPhases = ( - 512BAAFE49828A54D7476FBB2C6A1E90 /* Sources */, - DD2904E256B961C4B2C383627001D979 /* Frameworks */, - 8EDB4F25FDA80A4530E7BD1D0F660072 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 6207EEA93B70274C44A32F5A53E30D44 /* PBXTargetDependency */, - A5E3DBB101115C520310F6555DAD0CE7 /* PBXTargetDependency */, - ); - name = FBSDKLoginKit; - productName = FBSDKLoginKit; - productReference = 14D9DD4A903CFB812BED1D10CF39FA42 /* libFBSDKLoginKit.a */; - productType = "com.apple.product-type.library.static"; - }; - 2CCA0A5BB7B40CF2F6594BF0D24B4683 /* DJLocalization */ = { - isa = PBXNativeTarget; - buildConfigurationList = 920ACF5395A1715C53FEFDB0B7BB01FB /* Build configuration list for PBXNativeTarget "DJLocalization" */; - buildPhases = ( - 84F45C0AF34C6651CAB9BCF08AA77860 /* Sources */, - 3E108E26F181801A30B13F85220FC5A3 /* Frameworks */, - 8E294873AB0514D13BB756D7279658F4 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = DJLocalization; - productName = DJLocalization; - productReference = 3B5C70CFEC8F44CE8FD10524DEEC7A6F /* libDJLocalization.a */; - productType = "com.apple.product-type.library.static"; - }; - 308EDDEC51C8A18A3C77844119C34BC0 /* RZDataBinding */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3F53B7D6DE8490EA01E003C0078513A6 /* Build configuration list for PBXNativeTarget "RZDataBinding" */; - buildPhases = ( - 66A8A0DEC97737D288DDC7F9404175A7 /* Sources */, - EF7781497AB3632E9408F7646795C5EA /* Frameworks */, - 61EA34AC92E25DF60C30E13093743086 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = RZDataBinding; - productName = RZDataBinding; - productReference = 1E83C4F995602150C30446C7C75BEDC3 /* libRZDataBinding.a */; - productType = "com.apple.product-type.library.static"; - }; - 3371FC4FDC48D96B2A6D507752AB84C7 /* FBSDKCoreKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8BFD9AA78B3D430680E09EF19BE01C30 /* Build configuration list for PBXNativeTarget "FBSDKCoreKit" */; - buildPhases = ( - 4F4CE908D65C3CD6A633911FE18195E8 /* Sources */, - 8A62A0A729710D9F09843A6C1E57DB2E /* Frameworks */, - 335B1A14405F731A64F99E9D5A9A61A4 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - E95BB7C34E3EF5BA9C6417F7F4A5B056 /* PBXTargetDependency */, - ); - name = FBSDKCoreKit; - productName = FBSDKCoreKit; - productReference = D0D5B66973CF80A3988FB78B6DCA4342 /* libFBSDKCoreKit.a */; - productType = "com.apple.product-type.library.static"; - }; - 33744B13416CE666037143AD625AD724 /* CodFis-Helper */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2B68128128886FB992D86C8301FBC19B /* Build configuration list for PBXNativeTarget "CodFis-Helper" */; - buildPhases = ( - BFDEC0F9EBDA9CD89ED1C37AC86336AA /* Sources */, - E0E2C93F38BCFA591658D131C1881BBF /* Frameworks */, - 651CBDF83FED97A367D5BFC7453F81D2 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "CodFis-Helper"; - productName = "CodFis-Helper"; - productReference = 73517324CA450DAF3250DB48CDA3182B /* libCodFis-Helper.a */; - productType = "com.apple.product-type.library.static"; - }; - 43929E12B775B4FFF3CF21C07EF66EDF /* UIDevice-Utils */ = { - isa = PBXNativeTarget; - buildConfigurationList = 262A988CAB8FFE13CA0AFA6F200F42F6 /* Build configuration list for PBXNativeTarget "UIDevice-Utils" */; - buildPhases = ( - 47837D945ADA224485AD1B7705C29C32 /* Sources */, - 2092B5B20A311B695C3CA5A12BAF22C8 /* Frameworks */, - C114170C58506048E9A7EC3871513F0E /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "UIDevice-Utils"; - productName = "UIDevice-Utils"; - productReference = 55AA69666FEF4E24F23A163FD1B0E843 /* libUIDevice-Utils.a */; - productType = "com.apple.product-type.library.static"; - }; - 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */ = { - isa = PBXNativeTarget; - buildConfigurationList = D88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget "Expecta" */; - buildPhases = ( - 5A1715485AF02533C3EE06033E9DA73F /* Sources */, - 03F8C9DE4B5918EEA35CE61AA3A1186A /* Frameworks */, - 05E58D356A38DD487823D5BE24334920 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Expecta; - productName = Expecta; - productReference = C4A1E4B2A8DB166BCFF636128277BAA5 /* libExpecta.a */; - productType = "com.apple.product-type.library.static"; - }; - 4C6C0DEC127307838A58C68F289A3404 /* FBSDKShareKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = 5164612F51FC4B301DF7EE041D46A746 /* Build configuration list for PBXNativeTarget "FBSDKShareKit" */; - buildPhases = ( - DB2F46150A8F829D008E8125043030F9 /* Sources */, - 07CCB61741DB19681E54D52635F9781A /* Frameworks */, - 89BD32676632B5797DA79C21DC056AE3 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 111A77F94FFAF9AF9D080E9B9CA4BAD5 /* PBXTargetDependency */, - 6B6FD1A00A83EBE4394A66E9B5D56ABF /* PBXTargetDependency */, - ); - name = FBSDKShareKit; - productName = FBSDKShareKit; - productReference = A521C2D47CBEF1F451C6C19EF4BDF952 /* libFBSDKShareKit.a */; - productType = "com.apple.product-type.library.static"; - }; - 5271C3FC8724603F0CBAD23A471EAB14 /* StrongestPasswordValidator */ = { - isa = PBXNativeTarget; - buildConfigurationList = 23F4D3B55D19EE30D01893B41D4D8E46 /* Build configuration list for PBXNativeTarget "StrongestPasswordValidator" */; - buildPhases = ( - 0AEA4E544115D06C9C57A7D8F2A3D0C5 /* Sources */, - 67E9957D7F14EE3FF51901DF587B70E1 /* Frameworks */, - 1D0DC2D3C8BA2054F823481C7E0A2E01 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = StrongestPasswordValidator; - productName = StrongestPasswordValidator; - productReference = E143D035B5419A69F443580FA66D752F /* libStrongestPasswordValidator.a */; - productType = "com.apple.product-type.library.static"; - }; - 91CFADD3F2AAFB0FF2F77F2DBA19DB5B /* NSString-Helper */ = { - isa = PBXNativeTarget; - buildConfigurationList = BF1F3424FC37EDF14FE31D52E87FF69D /* Build configuration list for PBXNativeTarget "NSString-Helper" */; - buildPhases = ( - 4B35B0B70443F83E724EBDFEBDEDC6A7 /* Sources */, - BC42581F224BF9BD0BB99B7F14A7A6F1 /* Frameworks */, - 467F32D12E8D6F8971FB6C1856EE1EF2 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "NSString-Helper"; - productName = "NSString-Helper"; - productReference = 084AE6ECA57A970F74C4109DC3D26042 /* libNSString-Helper.a */; - productType = "com.apple.product-type.library.static"; - }; - 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */ = { - isa = PBXNativeTarget; - buildConfigurationList = 483FBC4A668BF7F1A8767452E7E188AC /* Build configuration list for PBXNativeTarget "AFNetworking" */; - buildPhases = ( - 0068413C89BADAAF4691AA78AFE62C3E /* Sources */, - F3284DBE3CA8932733932AD2A48445B2 /* Frameworks */, - 0A1C2B07813030B0D51EB1D804A4439E /* Headers */, + D6B11467C2D679F808D61A15E162C9AF /* Headers */, + 6E9158762B23685A96B8519F499F19C7 /* Sources */, + 860D38515223AF05773323E7C4888E9E /* Frameworks */, ); buildRules = ( ); @@ -3752,13 +3674,52 @@ productReference = 0C739A4DC5B7A154D06B71411E01459C /* libAFNetworking.a */; productType = "com.apple.product-type.library.static"; }; - 9FABD90CF9D328EE31409CA42A597A3D /* PureLayout */ = { + 0FE145A63419906335F165B953111B50 /* FBSDKShareKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 62DF3A746583D798F6AD2BB05CA4EFA7 /* Build configuration list for PBXNativeTarget "PureLayout" */; + buildConfigurationList = 89B89B901477B22F8B653541D8D0AF3A /* Build configuration list for PBXNativeTarget "FBSDKShareKit" */; buildPhases = ( - 0069AD0E63E571CA7B9ADFFF0C76414B /* Sources */, - 0D24DFA4BA8EFFD3F138126549EFE951 /* Frameworks */, - C709B1B823EA863E52EADAD358A99BF9 /* Headers */, + 28E7D9FDEBB56EDBF81AEACED2DE44EF /* Headers */, + 168FF6042A001BEA322966701BBB5AC2 /* Sources */, + 8ACE5D363E68267FC6642B20866636E2 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 361FCFC71A42D98FBBFBB4FCBC629EE6 /* PBXTargetDependency */, + 384457344422D9D057236061768D0C25 /* PBXTargetDependency */, + ); + name = FBSDKShareKit; + productName = FBSDKShareKit; + productReference = A521C2D47CBEF1F451C6C19EF4BDF952 /* libFBSDKShareKit.a */; + productType = "com.apple.product-type.library.static"; + }; + 1130320101541C965E9A4B33B27D0BCF /* Pods-PNObject_Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = DA0B3D191F12F068B433650A59A70AE4 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Tests" */; + buildPhases = ( + E4828CBC52333317917F8DCA95C340AE /* Headers */, + AEB7B39143B550251CFFB103F4533452 /* Sources */, + EF8B5976CC8D279BAF59A63B6AF2BB06 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 9E5E908317CC704578696D11917FE0CA /* PBXTargetDependency */, + 14910E8FDF892F809321026FF84A9322 /* PBXTargetDependency */, + 250EDDB7679B621D1B13FA5028E4DC24 /* PBXTargetDependency */, + ); + name = "Pods-PNObject_Tests"; + productName = "Pods-PNObject_Tests"; + productReference = 2A4BB22F95B6AD65A989E687D5806FFC /* libPods-PNObject_Tests.a */; + productType = "com.apple.product-type.library.static"; + }; + 23677D10DAFC9612279D0C04E8F822F0 /* PureLayout */ = { + isa = PBXNativeTarget; + buildConfigurationList = 913217E83282A4C2003DFCCD22FF318C /* Build configuration list for PBXNativeTarget "PureLayout" */; + buildPhases = ( + 414F5E05F563EB80FF0808DAAD6B8637 /* Headers */, + 00A9B36774E8DE8FF282799FCA5CE5B3 /* Sources */, + 834759D2B85F882D0F8D01D07E8C2881 /* Frameworks */, ); buildRules = ( ); @@ -3769,134 +3730,152 @@ productReference = 7D3A8E17950CDFC3ADE5016E9EB1F8B5 /* libPureLayout.a */; productType = "com.apple.product-type.library.static"; }; - AFEFC2C78952EECCF761054356C705E8 /* Pods-PNObject_Example */ = { + 26069BE91A9928289B1454877B6683E5 /* StrongestPasswordValidator */ = { isa = PBXNativeTarget; - buildConfigurationList = 0E5D01F4D327CE422A101A5793EA8AB1 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Example" */; + buildConfigurationList = 712227741CDE7294206463ACE3DDF8DE /* Build configuration list for PBXNativeTarget "StrongestPasswordValidator" */; buildPhases = ( - 1CEB7685BA48A5B29B367F4357DF1D6F /* Sources */, - EA5B7419A2951995061D45820C7CFE8A /* Frameworks */, + 135E06379292BAEA4DDD0EE659589AE2 /* Headers */, + F0C84B485BA76B1CEA8B93C49E5682B4 /* Sources */, + 1620C9079759C4431D1DA8FC4BAB5039 /* Frameworks */, ); buildRules = ( ); dependencies = ( - C9913C12739BFEFA4FE98A4151BE31A3 /* PBXTargetDependency */, - 4FD8716894F2FFCAD692CB64F0AB9B17 /* PBXTargetDependency */, - E6A95506CC11E869824672CB9E97AB98 /* PBXTargetDependency */, - 2DBFBFC4E1E73BD22D205A18BFDC0657 /* PBXTargetDependency */, - C2818CBDD497CBB8FB4F1924478D73CE /* PBXTargetDependency */, - 4F062ED45317205C77199834C9BD17F0 /* PBXTargetDependency */, - 7BF5D22BBF716DFE9052C95E5A6C1599 /* PBXTargetDependency */, - 8303BF62F8564426819C294B968A6CBA /* PBXTargetDependency */, - 8CB5E2906B6159BC357C6D9E3A65A140 /* PBXTargetDependency */, - C597F76413AF989352F0EFD401A422EC /* PBXTargetDependency */, - B7935D43A4DE134B95AD90C0DA54A9CE /* PBXTargetDependency */, - 64BF059358D2605FA61825BBDC3D1D1D /* PBXTargetDependency */, - 1B5A5538CE2490A773F1CA2997B659B5 /* PBXTargetDependency */, - F20BBD7754DBDDE29B97B32B0C834ECC /* PBXTargetDependency */, - BF1F518C2F19079EACA1DA6BD6369E52 /* PBXTargetDependency */, - 5F169042337DCA180A14C27EA557893B /* PBXTargetDependency */, - A426176D99EB79FA9D049126D94FD792 /* PBXTargetDependency */, - 5D910B379881B31B57D4675BC692FA03 /* PBXTargetDependency */, + ); + name = StrongestPasswordValidator; + productName = StrongestPasswordValidator; + productReference = E143D035B5419A69F443580FA66D752F /* libStrongestPasswordValidator.a */; + productType = "com.apple.product-type.library.static"; + }; + 2F76C4DEAE2007246BF4FBF8967B2FA3 /* Expecta */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8BBE730D642231F14A1F426F44F85AEC /* Build configuration list for PBXNativeTarget "Expecta" */; + buildPhases = ( + 6BEB3C67F7FFB280AB1882CD015BF9A1 /* Headers */, + 3CA62BC6D3BA04C0745181392D6863EF /* Sources */, + C612259F05A2C8B976735ABC62436A36 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Expecta; + productName = Expecta; + productReference = C4A1E4B2A8DB166BCFF636128277BAA5 /* libExpecta.a */; + productType = "com.apple.product-type.library.static"; + }; + 428487CF01476A350D641A9BB0599574 /* FBSDKLoginKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3C522CF9C69DEE8E10566003CB364074 /* Build configuration list for PBXNativeTarget "FBSDKLoginKit" */; + buildPhases = ( + 6F56D06E94B1ECCC13054ADFF6CA3BDE /* Headers */, + 27BB38B247EB7E72BAEAC2E7BC190765 /* Sources */, + 363A1F5DC0AA283A9CE90E738C8DB9EB /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + C4CB4AC5EAD14DC6653EE689790FD99A /* PBXTargetDependency */, + 5FEC2B2C9ACACBBCD77435F4697FEACD /* PBXTargetDependency */, + ); + name = FBSDKLoginKit; + productName = FBSDKLoginKit; + productReference = 14D9DD4A903CFB812BED1D10CF39FA42 /* libFBSDKLoginKit.a */; + productType = "com.apple.product-type.library.static"; + }; + 63178740FD447D2079BFABBA20ADEF1E /* Pods-PNObject_Example */ = { + isa = PBXNativeTarget; + buildConfigurationList = 4B60F0CEC329EC055CF0635E153B9C38 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Example" */; + buildPhases = ( + A1A49DECB955624B891772FB15A2EBFA /* Headers */, + 56DF7E22D6F708B4242ED0AF08FDCC52 /* Sources */, + EBEF0006E610BD8A277F6C8DB149B1F6 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 32B4A9CCD7990FC707810A28C1DBDD98 /* PBXTargetDependency */, + 84D6EA7345FE73A1024286704C8010A1 /* PBXTargetDependency */, + 9812B909C9744DE5E4EBFCB90927B336 /* PBXTargetDependency */, + E58827FA3AFD1361C0E222FD0C41EAB7 /* PBXTargetDependency */, + C083E5950A6AED0AA530F010C0029FB1 /* PBXTargetDependency */, + C6ACE5E6AA08FC313F1C7A5C955DE04F /* PBXTargetDependency */, + C24479029B6AB58CCA2B48F7BDA5726D /* PBXTargetDependency */, + 515FDA74CD4C75B291EB96E8EAB62AE7 /* PBXTargetDependency */, + B0593DEC9A184E483174C335A9524C7F /* PBXTargetDependency */, + 5F8D3CACB7AC9099FCCFDE718F2AD346 /* PBXTargetDependency */, + CEE2E1A9461A0AFCE9923EAC4DA22B34 /* PBXTargetDependency */, + F4A6F06AFFBCB7E0230EE60D8285E1D8 /* PBXTargetDependency */, + 8B1E9209560FABD8D68AF62603D188EB /* PBXTargetDependency */, + 5FDC3E162849856BF82414FBB6C82634 /* PBXTargetDependency */, + 16C318A75B9C8B904D282EAF2C9B8D6D /* PBXTargetDependency */, + 9B402E9DA42DED2027E914B9ECC2C105 /* PBXTargetDependency */, + A5117545F993FCEDF129449AB8D773DB /* PBXTargetDependency */, + BE1C6DED61A7B481581BE30519829288 /* PBXTargetDependency */, ); name = "Pods-PNObject_Example"; productName = "Pods-PNObject_Example"; productReference = E223594B1999E026FF4F52CACA9DDA9F /* libPods-PNObject_Example.a */; productType = "com.apple.product-type.library.static"; }; - B811F9589EED01750BFF5CFBAB715C9C /* Pods-PNObject_Tests */ = { + 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */ = { isa = PBXNativeTarget; - buildConfigurationList = BCB91E6AFAFCEEFC8B39983DBED80B42 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Tests" */; + buildConfigurationList = A59D0C85A793EAB2897922543A788EE9 /* Build configuration list for PBXNativeTarget "Bolts" */; buildPhases = ( - 268EFB52863A4A1D120288251B118F5B /* Sources */, - CE8115E5916DAD65ECDDAF2000EBD560 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 665209A882415285054E646461D6B62C /* PBXTargetDependency */, - CDD7FDD7FA1EB93BA9365558DA2EDBF5 /* PBXTargetDependency */, - AFAA39A8DA894B4583A5F0056D632BEB /* PBXTargetDependency */, - ); - name = "Pods-PNObject_Tests"; - productName = "Pods-PNObject_Tests"; - productReference = 2A4BB22F95B6AD65A989E687D5806FFC /* libPods-PNObject_Tests.a */; - productType = "com.apple.product-type.library.static"; - }; - EF0AEFBF9DC8D43442F5F2A7B603ED0A /* PNObject */ = { - isa = PBXNativeTarget; - buildConfigurationList = CA266745AC8473A1BB1838F27DCE1405 /* Build configuration list for PBXNativeTarget "PNObject" */; - buildPhases = ( - CB0A211D626558F99F30D0896A42EE0F /* Sources */, - B0272BED4F0409A027756F62B8516FB9 /* Frameworks */, - 6018060235ADE88AEA25DDE2CA395816 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 5DEC420DF3F0B6D9E2E23966173C4A0B /* PBXTargetDependency */, - EC30923B0A3CD289335A020DD92AC050 /* PBXTargetDependency */, - 89D515D28CE5D0B322C6B0E166B8431F /* PBXTargetDependency */, - 4B8DB8E757C31864FF60B20F1030C510 /* PBXTargetDependency */, - 747590069D174537805E529124E7A154 /* PBXTargetDependency */, - 18FE4CC4EB4BE9CFE8D90E62C57E1BAF /* PBXTargetDependency */, - E38A23FC70E496CA5A90D67943A529CD /* PBXTargetDependency */, - 5966373905F7A21197109AC3BA93E49B /* PBXTargetDependency */, - B869643C92C6BFE502243519CA1E5CB7 /* PBXTargetDependency */, - E5BF43992F33C1B82A1D67D2E2EF1965 /* PBXTargetDependency */, - DB02D8ED37C946F4A8690A003666DF43 /* PBXTargetDependency */, - 2AD4B5DEEEC573ABB86973ACFE1D017A /* PBXTargetDependency */, - 017785CAA1E7367E107AF877958009BE /* PBXTargetDependency */, - 7059BA3528ED4E253FF67A1D0028FCEF /* PBXTargetDependency */, - 07E79284EA49BC057FD5FE45A0EE1D55 /* PBXTargetDependency */, - 32BD5B7FFC10AE7F6B9D61F174018459 /* PBXTargetDependency */, - ); - name = PNObject; - productName = PNObject; - productReference = 15BA90E35C2DEF377C5A730CB5D9FF5A /* libPNObject.a */; - productType = "com.apple.product-type.library.static"; - }; - EF6364BCD9239D41077373DF8383FCD0 /* DDDKeychainWrapper */ = { - isa = PBXNativeTarget; - buildConfigurationList = 5BCBA6488C157022FF9C51AAFE5C55E8 /* Build configuration list for PBXNativeTarget "DDDKeychainWrapper" */; - buildPhases = ( - 5C27F933393ABF6AE2FC37CD8D6BCAE4 /* Sources */, - 4E57223CCC2DE41FBBCF629FB3801596 /* Frameworks */, - 433CB6E0577A463E64D5C29B7B28E607 /* Headers */, + 9B66352F6C641405218F27E2F73B7466 /* Headers */, + 8F604B6796C1549E6F68AE177DFA9E6F /* Sources */, + AAF74BC7E61069ABB1C1E8DD7C27A420 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = DDDKeychainWrapper; - productName = DDDKeychainWrapper; - productReference = CCC8C2A264D659D0F1394CD30CB0CFAF /* libDDDKeychainWrapper.a */; + name = Bolts; + productName = Bolts; + productReference = A8F263620BD0322B0E0D02C9CBB7E057 /* libBolts.a */; productType = "com.apple.product-type.library.static"; }; - F76C3D6E6CD26C48DA5507B8C82CE87C /* NSDate_Utils */ = { + 65B039250BC589E46F912B1B0C2AE01B /* RZDataBinding */ = { isa = PBXNativeTarget; - buildConfigurationList = 25C68A9983FCC9458E73D22E90F1E858 /* Build configuration list for PBXNativeTarget "NSDate_Utils" */; + buildConfigurationList = 5FEC0A0731A3FB32FEE858F62EE22FD9 /* Build configuration list for PBXNativeTarget "RZDataBinding" */; buildPhases = ( - 303F6B0E25822CB2D20699A57CCE5FB1 /* Sources */, - 6227CDAF92DBFAF02B2F250269820190 /* Frameworks */, - 33434249A1058D89100B5CA9AF3DD90F /* Headers */, + 5FA72E8465A826C361915D255C10809F /* Headers */, + 12957DFD54C637959BE90DCDC9695075 /* Sources */, + 2CC988D65D245DEFA0E35C6D21B06A8F /* Frameworks */, ); buildRules = ( ); dependencies = ( - ABA9B44166B98F49051DF51A88C1DB3A /* PBXTargetDependency */, ); - name = NSDate_Utils; - productName = NSDate_Utils; - productReference = 2FCE5603E1AAE87305D1570E294967EB /* libNSDate_Utils.a */; + name = RZDataBinding; + productName = RZDataBinding; + productReference = 1E83C4F995602150C30446C7C75BEDC3 /* libRZDataBinding.a */; productType = "com.apple.product-type.library.static"; }; - F93DDBEC0063FE03A9B9D176690EDC3E /* nv-ios-http-status */ = { + 6E14B2EB890E5F1C28CB981EFB57CB3E /* CodFis-Helper */ = { isa = PBXNativeTarget; - buildConfigurationList = 55459F45E6DA89045F8E8E2EB9EFFA82 /* Build configuration list for PBXNativeTarget "nv-ios-http-status" */; + buildConfigurationList = 03BBF92D7FE26A5B0F5B7AE043A4E977 /* Build configuration list for PBXNativeTarget "CodFis-Helper" */; buildPhases = ( - 664D975E5D8F044329485E8386FCDA9A /* Sources */, - 5C9B6072BC26C896FBF08CB8C61639D6 /* Frameworks */, - 4C31DDE2CB21730AFD81670C20AC04C3 /* Headers */, + 58E8BD2A84EE618981ACCB84F022A3BA /* Headers */, + C6887194B2AF729B0AFCE8486A6BE5AF /* Sources */, + F1AC5723879C2B84E8589C0C546731EE /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "CodFis-Helper"; + productName = "CodFis-Helper"; + productReference = 73517324CA450DAF3250DB48CDA3182B /* libCodFis-Helper.a */; + productType = "com.apple.product-type.library.static"; + }; + 6E6F78D1E706987F92C1C61F6B619A67 /* nv-ios-http-status */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6D6C929358C579C9B567081B6243D617 /* Build configuration list for PBXNativeTarget "nv-ios-http-status" */; + buildPhases = ( + 64B0478A023178922DC7D6E9ED57DAD6 /* Headers */, + ECA9329BF4B97A8FE55331214E259FA6 /* Sources */, + E0B8A662FCE8C34AC8F8BA57367B28CF /* Frameworks */, ); buildRules = ( ); @@ -3907,13 +3886,80 @@ productReference = 235BE4AB4998A621A73ED2BF118F0A7F /* libnv-ios-http-status.a */; productType = "com.apple.product-type.library.static"; }; - FB1EE56FCB7A626DC70FE0286458B1BB /* PEAR-FileManager-iOS */ = { + 8499AC93B286F5F061A552CBC893C989 /* PNObject */ = { isa = PBXNativeTarget; - buildConfigurationList = 505A02A0DDE653D4BBBB28196A06544A /* Build configuration list for PBXNativeTarget "PEAR-FileManager-iOS" */; + buildConfigurationList = 5CDD4191C2A20E67B7A511C57FD72C84 /* Build configuration list for PBXNativeTarget "PNObject" */; buildPhases = ( - 7EC0995C85FBA02927345DCFF631BB1F /* Sources */, - EB187704746E850501B2C5A6F209B1DB /* Frameworks */, - EF91D39226B60AF00FE546E0591D55E0 /* Headers */, + A9F1C38D99373A7EDFA660F1A2E79B56 /* Headers */, + F2A6654889F2511ED27BEA584FB8BBC5 /* Sources */, + 9E361E01B513237B3C62235AA01160F7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 52C2321526F4434EDA074D208A2923B8 /* PBXTargetDependency */, + 5DE08B412119153EC68767EB340D3607 /* PBXTargetDependency */, + 20816FD8FA615F59D6F235B8E7B7B8A7 /* PBXTargetDependency */, + 8F83199E4D9752EA2782608A0393ABFD /* PBXTargetDependency */, + 2131E0E3844739DF5E2DAB31084A6874 /* PBXTargetDependency */, + E190422A43918431E6825E306BEA2FB7 /* PBXTargetDependency */, + B08C873B85A4117466634C0B1AFF9722 /* PBXTargetDependency */, + 3D79A7CDC3B8C6AB5C144FCE6894010E /* PBXTargetDependency */, + DDAD6571F4FDA68D0ADA2EA4BD915990 /* PBXTargetDependency */, + E0ABEC758EF94889E11D4396A554CD5F /* PBXTargetDependency */, + 58767F0FD2EDF3B7CDCA4DFFCE530E1E /* PBXTargetDependency */, + 41A377BE820934D464B18ABF1483CBF4 /* PBXTargetDependency */, + C94092A405EBA73B0CEC4A1A306B5753 /* PBXTargetDependency */, + 62FFEDDBFE3DD9F7B3DA00406C8B565D /* PBXTargetDependency */, + 6B7EF2E128CD5385082BE4183D8A099F /* PBXTargetDependency */, + 5154DDD5C306830A68015DFA715049DC /* PBXTargetDependency */, + ); + name = PNObject; + productName = PNObject; + productReference = 15BA90E35C2DEF377C5A730CB5D9FF5A /* libPNObject.a */; + productType = "com.apple.product-type.library.static"; + }; + A7334FDC353B84921762C535B7E01EA0 /* NSDataAES */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3C7B4C0F664348C983E09B3EF2ACE4ED /* Build configuration list for PBXNativeTarget "NSDataAES" */; + buildPhases = ( + D53BC95104B5428BD30E279280AE958B /* Headers */, + 10F47DC3012338EE7A7095BFB87AA45B /* Sources */, + 3F3AC413E63A86FAF928CC69B5E9644A /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = NSDataAES; + productName = NSDataAES; + productReference = F3DEC48A4806C456BF7333F05402A123 /* libNSDataAES.a */; + productType = "com.apple.product-type.library.static"; + }; + A7ABB589D7269F28501753691B0189FB /* UIDevice-Utils */ = { + isa = PBXNativeTarget; + buildConfigurationList = DE14A6487D7B1AE87AF953425FD32F20 /* Build configuration list for PBXNativeTarget "UIDevice-Utils" */; + buildPhases = ( + 5F1D4C29426B6B50ADFD6CE7E9764FED /* Headers */, + E3A31A14D684457AB6840624177015BB /* Sources */, + C22BD4FE3380B2A965FE9401168E0EE3 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "UIDevice-Utils"; + productName = "UIDevice-Utils"; + productReference = 55AA69666FEF4E24F23A163FD1B0E843 /* libUIDevice-Utils.a */; + productType = "com.apple.product-type.library.static"; + }; + ADBBB3E85D1E2F795520A8939751318B /* PEAR-FileManager-iOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 380B548F745577D59AC4BFBF6DE6BA25 /* Build configuration list for PBXNativeTarget "PEAR-FileManager-iOS" */; + buildPhases = ( + B77FA0C61822F85E3AB0C9B315DB9FEB /* Headers */, + 822108F88FAD2CB5BCB6408E26A757DF /* Sources */, + 2DA54A2A3BF2841D7F9B3E12A095954A /* Frameworks */, ); buildRules = ( ); @@ -3924,21 +3970,108 @@ productReference = 86B02ADE54AD8160AA7985E20874AC2F /* libPEAR-FileManager-iOS.a */; productType = "com.apple.product-type.library.static"; }; - FE88C6C90B72279CEDF06AB3A39D1B28 /* NSDataAES */ = { + B636D5CA7BFECB99A182D63A69EA5720 /* NSString-Helper */ = { isa = PBXNativeTarget; - buildConfigurationList = B8A879EFEDF7A09F1532DE5F5ACA2FBB /* Build configuration list for PBXNativeTarget "NSDataAES" */; + buildConfigurationList = 0BB62BD84251A2D4D5513638C3DD11A3 /* Build configuration list for PBXNativeTarget "NSString-Helper" */; buildPhases = ( - 8045DDC50E43631EB2965C436BDCC85A /* Sources */, - BF42AED82E9D3037F41FB2DAAB4409EF /* Frameworks */, - 5F5182DA41168FA98A834EA335118B57 /* Headers */, + C63C9A1472C2D77A8E68248ED1FDC719 /* Headers */, + 9803B91B509448B946D6F7A9D1E2E3A0 /* Sources */, + 183D8B39A377C80256E80C5E7CE0EFC6 /* Frameworks */, ); buildRules = ( ); dependencies = ( ); - name = NSDataAES; - productName = NSDataAES; - productReference = F3DEC48A4806C456BF7333F05402A123 /* libNSDataAES.a */; + name = "NSString-Helper"; + productName = "NSString-Helper"; + productReference = 084AE6ECA57A970F74C4109DC3D26042 /* libNSString-Helper.a */; + productType = "com.apple.product-type.library.static"; + }; + B8DB1230EFD4A2B4440593A586A5F223 /* Specta */ = { + isa = PBXNativeTarget; + buildConfigurationList = 53BEA21E16D971DD879C3E657A257B8F /* Build configuration list for PBXNativeTarget "Specta" */; + buildPhases = ( + B8D2B623C07C95B59D036C59C87B4CAC /* Headers */, + B32D139C753723962E4DF82BF2804FFF /* Sources */, + 359C1EC68B3A2076B55FAF471EB05D22 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Specta; + productName = Specta; + productReference = E4A6EFA4A917599F12C0B7DB90CE41C9 /* libSpecta.a */; + productType = "com.apple.product-type.library.static"; + }; + BF3423B26285A217899170780715FAFC /* DDDKeychainWrapper */ = { + isa = PBXNativeTarget; + buildConfigurationList = 84B8AC4AA6E565449C0568D7A39A061C /* Build configuration list for PBXNativeTarget "DDDKeychainWrapper" */; + buildPhases = ( + 0F3D68BE8DB057D539676D639CA19719 /* Headers */, + F66C34AB755F218CCE96FE7644362763 /* Sources */, + 1901D5D15C8BA6880BE394AF51292643 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DDDKeychainWrapper; + productName = DDDKeychainWrapper; + productReference = CCC8C2A264D659D0F1394CD30CB0CFAF /* libDDDKeychainWrapper.a */; + productType = "com.apple.product-type.library.static"; + }; + C784B90D59D6E06A6468ADC0F4E51429 /* DJLocalization */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7F486EFB0BE1C161E29C5F600E84618D /* Build configuration list for PBXNativeTarget "DJLocalization" */; + buildPhases = ( + 20B8DC986A67EFF77659A504374A7502 /* Headers */, + 642087BC4D450C380B0722BC5D249DDB /* Sources */, + C619C5D849CFC895D349FA52B5E1A808 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DJLocalization; + productName = DJLocalization; + productReference = 3B5C70CFEC8F44CE8FD10524DEEC7A6F /* libDJLocalization.a */; + productType = "com.apple.product-type.library.static"; + }; + D71965AADCF27F9F922926F15DAA80A7 /* FBSDKCoreKit */ = { + isa = PBXNativeTarget; + buildConfigurationList = 61C1A4BDDE8EE751771A923C58E89CFE /* Build configuration list for PBXNativeTarget "FBSDKCoreKit" */; + buildPhases = ( + 403C1ED2B66F053BC2C51F88F8C3FE08 /* Headers */, + 82E7D8FFAB72480BDF51677EE466E8F4 /* Sources */, + 4FA715DE21577DA07A1A3781A5854923 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + F833A79E60788367DCB3CDF6E74DBC5B /* PBXTargetDependency */, + ); + name = FBSDKCoreKit; + productName = FBSDKCoreKit; + productReference = D0D5B66973CF80A3988FB78B6DCA4342 /* libFBSDKCoreKit.a */; + productType = "com.apple.product-type.library.static"; + }; + F23086A6598C6BAA8DAF542D4A03059D /* NSDate_Utils */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1B5389D1CF0F58C35B1B0020024E8E44 /* Build configuration list for PBXNativeTarget "NSDate_Utils" */; + buildPhases = ( + 7B6AC967AA7DEBDAEB68F887299C1096 /* Headers */, + 45F301237F6A121791FB1BAAC03051FA /* Sources */, + AFBAB76B3C8A22AA84D87DF175529D4A /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 1353AD29F33201559EC75C350E4A53DD /* PBXTargetDependency */, + ); + name = NSDate_Utils; + productName = NSDate_Utils; + productReference = 2FCE5603E1AAE87305D1570E294967EB /* libNSDate_Utils.a */; productType = "com.apple.product-type.library.static"; }; /* End PBXNativeTarget section */ @@ -3962,788 +4095,759 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */, - 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */, - 33744B13416CE666037143AD625AD724 /* CodFis-Helper */, - EF6364BCD9239D41077373DF8383FCD0 /* DDDKeychainWrapper */, - 2CCA0A5BB7B40CF2F6594BF0D24B4683 /* DJLocalization */, - 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */, - 3371FC4FDC48D96B2A6D507752AB84C7 /* FBSDKCoreKit */, - 191EE4AC6A0D8CC08BB8437C0E845116 /* FBSDKLoginKit */, - 4C6C0DEC127307838A58C68F289A3404 /* FBSDKShareKit */, - FE88C6C90B72279CEDF06AB3A39D1B28 /* NSDataAES */, - F76C3D6E6CD26C48DA5507B8C82CE87C /* NSDate_Utils */, - 91CFADD3F2AAFB0FF2F77F2DBA19DB5B /* NSString-Helper */, - F93DDBEC0063FE03A9B9D176690EDC3E /* nv-ios-http-status */, - FB1EE56FCB7A626DC70FE0286458B1BB /* PEAR-FileManager-iOS */, - EF0AEFBF9DC8D43442F5F2A7B603ED0A /* PNObject */, - AFEFC2C78952EECCF761054356C705E8 /* Pods-PNObject_Example */, - B811F9589EED01750BFF5CFBAB715C9C /* Pods-PNObject_Tests */, - 9FABD90CF9D328EE31409CA42A597A3D /* PureLayout */, - 308EDDEC51C8A18A3C77844119C34BC0 /* RZDataBinding */, - 1299BA0E752CDD0366B531EF41DC1E68 /* Specta */, - 5271C3FC8724603F0CBAD23A471EAB14 /* StrongestPasswordValidator */, - 43929E12B775B4FFF3CF21C07EF66EDF /* UIDevice-Utils */, + 0EABDFFFE1E889B87B1197D012AD068A /* AFNetworking */, + 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */, + 6E14B2EB890E5F1C28CB981EFB57CB3E /* CodFis-Helper */, + BF3423B26285A217899170780715FAFC /* DDDKeychainWrapper */, + C784B90D59D6E06A6468ADC0F4E51429 /* DJLocalization */, + 2F76C4DEAE2007246BF4FBF8967B2FA3 /* Expecta */, + D71965AADCF27F9F922926F15DAA80A7 /* FBSDKCoreKit */, + 428487CF01476A350D641A9BB0599574 /* FBSDKLoginKit */, + 0FE145A63419906335F165B953111B50 /* FBSDKShareKit */, + A7334FDC353B84921762C535B7E01EA0 /* NSDataAES */, + F23086A6598C6BAA8DAF542D4A03059D /* NSDate_Utils */, + B636D5CA7BFECB99A182D63A69EA5720 /* NSString-Helper */, + 6E6F78D1E706987F92C1C61F6B619A67 /* nv-ios-http-status */, + ADBBB3E85D1E2F795520A8939751318B /* PEAR-FileManager-iOS */, + 8499AC93B286F5F061A552CBC893C989 /* PNObject */, + 63178740FD447D2079BFABBA20ADEF1E /* Pods-PNObject_Example */, + 1130320101541C965E9A4B33B27D0BCF /* Pods-PNObject_Tests */, + 23677D10DAFC9612279D0C04E8F822F0 /* PureLayout */, + 65B039250BC589E46F912B1B0C2AE01B /* RZDataBinding */, + B8DB1230EFD4A2B4440593A586A5F223 /* Specta */, + 26069BE91A9928289B1454877B6683E5 /* StrongestPasswordValidator */, + A7ABB589D7269F28501753691B0189FB /* UIDevice-Utils */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 0068413C89BADAAF4691AA78AFE62C3E /* Sources */ = { + 00A9B36774E8DE8FF282799FCA5CE5B3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 775CE7A8107457BDE59F113D40020839 /* AFAutoPurgingImageCache.m in Sources */, - 73811DA312BCB537D44D62EC6AD15766 /* AFHTTPSessionManager.m in Sources */, - 5C0696B2AD1DC23F6473F5A19FAB6296 /* AFImageDownloader.m in Sources */, - 31ED9BD97AF9E62874AF3CDF2F8090CF /* AFNetworkActivityIndicatorManager.m in Sources */, - 97A86FAAD4B1AD9B3292FF6AF1D8F82B /* AFNetworking-dummy.m in Sources */, - E0EF330DB2D3521ED26E67B2E8687A2E /* AFNetworkReachabilityManager.m in Sources */, - 66E1040543AF7BA3DC3731FE17C85F5B /* AFSecurityPolicy.m in Sources */, - 5945033488F9995134DBB7014DE2412F /* AFURLRequestSerialization.m in Sources */, - 85D30678FF4F0AB306399A368EAA46B2 /* AFURLResponseSerialization.m in Sources */, - 9F5BB6B4995BA4A3B2C6AEBA6C31A6DB /* AFURLSessionManager.m in Sources */, - 2579663181BFA8F7DA4B5D7CF8537FC0 /* UIActivityIndicatorView+AFNetworking.m in Sources */, - D10CC46035F7A0C868C0955664A34609 /* UIButton+AFNetworking.m in Sources */, - A277AD9070E44BED5A7DE0B1D64D6F15 /* UIImageView+AFNetworking.m in Sources */, - D4AA4704CA7863CC86E22AAF88635836 /* UIProgressView+AFNetworking.m in Sources */, - B84CD33084C9867E67BD56E47B7BFC04 /* UIRefreshControl+AFNetworking.m in Sources */, - A7F7FDCD36E2DD8D8E346DB19452CC03 /* UIWebView+AFNetworking.m in Sources */, + 789C113F849D2152650246E812CEFD92 /* ALView+PureLayout.m in Sources */, + 299BAD28841F9E59571012470D83E9DB /* NSArray+PureLayout.m in Sources */, + AA6C2DC638A31B96889518F62367151D /* NSLayoutConstraint+PureLayout.m in Sources */, + ADFA22F318E8237CD11FB41D0BFEF84B /* PureLayout-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0069AD0E63E571CA7B9ADFFF0C76414B /* Sources */ = { + 10F47DC3012338EE7A7095BFB87AA45B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6A5F4569BD85852E951B4157E7A71DDC /* ALView+PureLayout.m in Sources */, - FB78AB0C04F175F41136D3A360FBC428 /* NSArray+PureLayout.m in Sources */, - 3F5DA9DED896C3C47BE550263F670E31 /* NSLayoutConstraint+PureLayout.m in Sources */, - B23F2F52588767CCDB72E9B48A45B3B9 /* PureLayout-dummy.m in Sources */, + EA09268C95CFB9491A86BA3214B901BF /* NSData+AES.m in Sources */, + 2EBB3871169ADA80543D579DA2B68C5F /* NSData+AESKey.m in Sources */, + C7856D541CA8451DA020A79FA20C3EAC /* NSData+AESValue.m in Sources */, + DD8868A75ECDBCEAF52390B813FF6529 /* NSData+SHA.m in Sources */, + 208E5B367B5ACA775FDBB8239726218E /* NSDataAES-dummy.m in Sources */, + 44137D4F96AFCC1B3B9656F201140F35 /* NSDataAESCipher.m in Sources */, + AB5BBDA109B69FC3AB4B19AF19D79137 /* NSMutableData+AES.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 0AEA4E544115D06C9C57A7D8F2A3D0C5 /* Sources */ = { + 12957DFD54C637959BE90DCDC9695075 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E1B3BE648E546EBBC9096092676096BA /* StrongestPasswordValidator-dummy.m in Sources */, - B44C79A0E74C733C25666FCD886495FD /* StrongestPasswordValidator.m in Sources */, + 1BE70E91E0121441BD9C9466364F67F8 /* NSObject+RZDataBinding.m in Sources */, + 90E43DF6002D7292F4EF6BB2A8F48F73 /* RZDataBinding-dummy.m in Sources */, + BA646F2BFDE06DC5F9C1EFF721FDE25B /* RZDBCoalesce.m in Sources */, + 1F65EE7AF8BB1BA499DE41B3611F9789 /* RZDBTransforms.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 1CEB7685BA48A5B29B367F4357DF1D6F /* Sources */ = { + 168FF6042A001BEA322966701BBB5AC2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 32A44625A7E4B35D87C47BBD5A22FD9B /* Pods-PNObject_Example-dummy.m in Sources */, + 7D10C9ADE7770705B6589C46A2D56DDE /* FBSDKAppGroupAddDialog.m in Sources */, + 84E484F55BE456F9C2AC6D10B00BC8C5 /* FBSDKAppGroupContent.m in Sources */, + CEA33D025567CBD7BA480680EE5155D4 /* FBSDKAppGroupJoinDialog.m in Sources */, + B75A9E1161273C93F86B87F905AA7F66 /* FBSDKAppInviteContent.m in Sources */, + EB6A54166A817E3E3D45BBE7EF30D550 /* FBSDKAppInviteDialog.m in Sources */, + EEEE790F4AA17DB682FDB4B385EB7C47 /* FBSDKCameraEffectArguments.m in Sources */, + 8FF2350E0E274B2526968718F65F594E /* FBSDKCameraEffectTextures.m in Sources */, + F473AB7AFAD698FA08CAADB2A7B2C7FF /* FBSDKCheckmarkIcon.m in Sources */, + 409A1CC1433E5C95EE7CE682A2E2E0B4 /* FBSDKGameRequestContent.m in Sources */, + 8BD2C801BAD7E32D51C1A5FCDD80FD20 /* FBSDKGameRequestDialog.m in Sources */, + 4F6B9E97C001CCEC71169ED327BCA693 /* FBSDKGameRequestFrictionlessRecipientCache.m in Sources */, + 98DE6A8ED32B28D5103E5ADDEF3C4509 /* FBSDKHashtag.m in Sources */, + DE5557BAD5A0E74C498553437B36AD95 /* FBSDKLikeActionController.m in Sources */, + 5E44108C666B3F67AC4BD3B1DEF3B732 /* FBSDKLikeActionControllerCache.m in Sources */, + 865154C1D6849E47CB014F647FD3C3AC /* FBSDKLikeBoxBorderView.m in Sources */, + 3524D932E585DFC2A41B081B077D6FDE /* FBSDKLikeBoxView.m in Sources */, + C1D3558C4859BC717A8EACCB37215EDB /* FBSDKLikeButton.m in Sources */, + 1053B2DB6537E9415F0EAA416CEAA76F /* FBSDKLikeButtonPopWAV.m in Sources */, + 1AFCC51E6CD2BA28739A25FA32795D26 /* FBSDKLikeControl.m in Sources */, + D6B0E1F1F7350E9E185C7E7C3A5497CE /* FBSDKLikeDialog.m in Sources */, + 396019EFCD86DFFCE38988E275F393DA /* FBSDKLikeObjectType.m in Sources */, + DFD829C488857DF5E6AF3EF01E0DC849 /* FBSDKMessageDialog.m in Sources */, + 5454C3D7021E044D6BFA6D2B0170BC59 /* FBSDKMessengerIcon.m in Sources */, + F435D89A9B19BF74EFC3637565394BBB /* FBSDKSendButton.m in Sources */, + DF1417108793761811DD0234FCB488E7 /* FBSDKShareAPI.m in Sources */, + 9C43032123DA74368CF14F4F031DB515 /* FBSDKShareButton.m in Sources */, + E3DBEE41F7561C185CD715D00AB1B99A /* FBSDKShareCameraEffectContent.m in Sources */, + 641E32DFF8249C4D2477436850AA8A97 /* FBSDKShareConstants.m in Sources */, + 9DDFE16F634196761FA61836185E2A55 /* FBSDKShareDialog.m in Sources */, + F8F4BCF0BF9B40161D16D28F44BB4DB3 /* FBSDKShareDialogMode.m in Sources */, + 61030D3EB4C684D7284E718381F3EC94 /* FBSDKShareError.m in Sources */, + 7027A9FEDCBB9B791906363339A6AD97 /* FBSDKShareKit-dummy.m in Sources */, + 872EBC07AD530A1D8BED5019C4AF5E0F /* FBSDKShareLinkContent.m in Sources */, + 1344771FCD7E484D006FCF8B82604547 /* FBSDKShareMediaContent.m in Sources */, + D6C6543A6E64AF372F94310EAEAACADB /* FBSDKShareMessengerContentUtility.m in Sources */, + 3C4D25D70D007E6B5633FE23BE6B2CD4 /* FBSDKShareMessengerGenericTemplateContent.m in Sources */, + DDE3042B112193419BA74F254269B9D2 /* FBSDKShareMessengerGenericTemplateElement.m in Sources */, + E76C9020FCD6C28A26C533600E50332A /* FBSDKShareMessengerMediaTemplateContent.m in Sources */, + 1C3A9D56E54E41D20E4977EB35C5A318 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m in Sources */, + B7368CEE2255870200C656DF16C7B400 /* FBSDKShareMessengerURLActionButton.m in Sources */, + FE07B7E252B3635ABBCD49455CE83AA6 /* FBSDKShareOpenGraphAction.m in Sources */, + 22F5AC77C784F4F179A7763B90B24A6A /* FBSDKShareOpenGraphContent.m in Sources */, + 781357E25E5A2DEFA8D8EA7E7B19AC6C /* FBSDKShareOpenGraphObject.m in Sources */, + 29F6FFB37AF9E82BA73AFAF917DE483B /* FBSDKShareOpenGraphValueContainer.m in Sources */, + F2A1A98C9D1CC9B5D873BB7D1FBE2B9A /* FBSDKSharePhoto.m in Sources */, + 855C6BCA0C9A9CA5AD7BE7AD2E3EB947 /* FBSDKSharePhotoContent.m in Sources */, + 5D5A5C58521774012084AF03E04F172E /* FBSDKShareUtility.m in Sources */, + 32522D61F476D77D64D49C33DC711869 /* FBSDKShareVideo.m in Sources */, + DAE3672406C3D69A54E3314F294B889B /* FBSDKShareVideoContent.m in Sources */, + 3934CBF26A913E61688A22F32249BDD5 /* FBSDKVideoUploader.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 268EFB52863A4A1D120288251B118F5B /* Sources */ = { + 27BB38B247EB7E72BAEAC2E7BC190765 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F127FB58BFFA583DB14AE231AE9826C4 /* Pods-PNObject_Tests-dummy.m in Sources */, + 1B5631ECABDFC196E23F140C0337213D /* _FBSDKLoginRecoveryAttempter.m in Sources */, + 93E1F20990B3E61C372E7E7AA07DE1A2 /* FBSDKDeviceLoginCodeInfo.m in Sources */, + AF99F1B8AB0B2F0FFB2D5D89E031D894 /* FBSDKDeviceLoginError.m in Sources */, + ED073B849AE889A12A4305CF57818780 /* FBSDKDeviceLoginManager.m in Sources */, + D1FBE3E2B04D6961B08D4859CB79EFB8 /* FBSDKDeviceLoginManagerResult.m in Sources */, + 46D0DC84B3B40B9CB044D74E4709C754 /* FBSDKLoginButton.m in Sources */, + EB7295A0DC35A67A1747CC7A4BCCD85B /* FBSDKLoginCompletion.m in Sources */, + 466523A1E1B31C1AA8FD5BDC3B434F0E /* FBSDKLoginConstants.m in Sources */, + A9F4A7FBFB0A0FBE5A11472CB0E2C07F /* FBSDKLoginError.m in Sources */, + EA99CE0C44219ED43BA58D6B822FA535 /* FBSDKLoginKit-dummy.m in Sources */, + 1A3ADB043C2D513D9258861EB23A69B2 /* FBSDKLoginManager.m in Sources */, + 0CA0E2158F6EB8006169912283109B48 /* FBSDKLoginManagerLogger.m in Sources */, + 794E313F37A8A5DAD7D4E8CE28B95051 /* FBSDKLoginManagerLoginResult.m in Sources */, + 12391E62320C3781CAD46C0EFDD589C7 /* FBSDKLoginTooltipView.m in Sources */, + 5FD203D399B52F2A8A7129195256F81F /* FBSDKLoginUtility.m in Sources */, + 3E66C3E919E8B5A41952912EE11C028B /* FBSDKTooltipView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 276F16A4350034FB8246D2B188E63C74 /* Sources */ = { + 3CA62BC6D3BA04C0745181392D6863EF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 54920986F622D864E2E0291541436AB1 /* Specta-dummy.m in Sources */, - 2C2A3431015AEC77777775D4EFF8608D /* SpectaDSL.m in Sources */, - 5139CA4CF1A4AF26CDF20776132F06A9 /* SpectaUtility.m in Sources */, - 724093658698BAFA6EBA56E53D9EB93E /* SPTCallSite.m in Sources */, - 39A788AE7BB073E400580CDBA9448702 /* SPTCompiledExample.m in Sources */, - 0748A45791811D282D76C93117391BC9 /* SPTExample.m in Sources */, - A3E1A722C2C7CC9A399EB994F9BFAB68 /* SPTExampleGroup.m in Sources */, - 7C45CBED574A173D89C861FD8E09590F /* SPTSharedExampleGroups.m in Sources */, - 6B45816D05252A7032B6CF9F29FE913B /* SPTSpec.m in Sources */, - 12F9BF24AFC735FA7A03B57EED6D3FDC /* SPTTestSuite.m in Sources */, - B6EAFBAB89ED63B8F1C8AB728E29DE22 /* XCTestCase+Specta.m in Sources */, + B60DED481B8C9145ED79C156F76E4FCF /* EXPBlockDefinedMatcher.m in Sources */, + 4A9A562406FF3C97C4129D66B18F6859 /* EXPDoubleTuple.m in Sources */, + 1FE049AF9EA4DFEE0ADAE2E08F0294F9 /* Expecta-dummy.m in Sources */, + 936F558BB8EA4B91337D3C5F3B01CC7E /* ExpectaObject.m in Sources */, + 30DC49514C1A0C670507330948AAB941 /* ExpectaSupport.m in Sources */, + 7BAEC6BD63A58DA35019F4928C72D9C9 /* EXPExpect.m in Sources */, + 854A5179B17321B1ACE2F4F89A1A6887 /* EXPFloatTuple.m in Sources */, + FB1C06DEA18A3F43E40E1FB8E311623E /* EXPMatcherHelpers.m in Sources */, + 5B131207C7BA6BF1455FD2194CB63B7F /* EXPMatchers+beCloseTo.m in Sources */, + D728200841DAF28BBAFA715C27EE08CB /* EXPMatchers+beFalsy.m in Sources */, + 522B93E3C9779AC51A0B6DDA8DBC3169 /* EXPMatchers+beginWith.m in Sources */, + E88E4C1BCB1CBA2A553235BB712DD5DA /* EXPMatchers+beGreaterThan.m in Sources */, + 7167A0191A09719D4A5FC81E405FD491 /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, + 21F2EF2767136B85E80E026A974D9CCC /* EXPMatchers+beIdenticalTo.m in Sources */, + C1EB4DAB79037286B468228A394383C2 /* EXPMatchers+beInstanceOf.m in Sources */, + E012F56169477B39357852DEA9ED4567 /* EXPMatchers+beInTheRangeOf.m in Sources */, + 9E1436121B15B5382F66D42C2FF72011 /* EXPMatchers+beKindOf.m in Sources */, + 82C5215501C4109081E963A4815FCCF1 /* EXPMatchers+beLessThan.m in Sources */, + 6AFE20F50EBDFC499A6FE45DA4FB3739 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, + 37E74BB611D287EA8DA7D4A9433ADCC3 /* EXPMatchers+beNil.m in Sources */, + B93A615A86ABFFAB3D0CF5A94130F439 /* EXPMatchers+beSubclassOf.m in Sources */, + 08A77C331857F6CB64AE42ED3A2C2668 /* EXPMatchers+beSupersetOf.m in Sources */, + 11370609D1CD9B9107F787C3BB5B4492 /* EXPMatchers+beTruthy.m in Sources */, + 9C753A1C10DDC28C8C9215D0B58CCE9A /* EXPMatchers+conformTo.m in Sources */, + D9F69F13B40DC9DB196645DC5CBEE6AC /* EXPMatchers+contain.m in Sources */, + 317B01976E992013776876BF69F013C5 /* EXPMatchers+endWith.m in Sources */, + 6A55F873250A5B1E26E0320E42790F94 /* EXPMatchers+equal.m in Sources */, + 4AC1B9D0D40CAC17B102DDBBD3BA0999 /* EXPMatchers+haveCountOf.m in Sources */, + FE623762B1E5D0FEB3625D5B819E8FF8 /* EXPMatchers+match.m in Sources */, + DA9DFA194BC2AE32325A7B91FDEE82AB /* EXPMatchers+postNotification.m in Sources */, + 3E83440DD72381F99AF66A1C0D5E5461 /* EXPMatchers+raise.m in Sources */, + F57A53A72B4869B03D6D11E48FC32FA8 /* EXPMatchers+raiseWithReason.m in Sources */, + D4EE59FAC1241AA395EA48C2815687B6 /* EXPMatchers+respondTo.m in Sources */, + 1CBF9A754FEBA4FD0E5D8AD2EB3FFCD9 /* EXPUnsupportedObject.m in Sources */, + 5C836967A64A9B0A73004E02B0A797BA /* NSValue+Expecta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 303F6B0E25822CB2D20699A57CCE5FB1 /* Sources */ = { + 45F301237F6A121791FB1BAAC03051FA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5F3F68C15C5B3EEFAEA43996108BD36F /* NSDate+NSDate_Util.m in Sources */, - F66F20722B7CD54F2EF75DDFD90D0280 /* NSDate_Utils-dummy.m in Sources */, + A67845A90E116A203E63EC3479348C95 /* NSDate+NSDate_Util.m in Sources */, + A7578BE8C819FE4979DBB9591EB85717 /* NSDate_Utils-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 47837D945ADA224485AD1B7705C29C32 /* Sources */ = { + 56DF7E22D6F708B4242ED0AF08FDCC52 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 666A2904C4F791DA33D8C071A4C9CC30 /* UIDevice-Hardware.m in Sources */, - EF812E5D08395B3990D8711C82A90FB8 /* UIDevice-Utils-dummy.m in Sources */, + 21535B6B089E5472A3250B0C56893BA7 /* Pods-PNObject_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4B35B0B70443F83E724EBDFEBDEDC6A7 /* Sources */ = { + 642087BC4D450C380B0722BC5D249DDB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - F9FD63BD63BC30D7D72D3652E267BDA8 /* NSString+Helper.m in Sources */, - 37E5DC5EB0E0A194BCFD8A24438CDF4A /* NSString-Helper-dummy.m in Sources */, + AB21C0D330C9B43FE6EC4A8BF305D2D9 /* DJLocalizableString.m in Sources */, + FFE90F9273AC79D083D598DF2F8861EE /* DJLocalization-dummy.m in Sources */, + A461560958A7C2A444019DE8C9D4AA73 /* DJLocalizationSystem.m in Sources */, + BF0236A4E80A93AD277A8CE46B0F983B /* UIStoryboard+DJLocalization.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4F4CE908D65C3CD6A633911FE18195E8 /* Sources */ = { + 6E9158762B23685A96B8519F499F19C7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - FFFABEC2B482411621A7C52404E1F855 /* _FBSDKTemporaryErrorRecoveryAttempter.m in Sources */, - 73051D8C7289B4BC83CD5190693CE682 /* FBSDKAccessToken.m in Sources */, - C70BFB37CAFB5D6F3940F80F6EC61822 /* FBSDKAccessTokenCache.m in Sources */, - 869F7A6FF5D3400D7189EC90A087AFBD /* FBSDKAccessTokenCacheV3.m in Sources */, - CFC46C8826CE949D9A0249125199C0F5 /* FBSDKAccessTokenCacheV3_17.m in Sources */, - E9310AA69CB760DF93FCBB32CC4618F3 /* FBSDKAccessTokenCacheV3_21.m in Sources */, - B066DF550BA91DCA930318AFF3AD8E64 /* FBSDKAccessTokenCacheV4.m in Sources */, - C8469274077DD8E140CE6A1EA9681412 /* FBSDKAccessTokenExpirer.m in Sources */, - 934B2F5726D235ADE2F34B27C27E0D34 /* FBSDKAppEvents.m in Sources */, - 9A1079723C575EC12500FE454C76DFB5 /* FBSDKAppEventsDeviceInfo.m in Sources */, - 432F435EF444DE072B198F405217EAF3 /* FBSDKAppEventsState.m in Sources */, - BA2A8DF285BB96F5B139F487606C2DF5 /* FBSDKAppEventsStateManager.m in Sources */, - 625F351DEBF741960CA61F457E49E548 /* FBSDKAppEventsUtility.m in Sources */, - EB47A5EDEA5EFF7CEBF251E48F968AC6 /* FBSDKApplicationDelegate.m in Sources */, - 8ECD5C839DC8B4ECE10BFE38B286C530 /* FBSDKAppLinkResolver.m in Sources */, - 7EAA8B5E953F43E1FC075310534AC3D2 /* FBSDKAppLinkUtility.m in Sources */, - 80ECDB2F3217BE92A50E18FCD5133C99 /* FBSDKAudioResourceLoader.m in Sources */, - C53FFD2BAF26915055DE88A24D7E14A1 /* FBSDKBase64.m in Sources */, - 4F2D0CBFD05820E8463DDC347115FCD7 /* FBSDKBoltsMeasurementEventListener.m in Sources */, - FA54975506E72DD8D0712350F6B96D3E /* FBSDKBridgeAPICrypto.m in Sources */, - 0FB35A7EBE79FE87DAC1C027ECBBC9CD /* FBSDKBridgeAPIProtocolNativeV1.m in Sources */, - BFE5E92CA005E167485F046FFD043B85 /* FBSDKBridgeAPIProtocolWebV1.m in Sources */, - EA7F051D202670246D43B8126E5B4864 /* FBSDKBridgeAPIProtocolWebV2.m in Sources */, - 2E38DDB44482F0D44231267FE75B76A3 /* FBSDKBridgeAPIRequest.m in Sources */, - 689C6A4A86F37EA89A90D6DDBF633245 /* FBSDKBridgeAPIResponse.m in Sources */, - 7090D6A4B26E527B2E0FD6BA04CBA455 /* FBSDKButton.m in Sources */, - 3CB8197806C4FD2C499740FE6469542F /* FBSDKCloseIcon.m in Sources */, - D35BB2B9921DB3A1EF10264E8E1C1C92 /* FBSDKColor.m in Sources */, - 5587F8BDFE140DFF0458E57A92795DD3 /* FBSDKConstants.m in Sources */, - AC301C333BA69062681ADA02486C35E7 /* FBSDKContainerViewController.m in Sources */, - 9557F6C5CB49371565F5F138FEFD85BC /* FBSDKCoreKit-dummy.m in Sources */, - 142E434594946BE8EE22C103A4A4BBBB /* FBSDKCrypto.m in Sources */, - 4B2BB61D4B6BEC23134C3AF6D65885DB /* FBSDKDeviceRequestsHelper.m in Sources */, - 7A08123DC70ACB903B586DF4B27B6BD8 /* FBSDKDialogConfiguration.m in Sources */, - 99C769835FEA1EF96923CB33D4D09432 /* FBSDKDynamicFrameworkLoader.m in Sources */, - C34247532E685CD6BD6849D51FD13076 /* FBSDKError.m in Sources */, - 1F6AD705BFCC3E200F4F47D03122D218 /* FBSDKErrorConfiguration.m in Sources */, - 5F1A1B55FA3886702CB08DA284A7D7D4 /* FBSDKErrorRecoveryAttempter.m in Sources */, - 11E50B9954ADB706F2EB3CD855515723 /* FBSDKErrorRecoveryConfiguration.m in Sources */, - 6B6F45CC6498B8E1616C991FE3187FCB /* FBSDKGraphErrorRecoveryProcessor.m in Sources */, - 43B4BA6508C23EF7B9D6D7198555DDC2 /* FBSDKGraphRequest.m in Sources */, - 47594E5267E1D3296FCBB13536AD1A91 /* FBSDKGraphRequestBody.m in Sources */, - B960D56561960240F18FD222FD88CCCC /* FBSDKGraphRequestConnection.m in Sources */, - 70CD963FA2BA2DB9739B6554824C0C84 /* FBSDKGraphRequestDataAttachment.m in Sources */, - 360867C3FD59B58A5465034762973EE5 /* FBSDKGraphRequestMetadata.m in Sources */, - 0EE78689333C13C97ED2BA8F35153B5B /* FBSDKGraphRequestPiggybackManager.m in Sources */, - CADCC42E463B79E7D2082FA8049719BD /* FBSDKIcon.m in Sources */, - CF298BD66BB208CA3F7498529E99AC8F /* FBSDKImageDownloader.m in Sources */, - E91A75183B50DDF39117A436008E24A4 /* FBSDKInternalUtility.m in Sources */, - EE4667F68475438AC3BD6E7C8F905523 /* FBSDKKeychainStore.m in Sources */, - E0A41E743277EDB35D30CE90C99D65BF /* FBSDKKeychainStoreViaBundleID.m in Sources */, - E73651F74CAD43F1EC9C61A1E15B2273 /* FBSDKLogger.m in Sources */, - 403D987CFE7FA57790EE88ADDCC2A665 /* FBSDKLogo.m in Sources */, - 3F48A7CEA98E0858C4B000E7921ED413 /* FBSDKMaleSilhouetteIcon.m in Sources */, - 52C2C9F674EF392C168D5E7E94D062E3 /* FBSDKMath.m in Sources */, - 91780A3AA9F98AC9EB820C7B5710F303 /* FBSDKMonotonicTime.m in Sources */, - A9DE24E43195C8AF8946EB5293B63C36 /* FBSDKPaymentObserver.m in Sources */, - A3E747A53FAF5A473E66F9869CFC5910 /* FBSDKProfile.m in Sources */, - 5968769ABC6081161BC022DD0D80D367 /* FBSDKProfilePictureView.m in Sources */, - 8C357B0099858311389BF6E8FC05C83C /* FBSDKServerConfiguration.m in Sources */, - BE35FCFFAAA6A3E69B0F528E8018A283 /* FBSDKServerConfigurationManager.m in Sources */, - BF09481B3CE00E7D7541AFB3C1A2B99D /* FBSDKSettings.m in Sources */, - 6820C70D73E14DD440E6B013F07DAD4D /* FBSDKSystemAccountStoreAdapter.m in Sources */, - 63E26AB8D43B5BA2459783CCF74724C5 /* FBSDKTestUsersManager.m in Sources */, - 45F2AC996F5AC9402AE6E3FDFD4D4A14 /* FBSDKTimeSpentData.m in Sources */, - C6B2A1CB53F136395A5A1D92A863945E /* FBSDKTriStateBOOL.m in Sources */, - 79402CE5F0F5B19B4F5F2F8615FB9642 /* FBSDKTypeUtility.m in Sources */, - 7A084BD7EBBE2C15ACC9E8886A05EA00 /* FBSDKURLConnection.m in Sources */, - 8F77F9DAA8AF9FF0D0609322A9587D1E /* FBSDKURLSessionTask.m in Sources */, - 50484442E98BCA09C7C81ACD0EC69848 /* FBSDKUtility.m in Sources */, - 5F784EB5F40F4792DD8D465E36CE5DA2 /* FBSDKViewImpressionTracker.m in Sources */, - B5B111C9EF43A9F12BE5DB92957C499D /* FBSDKWebDialog.m in Sources */, - 25CEA527165A2816B5BAF79D6917DC32 /* FBSDKWebDialogView.m in Sources */, + 7A363BE29075121D69BB814A5768C675 /* AFAutoPurgingImageCache.m in Sources */, + 31C7D5A52A23943A31FE7BB18D7D04B5 /* AFHTTPSessionManager.m in Sources */, + B30CA0A041BB4FBF8F4B29B54654E57F /* AFImageDownloader.m in Sources */, + 63F9CAF62FF3F4925BF18F8F7EAA3D65 /* AFNetworkActivityIndicatorManager.m in Sources */, + B4C7B543C4543A80A3043F3537E13745 /* AFNetworking-dummy.m in Sources */, + D300575510C95C1B143422392CE52070 /* AFNetworkReachabilityManager.m in Sources */, + 2647288BA688C6A1E74FBD05CC04D164 /* AFSecurityPolicy.m in Sources */, + 3610BA1DA288AC37DD83277DBCB50B00 /* AFURLRequestSerialization.m in Sources */, + 5855C9103CD56D525F718C56B1415B18 /* AFURLResponseSerialization.m in Sources */, + 7C4B8DCA490D1C3C1466C8A074ACCA2D /* AFURLSessionManager.m in Sources */, + E03E56B2C755C083A8FD9F7518CB695F /* UIActivityIndicatorView+AFNetworking.m in Sources */, + C98721120AA130804106F8DE44DCA31A /* UIButton+AFNetworking.m in Sources */, + 5CE0BD054025A82FFE16616B8559F448 /* UIImageView+AFNetworking.m in Sources */, + A09C6504411ECD4F3E27CD83C993207D /* UIProgressView+AFNetworking.m in Sources */, + 74ACD77123BD1E4B1F25DE53DAED8EEB /* UIRefreshControl+AFNetworking.m in Sources */, + 7D80F293E0D0160FD33D353B80E7D92A /* UIWebView+AFNetworking.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 512BAAFE49828A54D7476FBB2C6A1E90 /* Sources */ = { + 822108F88FAD2CB5BCB6408E26A757DF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 82B9C9B47872302723D1692917349DCF /* _FBSDKLoginRecoveryAttempter.m in Sources */, - CC5A4ED0B7DA8471294C003A49BCA81C /* FBSDKDeviceLoginCodeInfo.m in Sources */, - 6711F24BC7998DF1A5669B2DC0961697 /* FBSDKDeviceLoginError.m in Sources */, - DC3AF5BB6E0D4D3023A5B102E109FFFD /* FBSDKDeviceLoginManager.m in Sources */, - 03EE17452DFC57AC830E7212642B037C /* FBSDKDeviceLoginManagerResult.m in Sources */, - 5D01738470FF01B0E2882187DD4DE0FC /* FBSDKLoginButton.m in Sources */, - EE95EC96592F59BC59DC8A5D2A1F6461 /* FBSDKLoginCompletion.m in Sources */, - BCD04C4F5F57F2200194BFFF087452B1 /* FBSDKLoginConstants.m in Sources */, - 1EDED26B7AF351739C6FF77FB71AE4F4 /* FBSDKLoginError.m in Sources */, - 267B3752A58076DC30BF01458F61BD20 /* FBSDKLoginKit-dummy.m in Sources */, - EB4A844A172E95561950F59F49F31A44 /* FBSDKLoginManager.m in Sources */, - F1602B08348E016979696C86FE7C9D70 /* FBSDKLoginManagerLogger.m in Sources */, - 456A4A179EA25B48EF96D83896B71AD0 /* FBSDKLoginManagerLoginResult.m in Sources */, - E7608D422C821C6B2EDBD8A904109E18 /* FBSDKLoginTooltipView.m in Sources */, - AB077BCBEE82672925C142F064D6411D /* FBSDKLoginUtility.m in Sources */, - 0B0426471AB177385370C3996284BDA2 /* FBSDKTooltipView.m in Sources */, + F73327D72228AE97BFE9F5600E5855D0 /* PEAR-FileManager-iOS-dummy.m in Sources */, + A66A8F49BCF0452FF86B23746E4859E2 /* PEARFileManager.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5A1715485AF02533C3EE06033E9DA73F /* Sources */ = { + 82E7D8FFAB72480BDF51677EE466E8F4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - CC995F4F36E9D6237AFC6F729364B867 /* EXPBlockDefinedMatcher.m in Sources */, - 045E77138594FCD0492D74EE7C22AC90 /* EXPDoubleTuple.m in Sources */, - E95DE019212836608A35BF3270AADF17 /* Expecta-dummy.m in Sources */, - A904D2D6242F68CC3B959E2B0FC8B4F9 /* ExpectaObject.m in Sources */, - C091203A57422574B3263D1E9BA53A87 /* ExpectaSupport.m in Sources */, - 1C74D210067A2D584AA672E61F246ECC /* EXPExpect.m in Sources */, - 643DE0287F1066D083368EAC928DF078 /* EXPFloatTuple.m in Sources */, - 63CDCCAC82CBC33021220531D93213A2 /* EXPMatcherHelpers.m in Sources */, - 4943F7D828D56A874ACCA7AC312F863B /* EXPMatchers+beCloseTo.m in Sources */, - C498F24E736A80A0F6C440DBC33AF494 /* EXPMatchers+beFalsy.m in Sources */, - C670343470EAC260E60ABD463CC39E2D /* EXPMatchers+beginWith.m in Sources */, - 2C944499E3BB44E17E10959A76BBAEA3 /* EXPMatchers+beGreaterThan.m in Sources */, - CDA268F5B643324DD61A0E25BD4179ED /* EXPMatchers+beGreaterThanOrEqualTo.m in Sources */, - B709C0890B67EB6C1AB9B9738CDBEEC6 /* EXPMatchers+beIdenticalTo.m in Sources */, - B2880B5D7D91AACFCEF345934CFEBA55 /* EXPMatchers+beInstanceOf.m in Sources */, - 28BC58EE3C7374C4C2DEF6D029011C84 /* EXPMatchers+beInTheRangeOf.m in Sources */, - 885C2534832AF6B1DFA98FA19C4D9994 /* EXPMatchers+beKindOf.m in Sources */, - A12B39559E464A1089E4389274973616 /* EXPMatchers+beLessThan.m in Sources */, - 2523657BEE249A532CDFD495AC911F39 /* EXPMatchers+beLessThanOrEqualTo.m in Sources */, - 0435080233FFD861A266AB43BE3279D3 /* EXPMatchers+beNil.m in Sources */, - 71FBC2F8907E29EB767026E6A08F7EEF /* EXPMatchers+beSubclassOf.m in Sources */, - 391226D83570CA724B533A2C609A5EF5 /* EXPMatchers+beSupersetOf.m in Sources */, - 1E2343F7AE04C5D386CCD455E84F13E0 /* EXPMatchers+beTruthy.m in Sources */, - 58E38027B0A4F6CA7BE54F0AE8D4885B /* EXPMatchers+conformTo.m in Sources */, - FE84239BE923F217FD38E45B4F770EFD /* EXPMatchers+contain.m in Sources */, - F8E39087737225714939DB0252FB1114 /* EXPMatchers+endWith.m in Sources */, - 863C5CC8F4698A0C85AB53C9B072D889 /* EXPMatchers+equal.m in Sources */, - 24FF4A3B66A2F383BA14790790108406 /* EXPMatchers+haveCountOf.m in Sources */, - 0FE4C580D709657792E5661E74F171D5 /* EXPMatchers+match.m in Sources */, - D94F3CDE976C052BF0BD112E257A7F19 /* EXPMatchers+postNotification.m in Sources */, - A5CB8C92268FCAC7B00F12EE55B43338 /* EXPMatchers+raise.m in Sources */, - 1D622FBC8A4262E6B398F5CCCB1D9650 /* EXPMatchers+raiseWithReason.m in Sources */, - 5D50DA13C7A8B2AF549AA4F05E69F9F4 /* EXPMatchers+respondTo.m in Sources */, - ED087996824EE3256B222E3BAEBAB14D /* EXPUnsupportedObject.m in Sources */, - 4EB308BF802E6F21BABDA8B8718CC7AB /* NSValue+Expecta.m in Sources */, + 379EE353AAAF4E1C20360A28426F81C3 /* _FBSDKTemporaryErrorRecoveryAttempter.m in Sources */, + 17A9449C050498493A1F79B62E8D6E55 /* FBSDKAccessToken.m in Sources */, + 138F2AD3773BBFF3CDD2764FF13CD27C /* FBSDKAccessTokenCache.m in Sources */, + FD560570B3E7568E94FA503EE24A1087 /* FBSDKAccessTokenCacheV3.m in Sources */, + 1751090389BAE32331DF7D6C14732F88 /* FBSDKAccessTokenCacheV3_17.m in Sources */, + 222C650B3594A18E7DB0AD88FD5C845F /* FBSDKAccessTokenCacheV3_21.m in Sources */, + F49906976C1669DDF4D88F8904C8617E /* FBSDKAccessTokenCacheV4.m in Sources */, + E9946CCF56CB845277D2646DA1B96C1E /* FBSDKAccessTokenExpirer.m in Sources */, + 5B0D99DBC6962679024DCB43643813BF /* FBSDKAppEvents.m in Sources */, + 88C8F4FB60378D4DD8712F1AD8A51481 /* FBSDKAppEventsDeviceInfo.m in Sources */, + 5A5C26749271533645256CC332DF7292 /* FBSDKAppEventsState.m in Sources */, + 183E2DED78A76D5E58A41D8D017DF9C7 /* FBSDKAppEventsStateManager.m in Sources */, + 8AAFB07AADB3CD4F639112B28633F6B8 /* FBSDKAppEventsUninstall.m in Sources */, + BBD6D82E3C00632FB251B0091A037311 /* FBSDKAppEventsUtility.m in Sources */, + 3EF512C592A4C3ED940D79AF1A684B5C /* FBSDKApplicationDelegate.m in Sources */, + 588EBFF034DDE1388B6B8204CDE44163 /* FBSDKAppLink.m in Sources */, + 7DB70D62C2A46B2CF4E7DA5BD56EBD60 /* FBSDKAppLinkNavigation.m in Sources */, + 57072620B5F92EB21C27C92109189580 /* FBSDKAppLinkResolver.m in Sources */, + B3CA67B486E1719A124C5F1DB4256AEF /* FBSDKAppLinkReturnToRefererController.m in Sources */, + AA5C88F10468A55C41A2193119C54D21 /* FBSDKAppLinkReturnToRefererView.m in Sources */, + B39C2441EB0E51A74699176E48E1A8E8 /* FBSDKAppLinkTarget.m in Sources */, + 713B0290DCD4649E177F455A7356D833 /* FBSDKAppLinkUtility.m in Sources */, + 91ED2C949C60F448233A36AA2D699338 /* FBSDKAudioResourceLoader.m in Sources */, + 2E7BD4927D6049811F367F4D0952BFE7 /* FBSDKBase64.m in Sources */, + C3763545936D68F70E2336A6DBDF87CB /* FBSDKBoltsMeasurementEventListener.m in Sources */, + E67A8234481FA50D5980A24AD2AF4AA2 /* FBSDKBridgeAPICrypto.m in Sources */, + EEE90A804A9D9C45B6FAAE59AF648A37 /* FBSDKBridgeAPIProtocolNativeV1.m in Sources */, + F3E714996397702AFA717A6034F89EA5 /* FBSDKBridgeAPIProtocolWebV1.m in Sources */, + B8041A0CD63F21B8E087F7F795212B5E /* FBSDKBridgeAPIProtocolWebV2.m in Sources */, + 3CBB32A2E0C543FB415508C2BD5EB93C /* FBSDKBridgeAPIRequest.m in Sources */, + 21809E415ACA6A73B8DE677487C5E61B /* FBSDKBridgeAPIResponse.m in Sources */, + A2F3A17F0A21A3DEEE6EC83D57CC0F0F /* FBSDKButton.m in Sources */, + 58E4A3FA33E8AD9728E8E8BE06459E0B /* FBSDKCloseIcon.m in Sources */, + 11A17EFE591AA340A6CE7A274DC1987B /* FBSDKCodelessParameterComponent.m in Sources */, + AD82883E20FB648B0EAFB696C8B49895 /* FBSDKCodelessPathComponent.m in Sources */, + 0D0F452B575E190C7213A91EB17B2F2C /* FBSDKColor.m in Sources */, + 0A004A774371313724FD2CDAB8E028B7 /* FBSDKConstants.m in Sources */, + 8716445EB7B8630DEC2F206115A37D54 /* FBSDKContainerViewController.m in Sources */, + FE6D38499076BD23BF81A1490B551C21 /* FBSDKCoreKit-dummy.m in Sources */, + 7C7A3E5E39696BDFE861BDCBD0FF360A /* FBSDKCrypto.m in Sources */, + 2736DB4B35A53B66F656FBEDB5FD29C8 /* FBSDKDeviceRequestsHelper.m in Sources */, + E89CDC617E8F7654DADDAF195A813F76 /* FBSDKDialogConfiguration.m in Sources */, + F653602DDC5621262A51E07F860C57F2 /* FBSDKDynamicFrameworkLoader.m in Sources */, + C471AFE0B359ECE7205F6275DEF2BF45 /* FBSDKError.m in Sources */, + 4E222FAC164C5AF9D134FAA764D1AD01 /* FBSDKErrorConfiguration.m in Sources */, + 9AF2916356336DF258EB0614FF3377AE /* FBSDKErrorRecoveryAttempter.m in Sources */, + F0D2B51A842A3C2252D76C832058EA2E /* FBSDKErrorRecoveryConfiguration.m in Sources */, + 049957B67D6CDCEB437E71E659F55E0C /* FBSDKEventBinding.m in Sources */, + B8900D0468D47B26F18E5DDE71FDAEED /* FBSDKEventBindingManager.m in Sources */, + 541A150F47F274A2E75151231B26278B /* FBSDKGraphErrorRecoveryProcessor.m in Sources */, + DF73F09FCA1704506EE7E0BF00CD42EB /* FBSDKGraphRequest.m in Sources */, + 3A5D233A243A3B622CFEBE69417C5311 /* FBSDKGraphRequestBody.m in Sources */, + 666906D65B6FB93DAD8D35A951445EEC /* FBSDKGraphRequestConnection.m in Sources */, + 09712EBDA1994961CE9C31F1EFDAF894 /* FBSDKGraphRequestDataAttachment.m in Sources */, + 990210D04E6297ECF71B94F5473E3ADF /* FBSDKGraphRequestMetadata.m in Sources */, + 0A1CFD0C8DB65F5B278C84D60E8AF191 /* FBSDKGraphRequestPiggybackManager.m in Sources */, + 90BCE8D3D1AB17E293CDB5491C8FA7BD /* FBSDKHybridAppEventsScriptMessageHandler.m in Sources */, + 6854944632B3D42512DCDBA043513186 /* FBSDKIcon.m in Sources */, + 2634D93125CFB6C39D524F1F7F4C069C /* FBSDKImageDownloader.m in Sources */, + 5F9AEF2488EDE6958051A208A40A67C4 /* FBSDKInternalUtility.m in Sources */, + 448052C6B70F1BE9B44B7AFB9DCEB45B /* FBSDKKeychainStore.m in Sources */, + 2BEBB43A11CC5E3860D8B864F3E4F620 /* FBSDKKeychainStoreViaBundleID.m in Sources */, + 1FE4E5B7FD421540AEA91A0DDF9728D3 /* FBSDKLogger.m in Sources */, + 3E7AF8FD5D0B9BB6CE7C6A2245D686A8 /* FBSDKLogo.m in Sources */, + BA0BC9FE6A015F2A0A52F7C393CB6EBA /* FBSDKMaleSilhouetteIcon.m in Sources */, + 4E948B6EEB7EB8AB4979EBD6794E254B /* FBSDKMath.m in Sources */, + 874600BC9704604956CD6C7B06D81AAD /* FBSDKMeasurementEvent.m in Sources */, + A5153CF6A6262915EE2FA75393045171 /* FBSDKMonotonicTime.m in Sources */, + F8913FB5AA599DB79465591ADA9DEFB2 /* FBSDKPaymentObserver.m in Sources */, + 091323A9C683CC6AE616CC5C2E6703B8 /* FBSDKProfile.m in Sources */, + 1477A552AA3E3027A18F09B549FC9115 /* FBSDKProfilePictureView.m in Sources */, + 2A7B906C6E4C44D16C334B19B29D502D /* FBSDKServerConfiguration.m in Sources */, + AFB4C25724EBC1689155913AAE5B45E3 /* FBSDKServerConfigurationManager.m in Sources */, + 7CD1EC69438A0F7CD14C2BAFB82C6268 /* FBSDKSettings.m in Sources */, + CE2E52CE2DF36E8460C12537B5CF15C5 /* FBSDKSwizzler.m in Sources */, + D34C710467282F4B6769AD9FDBB46B8C /* FBSDKSystemAccountStoreAdapter.m in Sources */, + DF2CD8858A3F0E265D27D91895B6656A /* FBSDKTestUsersManager.m in Sources */, + D86876EFBE692F33A371E6F5F03DDD0F /* FBSDKTimeSpentData.m in Sources */, + 6A64C061241326CBD97B377B6BE66714 /* FBSDKTriStateBOOL.m in Sources */, + 530F9F7F9A63D142BBCF8EAAEC3BF49D /* FBSDKTypeUtility.m in Sources */, + 2B8DA2E4560E08CADAF8524226832C7C /* FBSDKURL.m in Sources */, + C662AD540F8337B3C028C0AD1439FA64 /* FBSDKURLConnection.m in Sources */, + BAF05A6456511CD7D49701575FAC468C /* FBSDKURLSessionTask.m in Sources */, + 8E5B46BE55688C744B490076A5BABE16 /* FBSDKUserDataStore.m in Sources */, + A7ABF62FF15E1E127CD8309A2F049A43 /* FBSDKUtility.m in Sources */, + D7405ADE0E61A53C4D53CDE45B98D124 /* FBSDKViewHierarchy.m in Sources */, + 8B3C790A9F62211F165C731DAD3EF23E /* FBSDKViewImpressionTracker.m in Sources */, + 9402D5D55901FFD02A2CEE75E788473C /* FBSDKWebDialog.m in Sources */, + 66FF7015F3BC028EEC59F0E695FF7BC9 /* FBSDKWebDialogView.m in Sources */, + 8F486A4828A5C764C62E6FAEB91601A7 /* FBSDKWebViewAppLinkResolver.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5C27F933393ABF6AE2FC37CD8D6BCAE4 /* Sources */ = { + 8F604B6796C1549E6F68AE177DFA9E6F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 01AC2F9280C05C1427DD11620FB7E2E9 /* DDDKeychainWrapper-dummy.m in Sources */, - 0AFCC1D7286FA658B7B84F4B7C997DA8 /* DDDKeychainWrapper.m in Sources */, + 79ADDEB18C07943EF2210D20F94B065C /* BFAppLink.m in Sources */, + 47AF601E76F55D5A1DB9D2BDA3A68B4C /* BFAppLinkNavigation.m in Sources */, + 3F75926F86F06BB85DB6F865FE9F7966 /* BFAppLinkReturnToRefererController.m in Sources */, + 513AC396F7199753D3A09DB4D82E9D76 /* BFAppLinkReturnToRefererView.m in Sources */, + 7A9C233F2D2D2C54280244BDD228675D /* BFAppLinkTarget.m in Sources */, + A524077B10F421A23E43A3FAF0742C09 /* BFCancellationToken.m in Sources */, + AB182D0291DDE489515C35044E922290 /* BFCancellationTokenRegistration.m in Sources */, + 40BBC298C02D608C2D6C5954C47D1A94 /* BFCancellationTokenSource.m in Sources */, + 72953BBAA66CA4C193619829C6DAF56D /* BFExecutor.m in Sources */, + 798FDC261242E3D89E95749D6102E07C /* BFMeasurementEvent.m in Sources */, + 801516439734262C213D041E4F822BEF /* BFTask.m in Sources */, + 9D61DBE4FDD3C57A86A64767032F4FCF /* BFTaskCompletionSource.m in Sources */, + 03C3DFD87D3672F4A0277718D96AF3AC /* BFURL.m in Sources */, + 9182F8DDBB6D41DBD25D620B6F16FA84 /* BFWebViewAppLinkResolver.m in Sources */, + F9AD97244E916DBC6000C7E2EE146E38 /* Bolts-dummy.m in Sources */, + C7712DED5239B6760E136922EAF9E723 /* Bolts.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 664D975E5D8F044329485E8386FCDA9A /* Sources */ = { + 9803B91B509448B946D6F7A9D1E2E3A0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FF71C50B88192BA576BD86788D3B2C1 /* nv-ios-http-status-dummy.m in Sources */, - 6B6ECDA1F1DEB147320D80D26327893C /* nv_ios_http_status.m in Sources */, + 7C665FA91BFEDAE2D86EE1F2F0BE82CB /* NSString+Helper.m in Sources */, + F46DB3DC34D1614CAE76A906CC47E075 /* NSString-Helper-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 66A8A0DEC97737D288DDC7F9404175A7 /* Sources */ = { + AEB7B39143B550251CFFB103F4533452 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B549B0A6EC70E3913C7C26DCF8738FDA /* NSObject+RZDataBinding.m in Sources */, - 2888B32E78D4F96C3BD0EB8541DBD30B /* RZDataBinding-dummy.m in Sources */, - FDC9AD66CD4B61C2795E412657E15B6F /* RZDBCoalesce.m in Sources */, - CBA2B5FF1EC261F8AA90DD236BF59B76 /* RZDBTransforms.m in Sources */, + B3C78FF7324B4E995EB136FAF0549ABF /* Pods-PNObject_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7C7268EAAC6516366BAAD18EE7173DA3 /* Sources */ = { + B32D139C753723962E4DF82BF2804FFF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 58102131F407972A258A5B735E6F06C7 /* BFAppLink.m in Sources */, - 8E9F98EB1722C713AFC1D4677A07F6DD /* BFAppLinkNavigation.m in Sources */, - 636540A648A388738369E7C7E25AD82B /* BFAppLinkReturnToRefererController.m in Sources */, - 88C8E5752E034D7960806CD0E7BA90C4 /* BFAppLinkReturnToRefererView.m in Sources */, - DB90D539B2D2CBF891AE08A9BB2ED037 /* BFAppLinkTarget.m in Sources */, - 31865B9117E579EADFEEAABC7FAEB5B7 /* BFCancellationToken.m in Sources */, - 7F24CCF6222C7F0553295897493A4945 /* BFCancellationTokenRegistration.m in Sources */, - 630B2581CB0B78AE4FD930F44E1F8C8A /* BFCancellationTokenSource.m in Sources */, - AF166201D1EC9CF5742A94D21EB649C1 /* BFExecutor.m in Sources */, - 4462203E2C3FA51FFB1F2FF23E3ADDA2 /* BFMeasurementEvent.m in Sources */, - A68D4A6869C10ED61C9CE33D928CC383 /* BFTask.m in Sources */, - F702D3BC1FA6695674145FF41C2AE639 /* BFTaskCompletionSource.m in Sources */, - 39057E210A09B62C58DE7E7F70972E6F /* BFURL.m in Sources */, - E5A3542AD87657E08DDB693CD7C48CD8 /* BFWebViewAppLinkResolver.m in Sources */, - 2441DF3E270DE02FE803BF3D74BADF97 /* Bolts-dummy.m in Sources */, - F24CFB8CDC8FF502392C8ADB97B5693B /* Bolts.m in Sources */, + A19471AD6C740493AA3BF36A37AB1FC1 /* Specta-dummy.m in Sources */, + F16026745667552F96933AE3FF637272 /* SpectaDSL.m in Sources */, + 15EFA090B7770B1148DF5B475DAC2027 /* SpectaUtility.m in Sources */, + 81A2CDBF20BC107B1A9F6B746220AAE3 /* SPTCallSite.m in Sources */, + F6FEEE8069B653ADF74319553881FC38 /* SPTCompiledExample.m in Sources */, + 033C96EC85C29D83F41E8691272AA89A /* SPTExample.m in Sources */, + 92E331296E10F89DA5A2D6D70947091F /* SPTExampleGroup.m in Sources */, + 5BB3106321C514F91FC6D5C37D0BC5DA /* SPTSharedExampleGroups.m in Sources */, + C6DA0DDEDF28D634002BECBC9EC1682A /* SPTSpec.m in Sources */, + 972DCA7EB0835B792402F05F786C1C14 /* SPTTestSuite.m in Sources */, + 72ACC51F1B63B0D7053398FE4CE62237 /* XCTestCase+Specta.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 7EC0995C85FBA02927345DCFF631BB1F /* Sources */ = { + C6887194B2AF729B0AFCE8486A6BE5AF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BCEA2CAA04C0BECDAD425C61A594E447 /* PEAR-FileManager-iOS-dummy.m in Sources */, - A7AFFB354F0F91889DA0B00AA4D2011F /* PEARFileManager.m in Sources */, + 65E12611819508E2DAB6FBDED66889A2 /* CodFis+Helper.m in Sources */, + C639AEC65E071F50582B05D632780677 /* CodFis-Helper-dummy.m in Sources */, + 0CAB4EEE9D9F8E1A47F24FD2F28FB6D1 /* CodFisResponse.m in Sources */, + EA5836F626F702E4380128EE8B51B111 /* VatNumber+Helper.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8045DDC50E43631EB2965C436BDCC85A /* Sources */ = { + E3A31A14D684457AB6840624177015BB /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BF5F3B061048606F05F27785314436E4 /* NSData+AES.m in Sources */, - B9615C4F4DDF2979C2B80D272C2A0244 /* NSData+AESKey.m in Sources */, - A61BB401EF21A5F15E2878CDB0EA3D7A /* NSData+AESValue.m in Sources */, - 6CBF50EF26254F2F4A42D3CE0D882403 /* NSData+SHA.m in Sources */, - 9BBFA79282A1CED81ABE6AE170E5CF2F /* NSDataAES-dummy.m in Sources */, - 8DA3A5D74AF1B264D8B628B622FB03B0 /* NSDataAESCipher.m in Sources */, - 6F47FC5DBFCCAB9C9D427F5B9F4DDCA7 /* NSMutableData+AES.m in Sources */, + 584B3A9ABE4DB7870AD38335D696F48F /* UIDevice-Hardware.m in Sources */, + 655A6D5F35E3F2178EEBA91DF6E4A34F /* UIDevice-Utils-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 84F45C0AF34C6651CAB9BCF08AA77860 /* Sources */ = { + ECA9329BF4B97A8FE55331214E259FA6 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A651C8A51939DD7E752FF20ED3FCEAB1 /* DJLocalizableString.m in Sources */, - 746AFF21CE47C238286B843E5C508FE1 /* DJLocalization-dummy.m in Sources */, - 642A108A372526182DC799A1636F1879 /* DJLocalizationSystem.m in Sources */, - B7849830B30BEB20E89E72957EAF435C /* UIStoryboard+DJLocalization.m in Sources */, + A184D61C3BF5B154326CC7F552AE65F8 /* nv-ios-http-status-dummy.m in Sources */, + 55BC5838B2C50DCB0660F1FC1F3D4916 /* nv_ios_http_status.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BFDEC0F9EBDA9CD89ED1C37AC86336AA /* Sources */ = { + F0C84B485BA76B1CEA8B93C49E5682B4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 289D8661BF9D4F915E7290270C7E4A14 /* CodFis+Helper.m in Sources */, - B1BF67E3AB7193009B967EA22A14F4D1 /* CodFis-Helper-dummy.m in Sources */, - 5B16A0D2E9F8E608FA25A9218354B27E /* CodFisResponse.m in Sources */, - 1A018129836D4FBF5ABC554BC8585081 /* VatNumber+Helper.m in Sources */, + 859F02AF780B48740A1EE13BDCB6301F /* StrongestPasswordValidator-dummy.m in Sources */, + FB0446F2F8C6170EE3E66BA826130E2F /* StrongestPasswordValidator.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - CB0A211D626558F99F30D0896A42EE0F /* Sources */ = { + F2A6654889F2511ED27BEA584FB8BBC5 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D96E759888F8E6F0CE0169625BF1F0BD /* AFHTTPRequestSerializer+OAuth2.m in Sources */, - BF0579BDDE153E48C37656F680D16248 /* AFJSONResponseSerializerWithData.m in Sources */, - B7A0E4269876BAA9A0851DEDF682FDB5 /* AFOAuth2Manager.m in Sources */, - 265179F77F5011D2356AF0A42AB3E777 /* AFOAuthCredential.m in Sources */, - 5275925763CA63F3FA5D34410012EF00 /* PNAddress.m in Sources */, - 39D46BE63E88DA1EF0ED80CC0F3272D5 /* PNInstallation.m in Sources */, - FCDA840311FB8C01B0DC6D61A2E442FF /* PNLocation.m in Sources */, - 21D627D0F76668013363D20C11EFF70B /* PNObjcPassword.m in Sources */, - B37443A757BC77A06BAC487B4CDE8C4C /* PNObject+PNObjectConnection.m in Sources */, - CC6B007FBCA8D69796A3B151F233B5DA /* PNObject+PNObjectDELETEConnection.m in Sources */, - 5FFF4FE2E57E49981157DC377E794223 /* PNObject+PNObjectGETConnection.m in Sources */, - 09C9ACCBEF4015BFC05DDB817FD39F1D /* PNObject+PNObjectPOSTConnection.m in Sources */, - 3C61C53FF129EA791CFF1A81805C285F /* PNObject+Protected.m in Sources */, - 85C97045F2195C2783CFE9D9F5B7CCA9 /* PNObject-dummy.m in Sources */, - 8656682014CFEBF442800E7FAAFB2E70 /* PNObject.m in Sources */, - 52972CA3747CED8E65CEEC57C6845BE5 /* PNObjectConfig.m in Sources */, - 06CA039431382253A3CA5C2F7159423C /* PNObjectFormData.m in Sources */, - DF7FB698380B0339B3BA00B11694386A /* PNObjectModel.m in Sources */, - 94BF8F72C383DCC0C9077A1593DD3DC8 /* PNObjectUtilities.m in Sources */, - A1052BF1E52ED791AABD77F208B21A0B /* PNUser.m in Sources */, + 34F73CE41B0F74002D57370081D3D60A /* AFHTTPRequestSerializer+OAuth2.m in Sources */, + 854E7B4F2E69A96C617624186C3E1CA4 /* AFJSONResponseSerializerWithData.m in Sources */, + 08B1188775832322BF1A45824DD88321 /* AFOAuth2Manager.m in Sources */, + 3C9ACC4D8CF8870CB1D991F45D8FFA43 /* AFOAuthCredential.m in Sources */, + 14ABA42FD2E2ADFCECEA08CF5DC158C4 /* PNAddress.m in Sources */, + 9618CE7E609826CDF188CEBC9982A39B /* PNInstallation.m in Sources */, + EEE7B1E3153CFC7CB68036ADB52213B4 /* PNLocation.m in Sources */, + 99E11F86F9773CA005BA910500021B11 /* PNObjcPassword.m in Sources */, + CE323FE5656FB439B049DF33D8CD5857 /* PNObject+PNObjectConnection.m in Sources */, + 7CD58E642985D548BD6A21BB224E917B /* PNObject+PNObjectDELETEConnection.m in Sources */, + 0CE53BFCC4DCA47C9CDBB607FF4DB660 /* PNObject+PNObjectGETConnection.m in Sources */, + 599679184FB094F22D2006ED35BE11EC /* PNObject+PNObjectPOSTConnection.m in Sources */, + 989AC73AF203EC1178A0B2E557868E4F /* PNObject+Protected.m in Sources */, + F3A372FEDCAF8F9890FCB5D28F529247 /* PNObject-dummy.m in Sources */, + 6A7F40D7542E522A70B679B7D8D1EE98 /* PNObject.m in Sources */, + F4E0AD7567C1BFF3D9709BA5810907DF /* PNObjectConfig.m in Sources */, + FDD7419049586E6232B659EC95DC5AF1 /* PNObjectFormData.m in Sources */, + DE904AF6BDFFB74ABA599FA9B172098F /* PNObjectModel.m in Sources */, + D09583AB4C7EB67FDDBBD816E3D00772 /* PNObjectUtilities.m in Sources */, + 820F7BF2538DFC4CFA9B59A637BCDE83 /* PNUser.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DB2F46150A8F829D008E8125043030F9 /* Sources */ = { + F66C34AB755F218CCE96FE7644362763 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6D9EFBB53CF1920891EE8E1C146777B6 /* FBSDKAppGroupAddDialog.m in Sources */, - 9D0660B4254C1971C80FE1D8392DE9E1 /* FBSDKAppGroupContent.m in Sources */, - E485FBCFA871CB9F257C38C6104B3FD5 /* FBSDKAppGroupJoinDialog.m in Sources */, - 959397073421A21C7B99BE51FF9D911F /* FBSDKAppInviteContent.m in Sources */, - D716F6D75CC4ECE3F44F4D13967BADEA /* FBSDKAppInviteDialog.m in Sources */, - C407F024DE683EDBC59292D8A69A3C6D /* FBSDKCameraEffectArguments.m in Sources */, - 4D14F2994598C6738DB6E9636FB72D80 /* FBSDKCameraEffectTextures.m in Sources */, - 0202994D4B9354DEAA073D61538125C3 /* FBSDKCheckmarkIcon.m in Sources */, - 3C2E9621A3F17BC8628F77E5985E0C5E /* FBSDKGameRequestContent.m in Sources */, - F006CC8B3278EB6D03FD835CA28C33C6 /* FBSDKGameRequestDialog.m in Sources */, - 13A20BEB134B5E233E5BF9A0955DA99E /* FBSDKGameRequestFrictionlessRecipientCache.m in Sources */, - 956D4FC77575AB1A2686A23AD98000E0 /* FBSDKHashtag.m in Sources */, - 74D19669A384604DCD75493D237E3A0C /* FBSDKLikeActionController.m in Sources */, - B9A4ED4C5373748BD4D0CC61923D20E5 /* FBSDKLikeActionControllerCache.m in Sources */, - 1BB8DAE2DE1A3C48ED59C7F15A659D1A /* FBSDKLikeBoxBorderView.m in Sources */, - 7C225D90CCCF964082A155686747A4F4 /* FBSDKLikeBoxView.m in Sources */, - 4AE621994F307DE19F0753F0BAA77709 /* FBSDKLikeButton.m in Sources */, - B0CCE739C5121F05E3C6D9DB892C5063 /* FBSDKLikeButtonPopWAV.m in Sources */, - 5FF987D846FACE55F28AB68BBD8747A5 /* FBSDKLikeControl.m in Sources */, - 78AB667BEBE3A1AFFBBCE14F4722E35B /* FBSDKLikeDialog.m in Sources */, - F66D3FFD1965EB35F6FE239BC2B03B15 /* FBSDKLikeObjectType.m in Sources */, - FB9F36C66EADD18C7E7591FF1672D21F /* FBSDKMessageDialog.m in Sources */, - C5AA9272F6745F92D3AC415019E8FDE0 /* FBSDKMessengerIcon.m in Sources */, - A255F4976F9A4A74593AAD78BF5921FE /* FBSDKSendButton.m in Sources */, - 1BCC3E6A604AFF6D4069F816F195F503 /* FBSDKShareAPI.m in Sources */, - 848C82C9B1C1FE1C1283C1D9645C08FB /* FBSDKShareButton.m in Sources */, - A993AE765E7DE0C265684D5EEAD01AB2 /* FBSDKShareCameraEffectContent.m in Sources */, - 875CF0420CED173A49D7CABACC328671 /* FBSDKShareConstants.m in Sources */, - F72AEB4002F9AE28BE58E8092EEE80C0 /* FBSDKShareDialog.m in Sources */, - 7D471EDF636121F92FD1DFE8F555290F /* FBSDKShareDialogMode.m in Sources */, - 177CC383588858209E669E248DA8A2A1 /* FBSDKShareError.m in Sources */, - 3586CB8CA3352CD2652E683CDBCC127E /* FBSDKShareKit-dummy.m in Sources */, - F936C08FAAB3A29296ABE8DB9B9A9AD0 /* FBSDKShareLinkContent.m in Sources */, - 76A04489E85BE2D2AB36A926A5175988 /* FBSDKShareMediaContent.m in Sources */, - CC142339B92F6CDD28A09819F236532F /* FBSDKShareMessengerContentUtility.m in Sources */, - 6401097C291EBA60A1838A911A6A750D /* FBSDKShareMessengerGenericTemplateContent.m in Sources */, - B368878174AF369829CCEF85BBA2D84C /* FBSDKShareMessengerGenericTemplateElement.m in Sources */, - 612774B44605700550F8835DCB33326D /* FBSDKShareMessengerMediaTemplateContent.m in Sources */, - F0C50AB449C97E65E247A609EDD151E2 /* FBSDKShareMessengerOpenGraphMusicTemplateContent.m in Sources */, - 1A33C45DEC9DF24A0F1441C7B7D3B3B9 /* FBSDKShareMessengerURLActionButton.m in Sources */, - 41C5FD290B3789158E4F10CD957324D1 /* FBSDKShareOpenGraphAction.m in Sources */, - 26B19EAA60FEF2859938B7370286C6E3 /* FBSDKShareOpenGraphContent.m in Sources */, - 68091E0D6315CE37B589B9C5BD12EF52 /* FBSDKShareOpenGraphObject.m in Sources */, - C355CE4AC50EE96B28D6D286E845C90B /* FBSDKShareOpenGraphValueContainer.m in Sources */, - 3357E04069C55774690727CB7BCA3A36 /* FBSDKSharePhoto.m in Sources */, - 5911BB3C032BDF24D6727F388A525F0C /* FBSDKSharePhotoContent.m in Sources */, - 4783B227D49175FAF3DF30011F8DCAA3 /* FBSDKShareUtility.m in Sources */, - 7F00A17A0FABFBDD0B34ADEB6453EB76 /* FBSDKShareVideo.m in Sources */, - FB0288B263496C5EFAFC2C2E962D18A8 /* FBSDKShareVideoContent.m in Sources */, - 549DF790F06617A9D270895115A1B545 /* FBSDKVideoUploader.m in Sources */, + 88B9CC88372552827AD0E8D10242F150 /* DDDKeychainWrapper-dummy.m in Sources */, + CCA944C1829F3BA46BBC9BFBDE9D414D /* DDDKeychainWrapper.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 017785CAA1E7367E107AF877958009BE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RZDataBinding; - target = 308EDDEC51C8A18A3C77844119C34BC0 /* RZDataBinding */; - targetProxy = 6B99C8314C91758F5D961F0741225894 /* PBXContainerItemProxy */; - }; - 07E79284EA49BC057FD5FE45A0EE1D55 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "UIDevice-Utils"; - target = 43929E12B775B4FFF3CF21C07EF66EDF /* UIDevice-Utils */; - targetProxy = F7EE61CEA66F12BD59D481123A484868 /* PBXContainerItemProxy */; - }; - 111A77F94FFAF9AF9D080E9B9CA4BAD5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Bolts; - target = 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */; - targetProxy = 367FA66A25701C6EA69CF29D7FCAD50F /* PBXContainerItemProxy */; - }; - 18FE4CC4EB4BE9CFE8D90E62C57E1BAF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKCoreKit; - target = 3371FC4FDC48D96B2A6D507752AB84C7 /* FBSDKCoreKit */; - targetProxy = D3BC40875C021F9D126D7E396019CB08 /* PBXContainerItemProxy */; - }; - 1B5A5538CE2490A773F1CA2997B659B5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = PNObject; - target = EF0AEFBF9DC8D43442F5F2A7B603ED0A /* PNObject */; - targetProxy = 13563CF7247FA530F268A6DF17EAD1F8 /* PBXContainerItemProxy */; - }; - 2AD4B5DEEEC573ABB86973ACFE1D017A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PEAR-FileManager-iOS"; - target = FB1EE56FCB7A626DC70FE0286458B1BB /* PEAR-FileManager-iOS */; - targetProxy = 5F742B363823C12D18DF2A5D5001CC7A /* PBXContainerItemProxy */; - }; - 2DBFBFC4E1E73BD22D205A18BFDC0657 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDDKeychainWrapper; - target = EF6364BCD9239D41077373DF8383FCD0 /* DDDKeychainWrapper */; - targetProxy = 92411BC099606AAA5F8372410CBEE4AA /* PBXContainerItemProxy */; - }; - 32BD5B7FFC10AE7F6B9D61F174018459 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "nv-ios-http-status"; - target = F93DDBEC0063FE03A9B9D176690EDC3E /* nv-ios-http-status */; - targetProxy = 8F08425F930E8D81DD7DE31302EEE046 /* PBXContainerItemProxy */; - }; - 4B8DB8E757C31864FF60B20F1030C510 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DDDKeychainWrapper; - target = EF6364BCD9239D41077373DF8383FCD0 /* DDDKeychainWrapper */; - targetProxy = C41296E8C9337723AE6DFD2A74F67A54 /* PBXContainerItemProxy */; - }; - 4F062ED45317205C77199834C9BD17F0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKCoreKit; - target = 3371FC4FDC48D96B2A6D507752AB84C7 /* FBSDKCoreKit */; - targetProxy = AE7C1A7B4583A1C42EF5F7A3A565890F /* PBXContainerItemProxy */; - }; - 4FD8716894F2FFCAD692CB64F0AB9B17 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Bolts; - target = 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */; - targetProxy = 6F9F122B221132D45EC15C537524859A /* PBXContainerItemProxy */; - }; - 5966373905F7A21197109AC3BA93E49B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKShareKit; - target = 4C6C0DEC127307838A58C68F289A3404 /* FBSDKShareKit */; - targetProxy = AA984B49A5B2160524ECB1D86FC23D34 /* PBXContainerItemProxy */; - }; - 5D910B379881B31B57D4675BC692FA03 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "nv-ios-http-status"; - target = F93DDBEC0063FE03A9B9D176690EDC3E /* nv-ios-http-status */; - targetProxy = 5C0A8975851A02DDBB7A31AF2A5FAC86 /* PBXContainerItemProxy */; - }; - 5DEC420DF3F0B6D9E2E23966173C4A0B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = AFNetworking; - target = 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */; - targetProxy = 071F219ED2A57E04D33135AE31699E0F /* PBXContainerItemProxy */; - }; - 5F169042337DCA180A14C27EA557893B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = StrongestPasswordValidator; - target = 5271C3FC8724603F0CBAD23A471EAB14 /* StrongestPasswordValidator */; - targetProxy = BC3EC9A5F9F54960B0AAC9833AC4BC6F /* PBXContainerItemProxy */; - }; - 6207EEA93B70274C44A32F5A53E30D44 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Bolts; - target = 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */; - targetProxy = 975D2D0DFD6D597782D27AEAE5934D23 /* PBXContainerItemProxy */; - }; - 64BF059358D2605FA61825BBDC3D1D1D /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "PEAR-FileManager-iOS"; - target = FB1EE56FCB7A626DC70FE0286458B1BB /* PEAR-FileManager-iOS */; - targetProxy = 0BD350F24C9C2CFD1E7D7866B734F838 /* PBXContainerItemProxy */; - }; - 665209A882415285054E646461D6B62C /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Expecta; - target = 46D68D26DCAAC4D999D549BA45F0B0EC /* Expecta */; - targetProxy = CCA49B703B91F0F2F240F2E865E7942F /* PBXContainerItemProxy */; - }; - 6B6FD1A00A83EBE4394A66E9B5D56ABF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKCoreKit; - target = 3371FC4FDC48D96B2A6D507752AB84C7 /* FBSDKCoreKit */; - targetProxy = 135C5182914BCB3FA26CBF3BBA6259AA /* PBXContainerItemProxy */; - }; - 7059BA3528ED4E253FF67A1D0028FCEF /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = StrongestPasswordValidator; - target = 5271C3FC8724603F0CBAD23A471EAB14 /* StrongestPasswordValidator */; - targetProxy = ED353573FB6EE04A5AADDF45736B584B /* PBXContainerItemProxy */; - }; - 747590069D174537805E529124E7A154 /* PBXTargetDependency */ = { + 1353AD29F33201559EC75C350E4A53DD /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = DJLocalization; - target = 2CCA0A5BB7B40CF2F6594BF0D24B4683 /* DJLocalization */; - targetProxy = 5CF4D4E3E24E01F3BBEF5EF3B1B9DDBB /* PBXContainerItemProxy */; + target = C784B90D59D6E06A6468ADC0F4E51429 /* DJLocalization */; + targetProxy = 47DB42DFCF7769EA7AA39BC546381880 /* PBXContainerItemProxy */; }; - 7BF5D22BBF716DFE9052C95E5A6C1599 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKLoginKit; - target = 191EE4AC6A0D8CC08BB8437C0E845116 /* FBSDKLoginKit */; - targetProxy = 3373E95BEE689C011254E975B0B2E1F7 /* PBXContainerItemProxy */; - }; - 8303BF62F8564426819C294B968A6CBA /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKShareKit; - target = 4C6C0DEC127307838A58C68F289A3404 /* FBSDKShareKit */; - targetProxy = 5206091323F0692F795B5065545FB182 /* PBXContainerItemProxy */; - }; - 89D515D28CE5D0B322C6B0E166B8431F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CodFis-Helper"; - target = 33744B13416CE666037143AD625AD724 /* CodFis-Helper */; - targetProxy = FA8E693465686092DABB5C1F8B765A4A /* PBXContainerItemProxy */; - }; - 8CB5E2906B6159BC357C6D9E3A65A140 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = NSDataAES; - target = FE88C6C90B72279CEDF06AB3A39D1B28 /* NSDataAES */; - targetProxy = 3693728CD9F384AF4F20A02F302DC1E5 /* PBXContainerItemProxy */; - }; - A426176D99EB79FA9D049126D94FD792 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "UIDevice-Utils"; - target = 43929E12B775B4FFF3CF21C07EF66EDF /* UIDevice-Utils */; - targetProxy = D2590C3FF3E19FAA0550C77B683E72DA /* PBXContainerItemProxy */; - }; - A5E3DBB101115C520310F6555DAD0CE7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKCoreKit; - target = 3371FC4FDC48D96B2A6D507752AB84C7 /* FBSDKCoreKit */; - targetProxy = D37971599754D6847EB4267A878C7ECC /* PBXContainerItemProxy */; - }; - ABA9B44166B98F49051DF51A88C1DB3A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DJLocalization; - target = 2CCA0A5BB7B40CF2F6594BF0D24B4683 /* DJLocalization */; - targetProxy = 8DC95B9E30F6F8A78ED0CB286F16527F /* PBXContainerItemProxy */; - }; - AFAA39A8DA894B4583A5F0056D632BEB /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Specta; - target = 1299BA0E752CDD0366B531EF41DC1E68 /* Specta */; - targetProxy = FC4137E88871AB2D6F9D8D0239885011 /* PBXContainerItemProxy */; - }; - B7935D43A4DE134B95AD90C0DA54A9CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "NSString-Helper"; - target = 91CFADD3F2AAFB0FF2F77F2DBA19DB5B /* NSString-Helper */; - targetProxy = B4764FB49940AF927993A209354B8D70 /* PBXContainerItemProxy */; - }; - B869643C92C6BFE502243519CA1E5CB7 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = NSDataAES; - target = FE88C6C90B72279CEDF06AB3A39D1B28 /* NSDataAES */; - targetProxy = CF34BF1FB63213B633DB0FD11D367C8F /* PBXContainerItemProxy */; - }; - BF1F518C2F19079EACA1DA6BD6369E52 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = RZDataBinding; - target = 308EDDEC51C8A18A3C77844119C34BC0 /* RZDataBinding */; - targetProxy = 0C9DB1804E05F644A1AAE8668CD0929F /* PBXContainerItemProxy */; - }; - C2818CBDD497CBB8FB4F1924478D73CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = DJLocalization; - target = 2CCA0A5BB7B40CF2F6594BF0D24B4683 /* DJLocalization */; - targetProxy = 283C16530B434E7AF28D251AD21E70DF /* PBXContainerItemProxy */; - }; - C597F76413AF989352F0EFD401A422EC /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = NSDate_Utils; - target = F76C3D6E6CD26C48DA5507B8C82CE87C /* NSDate_Utils */; - targetProxy = 0EAC4C30A2B5AD1F540E0FB9C7516BB1 /* PBXContainerItemProxy */; - }; - C9913C12739BFEFA4FE98A4151BE31A3 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = AFNetworking; - target = 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */; - targetProxy = 6D02ED5A8F6D19CC7C9FA988ABD1B204 /* PBXContainerItemProxy */; - }; - CDD7FDD7FA1EB93BA9365558DA2EDBF5 /* PBXTargetDependency */ = { + 14910E8FDF892F809321026FF84A9322 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "Pods-PNObject_Example"; - target = AFEFC2C78952EECCF761054356C705E8 /* Pods-PNObject_Example */; - targetProxy = 621E8E01389F4251687B2CD119E20518 /* PBXContainerItemProxy */; + target = 63178740FD447D2079BFABBA20ADEF1E /* Pods-PNObject_Example */; + targetProxy = 10E96630EA055E3B97CE3CB8D42C5126 /* PBXContainerItemProxy */; }; - DB02D8ED37C946F4A8690A003666DF43 /* PBXTargetDependency */ = { + 16C318A75B9C8B904D282EAF2C9B8D6D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - name = "NSString-Helper"; - target = 91CFADD3F2AAFB0FF2F77F2DBA19DB5B /* NSString-Helper */; - targetProxy = 843EA1D2BE8616C7337C144F6C6F4B5F /* PBXContainerItemProxy */; + name = RZDataBinding; + target = 65B039250BC589E46F912B1B0C2AE01B /* RZDataBinding */; + targetProxy = 7E44AD6A0717588657CD01C68ED90AE8 /* PBXContainerItemProxy */; }; - E38A23FC70E496CA5A90D67943A529CD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FBSDKLoginKit; - target = 191EE4AC6A0D8CC08BB8437C0E845116 /* FBSDKLoginKit */; - targetProxy = DDCFEA730B4AFFC105FAD1F2B2303C5C /* PBXContainerItemProxy */; - }; - E5BF43992F33C1B82A1D67D2E2EF1965 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = NSDate_Utils; - target = F76C3D6E6CD26C48DA5507B8C82CE87C /* NSDate_Utils */; - targetProxy = 0191A024A66F75012AF9E7E0897211F6 /* PBXContainerItemProxy */; - }; - E6A95506CC11E869824672CB9E97AB98 /* PBXTargetDependency */ = { + 20816FD8FA615F59D6F235B8E7B7B8A7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "CodFis-Helper"; - target = 33744B13416CE666037143AD625AD724 /* CodFis-Helper */; - targetProxy = ADF327D8A9C3962594D39B6BF5DD41FB /* PBXContainerItemProxy */; + target = 6E14B2EB890E5F1C28CB981EFB57CB3E /* CodFis-Helper */; + targetProxy = 3C7B24FA99915350892228A4F243F962 /* PBXContainerItemProxy */; }; - E95BB7C34E3EF5BA9C6417F7F4A5B056 /* PBXTargetDependency */ = { + 2131E0E3844739DF5E2DAB31084A6874 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DJLocalization; + target = C784B90D59D6E06A6468ADC0F4E51429 /* DJLocalization */; + targetProxy = 9F075EF5EFC86BA8B44E5959B1C59566 /* PBXContainerItemProxy */; + }; + 250EDDB7679B621D1B13FA5028E4DC24 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Specta; + target = B8DB1230EFD4A2B4440593A586A5F223 /* Specta */; + targetProxy = 4564C74DBDD944982494F574EAF254AA /* PBXContainerItemProxy */; + }; + 32B4A9CCD7990FC707810A28C1DBDD98 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworking; + target = 0EABDFFFE1E889B87B1197D012AD068A /* AFNetworking */; + targetProxy = 40054265102AED3C5889EBCF80B22A59 /* PBXContainerItemProxy */; + }; + 361FCFC71A42D98FBBFBB4FCBC629EE6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Bolts; - target = 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */; - targetProxy = CC959CB7E1D1D61F8E3BF94711E49313 /* PBXContainerItemProxy */; + target = 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */; + targetProxy = D4F07391719B5468DF3B71C7E325496C /* PBXContainerItemProxy */; }; - EC30923B0A3CD289335A020DD92AC050 /* PBXTargetDependency */ = { + 384457344422D9D057236061768D0C25 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKCoreKit; + target = D71965AADCF27F9F922926F15DAA80A7 /* FBSDKCoreKit */; + targetProxy = 23EB32719EE6056D7806344434FDA68B /* PBXContainerItemProxy */; + }; + 3D79A7CDC3B8C6AB5C144FCE6894010E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKShareKit; + target = 0FE145A63419906335F165B953111B50 /* FBSDKShareKit */; + targetProxy = 6F8EE45D209E05A3632FAA8DAE834776 /* PBXContainerItemProxy */; + }; + 41A377BE820934D464B18ABF1483CBF4 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "PEAR-FileManager-iOS"; + target = ADBBB3E85D1E2F795520A8939751318B /* PEAR-FileManager-iOS */; + targetProxy = 3C2BE651535437F593E96BA6F86C81B5 /* PBXContainerItemProxy */; + }; + 5154DDD5C306830A68015DFA715049DC /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "nv-ios-http-status"; + target = 6E6F78D1E706987F92C1C61F6B619A67 /* nv-ios-http-status */; + targetProxy = 5810721FCBB27E7156001056608264FA /* PBXContainerItemProxy */; + }; + 515FDA74CD4C75B291EB96E8EAB62AE7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKShareKit; + target = 0FE145A63419906335F165B953111B50 /* FBSDKShareKit */; + targetProxy = 04F8D4266069070FFE805EC907ED2BE5 /* PBXContainerItemProxy */; + }; + 52C2321526F4434EDA074D208A2923B8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = AFNetworking; + target = 0EABDFFFE1E889B87B1197D012AD068A /* AFNetworking */; + targetProxy = 0C178B7D964BFA9F25A449C638F1A53E /* PBXContainerItemProxy */; + }; + 58767F0FD2EDF3B7CDCA4DFFCE530E1E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "NSString-Helper"; + target = B636D5CA7BFECB99A182D63A69EA5720 /* NSString-Helper */; + targetProxy = 7A9273A3C23D6A92531B5B84D870262F /* PBXContainerItemProxy */; + }; + 5DE08B412119153EC68767EB340D3607 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Bolts; - target = 0E9F6724C731DB563F6A7FC5A489C702 /* Bolts */; - targetProxy = AEA754D409AC94087F9D234D7929DCCB /* PBXContainerItemProxy */; + target = 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */; + targetProxy = 01B113C34FAA406DB4A6CDF20DCB8B9B /* PBXContainerItemProxy */; }; - F20BBD7754DBDDE29B97B32B0C834ECC /* PBXTargetDependency */ = { + 5F8D3CACB7AC9099FCCFDE718F2AD346 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = NSDate_Utils; + target = F23086A6598C6BAA8DAF542D4A03059D /* NSDate_Utils */; + targetProxy = 7C2E116E66661D9429ED10896D99260F /* PBXContainerItemProxy */; + }; + 5FDC3E162849856BF82414FBB6C82634 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = PureLayout; - target = 9FABD90CF9D328EE31409CA42A597A3D /* PureLayout */; - targetProxy = 5DF1ACB882003862030BD449DE2812E7 /* PBXContainerItemProxy */; + target = 23677D10DAFC9612279D0C04E8F822F0 /* PureLayout */; + targetProxy = 278965677B6D0B828227E563A4EB8FED /* PBXContainerItemProxy */; + }; + 5FEC2B2C9ACACBBCD77435F4697FEACD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKCoreKit; + target = D71965AADCF27F9F922926F15DAA80A7 /* FBSDKCoreKit */; + targetProxy = FA1C7670EF71574F7C438A17CD4F49FF /* PBXContainerItemProxy */; + }; + 62FFEDDBFE3DD9F7B3DA00406C8B565D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StrongestPasswordValidator; + target = 26069BE91A9928289B1454877B6683E5 /* StrongestPasswordValidator */; + targetProxy = 58EC99B1214E7FE5E2C4BADE28D11170 /* PBXContainerItemProxy */; + }; + 6B7EF2E128CD5385082BE4183D8A099F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIDevice-Utils"; + target = A7ABB589D7269F28501753691B0189FB /* UIDevice-Utils */; + targetProxy = 1E8BBCDEE24A8B32BFFC9E34F47F93FB /* PBXContainerItemProxy */; + }; + 84D6EA7345FE73A1024286704C8010A1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Bolts; + target = 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */; + targetProxy = 1E73446C51436201237C441EC6DE7E6D /* PBXContainerItemProxy */; + }; + 8B1E9209560FABD8D68AF62603D188EB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = PNObject; + target = 8499AC93B286F5F061A552CBC893C989 /* PNObject */; + targetProxy = 4E9D471F61BDC0C0C489A5ADB75216C4 /* PBXContainerItemProxy */; + }; + 8F83199E4D9752EA2782608A0393ABFD /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDDKeychainWrapper; + target = BF3423B26285A217899170780715FAFC /* DDDKeychainWrapper */; + targetProxy = 868D6684B4362CF516BB786685C12423 /* PBXContainerItemProxy */; + }; + 9812B909C9744DE5E4EBFCB90927B336 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CodFis-Helper"; + target = 6E14B2EB890E5F1C28CB981EFB57CB3E /* CodFis-Helper */; + targetProxy = 1874734BD9109688C762D22A600B3550 /* PBXContainerItemProxy */; + }; + 9B402E9DA42DED2027E914B9ECC2C105 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = StrongestPasswordValidator; + target = 26069BE91A9928289B1454877B6683E5 /* StrongestPasswordValidator */; + targetProxy = 1031B538176B5540A222382EA20A6415 /* PBXContainerItemProxy */; + }; + 9E5E908317CC704578696D11917FE0CA /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Expecta; + target = 2F76C4DEAE2007246BF4FBF8967B2FA3 /* Expecta */; + targetProxy = F48C433CE6B0DAE8E8422A254EAD604D /* PBXContainerItemProxy */; + }; + A5117545F993FCEDF129449AB8D773DB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "UIDevice-Utils"; + target = A7ABB589D7269F28501753691B0189FB /* UIDevice-Utils */; + targetProxy = 0833FDF10922F9602D680C4261DC73AF /* PBXContainerItemProxy */; + }; + B0593DEC9A184E483174C335A9524C7F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = NSDataAES; + target = A7334FDC353B84921762C535B7E01EA0 /* NSDataAES */; + targetProxy = 59D97A59206C2207FA9592FAB2D8B236 /* PBXContainerItemProxy */; + }; + B08C873B85A4117466634C0B1AFF9722 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKLoginKit; + target = 428487CF01476A350D641A9BB0599574 /* FBSDKLoginKit */; + targetProxy = 9A8FA569E6BFA00B337E6954A449A30D /* PBXContainerItemProxy */; + }; + BE1C6DED61A7B481581BE30519829288 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "nv-ios-http-status"; + target = 6E6F78D1E706987F92C1C61F6B619A67 /* nv-ios-http-status */; + targetProxy = 0559C89F6A3C9DB982C028011B4F7274 /* PBXContainerItemProxy */; + }; + C083E5950A6AED0AA530F010C0029FB1 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DJLocalization; + target = C784B90D59D6E06A6468ADC0F4E51429 /* DJLocalization */; + targetProxy = BF1A88ADFAD9650D61F8FC0499ABCC88 /* PBXContainerItemProxy */; + }; + C24479029B6AB58CCA2B48F7BDA5726D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKLoginKit; + target = 428487CF01476A350D641A9BB0599574 /* FBSDKLoginKit */; + targetProxy = 828F4903FF4383A9B1BA1C7A246CF368 /* PBXContainerItemProxy */; + }; + C4CB4AC5EAD14DC6653EE689790FD99A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Bolts; + target = 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */; + targetProxy = 95952E01EF08C3E4AA3A0FF89704D9A0 /* PBXContainerItemProxy */; + }; + C6ACE5E6AA08FC313F1C7A5C955DE04F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKCoreKit; + target = D71965AADCF27F9F922926F15DAA80A7 /* FBSDKCoreKit */; + targetProxy = 981DC05198880419D2E3DE4455FEE0E7 /* PBXContainerItemProxy */; + }; + C94092A405EBA73B0CEC4A1A306B5753 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = RZDataBinding; + target = 65B039250BC589E46F912B1B0C2AE01B /* RZDataBinding */; + targetProxy = FC83AC3110B1A0C3638AF9A4CC558536 /* PBXContainerItemProxy */; + }; + CEE2E1A9461A0AFCE9923EAC4DA22B34 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "NSString-Helper"; + target = B636D5CA7BFECB99A182D63A69EA5720 /* NSString-Helper */; + targetProxy = BA22E019BF58184538B1D947ED17A4BF /* PBXContainerItemProxy */; + }; + DDAD6571F4FDA68D0ADA2EA4BD915990 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = NSDataAES; + target = A7334FDC353B84921762C535B7E01EA0 /* NSDataAES */; + targetProxy = C92918F85AD8F4ADDFF3258E567C34F0 /* PBXContainerItemProxy */; + }; + E0ABEC758EF94889E11D4396A554CD5F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = NSDate_Utils; + target = F23086A6598C6BAA8DAF542D4A03059D /* NSDate_Utils */; + targetProxy = 9E1D8E066ADB83124E0D55B2933C65BA /* PBXContainerItemProxy */; + }; + E190422A43918431E6825E306BEA2FB7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FBSDKCoreKit; + target = D71965AADCF27F9F922926F15DAA80A7 /* FBSDKCoreKit */; + targetProxy = 0985AB55C2B0EF728F93BD29CE93A98C /* PBXContainerItemProxy */; + }; + E58827FA3AFD1361C0E222FD0C41EAB7 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = DDDKeychainWrapper; + target = BF3423B26285A217899170780715FAFC /* DDDKeychainWrapper */; + targetProxy = 2AC3865612BE6F9667AE367795D9769D /* PBXContainerItemProxy */; + }; + F4A6F06AFFBCB7E0230EE60D8285E1D8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "PEAR-FileManager-iOS"; + target = ADBBB3E85D1E2F795520A8939751318B /* PEAR-FileManager-iOS */; + targetProxy = 4151E7B95097069198D6F5B3C87A7414 /* PBXContainerItemProxy */; + }; + F833A79E60788367DCB3CDF6E74DBC5B /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Bolts; + target = 6493D0116FE1BA5F8BB4133D819DF3C8 /* Bolts */; + targetProxy = 9C511BA8666D7472E8A88AAFE61C793D /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 019BE02BC02F4219B1FE51E3306858BC /* Release */ = { + 062F2AEF5E6160FA66F9B8E19F10AF15 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 00C6A0D70D0B027EF3BC2D2DCA4A3D9D /* PNObject.xcconfig */; + baseConfigurationReference = E10EB47C52E20EA119D6B514049F55F8 /* FBSDKShareKit.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PNObject/PNObject-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + GCC_PREFIX_HEADER = "Target Support Files/FBSDKShareKit/FBSDKShareKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PNObject; - PRODUCT_NAME = PNObject; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 0400A7335A532F82946CFE8769BA52F9 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = CF0CCCDF4C0E2DCF3CB409210373C0D6 /* Pods-PNObject_Tests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 0982DA95CA58510D2F0CD1721DF8DEFC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F37F0CBA86D56CA45BFC033D3815EE89 /* Bolts.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Bolts/Bolts-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Bolts; - PRODUCT_NAME = Bolts; + PRODUCT_MODULE_NAME = FBSDKShareKit; + PRODUCT_NAME = FBSDKShareKit; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -4752,7 +4856,336 @@ }; name = Debug; }; - 199D972A13F2B4C56847F7A89CCA83BC /* Debug */ = { + 0ACE517E25FC3B42A6C37A8207F62654 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 72B47B0724761B2B22F82B85F19F2633 /* AFNetworking.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 0C2D80A694E50ED847CE132C7A71BF46 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 12E33E70801A48C06920A1C5A947D38F /* FBSDKCoreKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FBSDKCoreKit/FBSDKCoreKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FBSDKCoreKit; + PRODUCT_NAME = FBSDKCoreKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 0DA716B9BD14938E0C74373C7B57F618 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8D5C4E9E659DF465CEACD70EDC09E5DF /* StrongestPasswordValidator.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/StrongestPasswordValidator/StrongestPasswordValidator-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = StrongestPasswordValidator; + PRODUCT_NAME = StrongestPasswordValidator; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 10DCF6DF9FE970C6BE43309CBB86CAF8 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = FB72119DFFE43FFB9BF49600A12E9063 /* DDDKeychainWrapper.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/DDDKeychainWrapper/DDDKeychainWrapper-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DDDKeychainWrapper; + PRODUCT_NAME = DDDKeychainWrapper; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1A83A1169A9ADDF107A6E646B4F18726 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8734D2AD92DE52FFB555643C20A74AD2 /* Expecta.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 248246F01286E1784EAA529E6F4F8042 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 72B47B0724761B2B22F82B85F19F2633 /* AFNetworking.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 3F08D3596E4A755FC7FF1F0AFA21B7A2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 444FFF855F5ABFFFF0A7C42DC70E79CB /* PureLayout.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PureLayout; + PRODUCT_NAME = PureLayout; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 46122236CC6CA81E3EDF300514C83B75 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B57448B7171E54F316A32FF4FC68CD47 /* NSString-Helper.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/NSString-Helper/NSString-Helper-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = NSString_Helper; + PRODUCT_NAME = "NSString-Helper"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 4BCA23C34EE81412773B573BDF00FF9A /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E53045B6A07A7DC12896641929D0A42B /* PEAR-FileManager-iOS.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/PEAR-FileManager-iOS/PEAR-FileManager-iOS-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PEAR_FileManager_iOS; + PRODUCT_NAME = "PEAR-FileManager-iOS"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 51A12EC83F6688FFA1433F60A42362DC /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 12E33E70801A48C06920A1C5A947D38F /* FBSDKCoreKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FBSDKCoreKit/FBSDKCoreKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FBSDKCoreKit; + PRODUCT_NAME = FBSDKCoreKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 57DEB5F09BB3DA8F9645982A63EF273D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D6ED2B9CE5879E41B3C1304415AF0AE4 /* NSDate_Utils.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/NSDate_Utils/NSDate_Utils-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = NSDate_Utils; + PRODUCT_NAME = NSDate_Utils; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 598AEBDBA25600F7DAE1276000088DDD /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D9926F43895CDB2B741DEFB8D9D8AE66 /* DJLocalization.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/DJLocalization/DJLocalization-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DJLocalization; + PRODUCT_NAME = DJLocalization; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 5B125A4E93CD66299DD3BD0E0A4294F2 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E10EB47C52E20EA119D6B514049F55F8 /* FBSDKShareKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FBSDKShareKit/FBSDKShareKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FBSDKShareKit; + PRODUCT_NAME = FBSDKShareKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 5F86344D82F223885EDB075C6422D66E /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8734D2AD92DE52FFB555643C20A74AD2 /* Expecta.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Expecta; + PRODUCT_NAME = Expecta; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 60DAF49CA7A9F362148D49C3C3123B2A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -4806,7 +5239,8 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; @@ -4815,7 +5249,53 @@ }; name = Debug; }; - 1F013628DB590376B5E8A95DE4F6FA20 /* Release */ = { + 647BD3CB016644FF627D48CC79FF4702 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E77872ABBDE104DEF1B32A3F930E6FCE /* FBSDKLoginKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FBSDKLoginKit/FBSDKLoginKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FBSDKLoginKit; + PRODUCT_NAME = FBSDKLoginKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 783B6D8AC0198FD425D3E53F41F90A37 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CF0CCCDF4C0E2DCF3CB409210373C0D6 /* Pods-PNObject_Tests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7AA5D148C7AD2C30073A28AA2D805FCD /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = C73C6EA2E857706C62F6B73C63D5B8E1 /* Pods-PNObject_Example.release.xcconfig */; buildSettings = { @@ -4837,139 +5317,45 @@ }; name = Release; }; - 20A46A00056E23F4601802748D9933A0 /* Release */ = { + 7E56429F84CDB83837F400241B2EBE12 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C3452B820394D79B12B262BE04613EC7 /* UIDevice-Utils.xcconfig */; + baseConfigurationReference = 379C348EB2F9F418F970768DEB673F2F /* Specta.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/UIDevice-Utils/UIDevice-Utils-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = UIDevice_Utils; - PRODUCT_NAME = "UIDevice-Utils"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 2946D24682D665FA8DB64B5E6F799787 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 502F4C1D657EFC7BF6E4BDFED65F3CDB /* AFNetworking.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 34D38CCC66B558752EF4CC374ABEDAC0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 935E2E993FC0179631BB35A2AD7D085B /* NSString-Helper.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/NSString-Helper/NSString-Helper-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = NSString_Helper; - PRODUCT_NAME = "NSString-Helper"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 3F79B5427BCA65F7FC27D990442D176A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 97CFA8B3EED8A0F8D3835623FED92C46 /* PEAR-FileManager-iOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PEAR-FileManager-iOS/PEAR-FileManager-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PEAR_FileManager_iOS; - PRODUCT_NAME = "PEAR-FileManager-iOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 48257855FB2D8E89AE301E3438FF5EFA /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8E48BC435D5062CA14E0865FBDD11BBA /* NSDataAES.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/NSDataAES/NSDataAES-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = NSDataAES; - PRODUCT_NAME = NSDataAES; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 49E1C90F67CB9A8DD00EC5201E0883AA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD8E19C26F26DBD79AF5AB2D428A82F4 /* DJLocalization.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/DJLocalization/DJLocalization-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DJLocalization; - PRODUCT_NAME = DJLocalization; + PRODUCT_MODULE_NAME = Specta; + PRODUCT_NAME = Specta; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 7F2F96C28E3E2C7740285FFB40EAA739 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C84799466FAEA7DDEA9DD46620CA93E6 /* RZDataBinding.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/RZDataBinding/RZDataBinding-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = RZDataBinding; + PRODUCT_NAME = RZDataBinding; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -4978,149 +5364,7 @@ }; name = Debug; }; - 565726562D9B33B8DC95189BC7ECAC29 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 000C8E060C68A35F396E8FBBEAD74321 /* DDDKeychainWrapper.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/DDDKeychainWrapper/DDDKeychainWrapper-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDDKeychainWrapper; - PRODUCT_NAME = DDDKeychainWrapper; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 585223F1BE1244956BE113C8382DD56C /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DAF9C2C0F6B336822CED8A69F8F94DD9 /* Expecta.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Expecta; - PRODUCT_NAME = Expecta; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 5DD4632A6509C1914D7473DBED3574D1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 26B7FF51D4554E348CE6CF54B7B0D63F /* FBSDKShareKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSDKShareKit/FBSDKShareKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSDKShareKit; - PRODUCT_NAME = FBSDKShareKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 68A4A2DC113691A3D65307471DBCF12E /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89A14669AC7DE4DF84BC162029BBC114 /* PureLayout.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PureLayout; - PRODUCT_NAME = PureLayout; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 69E328CA3C1E7AEB2DECDDFB1267553A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89A14669AC7DE4DF84BC162029BBC114 /* PureLayout.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PureLayout; - PRODUCT_NAME = PureLayout; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 6FA6757D27F9375C25F70424A6AC0B72 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7195B76B6AE47E7F1753E61A2961103F /* CodFis-Helper.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CodFis-Helper/CodFis-Helper-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CodFis_Helper; - PRODUCT_NAME = "CodFis-Helper"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 71A157FEB38D2D5B6738AE7ACE9A6D72 /* Debug */ = { + 7FEBC1841CCDD28378842C9945BC249C /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 00C6A0D70D0B027EF3BC2D2DCA4A3D9D /* PNObject.xcconfig */; buildSettings = { @@ -5143,9 +5387,150 @@ }; name = Debug; }; - 74C4E37A5A1B7E7194C10A2429E196A6 /* Release */ = { + 8684A5E1DA7D85AAC3FDA1AC27475E28 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 935E2E993FC0179631BB35A2AD7D085B /* NSString-Helper.xcconfig */; + baseConfigurationReference = FB72119DFFE43FFB9BF49600A12E9063 /* DDDKeychainWrapper.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/DDDKeychainWrapper/DDDKeychainWrapper-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DDDKeychainWrapper; + PRODUCT_NAME = DDDKeychainWrapper; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 8D471D629672F5DAB906466F7B46E6CF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 00C6A0D70D0B027EF3BC2D2DCA4A3D9D /* PNObject.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/PNObject/PNObject-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = PNObject; + PRODUCT_NAME = PNObject; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 9017EF38B403D030D95383191B3A0A94 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E77872ABBDE104DEF1B32A3F930E6FCE /* FBSDKLoginKit.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/FBSDKLoginKit/FBSDKLoginKit-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = FBSDKLoginKit; + PRODUCT_NAME = FBSDKLoginKit; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 919373B16BD23EB3F043176A0581B672 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8D5C4E9E659DF465CEACD70EDC09E5DF /* StrongestPasswordValidator.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/StrongestPasswordValidator/StrongestPasswordValidator-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = StrongestPasswordValidator; + PRODUCT_NAME = StrongestPasswordValidator; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + A196C437779671012D49BA47B0451480 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D74836342AF2D5E5345284CF3393FDCE /* UIDevice-Utils.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/UIDevice-Utils/UIDevice-Utils-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = UIDevice_Utils; + PRODUCT_NAME = "UIDevice-Utils"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + A4657C30AC4F2E0FA33CE2335EAD9FC4 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D74836342AF2D5E5345284CF3393FDCE /* UIDevice-Utils.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/UIDevice-Utils/UIDevice-Utils-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = UIDevice_Utils; + PRODUCT_NAME = "UIDevice-Utils"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + A4B54C57D9FF54AEFB00AF3C4AB30035 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = B57448B7171E54F316A32FF4FC68CD47 /* NSString-Helper.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5167,263 +5552,7 @@ }; name = Release; }; - 799AF2010F5CD1A0D132BC974017AF34 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = F37F0CBA86D56CA45BFC033D3815EE89 /* Bolts.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Bolts/Bolts-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Bolts; - PRODUCT_NAME = Bolts; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 7E76259B651983F3D643479D5440E310 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9275FD13B0A2F97828A3FCED247AF8EA /* NSDate_Utils.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/NSDate_Utils/NSDate_Utils-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = NSDate_Utils; - PRODUCT_NAME = NSDate_Utils; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 829F3E141CEAF2D0DCFB430C61B1C7F6 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = ECC3074B6C525D1709BF725DDADED490 /* RZDataBinding.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/RZDataBinding/RZDataBinding-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = RZDataBinding; - PRODUCT_NAME = RZDataBinding; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 83A17C7CBDA2C3BF298F0781F6E146AC /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DE33C565472564A8DE420E6D02C0E510 /* FBSDKCoreKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSDKCoreKit/FBSDKCoreKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSDKCoreKit; - PRODUCT_NAME = FBSDKCoreKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 841158163C2980ACD2859A7F16A4F6F5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D11721AA680F5FAEE92666F935EB9C20 /* nv-ios-http-status.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/nv-ios-http-status/nv-ios-http-status-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 5.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = nv_ios_http_status; - PRODUCT_NAME = "nv-ios-http-status"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 8770C465733A6A1CA493DFE49F07EE23 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9275FD13B0A2F97828A3FCED247AF8EA /* NSDate_Utils.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/NSDate_Utils/NSDate_Utils-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = NSDate_Utils; - PRODUCT_NAME = NSDate_Utils; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 930DCB8272CA8679CDAAC4BA7185C55D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0AC7DF341C5ADF18C839B25F23CB9302 /* Pods-PNObject_Tests.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MACH_O_TYPE = staticlib; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 981A01D724D88AC39EAC0A68C34EEECF /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 97CFA8B3EED8A0F8D3835623FED92C46 /* PEAR-FileManager-iOS.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/PEAR-FileManager-iOS/PEAR-FileManager-iOS-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = PEAR_FileManager_iOS; - PRODUCT_NAME = "PEAR-FileManager-iOS"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - A3BAD044DE84776E05F0A32F0159CC6F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FC2432D3C447BDFF937886D5251BBB2 /* Specta.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Specta; - PRODUCT_NAME = Specta; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - A45C44F9116E22E90D2B8374CE1FE9D1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DE33C565472564A8DE420E6D02C0E510 /* FBSDKCoreKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSDKCoreKit/FBSDKCoreKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSDKCoreKit; - PRODUCT_NAME = FBSDKCoreKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - A686F93A68B76D6A52A3531D56CE1B43 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 330E307E8519F9DDBEE6B943D9509433 /* StrongestPasswordValidator.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/StrongestPasswordValidator/StrongestPasswordValidator-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = StrongestPasswordValidator; - PRODUCT_NAME = StrongestPasswordValidator; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - A81EE374C8889152D401B95B5FF572DF /* Debug */ = { + B2C457EA3C03B024C1AEBCF5320DA9F2 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = AAC8666F362600E8954A21949E4EE65D /* Pods-PNObject_Example.debug.xcconfig */; buildSettings = { @@ -5444,67 +5573,21 @@ }; name = Debug; }; - AEE991A29F6914F2B0A54C54F6CBD383 /* Debug */ = { + B670D9B9F3E6940C24F69BE1E08C82DB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C3452B820394D79B12B262BE04613EC7 /* UIDevice-Utils.xcconfig */; + baseConfigurationReference = E53045B6A07A7DC12896641929D0A42B /* PEAR-FileManager-iOS.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/UIDevice-Utils/UIDevice-Utils-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = UIDevice_Utils; - PRODUCT_NAME = "UIDevice-Utils"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - BCDBD8E480635847960DBF277A5122FB /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 490C1F8E8F149587E7EE44AEE486F8E1 /* FBSDKLoginKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSDKLoginKit/FBSDKLoginKit-prefix.pch"; + GCC_PREFIX_HEADER = "Target Support Files/PEAR-FileManager-iOS/PEAR-FileManager-iOS-prefix.pch"; IPHONEOS_DEPLOYMENT_TARGET = 7.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSDKLoginKit; - PRODUCT_NAME = FBSDKLoginKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - C3601C47E18C0AE6EC866511CF8ADFAD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 502F4C1D657EFC7BF6E4BDFED65F3CDB /* AFNetworking.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; + PRODUCT_MODULE_NAME = PEAR_FileManager_iOS; + PRODUCT_NAME = "PEAR-FileManager-iOS"; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -5514,55 +5597,33 @@ }; name = Release; }; - C6CA10FC432BDE15524EF9C16782887B /* Debug */ = { + B691F8EBC824A5DB0B70F7C3DAD96414 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 000C8E060C68A35F396E8FBBEAD74321 /* DDDKeychainWrapper.xcconfig */; + baseConfigurationReference = D6ED2B9CE5879E41B3C1304415AF0AE4 /* NSDate_Utils.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/DDDKeychainWrapper/DDDKeychainWrapper-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + GCC_PREFIX_HEADER = "Target Support Files/NSDate_Utils/NSDate_Utils-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DDDKeychainWrapper; - PRODUCT_NAME = DDDKeychainWrapper; + PRODUCT_MODULE_NAME = NSDate_Utils; + PRODUCT_NAME = NSDate_Utils; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - C6D6DB53763DFC0E8F20BBC478E1D74C /* Debug */ = { + B81B46F2201C631EC9D8891719C6ED4B /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 26B7FF51D4554E348CE6CF54B7B0D63F /* FBSDKShareKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSDKShareKit/FBSDKShareKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSDKShareKit; - PRODUCT_NAME = FBSDKShareKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - CF3CCA4314C98AD51FC191371A599B86 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D11721AA680F5FAEE92666F935EB9C20 /* nv-ios-http-status.xcconfig */; + baseConfigurationReference = F49BAD09C3436DEC8C12A3D333EBFA44 /* nv-ios-http-status.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -5583,21 +5644,21 @@ }; name = Debug; }; - E03DA754FD1648C1165A08F06AEF9DF7 /* Debug */ = { + C0F5DB6347A14B186ECC3B5E6812B49A /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8E48BC435D5062CA14E0865FBDD11BBA /* NSDataAES.xcconfig */; + baseConfigurationReference = 444FFF855F5ABFFFF0A7C42DC70E79CB /* PureLayout.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/NSDataAES/NSDataAES-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + GCC_PREFIX_HEADER = "Target Support Files/PureLayout/PureLayout-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = NSDataAES; - PRODUCT_NAME = NSDataAES; + PRODUCT_MODULE_NAME = PureLayout; + PRODUCT_NAME = PureLayout; PUBLIC_HEADERS_FOLDER_PATH = ""; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -5606,173 +5667,7 @@ }; name = Debug; }; - E35BE00D51959956468AD140F41A2DB5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = ECC3074B6C525D1709BF725DDADED490 /* RZDataBinding.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/RZDataBinding/RZDataBinding-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = RZDataBinding; - PRODUCT_NAME = RZDataBinding; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EAA8FC7EAC4586C4046C1E81FCED01B1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 330E307E8519F9DDBEE6B943D9509433 /* StrongestPasswordValidator.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/StrongestPasswordValidator/StrongestPasswordValidator-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = StrongestPasswordValidator; - PRODUCT_NAME = StrongestPasswordValidator; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - EACB17148442A527160135EA5AA440FC /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7195B76B6AE47E7F1753E61A2961103F /* CodFis-Helper.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/CodFis-Helper/CodFis-Helper-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = CodFis_Helper; - PRODUCT_NAME = "CodFis-Helper"; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - EC382ED4C1D147D325576BE726B4D6AC /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = FD8E19C26F26DBD79AF5AB2D428A82F4 /* DJLocalization.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/DJLocalization/DJLocalization-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = DJLocalization; - PRODUCT_NAME = DJLocalization; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - F1C9E2244EE9309617912983011D759C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 490C1F8E8F149587E7EE44AEE486F8E1 /* FBSDKLoginKit.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/FBSDKLoginKit/FBSDKLoginKit-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = FBSDKLoginKit; - PRODUCT_NAME = FBSDKLoginKit; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - F631C97A4A469E6D20441CB02A12DE2F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6FC2432D3C447BDFF937886D5251BBB2 /* Specta.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Specta; - PRODUCT_NAME = Specta; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - FD369066AD69E3ADB2D9194FC494DEC9 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DAF9C2C0F6B336822CED8A69F8F94DD9 /* Expecta.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/Expecta/Expecta-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 6.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = Expecta; - PRODUCT_NAME = Expecta; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - FDB2FC4A1E5891381CD9D922145497F1 /* Release */ = { + C4EAA84F44D044E108500A81C635F21E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -5824,56 +5719,295 @@ GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; + C9399FE80826B975F2B1A6756FC490B6 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C84799466FAEA7DDEA9DD46620CA93E6 /* RZDataBinding.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/RZDataBinding/RZDataBinding-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = RZDataBinding; + PRODUCT_NAME = RZDataBinding; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + D1975AC47E7C197D45A554C18DEDCF54 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0AC7DF341C5ADF18C839B25F23CB9302 /* Pods-PNObject_Tests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D2C7AF0CC1E5832FADE17EC1F6A849A9 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6658A8EB3EE225F944B76265B3FE95CD /* CodFis-Helper.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/CodFis-Helper/CodFis-Helper-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CodFis_Helper; + PRODUCT_NAME = "CodFis-Helper"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + D59440FBCD78A0E7BC9EBD3EC34F2A12 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = ECB10B1A166604998038F053373E7420 /* Bolts.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Bolts/Bolts-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Bolts; + PRODUCT_NAME = Bolts; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + DD92EA617EEF6C8432CE8F011A7F0F55 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 52B84C79443639E710D5300A19CF7D6F /* NSDataAES.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/NSDataAES/NSDataAES-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = NSDataAES; + PRODUCT_NAME = NSDataAES; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + E8698D09469646E746299DB3EBEBC0CF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 52B84C79443639E710D5300A19CF7D6F /* NSDataAES.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/NSDataAES/NSDataAES-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = NSDataAES; + PRODUCT_NAME = NSDataAES; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + F1A87E9604B24B0B28CB8D2A897C66FA /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D9926F43895CDB2B741DEFB8D9D8AE66 /* DJLocalization.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/DJLocalization/DJLocalization-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = DJLocalization; + PRODUCT_NAME = DJLocalization; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F635C5939BF86B0995A65AC34B800C15 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = ECB10B1A166604998038F053373E7420 /* Bolts.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Bolts/Bolts-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Bolts; + PRODUCT_NAME = Bolts; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F65E764E360F8B05505DB308E9F531E2 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 379C348EB2F9F418F970768DEB673F2F /* Specta.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/Specta/Specta-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = Specta; + PRODUCT_NAME = Specta; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F893EE5A468476B3E1AA2855D73E3B2D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F49BAD09C3436DEC8C12A3D333EBFA44 /* nv-ios-http-status.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/nv-ios-http-status/nv-ios-http-status-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 5.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = nv_ios_http_status; + PRODUCT_NAME = "nv-ios-http-status"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + FE63AA498E7EFD91AB96522FEFB55F4C /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6658A8EB3EE225F944B76265B3FE95CD /* CodFis-Helper.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/CodFis-Helper/CodFis-Helper-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = CodFis_Helper; + PRODUCT_NAME = "CodFis-Helper"; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 0E5D01F4D327CE422A101A5793EA8AB1 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Example" */ = { + 03BBF92D7FE26A5B0F5B7AE043A4E977 /* Build configuration list for PBXNativeTarget "CodFis-Helper" */ = { isa = XCConfigurationList; buildConfigurations = ( - A81EE374C8889152D401B95B5FF572DF /* Debug */, - 1F013628DB590376B5E8A95DE4F6FA20 /* Release */, + FE63AA498E7EFD91AB96522FEFB55F4C /* Debug */, + D2C7AF0CC1E5832FADE17EC1F6A849A9 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 23F4D3B55D19EE30D01893B41D4D8E46 /* Build configuration list for PBXNativeTarget "StrongestPasswordValidator" */ = { + 0BB62BD84251A2D4D5513638C3DD11A3 /* Build configuration list for PBXNativeTarget "NSString-Helper" */ = { isa = XCConfigurationList; buildConfigurations = ( - A686F93A68B76D6A52A3531D56CE1B43 /* Debug */, - EAA8FC7EAC4586C4046C1E81FCED01B1 /* Release */, + 46122236CC6CA81E3EDF300514C83B75 /* Debug */, + A4B54C57D9FF54AEFB00AF3C4AB30035 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 25C68A9983FCC9458E73D22E90F1E858 /* Build configuration list for PBXNativeTarget "NSDate_Utils" */ = { + 1B5389D1CF0F58C35B1B0020024E8E44 /* Build configuration list for PBXNativeTarget "NSDate_Utils" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7E76259B651983F3D643479D5440E310 /* Debug */, - 8770C465733A6A1CA493DFE49F07EE23 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 262A988CAB8FFE13CA0AFA6F200F42F6 /* Build configuration list for PBXNativeTarget "UIDevice-Utils" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AEE991A29F6914F2B0A54C54F6CBD383 /* Debug */, - 20A46A00056E23F4601802748D9933A0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2B68128128886FB992D86C8301FBC19B /* Build configuration list for PBXNativeTarget "CodFis-Helper" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - EACB17148442A527160135EA5AA440FC /* Debug */, - 6FA6757D27F9375C25F70424A6AC0B72 /* Release */, + 57DEB5F09BB3DA8F9645982A63EF273D /* Debug */, + B691F8EBC824A5DB0B70F7C3DAD96414 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -5881,161 +6015,179 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 199D972A13F2B4C56847F7A89CCA83BC /* Debug */, - FDB2FC4A1E5891381CD9D922145497F1 /* Release */, + 60DAF49CA7A9F362148D49C3C3123B2A /* Debug */, + C4EAA84F44D044E108500A81C635F21E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3F53B7D6DE8490EA01E003C0078513A6 /* Build configuration list for PBXNativeTarget "RZDataBinding" */ = { + 380B548F745577D59AC4BFBF6DE6BA25 /* Build configuration list for PBXNativeTarget "PEAR-FileManager-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 829F3E141CEAF2D0DCFB430C61B1C7F6 /* Debug */, - E35BE00D51959956468AD140F41A2DB5 /* Release */, + 4BCA23C34EE81412773B573BDF00FF9A /* Debug */, + B670D9B9F3E6940C24F69BE1E08C82DB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 483FBC4A668BF7F1A8767452E7E188AC /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { + 3C522CF9C69DEE8E10566003CB364074 /* Build configuration list for PBXNativeTarget "FBSDKLoginKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2946D24682D665FA8DB64B5E6F799787 /* Debug */, - C3601C47E18C0AE6EC866511CF8ADFAD /* Release */, + 9017EF38B403D030D95383191B3A0A94 /* Debug */, + 647BD3CB016644FF627D48CC79FF4702 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 505A02A0DDE653D4BBBB28196A06544A /* Build configuration list for PBXNativeTarget "PEAR-FileManager-iOS" */ = { + 3C7B4C0F664348C983E09B3EF2ACE4ED /* Build configuration list for PBXNativeTarget "NSDataAES" */ = { isa = XCConfigurationList; buildConfigurations = ( - 981A01D724D88AC39EAC0A68C34EEECF /* Debug */, - 3F79B5427BCA65F7FC27D990442D176A /* Release */, + DD92EA617EEF6C8432CE8F011A7F0F55 /* Debug */, + E8698D09469646E746299DB3EBEBC0CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5164612F51FC4B301DF7EE041D46A746 /* Build configuration list for PBXNativeTarget "FBSDKShareKit" */ = { + 4B60F0CEC329EC055CF0635E153B9C38 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - C6D6DB53763DFC0E8F20BBC478E1D74C /* Debug */, - 5DD4632A6509C1914D7473DBED3574D1 /* Release */, + B2C457EA3C03B024C1AEBCF5320DA9F2 /* Debug */, + 7AA5D148C7AD2C30073A28AA2D805FCD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 55459F45E6DA89045F8E8E2EB9EFFA82 /* Build configuration list for PBXNativeTarget "nv-ios-http-status" */ = { + 53BEA21E16D971DD879C3E657A257B8F /* Build configuration list for PBXNativeTarget "Specta" */ = { isa = XCConfigurationList; buildConfigurations = ( - CF3CCA4314C98AD51FC191371A599B86 /* Debug */, - 841158163C2980ACD2859A7F16A4F6F5 /* Release */, + F65E764E360F8B05505DB308E9F531E2 /* Debug */, + 7E56429F84CDB83837F400241B2EBE12 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5BCBA6488C157022FF9C51AAFE5C55E8 /* Build configuration list for PBXNativeTarget "DDDKeychainWrapper" */ = { + 5CDD4191C2A20E67B7A511C57FD72C84 /* Build configuration list for PBXNativeTarget "PNObject" */ = { isa = XCConfigurationList; buildConfigurations = ( - C6CA10FC432BDE15524EF9C16782887B /* Debug */, - 565726562D9B33B8DC95189BC7ECAC29 /* Release */, + 7FEBC1841CCDD28378842C9945BC249C /* Debug */, + 8D471D629672F5DAB906466F7B46E6CF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 62DF3A746583D798F6AD2BB05CA4EFA7 /* Build configuration list for PBXNativeTarget "PureLayout" */ = { + 5FEC0A0731A3FB32FEE858F62EE22FD9 /* Build configuration list for PBXNativeTarget "RZDataBinding" */ = { isa = XCConfigurationList; buildConfigurations = ( - 68A4A2DC113691A3D65307471DBCF12E /* Debug */, - 69E328CA3C1E7AEB2DECDDFB1267553A /* Release */, + 7F2F96C28E3E2C7740285FFB40EAA739 /* Debug */, + C9399FE80826B975F2B1A6756FC490B6 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8AE925A3FECD26D8C770C50697A7F672 /* Build configuration list for PBXNativeTarget "Bolts" */ = { + 61C1A4BDDE8EE751771A923C58E89CFE /* Build configuration list for PBXNativeTarget "FBSDKCoreKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0982DA95CA58510D2F0CD1721DF8DEFC /* Debug */, - 799AF2010F5CD1A0D132BC974017AF34 /* Release */, + 0C2D80A694E50ED847CE132C7A71BF46 /* Debug */, + 51A12EC83F6688FFA1433F60A42362DC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8BFD9AA78B3D430680E09EF19BE01C30 /* Build configuration list for PBXNativeTarget "FBSDKCoreKit" */ = { + 6D6C929358C579C9B567081B6243D617 /* Build configuration list for PBXNativeTarget "nv-ios-http-status" */ = { isa = XCConfigurationList; buildConfigurations = ( - A45C44F9116E22E90D2B8374CE1FE9D1 /* Debug */, - 83A17C7CBDA2C3BF298F0781F6E146AC /* Release */, + B81B46F2201C631EC9D8891719C6ED4B /* Debug */, + F893EE5A468476B3E1AA2855D73E3B2D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 920ACF5395A1715C53FEFDB0B7BB01FB /* Build configuration list for PBXNativeTarget "DJLocalization" */ = { + 712227741CDE7294206463ACE3DDF8DE /* Build configuration list for PBXNativeTarget "StrongestPasswordValidator" */ = { isa = XCConfigurationList; buildConfigurations = ( - 49E1C90F67CB9A8DD00EC5201E0883AA /* Debug */, - EC382ED4C1D147D325576BE726B4D6AC /* Release */, + 919373B16BD23EB3F043176A0581B672 /* Debug */, + 0DA716B9BD14938E0C74373C7B57F618 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - AF10A9BCFA07E08173352DAB670F7334 /* Build configuration list for PBXNativeTarget "FBSDKLoginKit" */ = { + 7F486EFB0BE1C161E29C5F600E84618D /* Build configuration list for PBXNativeTarget "DJLocalization" */ = { isa = XCConfigurationList; buildConfigurations = ( - BCDBD8E480635847960DBF277A5122FB /* Debug */, - F1C9E2244EE9309617912983011D759C /* Release */, + F1A87E9604B24B0B28CB8D2A897C66FA /* Debug */, + 598AEBDBA25600F7DAE1276000088DDD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - B8A879EFEDF7A09F1532DE5F5ACA2FBB /* Build configuration list for PBXNativeTarget "NSDataAES" */ = { + 84B8AC4AA6E565449C0568D7A39A061C /* Build configuration list for PBXNativeTarget "DDDKeychainWrapper" */ = { isa = XCConfigurationList; buildConfigurations = ( - E03DA754FD1648C1165A08F06AEF9DF7 /* Debug */, - 48257855FB2D8E89AE301E3438FF5EFA /* Release */, + 10DCF6DF9FE970C6BE43309CBB86CAF8 /* Debug */, + 8684A5E1DA7D85AAC3FDA1AC27475E28 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BCB91E6AFAFCEEFC8B39983DBED80B42 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Tests" */ = { + 89B89B901477B22F8B653541D8D0AF3A /* Build configuration list for PBXNativeTarget "FBSDKShareKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 930DCB8272CA8679CDAAC4BA7185C55D /* Debug */, - 0400A7335A532F82946CFE8769BA52F9 /* Release */, + 062F2AEF5E6160FA66F9B8E19F10AF15 /* Debug */, + 5B125A4E93CD66299DD3BD0E0A4294F2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BF1F3424FC37EDF14FE31D52E87FF69D /* Build configuration list for PBXNativeTarget "NSString-Helper" */ = { + 8BBE730D642231F14A1F426F44F85AEC /* Build configuration list for PBXNativeTarget "Expecta" */ = { isa = XCConfigurationList; buildConfigurations = ( - 34D38CCC66B558752EF4CC374ABEDAC0 /* Debug */, - 74C4E37A5A1B7E7194C10A2429E196A6 /* Release */, + 1A83A1169A9ADDF107A6E646B4F18726 /* Debug */, + 5F86344D82F223885EDB075C6422D66E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - CA266745AC8473A1BB1838F27DCE1405 /* Build configuration list for PBXNativeTarget "PNObject" */ = { + 913217E83282A4C2003DFCCD22FF318C /* Build configuration list for PBXNativeTarget "PureLayout" */ = { isa = XCConfigurationList; buildConfigurations = ( - 71A157FEB38D2D5B6738AE7ACE9A6D72 /* Debug */, - 019BE02BC02F4219B1FE51E3306858BC /* Release */, + C0F5DB6347A14B186ECC3B5E6812B49A /* Debug */, + 3F08D3596E4A755FC7FF1F0AFA21B7A2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D79E19E30DA89AD97F800824E9518580 /* Build configuration list for PBXNativeTarget "Specta" */ = { + A59D0C85A793EAB2897922543A788EE9 /* Build configuration list for PBXNativeTarget "Bolts" */ = { isa = XCConfigurationList; buildConfigurations = ( - F631C97A4A469E6D20441CB02A12DE2F /* Debug */, - A3BAD044DE84776E05F0A32F0159CC6F /* Release */, + F635C5939BF86B0995A65AC34B800C15 /* Debug */, + D59440FBCD78A0E7BC9EBD3EC34F2A12 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D88EDEBF3855FDEF25FC2B2C9BC585A7 /* Build configuration list for PBXNativeTarget "Expecta" */ = { + DA0B3D191F12F068B433650A59A70AE4 /* Build configuration list for PBXNativeTarget "Pods-PNObject_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 585223F1BE1244956BE113C8382DD56C /* Debug */, - FD369066AD69E3ADB2D9194FC494DEC9 /* Release */, + D1975AC47E7C197D45A554C18DEDCF54 /* Debug */, + 783B6D8AC0198FD425D3E53F41F90A37 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + DE14A6487D7B1AE87AF953425FD32F20 /* Build configuration list for PBXNativeTarget "UIDevice-Utils" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + A4657C30AC4F2E0FA33CE2335EAD9FC4 /* Debug */, + A196C437779671012D49BA47B0451480 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F3EDF7FB6B623BD9FDFB7310F9E3993D /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 248246F01286E1784EAA529E6F4F8042 /* Debug */, + 0ACE517E25FC3B42A6C37A8207F62654 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h index 6e61014..a59ef41 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.h @@ -69,6 +69,29 @@ PL__ASSUME_NONNULL_BEGIN #endif /* PL__PureLayout_MinBaseSDK_iOS_8_0 */ +#if TARGET_OS_IPHONE + +#pragma mark Pin Edges to SafeArea + +/** Pins the given edge of the view to the same edge of its superview anchor/edge. */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewSafeArea:(ALEdge)edge; + +/** Pins the given edge of the view to the same edge of its superview anchor/edge with an inset. */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewSafeArea:(ALEdge)edge withInset:(CGFloat)inset; + +/** Pins the given edge of the view to the same edge of its superview anchor/edge with an inset as a maximum or minimum. */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewSafeArea:(ALEdge)edge withInset:(CGFloat)inset relation:(NSLayoutRelation)relation; + +/** Pins the edges of the view to the edges of its superview anchors/edge. */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewSafeArea; + +/** Pins the edges of the view to the edges of its superview anchors/edges with the given edge insets. */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewSafeAreaWithInsets:(ALEdgeInsets)insets; + +/** Pins 3 of the 4 edges of the view to the edges of its superview anchor/edge with the given edge insets, excluding one edge. */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewSafeAreaWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge; + +#endif /* TARGET_OS_IPHONE */ #pragma mark Pin Edges to Superview @@ -95,12 +118,18 @@ PL__ASSUME_NONNULL_BEGIN /** Pins the given edge of the view to the corresponding margin of its superview. Available in iOS 8.0 and later. */ - (NSLayoutConstraint *)autoPinEdgeToSuperviewMargin:(ALEdge)edge; +/** Pins the given edge of a view to the corresponding margin of its superview with an inset.*/ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewMargin:(ALEdge)edge withInset:(CGFloat)inset; + /** Pins the given edge of the view to the corresponding margin of its superview as a maximum or minimum. Available in iOS 8.0 and later. */ - (NSLayoutConstraint *)autoPinEdgeToSuperviewMargin:(ALEdge)edge relation:(NSLayoutRelation)relation; /** Pins the edges of the view to the margins of its superview. Available in iOS 8.0 and later. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMargins; +/** Pins the edges of the view to the margins of its superview with the given edge insets. Available in iOS 8.0 and later.*/ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMarginsWithInsets:(ALEdgeInsets)insets; + /** Pins 3 of the 4 edges of the view to the margins of its superview excluding one edge. Available in iOS 8.0 and later. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMarginsExcludingEdge:(ALEdge)edge; diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m index 15d01b5..c29f6f7 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/ALView+PureLayout.m @@ -80,7 +80,7 @@ */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoCenterInSuperview { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoAlignAxisToSuperviewAxis:ALAxisHorizontal]]; [constraints addObject:[self autoAlignAxisToSuperviewAxis:ALAxisVertical]]; return constraints; @@ -109,7 +109,7 @@ */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoCenterInSuperviewMargins { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoAlignAxisToSuperviewMarginAxis:ALAxisHorizontal]]; [constraints addObject:[self autoAlignAxisToSuperviewMarginAxis:ALAxisVertical]]; return constraints; @@ -133,6 +133,234 @@ #endif /* PL__PureLayout_MinBaseSDK_iOS_8_0 */ +#pragma mark Pin Edges to SafeArea + +#if TARGET_OS_IPHONE + +/** + Pins the given edge of the view to the same edge of its superview anchor. + + @param edge The edge of this view and its superview to pin. + @return The constraint added. + */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewSafeArea:(ALEdge)edge +{ + return [self autoPinEdgeToSuperviewSafeArea:edge withInset:0.0]; +} + +/** + Pins the given edge of the view to the same edge of its superview anchor with an inset. + + @param edge The edge of this view and its superview to pin. + @param inset The amount to inset this view's edge from the superview's edge. + @return The constraint added. + */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewSafeArea:(ALEdge)edge withInset:(CGFloat)inset +{ + return [self autoPinEdgeToSuperviewSafeArea:edge withInset:inset relation:NSLayoutRelationEqual]; +} + +/** + Pins the given edge of the view to the same edge of its superview anchor/edge with an inset as a maximum or minimum. + + @param edge The edge of this view and its superview to pin. + @param inset The amount to inset this view's edge from the superview's edge. + @param relation Whether the inset should be at least, at most, or exactly equal to the given value. + @return The constraint added. + */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewSafeArea:(ALEdge)edge withInset:(CGFloat)inset relation:(NSLayoutRelation)relation +{ +#if PL__PureLayout_MinBaseSDK_iOS_9_0 + self.translatesAutoresizingMaskIntoConstraints = NO; + + ALView *superview = self.superview; + NSAssert(superview, @"View's superview must not be nil.\nView: %@", self); + NSLayoutConstraint *constraint = nil; + NSLayoutYAxisAnchor *topAnchor; + NSLayoutYAxisAnchor *bottomAnchor; + NSLayoutXAxisAnchor *leftAnchor; + NSLayoutXAxisAnchor *rightAnchor; + NSLayoutXAxisAnchor *leadingAnchor; + NSLayoutXAxisAnchor *trailingAnchor; + +#if PL__PureLayout_MinBaseSDK_iOS_11_0 // only iOS/tvOS SDK 11.0 has @available syntax introduced + if (@available(iOS 11.0, tvOS 11.0, *)) { + topAnchor = superview.safeAreaLayoutGuide.topAnchor; + bottomAnchor = superview.safeAreaLayoutGuide.bottomAnchor; + leftAnchor = superview.safeAreaLayoutGuide.leftAnchor; + rightAnchor = superview.safeAreaLayoutGuide.rightAnchor; + leadingAnchor = superview.safeAreaLayoutGuide.leadingAnchor; + trailingAnchor = superview.safeAreaLayoutGuide.trailingAnchor; + } else if (@available(iOS 9.0, *)) { + topAnchor = superview.topAnchor; + bottomAnchor = superview.bottomAnchor; + leftAnchor = superview.leftAnchor; + rightAnchor = superview.rightAnchor; + leadingAnchor = superview.leadingAnchor; + trailingAnchor = superview.trailingAnchor; + } else { // for targeting iOS 8 or below without anchor system + return [self autoPinEdgeToSuperviewEdge:edge withInset:inset relation:relation]; + } +#elif PL__PureLayout_MinBaseSDK_iOS_9_0 // fallback to older SDKs, when using Xcode 8.0, which only has iOS SDK 10.0 + if (PL__PureLayout_MinSysVer_iOS_9_0) { + topAnchor = superview.topAnchor; + bottomAnchor = superview.bottomAnchor; + leftAnchor = superview.leftAnchor; + rightAnchor = superview.rightAnchor; + leadingAnchor = superview.leadingAnchor; + trailingAnchor = superview.trailingAnchor; + } else { // for targeting iOS 8 or below without anchor system + return [self autoPinEdgeToSuperviewEdge:edge withInset:inset relation:relation]; + } +#endif + if (edge == ALEdgeBottom || edge == ALEdgeRight || edge == ALEdgeTrailing) { + // The bottom, right, and trailing insets (and relations, if an inequality) are inverted to become offsets + inset = -inset; + } + switch (edge) { + case ALEdgeLeft: + switch (relation) { + case NSLayoutRelationEqual: + constraint = [[self leftAnchor] constraintEqualToAnchor:leftAnchor constant:inset]; + break; + case NSLayoutRelationLessThanOrEqual: + constraint = [[self leftAnchor] constraintLessThanOrEqualToAnchor:leftAnchor constant:inset]; + break; + case NSLayoutRelationGreaterThanOrEqual: + constraint = [[self leftAnchor] constraintGreaterThanOrEqualToAnchor:leftAnchor constant:inset]; + break; + } + break; + case ALEdgeRight: + switch (relation) { + case NSLayoutRelationEqual: + constraint = [[self rightAnchor] constraintEqualToAnchor:rightAnchor constant:inset]; + break; + case NSLayoutRelationLessThanOrEqual: + constraint = [[self rightAnchor] constraintGreaterThanOrEqualToAnchor:rightAnchor constant:inset]; + break; + case NSLayoutRelationGreaterThanOrEqual: + constraint = [[self rightAnchor] constraintLessThanOrEqualToAnchor:rightAnchor constant:inset]; + break; + } + break; + case ALEdgeTop: + switch (relation) { + case NSLayoutRelationEqual: + constraint = [[self topAnchor] constraintEqualToAnchor:topAnchor constant:inset]; + break; + case NSLayoutRelationLessThanOrEqual: + constraint = [[self topAnchor] constraintLessThanOrEqualToAnchor:topAnchor constant:inset]; + break; + case NSLayoutRelationGreaterThanOrEqual: + constraint = [[self topAnchor] constraintGreaterThanOrEqualToAnchor:topAnchor constant:inset]; + break; + } + break; + case ALEdgeBottom: + switch (relation) { + case NSLayoutRelationEqual: + constraint = [[self bottomAnchor] constraintEqualToAnchor:bottomAnchor constant:inset]; + break; + case NSLayoutRelationLessThanOrEqual: + constraint = [[self bottomAnchor] constraintGreaterThanOrEqualToAnchor:bottomAnchor constant:inset]; + break; + case NSLayoutRelationGreaterThanOrEqual: + constraint = [[self bottomAnchor] constraintLessThanOrEqualToAnchor:bottomAnchor constant:inset]; + break; + } + break; + case ALEdgeLeading: + switch (relation) { + case NSLayoutRelationEqual: + constraint = [[self leadingAnchor] constraintEqualToAnchor:leadingAnchor constant:inset]; + break; + case NSLayoutRelationLessThanOrEqual: + constraint = [[self leadingAnchor] constraintLessThanOrEqualToAnchor:leadingAnchor constant:inset]; + break; + case NSLayoutRelationGreaterThanOrEqual: + constraint = [[self leadingAnchor] constraintGreaterThanOrEqualToAnchor:leadingAnchor constant:inset]; + break; + } + break; + case ALEdgeTrailing: + switch (relation) { + case NSLayoutRelationEqual: + constraint = [[self trailingAnchor] constraintEqualToAnchor:trailingAnchor constant:inset]; + break; + case NSLayoutRelationLessThanOrEqual: + constraint = [[self trailingAnchor] constraintGreaterThanOrEqualToAnchor:trailingAnchor constant:inset]; + break; + case NSLayoutRelationGreaterThanOrEqual: + constraint = [[self trailingAnchor] constraintLessThanOrEqualToAnchor:trailingAnchor constant:inset]; + break; + } + break; + } + constraint.active = YES; + return constraint; +#else + return [self autoPinEdgeToSuperviewEdge:edge withInset:inset relation:relation]; +#endif /* PL__PureLayout_MinBaseSDK_iOS_9_0 */ +} + +/** + Pins the edges of the view to the edges of its superview anchor. + + @return An array of constraints added, ordered counterclockwise from top. + */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewSafeArea +{ + return [self autoPinEdgesToSuperviewSafeAreaWithInsets:ALEdgeInsetsZero]; +} + +/** + Pins the edges of the view to the edges of its superview anchor with the given edge insets. + The insets.left corresponds to a leading edge constraint, and insets.right corresponds to a trailing edge constraint. + + @param insets The insets for this view's edges from its superview's edges. + @return An array of constraints added, ordered counterclockwise from top. + */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewSafeAreaWithInsets:(ALEdgeInsets)insets +{ + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeLeading withInset:insets.left]]; + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeBottom withInset:insets.bottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeTrailing withInset:insets.right]]; + return constraints; +} + +/** + Pins 3 of the 4 edges of the view to the edges of its superview anchor with the given edge insets, excluding one edge. + The insets.left corresponds to a leading edge constraint, and insets.right corresponds to a trailing edge constraint. + + @param insets The insets for this view's edges from its superview's edges. The inset corresponding to the excluded edge + will be ignored. + @param edge The edge of this view to exclude in pinning to its superview anchor; this method will not apply any constraint to it. + @return An array of constraints added, ordered counterclockwise from top. + */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewSafeAreaWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge +{ + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + + if (edge != ALEdgeTop) { + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeTop withInset:insets.top]]; + } + if (edge != ALEdgeLeading && edge != ALEdgeLeft) { + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeLeading withInset:insets.left]]; + } + if (edge != ALEdgeBottom) { + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeBottom withInset:insets.bottom]]; + } + if (edge != ALEdgeTrailing && edge != ALEdgeRight) { + [constraints addObject:[self autoPinEdgeToSuperviewSafeArea:ALEdgeTrailing withInset:insets.right]]; + } + return constraints; +} + +#endif /* TARGET_OS_IPHONE */ + #pragma mark Pin Edges to Superview /** @@ -186,7 +414,7 @@ /** Pins the edges of the view to the edges of its superview. - @return An array of constraints added. + @return An array of constraints added, ordered counterclockwise from top. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdges { @@ -198,11 +426,11 @@ The insets.left corresponds to a leading edge constraint, and insets.right corresponds to a trailing edge constraint. @param insets The insets for this view's edges from its superview's edges. - @return An array of constraints added. + @return An array of constraints added, ordered counterclockwise from top. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeading withInset:insets.left]]; [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; @@ -217,22 +445,42 @@ @param insets The insets for this view's edges from its superview's edges. The inset corresponding to the excluded edge will be ignored. @param edge The edge of this view to exclude in pinning to its superview; this method will not apply any constraint to it. - @return An array of constraints added. + @return An array of constraints added, ordered counterclockwise from top. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewEdgesWithInsets:(ALEdgeInsets)insets excludingEdge:(ALEdge)edge { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; - if (edge != ALEdgeTop) { - [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; - } - if (edge != ALEdgeLeading && edge != ALEdgeLeft) { - [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeading withInset:insets.left]]; - } - if (edge != ALEdgeBottom) { - [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; - } - if (edge != ALEdgeTrailing && edge != ALEdgeRight) { - [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTrailing withInset:insets.right]]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + switch (edge) { + case ALEdgeLeft: + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeRight withInset:insets.right]]; + break; + case ALEdgeRight: + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeft withInset:insets.left]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; + break; + case ALEdgeTop: + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeading withInset:insets.left]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTrailing withInset:insets.right]]; + break; + case ALEdgeBottom: + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeading withInset:insets.left]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTrailing withInset:insets.right]]; + break; + case ALEdgeLeading: + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTrailing withInset:insets.right]]; + break; + case ALEdgeTrailing: + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeLeading withInset:insets.left]]; + [constraints addObject:[self autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:insets.bottom]]; + break; } return constraints; } @@ -250,6 +498,26 @@ return [self autoPinEdgeToSuperviewMargin:edge relation:NSLayoutRelationEqual]; } +/** + Pins the given edge of the view to the corresponding margin of its superview with an inset. + + @param edge The edge of this view to pin to the corresponding margin of its superview. + @param @param inset The amount to inset this view's edge from the corresponding margin of its superview edge. + @return The constraint added. + */ +- (NSLayoutConstraint *)autoPinEdgeToSuperviewMargin:(ALEdge)edge withInset:(CGFloat)inset +{ + self.translatesAutoresizingMaskIntoConstraints = NO; + ALView *superview = self.superview; + NSAssert(superview, @"View's superview must not be nil.\nView: %@", self); + if (edge == ALEdgeBottom || edge == ALEdgeRight || edge == ALEdgeTrailing) { + // The bottom, right, and trailing insets (and relations, if an inequality) are inverted to become offsets + inset = -inset; + } + ALMargin margin = [NSLayoutConstraint al_marginForEdge:edge]; + return [self autoConstrainAttribute:(ALAttribute)edge toAttribute:(ALAttribute)margin ofView:superview withOffset:inset]; +} + /** Pins the given edge of the view to the corresponding margin of its superview as a maximum or minimum. @@ -273,19 +541,31 @@ ALMargin margin = [NSLayoutConstraint al_marginForEdge:edge]; return [self autoConstrainAttribute:(ALAttribute)edge toAttribute:(ALAttribute)margin ofView:superview withOffset:0.0 relation:relation]; } - + /** Pins the edges of the view to the margins of its superview. - @return An array of constraints added. + @return An array of constraints added, ordered counterclockwise from top. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMargins { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading]]; - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTrailing]]; + return [self autoPinEdgesToSuperviewMarginsWithInsets:(ALEdgeInsetsZero)]; +} + +/** + Pins the edges of the view to the edges of its corresponding margins of its superview with the given edge insets. + The insets.left corresponds to a leading edge constraint, and insets.right corresponds to a trailing edge constraint. + + @param insets The insets for this view's edges from its corresponding margin of its superview. + @return An array of constraints added, ordered counterclockwise from top. + */ +- (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMarginsWithInsets:(ALEdgeInsets)insets +{ + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop withInset:insets.top]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading withInset:insets.left]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom withInset:insets.bottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTrailing withInset:insets.right]]; return constraints; } @@ -293,22 +573,42 @@ Pins 3 of the 4 edges of the view to the margins of its superview, excluding one edge. @param edge The edge of this view to exclude in pinning to its superview; this method will not apply any constraint to it. - @return An array of constraints added. + @return An array of constraints added, ordered counterclockwise from top. */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoPinEdgesToSuperviewMarginsExcludingEdge:(ALEdge)edge { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; - if (edge != ALEdgeTop) { - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; - } - if (edge != ALEdgeLeading && edge != ALEdgeLeft) { - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading]]; - } - if (edge != ALEdgeBottom) { - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; - } - if (edge != ALEdgeTrailing && edge != ALEdgeRight) { - [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTrailing]]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + switch (edge) { + case ALEdgeLeft: + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeRight]]; + break; + case ALEdgeRight: + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeft]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; + break; + case ALEdgeTop: + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTrailing]]; + break; + case ALEdgeBottom: + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTrailing]]; + break; + case ALEdgeLeading: + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTrailing]]; + break; + case ALEdgeTrailing: + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeTop]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeLeading]]; + [constraints addObject:[self autoPinEdgeToSuperviewMargin:ALEdgeBottom]]; + break; } return constraints; } @@ -360,7 +660,6 @@ return [self autoConstrainAttribute:(ALAttribute)edge toAttribute:(ALAttribute)toEdge ofView:otherView withOffset:offset relation:relation]; } - #pragma mark Align Axes /** @@ -486,7 +785,7 @@ */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoSetDimensionsToSize:(CGSize)size { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObject:[self autoSetDimension:ALDimensionWidth toSize:size.width]]; [constraints addObject:[self autoSetDimension:ALDimensionHeight toSize:size.height]]; return constraints; @@ -721,7 +1020,6 @@ #endif /* TARGET_OS_IPHONE */ - #pragma mark Internal Methods /** diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m b/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m index 0f8aba4..2010630 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/NSArray+PureLayout.m @@ -121,7 +121,7 @@ - (PL__NSArray_of(NSLayoutConstraint *) *)autoAlignViewsToEdge:(ALEdge)edge { NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views."); - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -146,7 +146,7 @@ - (PL__NSArray_of(NSLayoutConstraint *) *)autoAlignViewsToAxis:(ALAxis)axis { NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views."); - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -171,7 +171,7 @@ - (PL__NSArray_of(NSLayoutConstraint *) *)autoMatchViewsDimension:(ALDimension)dimension { NSAssert([self al_containsMinimumNumberOfViews:2], @"This array must contain at least 2 views."); - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -197,7 +197,7 @@ - (PL__NSArray_of(NSLayoutConstraint *) *)autoSetViewsDimension:(ALDimension)dimension toSize:(CGFloat)size { NSAssert([self al_containsMinimumNumberOfViews:1], @"This array must contain at least 1 view."); - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { ALView *view = (ALView *)object; @@ -217,7 +217,7 @@ */ - (PL__NSArray_of(NSLayoutConstraint *) *)autoSetViewsDimensionsToSize:(CGSize)size { - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; [constraints addObjectsFromArray:[self autoSetViewsDimension:ALDimensionWidth toSize:size.width]]; [constraints addObjectsFromArray:[self autoSetViewsDimension:ALDimensionHeight toSize:size.height]]; return constraints; @@ -311,7 +311,7 @@ CGFloat leadingSpacing = shouldSpaceInsets ? spacing : 0.0; CGFloat trailingSpacing = shouldSpaceInsets ? spacing : 0.0; - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; ALView *previousView = nil; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { @@ -407,7 +407,7 @@ #endif /* TARGET_OS_IPHONE */ BOOL shouldFlipOrder = isRightToLeftLayout && (axis != ALAxisVertical); // imitate the effect of leading/trailing when distributing horizontally - __NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; + PL__NSMutableArray_of(NSLayoutConstraint *) *constraints = [NSMutableArray new]; PL__NSArray_of(ALView *) *views = [self al_copyViewsOnly]; NSUInteger numberOfViews = [views count]; ALView *commonSuperview = [views al_commonSuperviewOfViews]; @@ -493,7 +493,7 @@ */ - (PL__NSArray_of(ALView *) *)al_copyViewsOnly { - __NSMutableArray_of(ALView *) *viewsOnlyArray = [NSMutableArray arrayWithCapacity:[self count]]; + PL__NSMutableArray_of(ALView *) *viewsOnlyArray = [NSMutableArray arrayWithCapacity:[self count]]; for (id object in self) { if ([object isKindOfClass:[ALView class]]) { [viewsOnlyArray addObject:object]; diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m b/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m index 2569b02..5738bc0 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/NSLayoutConstraint+PureLayout.m @@ -46,7 +46,7 @@ NOTE: Access to this variable is not synchronized (and should only be done on the main thread). */ -static __NSMutableArray_of(__NSMutableArray_of(NSLayoutConstraint *) *) *_al_arraysOfCreatedConstraints = nil; +static PL__NSMutableArray_of(PL__NSMutableArray_of(NSLayoutConstraint *) *) *_al_arraysOfCreatedConstraints = nil; /** A global variable that is set to YES when installing a batch of constraints collected from a call to +[autoCreateAndInstallConstraints]. @@ -59,7 +59,7 @@ static BOOL _al_isInstallingCreatedConstraints = NO; /** Accessor for the global state that stores arrays of constraints created without being installed. */ -+ (__NSMutableArray_of(__NSMutableArray_of(NSLayoutConstraint *) *) *)al_arraysOfCreatedConstraints ++ (PL__NSMutableArray_of(PL__NSMutableArray_of(NSLayoutConstraint *) *) *)al_arraysOfCreatedConstraints { NSAssert([NSThread isMainThread], @"PureLayout is not thread safe, and must be used exclusively from the main thread."); if (!_al_arraysOfCreatedConstraints) { @@ -71,7 +71,7 @@ static BOOL _al_isInstallingCreatedConstraints = NO; /** Accessor for the current mutable array of constraints created without being immediately installed. */ -+ (__NSMutableArray_of(NSLayoutConstraint *) *)al_currentArrayOfCreatedConstraints ++ (PL__NSMutableArray_of(NSLayoutConstraint *) *)al_currentArrayOfCreatedConstraints { return [[self al_arraysOfCreatedConstraints] lastObject]; } @@ -138,12 +138,12 @@ static BOOL _al_isInstallingCreatedConstraints = NO; constraints created by this library (even if automatic constraint installation is being prevented). NOTE: Access to this variable is not synchronized (and should only be done on the main thread). */ -static __NSMutableArray_of(NSNumber *) *_al_globalConstraintPriorities = nil; +static PL__NSMutableArray_of(NSNumber *) *_al_globalConstraintPriorities = nil; /** Accessor for the global stack of layout priorities. */ -+ (__NSMutableArray_of(NSNumber *) *)al_globalConstraintPriorities ++ (PL__NSMutableArray_of(NSNumber *) *)al_globalConstraintPriorities { NSAssert([NSThread isMainThread], @"PureLayout is not thread safe, and must be used exclusively from the main thread."); if (!_al_globalConstraintPriorities) { @@ -159,7 +159,7 @@ static __NSMutableArray_of(NSNumber *) *_al_globalConstraintPriorities = nil; */ + (ALLayoutPriority)al_currentGlobalConstraintPriority { - __NSMutableArray_of(NSNumber *) *globalConstraintPriorities = [self al_globalConstraintPriorities]; + PL__NSMutableArray_of(NSNumber *) *globalConstraintPriorities = [self al_globalConstraintPriorities]; if ([globalConstraintPriorities count] == 0) { return ALLayoutPriorityRequired; } @@ -207,12 +207,12 @@ static __NSMutableArray_of(NSNumber *) *_al_globalConstraintPriorities = nil; constraints created by this library (even if automatic constraint installation is being prevented). NOTE: Access to this variable is not synchronized (and should only be done on the main thread). */ -static __NSMutableArray_of(NSString *) *_al_globalConstraintIdentifiers = nil; +static PL__NSMutableArray_of(NSString *) *_al_globalConstraintIdentifiers = nil; /** Accessor for the global state of constraint identifiers. */ -+ (__NSMutableArray_of(NSString *) *)al_globalConstraintIdentifiers ++ (PL__NSMutableArray_of(NSString *) *)al_globalConstraintIdentifiers { NSAssert([NSThread isMainThread], @"PureLayout is not thread safe, and must be used exclusively from the main thread."); if (!_al_globalConstraintIdentifiers) { @@ -228,7 +228,7 @@ static __NSMutableArray_of(NSString *) *_al_globalConstraintIdentifiers = nil; */ + (NSString *)al_currentGlobalConstraintIdentifier { - __NSMutableArray_of(NSString *) *globalConstraintIdentifiers = [self al_globalConstraintIdentifiers]; + PL__NSMutableArray_of(NSString *) *globalConstraintIdentifiers = [self al_globalConstraintIdentifiers]; if ([globalConstraintIdentifiers count] == 0) { return nil; } diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h index 2a2c5eb..15c2eeb 100644 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayout+Internal.h @@ -29,7 +29,7 @@ // Using generics with NSMutableArray is so common in the internal implementation of PureLayout that it gets a dedicated preprocessor macro for better readability. -#define __NSMutableArray_of(type) PL__GENERICS(NSMutableArray, type) +#define PL__NSMutableArray_of(type) PL__GENERICS(NSMutableArray, type) PL__ASSUME_NONNULL_BEGIN @@ -68,11 +68,11 @@ static const CGFloat kMULTIPLIER_MIN_VALUE = (CGFloat)0.00001; // very small flo @interface NSLayoutConstraint (PureLayoutInternal) + (BOOL)al_preventAutomaticConstraintInstallation; -+ (__NSMutableArray_of(NSLayoutConstraint *) *)al_currentArrayOfCreatedConstraints; ++ (PL__NSMutableArray_of(NSLayoutConstraint *) *)al_currentArrayOfCreatedConstraints; + (BOOL)al_isExecutingPriorityConstraintsBlock; + (ALLayoutPriority)al_currentGlobalConstraintPriority; #if PL__PureLayout_MinBaseSDK_iOS_8_0 || PL__PureLayout_MinBaseSDK_OSX_10_10 -+ (NSString *)al_currentGlobalConstraintIdentifier; ++ (nullable NSString *)al_currentGlobalConstraintIdentifier; #endif /* PL__PureLayout_MinBaseSDK_iOS_8_0 || PL__PureLayout_MinBaseSDK_OSX_10_10 */ + (void)al_applyGlobalStateToConstraint:(NSLayoutConstraint *)constraint; + (NSLayoutAttribute)al_layoutAttributeForAttribute:(ALAttribute)attribute; diff --git a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h index 2e88ace..7f74096 100755 --- a/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h +++ b/Example/Pods/PureLayout/PureLayout/PureLayout/PureLayoutDefines.h @@ -29,14 +29,18 @@ #define PureLayoutDefines_h #import - +// check the code in - // Define some preprocessor macros to check for a minimum Base SDK. These are used to prevent compile-time errors in older versions of Xcode. #define PL__PureLayout_MinBaseSDK_iOS_8_0 (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1) +#define PL__PureLayout_MinBaseSDK_iOS_9_0 (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_8_4) +#define PL__PureLayout_MinBaseSDK_iOS_11_0 (TARGET_OS_IPHONE && __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_10_3) #define PL__PureLayout_MinBaseSDK_OSX_10_10 (!TARGET_OS_IPHONE && __MAC_OS_X_VERSION_MAX_ALLOWED > __MAC_10_9) // Define some preprocessor macros to check for a minimum System Version. These are used to prevent runtime crashes on older versions of iOS/OS X. #define PL__PureLayout_MinSysVer_iOS_7_0 (TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) #define PL__PureLayout_MinSysVer_iOS_8_0 (TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1) +#define PL__PureLayout_MinSysVer_iOS_9_0 (TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_8_x_Max) +#define PL__PureLayout_MinSysVer_iOS_10_0 (TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max) #define PL__PureLayout_MinSysVer_OSX_10_9 (!TARGET_OS_IPHONE && floor(NSFoundationVersionNumber) > NSFoundationVersionNumber10_8_4) // Define some preprocessor macros that allow nullability annotations to be adopted in a backwards-compatible manner. diff --git a/Example/Pods/PureLayout/README.md b/Example/Pods/PureLayout/README.md index fba842c..e0f8562 100644 --- a/Example/Pods/PureLayout/README.md +++ b/Example/Pods/PureLayout/README.md @@ -1,5 +1,5 @@ # [![PureLayout](https://github.com/PureLayout/PureLayout/blob/master/Images/PureLayout.png?raw=true)](#) -[![Build Status](http://img.shields.io/travis/PureLayout/PureLayout.svg?style=flat)](https://travis-ci.org/PureLayout/PureLayout) [![Test Coverage](http://img.shields.io/coveralls/PureLayout/PureLayout.svg?style=flat)](https://coveralls.io/r/PureLayout/PureLayout) [![Version](http://img.shields.io/cocoapods/v/PureLayout.svg?style=flat)](http://cocoapods.org/pods/PureLayout) [![Platform](http://img.shields.io/cocoapods/p/PureLayout.svg?style=flat)](http://cocoapods.org/pods/PureLayout) [![License](http://img.shields.io/cocoapods/l/PureLayout.svg?style=flat)](LICENSE) +[![Build Status](https://travis-ci.org/PureLayout/PureLayout.svg?branch=master)](https://travis-ci.org/PureLayout/PureLayout) [![Version](http://img.shields.io/cocoapods/v/PureLayout.svg?style=flat)](http://cocoapods.org/pods/PureLayout) [![Platform](http://img.shields.io/cocoapods/p/PureLayout.svg?style=flat)](http://cocoapods.org/pods/PureLayout) [![License](http://img.shields.io/cocoapods/l/PureLayout.svg?style=flat)](LICENSE) The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. PureLayout extends `UIView`/`NSView`, `NSArray`, and `NSLayoutConstraint` with a comprehensive Auto Layout API that is modeled after Apple's own frameworks. PureLayout is a cross-platform Objective-C library that works (and looks!) great in Swift. It is fully backwards-compatible with all versions of iOS and OS X that support Auto Layout. @@ -110,6 +110,8 @@ Additionally, there is one generic attribute type, `ALAttribute`, which is effec - autoSetDimension(s)ToSize: - autoConstrainAttribute:toAttribute:ofView:(withOffset:|withMultiplier:) - autoPinTo(Top|Bottom)LayoutGuideOfViewController:withInset: // iOS only +- autoPinEdgeToSuperviewSafeArea: // iOS 11.0+ only +- autoPinEdgeToSuperviewSafeArea:withInset: // iOS 11.0+ only ``` ### [`NSArray`](PureLayout/PureLayout/NSArray%2BPureLayout.h) @@ -147,13 +149,13 @@ PureLayout dramatically simplifies writing Auto Layout code. Let's take a quick Here's a constraint between two views created (and automatically activated) using PureLayout: ```swift -view1.autoPinEdge(.Top, toEdge: .Bottom, ofView: view2) +view1.autoPinEdge(.top, toEdge: .bottom, ofView: view2) ``` Without PureLayout, here's the equivalent code you'd have to write using Apple's Foundation API directly: ```swift -NSLayoutConstraint(item: view1, attribute: .Top, relatedBy: .Equal, toItem: view2, attribute: .Bottom, multiplier: 1.0, constant: 0.0).active = true +NSLayoutConstraint(item: view1, attribute: .top, relatedBy: .equal, toItem: view2, attribute: .bottom, multiplier: 1.0, constant: 0.0).active = true ``` Many APIs of PureLayout create multiple constraints for you under the hood, letting you write highly readable layout code: @@ -163,13 +165,19 @@ Many APIs of PureLayout create multiple constraints for you under the hood, lett logoImageView.autoCenterInSuperview() // 4 constraints created & activated in one line! -textContentView.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsets(top: 20.0, left: 5.0, bottom: 10.0, right: 5.0)) +textContentView.autoPinEdgesToSuperviewEdges(with insets: UIEdgeInsets(top: 20.0, left: 5.0, bottom: 10.0, right: 5.0)) ``` PureLayout always returns the constraints it creates so you have full control: ```swift -let constraint = skinnyView.autoMatchDimension(.Height, toDimension: .Width, ofView: tallView) +let constraint = skinnyView.autoMatchDimension(.height, toDimension: .width, ofView: tallView) +``` + +PureLayout supports safearea with iOS 11.0+: + +```swift +view2.autoPinEdge(toSuperviewSafeArea: .top) ``` PureLayout supports all Auto Layout features including inequalities, priorities, layout margins, identifiers, and much more. It's a comprehensive, developer-friendly way to use Auto Layout. diff --git a/Example/Pods/RZDataBinding/README.md b/Example/Pods/RZDataBinding/README.md index 0fe6faa..81b919a 100644 --- a/Example/Pods/RZDataBinding/README.md +++ b/Example/Pods/RZDataBinding/README.md @@ -1,11 +1,15 @@ # RZDataBinding [![Version](https://img.shields.io/cocoapods/v/RZDataBinding.svg?style=flat)](http://cocoadocs.org/docsets/RZDataBinding) +[![CircleCI](https://img.shields.io/circleci/project/github/Raizlabs/RZDataBinding/master.svg)](https://circleci.com/gh/Raizlabs/RZDataBinding) +[![License](https://img.shields.io/cocoapods/l/RZDataBinding.svg?style=flat)](http://cocoapods.org/pods/RZDataBinding) +[![Platform](https://img.shields.io/cocoapods/p/RZDataBinding.svg?style=flat)](http://cocoapods.org/pods/RZDataBinding)

RZDataBinding

+ ## Overview RZDataBinding is a framework designed to help maintain data integrity in your iOS or OS X app. It is built using the standard Key-Value Observation (KVO) framework, but is safer and provides additional functionality. Like KVO, RZDataBinding helps to avoid endless delegate chains by establishing direct callbacks for when an object changes state. @@ -30,7 +34,8 @@ alt="RZDataBinding"> The demo shows a basic usage of RZDataBinding, but is by no means the canonical or most advanced use case. -##Usage +## Usage + **Register a callback for when the keypath of an object changes:** ``` obj-c // Register a selector to be called on a given target whenever keyPath changes on the receiver. diff --git a/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m b/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m index 1254a06..8806c40 100644 --- a/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m +++ b/Example/Pods/RZDataBinding/RZDataBinding/NSObject+RZDataBinding.m @@ -444,8 +444,8 @@ void rz_swizzleDeallocIfNeeded(Class class); { @synchronized (self) { NSHashTable *observers = ^{ - @synchronized (_observers) { - return [_observers copy]; + @synchronized (self->_observers) { + return [self->_observers copy]; } }(); diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h index 4e71f28..94f118d 100644 --- a/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.h @@ -101,7 +101,7 @@ * * @see NSObject+RZDBCoalesce for how to support coalesced callbacks. */ -+ (void)coalesceBlock:(void (^)())coalesceBlock; ++ (void)coalesceBlock:(void (^)(void))coalesceBlock; /** * Cannot instantiate RZDBCoalesce directly. Use the class methods instead. diff --git a/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m index 48d7bdc..6c0ef40 100644 --- a/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m +++ b/Example/Pods/RZDataBinding/RZDataBinding/RZDBCoalesce.m @@ -98,7 +98,7 @@ static NSString* const kRZDBCoalesceStorageKey = @"RZDBCoalesce"; } } -+ (void)coalesceBlock:(void (^)())coalesceBlock ++ (void)coalesceBlock:(void (^)(void))coalesceBlock { NSParameterAssert(coalesceBlock); diff --git a/Example/Pods/Target Support Files/Pods-PNObject_Example/Pods-PNObject_Example-resources.sh b/Example/Pods/Target Support Files/Pods-PNObject_Example/Pods-PNObject_Example-resources.sh index f2e060a..0f15cb8 100755 --- a/Example/Pods/Target Support Files/Pods-PNObject_Example/Pods-PNObject_Example-resources.sh +++ b/Example/Pods/Target Support Files/Pods-PNObject_Example/Pods-PNObject_Example-resources.sh @@ -119,6 +119,6 @@ then 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_BUILD_DIR}/assetcatalog_generated_info.plist" + 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/Example/Pods/Target Support Files/Pods-PNObject_Tests/Pods-PNObject_Tests-resources.sh b/Example/Pods/Target Support Files/Pods-PNObject_Tests/Pods-PNObject_Tests-resources.sh index fe3f9c7..345301f 100755 --- a/Example/Pods/Target Support Files/Pods-PNObject_Tests/Pods-PNObject_Tests-resources.sh +++ b/Example/Pods/Target Support Files/Pods-PNObject_Tests/Pods-PNObject_Tests-resources.sh @@ -113,6 +113,6 @@ then 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_BUILD_DIR}/assetcatalog_generated_info.plist" + 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/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.h b/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.h index 204fe3b..66063fd 100755 --- a/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.h +++ b/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.h @@ -36,6 +36,9 @@ typedef NS_ENUM(NSUInteger, UIDeviceGenerationModel) { UIDeviceGenerationModeliPhone8, UIDeviceGenerationModeliPhone8Plus, UIDeviceGenerationModeliPhoneX, + UIDeviceGenerationModeliPhoneXR, + UIDeviceGenerationModeliPhoneXS, + UIDeviceGenerationModeliPhoneXSMax, UIDeviceGenerationModeliPhoneSimulator, UIDeviceGenerationModeliPad1, UIDeviceGenerationModeliPad2, @@ -73,6 +76,7 @@ typedef NS_ENUM(NSUInteger, UIDeviceModelInches) { UIDeviceModelInches47, UIDeviceModelInches55, UIDeviceModelInches58, + UIDeviceModelInches65, UIDeviceModelInches79, UIDeviceModelInches97, UIDeviceModelInches105, @@ -82,6 +86,7 @@ typedef NS_ENUM(NSUInteger, UIDeviceModelInches) { UIDeviceSimulatorModelInches47 = UIDeviceModelInches47, UIDeviceSimulatorModelInches55 = UIDeviceModelInches55, UIDeviceSimulatorModelInches58 = UIDeviceModelInches58, + UIDeviceSimulatorModelInches65 = UIDeviceModelInches65, UIDeviceSimulatorModelInches79 = UIDeviceModelInches79, UIDeviceSimulatorModelInches97 = UIDeviceModelInches97, UIDeviceSimulatorModelInches105 = UIDeviceModelInches105, diff --git a/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.m b/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.m index 646c8a3..a5239b9 100755 --- a/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.m +++ b/Example/Pods/UIDevice-Utils/Pod/Classes/UIDevice-Hardware.m @@ -72,6 +72,10 @@ if ([modelIdentifier isEqualToString:@"iPhone10,4"]) return UIDeviceGenerationModeliPhone8; if ([modelIdentifier isEqualToString:@"iPhone10,5"]) return UIDeviceGenerationModeliPhone8Plus; if ([modelIdentifier isEqualToString:@"iPhone10,6"]) return UIDeviceGenerationModeliPhoneX; + if ([modelIdentifier isEqualToString:@"iPhone11,2"]) return UIDeviceGenerationModeliPhoneXS; + if ([modelIdentifier isEqualToString:@"iPhone11,4"]) return UIDeviceGenerationModeliPhoneXSMax; + if ([modelIdentifier isEqualToString:@"iPhone11,6"]) return UIDeviceGenerationModeliPhoneXSMax; + if ([modelIdentifier isEqualToString:@"iPhone11,8"]) return UIDeviceGenerationModeliPhoneXR; // iPad http://theiphonewiki.com/wiki/IPad @@ -182,6 +186,11 @@ if ([modelIdentifier isEqualToString:@"iPhone10,4"]) return @"iPhone 8"; // AT&T, Global if ([modelIdentifier isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus"; // AT&T, Global if ([modelIdentifier isEqualToString:@"iPhone10,6"]) return @"iPhone X"; // AT&T, Global + if ([modelIdentifier isEqualToString:@"iPhone11,2"]) return @"iPhone XS"; + if ([modelIdentifier isEqualToString:@"iPhone11,4"]) return @"iPhone XSMax"; + if ([modelIdentifier isEqualToString:@"iPhone11,6"]) return @"iPhone XSMax"; + if ([modelIdentifier isEqualToString:@"iPhone10,8"]) return @"iPhone XR"; + // iPad http://theiphonewiki.com/wiki/IPad @@ -286,10 +295,16 @@ return UIDeviceModelInches55; } break; - case UIDeviceGenerationModeliPhoneX:{ + case UIDeviceGenerationModeliPhoneX: + case UIDeviceGenerationModeliPhoneXS: + case UIDeviceGenerationModeliPhoneXR:{ return UIDeviceModelInches58; } break; + case UIDeviceGenerationModeliPhoneXSMax:{ + return UIDeviceModelInches65; + } + break; case UIDeviceGenerationModeliPad1: case UIDeviceGenerationModeliPad2: case UIDeviceGenerationModeliPad3: @@ -343,6 +358,11 @@ break; } break; + case 896:{ + return UIDeviceSimulatorModelInches65; + break; + } + break; case 1024:{ return UIDeviceModelInches97; break; diff --git a/PNObject.podspec b/PNObject.podspec index dc65b77..afadd78 100644 --- a/PNObject.podspec +++ b/PNObject.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'PNObject' -s.version = '2.5.7' +s.version = '2.6.0' s.summary = 'PNObject is a simple replica of the more complex ParseObject' diff --git a/PNObject/Classes/PNObjectModel.h b/PNObject/Classes/PNObjectModel.h index e3f36db..2f167c9 100644 --- a/PNObject/Classes/PNObjectModel.h +++ b/PNObject/Classes/PNObjectModel.h @@ -31,13 +31,15 @@ */ - (id _Nonnull) fetchObjectsWithClass:(Class _Nonnull) class; +- (BOOL) removeObjectsWithClass:(Class _Nonnull) class; + /** * <#Description#> * * @param object PNObject Subclass to save * * @return return It return the object if the save was successful. - * @return return NSError + * @return return NSError */ - (id _Nonnull) saveLocally:(id _Nonnull) object; diff --git a/PNObject/Classes/PNObjectModel.m b/PNObject/Classes/PNObjectModel.m index 3c27142..a98d28e 100644 --- a/PNObject/Classes/PNObjectModel.m +++ b/PNObject/Classes/PNObjectModel.m @@ -156,6 +156,35 @@ static bool isFirstAccess = YES; } } +- (BOOL) removeObjectsWithClass:(Class _Nonnull) class { + + BOOL isPNObjectSubclass = [class isSubclassOfClass:[PNObject class]]; + + if(isPNObjectSubclass) { + + NSString *className; + + @try { + + className = (NSString *)[class performSelector:@selector(objectClassName)]; + + } + @catch (NSException *exception) { + + } + @finally { + + if ([_fileManager checkPath:className]) { + + return [_fileManager deletePath:className]; + + } + else + return NO; + } + } +} + - (id _Nonnull) saveLocally:(id _Nonnull) object { BOOL isPNObjectSubclass = [[object class] isSubclassOfClass:[PNObject class]]; @@ -196,7 +225,21 @@ static bool isFirstAccess = YES; NSDictionary *objectDict = [(PNObject*)object reverseMapping]; - [objects addObject:objectDict]; + int index = 0; + BOOL found = NO; + for (NSDictionary* savedObject in [objects copy]) { + if ([[savedObject objectForKey:@"objID"] isEqualToString:[(PNObject*)object objID]]) { + found = YES; + [objects removeObjectAtIndex:index]; + [objects insertObject:objectDict atIndex:index]; + break; + } + index++; + } + + if (!found) { + [objects addObject:objectDict]; + } NSData *objectData = [[NSKeyedArchiver archivedDataWithRootObject:objects] aes_encrypt:[DDDKeychainWrapper dataForKey: PNObjectEncryptionKey]];