From 7e4f56cc80fb5f272cdcfc94e314ae16ebedf4b3 Mon Sep 17 00:00:00 2001 From: Dhaval Date: Sat, 16 May 2020 12:03:31 +0530 Subject: [PATCH 1/2] UIWebview Removal --- .../InstagramKit.xcodeproj/project.pbxproj | 59 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + Example/Podfile | 2 +- Example/Podfile.lock | 55 +- .../AFNetworking/AFCompatibilityMacros.h | 16 +- .../AFNetworking/AFHTTPSessionManager.h | 145 +- .../AFNetworking/AFHTTPSessionManager.m | 141 +- .../AFNetworkReachabilityManager.m | 15 +- .../AFNetworking/AFSecurityPolicy.h | 13 +- .../AFNetworking/AFSecurityPolicy.m | 35 +- .../AFNetworking/AFURLRequestSerialization.h | 10 +- .../AFNetworking/AFURLRequestSerialization.m | 15 +- .../AFNetworking/AFURLResponseSerialization.h | 7 +- .../AFNetworking/AFURLResponseSerialization.m | 29 +- .../AFNetworking/AFURLSessionManager.h | 79 +- .../AFNetworking/AFURLSessionManager.m | 264 +-- Example/Pods/AFNetworking/LICENSE | 2 +- Example/Pods/AFNetworking/README.md | 54 +- .../AFAutoPurgingImageCache.m | 8 +- .../UIKit+AFNetworking/AFImageDownloader.h | 2 +- .../UIKit+AFNetworking/AFImageDownloader.m | 60 +- .../AFNetworkActivityIndicatorManager.m | 34 +- .../UIButton+AFNetworking.m | 8 +- .../UIKit+AFNetworking/UIImage+AFNetworking.h | 35 - .../UIImageView+AFNetworking.m | 9 +- .../UIKit+AFNetworking/UIKit+AFNetworking.h | 19 +- .../UIWebView+AFNetworking.h | 80 - .../UIWebView+AFNetworking.m | 157 -- .../Local Podspecs/InstagramKit.podspec.json | 8 +- Example/Pods/Manifest.lock | 55 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1409 +++++++++-------- .../AFNetworking/AFNetworking-prefix.pch | 11 - .../AFNetworking/AFNetworking-umbrella.h | 3 +- .../AFNetworking/AFNetworking.xcconfig | 10 - .../AFNetworking/Info.plist | 26 - .../InstagramKit/Info.plist | 26 - .../InstagramKit/InstagramKit.xcconfig | 11 - ...agramKit_Example-acknowledgements.markdown | 2 +- ...nstagramKit_Example-acknowledgements.plist | 2 +- .../Pods-InstagramKit_Example-frameworks.sh | 99 +- .../Pods-InstagramKit_Example.debug.xcconfig | 6 +- ...Pods-InstagramKit_Example.release.xcconfig | 6 +- .../Pods-InstagramKit_Tests.debug.xcconfig | 6 +- .../Pods-InstagramKit_Tests.release.xcconfig | 6 +- .../UICKeyChainStore/Info.plist | 26 - .../UICKeyChainStore.xcconfig | 10 - .../Lib/UICKeyChainStore/UICKeyChainStore.h | 14 +- .../Lib/UICKeyChainStore/UICKeyChainStore.m | 23 +- Example/Pods/UICKeyChainStore/README.md | 38 + InstagramKit.podspec | 4 +- InstagramKit/Classes/Engine/InstagramEngine.m | 100 +- 52 files changed, 1538 insertions(+), 1732 deletions(-) create mode 100644 Example/InstagramKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Example/InstagramKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 Example/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h delete mode 100644 Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h delete mode 100644 Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m delete mode 100644 Example/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig delete mode 100644 Example/Pods/Target Support Files/AFNetworking/Info.plist delete mode 100644 Example/Pods/Target Support Files/InstagramKit/Info.plist delete mode 100644 Example/Pods/Target Support Files/InstagramKit/InstagramKit.xcconfig delete mode 100644 Example/Pods/Target Support Files/UICKeyChainStore/Info.plist delete mode 100644 Example/Pods/Target Support Files/UICKeyChainStore/UICKeyChainStore.xcconfig diff --git a/Example/InstagramKit.xcodeproj/project.pbxproj b/Example/InstagramKit.xcodeproj/project.pbxproj index 9bef168e..6b4c7e95 100644 --- a/Example/InstagramKit.xcodeproj/project.pbxproj +++ b/Example/InstagramKit.xcodeproj/project.pbxproj @@ -256,8 +256,7 @@ 6003F586195388D20070C39A /* Sources */, 6003F587195388D20070C39A /* Frameworks */, 6003F588195388D20070C39A /* Resources */, - 9137CB595EA23553FB365A8A /* [CP] Embed Pods Frameworks */, - 7FBC570856BC9E176F3EA379 /* [CP] Copy Pods Resources */, + ECDAEC28C913DFE3A8FF13FE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -276,8 +275,6 @@ 6003F5AA195388D20070C39A /* Sources */, 6003F5AB195388D20070C39A /* Frameworks */, 6003F5AC195388D20070C39A /* Resources */, - 08C86F10A31516F8B739B67A /* [CP] Embed Pods Frameworks */, - 0FE5B9F54337542A93D056A9 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -312,6 +309,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -367,36 +365,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 08C86F10A31516F8B739B67A /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 0FE5B9F54337542A93D056A9 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 68A5F61E790759FFF3550930 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -415,28 +383,13 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7FBC570856BC9E176F3EA379 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9137CB595EA23553FB365A8A /* [CP] Embed Pods Frameworks */ = { + ECDAEC28C913DFE3A8FF13FE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${SRCROOT}/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh", + "${PODS_ROOT}/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh", "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", "${BUILT_PRODUCTS_DIR}/InstagramKit/InstagramKit.framework", "${BUILT_PRODUCTS_DIR}/UICKeyChainStore/UICKeyChainStore.framework", @@ -449,7 +402,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -624,6 +577,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "InstagramKit/InstagramKit-Prefix.pch"; INFOPLIST_FILE = "InstagramKit/InstagramKit-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -640,6 +594,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "InstagramKit/InstagramKit-Prefix.pch"; INFOPLIST_FILE = "InstagramKit/InstagramKit-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Example/InstagramKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/InstagramKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 00000000..18d98100 --- /dev/null +++ b/Example/InstagramKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/InstagramKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Example/InstagramKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 00000000..f9b0d7c5 --- /dev/null +++ b/Example/InstagramKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/Example/Podfile b/Example/Podfile index bdde540e..324f312d 100644 --- a/Example/Podfile +++ b/Example/Podfile @@ -1,4 +1,4 @@ -platform :ios, '9.0' +platform :ios, '11.0' use_frameworks! target 'InstagramKit_Example' do diff --git a/Example/Podfile.lock b/Example/Podfile.lock index a0e217e3..b1a025fb 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,42 +1,47 @@ PODS: - - 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 (4.0.1): + - AFNetworking/NSURLSession (= 4.0.1) + - AFNetworking/Reachability (= 4.0.1) + - AFNetworking/Security (= 4.0.1) + - AFNetworking/Serialization (= 4.0.1) + - AFNetworking/UIKit (= 4.0.1) + - AFNetworking/NSURLSession (4.0.1): - AFNetworking/Reachability - AFNetworking/Security - AFNetworking/Serialization - - AFNetworking/Reachability (3.2.1) - - AFNetworking/Security (3.2.1) - - AFNetworking/Serialization (3.2.1) - - AFNetworking/UIKit (3.2.1): + - AFNetworking/Reachability (4.0.1) + - AFNetworking/Security (4.0.1) + - AFNetworking/Serialization (4.0.1) + - AFNetworking/UIKit (4.0.1): - AFNetworking/NSURLSession - - InstagramKit (4.0): - - AFNetworking (~> 3.0) - - InstagramKit/InstagramKit-without-UICKeyChainStore (= 4.0) - - InstagramKit/InstagramKit-without-UICKeyChainStore (4.0): - - AFNetworking (~> 3.0) - - InstagramKit/UICKeyChainStore (4.0): - - AFNetworking (~> 3.0) + - InstagramKit (4.1): + - AFNetworking + - InstagramKit/InstagramKit-without-UICKeyChainStore (= 4.1) + - InstagramKit/InstagramKit-without-UICKeyChainStore (4.1): + - AFNetworking + - InstagramKit/UICKeyChainStore (4.1): + - AFNetworking - UICKeyChainStore (~> 2.0) - - UICKeyChainStore (2.1.1) + - UICKeyChainStore (2.2.0) DEPENDENCIES: - InstagramKit (from `../`) - InstagramKit/UICKeyChainStore (from `../`) +SPEC REPOS: + trunk: + - AFNetworking + - UICKeyChainStore + EXTERNAL SOURCES: InstagramKit: - :path: ../ + :path: "../" SPEC CHECKSUMS: - AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 - InstagramKit: 2072df650fbd6bae8041051906743559300468e0 - UICKeyChainStore: 239558492fa260531a0774cfc611ea83a6eaff3a + AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce + InstagramKit: bb18dce29797437598424092fa8479ee7cda277e + UICKeyChainStore: 6a218644594e12f855ec2a10f4fc576c1a69daee -PODFILE CHECKSUM: e6c6ccc443f963f4c64446a11e3fe6576ab9399d +PODFILE CHECKSUM: 150e8445d546d1bfd6562e612ac05bde2647ea04 -COCOAPODS: 1.4.0 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h b/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h index a83d1344..1f0ab26d 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h @@ -22,10 +22,16 @@ #ifndef AFCompatibilityMacros_h #define AFCompatibilityMacros_h +#ifdef API_AVAILABLE + #define AF_API_AVAILABLE(...) API_AVAILABLE(__VA_ARGS__) +#else + #define AF_API_AVAILABLE(...) +#endif // API_AVAILABLE + #ifdef API_UNAVAILABLE - #define AF_API_UNAVAILABLE(x) API_UNAVAILABLE(x) + #define AF_API_UNAVAILABLE(...) API_UNAVAILABLE(__VA_ARGS__) #else - #define AF_API_UNAVAILABLE(x) + #define AF_API_UNAVAILABLE(...) #endif // API_UNAVAILABLE #if __has_warning("-Wunguarded-availability-new") @@ -34,4 +40,10 @@ #define AF_CAN_USE_AT_AVAILABLE 0 #endif +#if ((__IPHONE_OS_VERSION_MAX_ALLOWED && __IPHONE_OS_VERSION_MAX_ALLOWED < 100000) || (__MAC_OS_VERSION_MAX_ALLOWED && __MAC_OS_VERSION_MAX_ALLOWED < 101200) ||(__WATCH_OS_MAX_VERSION_ALLOWED && __WATCH_OS_MAX_VERSION_ALLOWED < 30000) ||(__TV_OS_MAX_VERSION_ALLOWED && __TV_OS_MAX_VERSION_ALLOWED < 100000)) + #define AF_CAN_INCLUDE_SESSION_TASK_METRICS 0 +#else + #define AF_CAN_INCLUDE_SESSION_TASK_METRICS 1 +#endif + #endif /* AFCompatibilityMacros_h */ diff --git a/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h b/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h index 64ee5a81..943fc22d 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h @@ -25,12 +25,6 @@ #endif #import -#if TARGET_OS_IOS || TARGET_OS_WATCH || TARGET_OS_TV -#import -#else -#import -#endif - #import "AFURLSessionManager.h" /** @@ -40,8 +34,6 @@ Developers targeting iOS 7 or Mac OS X 10.9 or later that deal extensively with a web service are encouraged to subclass `AFHTTPSessionManager`, providing a class method that returns a shared singleton object on which authentication and other configuration can be shared across the application. - For developers targeting iOS 6 or Mac OS X 10.8 or earlier, `AFHTTPRequestOperationManager` may be used to similar effect. - ## Methods to Override To change the behavior of all data task operation construction, which is also used in the `GET` / `POST` / et al. convenience methods, override `dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler:`. @@ -140,115 +132,75 @@ NS_ASSUME_NONNULL_BEGIN /** Creates and runs an `NSURLSessionDataTask` with a `GET` request. - - @param URLString The URL string used to create the request URL. - @param parameters The parameters to be encoded according to the client request serializer. - @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. - @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - - @see -dataTaskWithRequest:completionHandler: - */ -- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString - parameters:(nullable id)parameters - success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE; - - -/** - Creates and runs an `NSURLSessionDataTask` with a `GET` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param downloadProgress A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: */ - (nullable NSURLSessionDataTask *)GET:(NSString *)URLString parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers progress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; /** Creates and runs an `NSURLSessionDataTask` with a `HEAD` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes a single arguments: the data task. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:completionHandler: */ - (nullable NSURLSessionDataTask *)HEAD:(NSString *)URLString - parameters:(nullable id)parameters - success:(nullable void (^)(NSURLSessionDataTask *task))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; - -/** - Creates and runs an `NSURLSessionDataTask` with a `POST` request. - - @param URLString The URL string used to create the request URL. - @param parameters The parameters to be encoded according to the client request serializer. - @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. - @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - - @see -dataTaskWithRequest:completionHandler: - */ -- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString - parameters:(nullable id)parameters - success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE; + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; /** Creates and runs an `NSURLSessionDataTask` with a `POST` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: */ - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; /** Creates and runs an `NSURLSessionDataTask` with a multipart `POST` request. - - @param URLString The URL string used to create the request URL. - @param parameters The parameters to be encoded according to the client request serializer. - @param block A block that takes a single argument and appends data to the HTTP body. The block argument is an object adopting the `AFMultipartFormData` protocol. - @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. - @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - - @see -dataTaskWithRequest:completionHandler: - */ -- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString - parameters:(nullable id)parameters - constructingBodyWithBlock:(nullable void (^)(id formData))block - success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure DEPRECATED_ATTRIBUTE; - -/** - Creates and runs an `NSURLSessionDataTask` with a multipart `POST` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param block A block that takes a single argument and appends data to the HTTP body. The block argument is an object adopting the `AFMultipartFormData` protocol. @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: */ - (nullable NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers constructingBodyWithBlock:(nullable void (^)(id formData))block progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success @@ -256,48 +208,77 @@ NS_ASSUME_NONNULL_BEGIN /** Creates and runs an `NSURLSessionDataTask` with a `PUT` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:completionHandler: */ - (nullable NSURLSessionDataTask *)PUT:(NSString *)URLString - parameters:(nullable id)parameters - success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; /** Creates and runs an `NSURLSessionDataTask` with a `PATCH` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:completionHandler: */ - (nullable NSURLSessionDataTask *)PATCH:(NSString *)URLString - parameters:(nullable id)parameters - success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; /** Creates and runs an `NSURLSessionDataTask` with a `DELETE` request. - + @param URLString The URL string used to create the request URL. @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. - + @see -dataTaskWithRequest:completionHandler: */ - (nullable NSURLSessionDataTask *)DELETE:(NSString *)URLString - parameters:(nullable id)parameters - success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; + +/** + Creates an `NSURLSessionDataTask` with a custom `HTTPMethod` request. + + @param method The HTTPMethod string used to create the request. + @param URLString The URL string used to create the request URL. + @param parameters The parameters to be encoded according to the client request serializer. + @param headers The headers appended to the default headers for this request. + @param uploadProgress A block object to be executed when the upload progress is updated. Note this block is called on the session queue, not the main queue. + @param downloadProgress A block object to be executed when the download progress is updated. Note this block is called on the session queue, not the main queue. + @param success A block object to be executed when the task finishes successfully. This block has no return value and takes two arguments: the data task, and the response object created by the client response serializer. + @param failure A block object to be executed when the task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a two arguments: the data task and the error describing the network or parsing error that occurred. + + @see -dataTaskWithRequest:uploadProgress:downloadProgress:completionHandler: + */ +- (nullable NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method + URLString:(NSString *)URLString + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + uploadProgress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress + downloadProgress:(nullable void (^)(NSProgress *downloadProgress))downloadProgress + success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure; @end diff --git a/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m b/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m index cab11c28..b4ab5915 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m @@ -118,99 +118,80 @@ - (void)setSecurityPolicy:(AFSecurityPolicy *)securityPolicy { #pragma mark - - (NSURLSessionDataTask *)GET:(NSString *)URLString - parameters:(id)parameters - success:(void (^)(NSURLSessionDataTask *task, id responseObject))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + progress:(nullable void (^)(NSProgress * _Nonnull))downloadProgress + success:(nullable void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure { - - return [self GET:URLString parameters:parameters progress:nil success:success failure:failure]; -} - -- (NSURLSessionDataTask *)GET:(NSString *)URLString - parameters:(id)parameters - progress:(void (^)(NSProgress * _Nonnull))downloadProgress - success:(void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success - failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure -{ - + NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"GET" URLString:URLString parameters:parameters + headers:headers uploadProgress:nil downloadProgress:downloadProgress success:success failure:failure]; - + [dataTask resume]; - + return dataTask; } - (NSURLSessionDataTask *)HEAD:(NSString *)URLString - parameters:(id)parameters - success:(void (^)(NSURLSessionDataTask *task))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask * _Nonnull))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure { - NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"HEAD" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:^(NSURLSessionDataTask *task, __unused id responseObject) { + NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"HEAD" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:^(NSURLSessionDataTask *task, __unused id responseObject) { if (success) { success(task); } } failure:failure]; - + [dataTask resume]; - + return dataTask; } -- (NSURLSessionDataTask *)POST:(NSString *)URLString - parameters:(id)parameters - success:(void (^)(NSURLSessionDataTask *task, id responseObject))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure +- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + progress:(nullable void (^)(NSProgress *uploadProgress))uploadProgress + success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure { - return [self POST:URLString parameters:parameters progress:nil success:success failure:failure]; -} - -- (NSURLSessionDataTask *)POST:(NSString *)URLString - parameters:(id)parameters - progress:(void (^)(NSProgress * _Nonnull))uploadProgress - success:(void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success - failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure -{ - NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"POST" URLString:URLString parameters:parameters uploadProgress:uploadProgress downloadProgress:nil success:success failure:failure]; - + NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"POST" URLString:URLString parameters:parameters headers:headers uploadProgress:uploadProgress downloadProgress:nil success:success failure:failure]; + [dataTask resume]; - + return dataTask; } - (NSURLSessionDataTask *)POST:(NSString *)URLString parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers constructingBodyWithBlock:(nullable void (^)(id _Nonnull))block - success:(nullable void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success - failure:(nullable void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure -{ - return [self POST:URLString parameters:parameters constructingBodyWithBlock:block progress:nil success:success failure:failure]; -} - -- (NSURLSessionDataTask *)POST:(NSString *)URLString - parameters:(id)parameters - constructingBodyWithBlock:(void (^)(id formData))block progress:(nullable void (^)(NSProgress * _Nonnull))uploadProgress - success:(void (^)(NSURLSessionDataTask *task, id responseObject))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure + success:(nullable void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure { NSError *serializationError = nil; NSMutableURLRequest *request = [self.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:[[NSURL URLWithString:URLString relativeToURL:self.baseURL] absoluteString] parameters:parameters constructingBodyWithBlock:block error:&serializationError]; + for (NSString *headerField in headers.keyEnumerator) { + [request setValue:headers[headerField] forHTTPHeaderField:headerField]; + } if (serializationError) { if (failure) { dispatch_async(self.completionQueue ?: dispatch_get_main_queue(), ^{ failure(nil, serializationError); }); } - + return nil; } - + __block NSURLSessionDataTask *task = [self uploadTaskWithStreamedRequest:request progress:uploadProgress completionHandler:^(NSURLResponse * __unused response, id responseObject, NSError *error) { if (error) { if (failure) { @@ -222,58 +203,66 @@ - (NSURLSessionDataTask *)POST:(NSString *)URLString } } }]; - + [task resume]; - + return task; } - (NSURLSessionDataTask *)PUT:(NSString *)URLString - parameters:(id)parameters - success:(void (^)(NSURLSessionDataTask *task, id responseObject))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure { - NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PUT" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:success failure:failure]; - + NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PUT" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:success failure:failure]; + [dataTask resume]; - + return dataTask; } - (NSURLSessionDataTask *)PATCH:(NSString *)URLString - parameters:(id)parameters - success:(void (^)(NSURLSessionDataTask *task, id responseObject))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure { - NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PATCH" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:success failure:failure]; - + NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"PATCH" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:success failure:failure]; + [dataTask resume]; - + return dataTask; } - (NSURLSessionDataTask *)DELETE:(NSString *)URLString - parameters:(id)parameters - success:(void (^)(NSURLSessionDataTask *task, id responseObject))success - failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers + success:(nullable void (^)(NSURLSessionDataTask *task, id responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask *task, NSError *error))failure { - NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"DELETE" URLString:URLString parameters:parameters uploadProgress:nil downloadProgress:nil success:success failure:failure]; - + NSURLSessionDataTask *dataTask = [self dataTaskWithHTTPMethod:@"DELETE" URLString:URLString parameters:parameters headers:headers uploadProgress:nil downloadProgress:nil success:success failure:failure]; + [dataTask resume]; - + return dataTask; } + - (NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method URLString:(NSString *)URLString - parameters:(id)parameters + parameters:(nullable id)parameters + headers:(nullable NSDictionary *)headers uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgress downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) downloadProgress - success:(void (^)(NSURLSessionDataTask *, id))success - failure:(void (^)(NSURLSessionDataTask *, NSError *))failure + success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success + failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure { NSError *serializationError = nil; NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:method URLString:[[NSURL URLWithString:URLString relativeToURL:self.baseURL] absoluteString] parameters:parameters error:&serializationError]; + for (NSString *headerField in headers.keyEnumerator) { + [request setValue:headers[headerField] forHTTPHeaderField:headerField]; + } if (serializationError) { if (failure) { dispatch_async(self.completionQueue ?: dispatch_get_main_queue(), ^{ @@ -321,11 +310,7 @@ - (instancetype)initWithCoder:(NSCoder *)decoder { if (!configuration) { NSString *configurationIdentifier = [decoder decodeObjectOfClass:[NSString class] forKey:@"identifier"]; if (configurationIdentifier) { -#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1100) configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:configurationIdentifier]; -#else - configuration = [NSURLSessionConfiguration backgroundSessionConfiguration:configurationIdentifier]; -#endif } } diff --git a/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m b/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m index ce746c38..0322bf9b 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m @@ -32,6 +32,7 @@ NSString * const AFNetworkingReachabilityNotificationStatusItem = @"AFNetworkingReachabilityNotificationStatusItem"; typedef void (^AFNetworkReachabilityStatusBlock)(AFNetworkReachabilityStatus status); +typedef AFNetworkReachabilityManager * (^AFNetworkReachabilityStatusCallback)(AFNetworkReachabilityStatus status); NSString * AFStringFromNetworkReachabilityStatus(AFNetworkReachabilityStatus status) { switch (status) { @@ -78,20 +79,21 @@ static AFNetworkReachabilityStatus AFNetworkReachabilityStatusForFlags(SCNetwork * a queued notification (for an earlier status condition) is processed after * the later update, resulting in the listener being left in the wrong state. */ -static void AFPostReachabilityStatusChange(SCNetworkReachabilityFlags flags, AFNetworkReachabilityStatusBlock block) { +static void AFPostReachabilityStatusChange(SCNetworkReachabilityFlags flags, AFNetworkReachabilityStatusCallback block) { AFNetworkReachabilityStatus status = AFNetworkReachabilityStatusForFlags(flags); dispatch_async(dispatch_get_main_queue(), ^{ + AFNetworkReachabilityManager *manager = nil; if (block) { - block(status); + manager = block(status); } NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; NSDictionary *userInfo = @{ AFNetworkingReachabilityNotificationStatusItem: @(status) }; - [notificationCenter postNotificationName:AFNetworkingReachabilityDidChangeNotification object:nil userInfo:userInfo]; + [notificationCenter postNotificationName:AFNetworkingReachabilityDidChangeNotification object:manager userInfo:userInfo]; }); } static void AFNetworkReachabilityCallback(SCNetworkReachabilityRef __unused target, SCNetworkReachabilityFlags flags, void *info) { - AFPostReachabilityStatusChange(flags, (__bridge AFNetworkReachabilityStatusBlock)info); + AFPostReachabilityStatusChange(flags, (__bridge AFNetworkReachabilityStatusCallback)info); } @@ -210,14 +212,15 @@ - (void)startMonitoring { } __weak __typeof(self)weakSelf = self; - AFNetworkReachabilityStatusBlock callback = ^(AFNetworkReachabilityStatus status) { + AFNetworkReachabilityStatusCallback callback = ^(AFNetworkReachabilityStatus status) { __strong __typeof(weakSelf)strongSelf = weakSelf; strongSelf.networkReachabilityStatus = status; if (strongSelf.networkReachabilityStatusBlock) { strongSelf.networkReachabilityStatusBlock(status); } - + + return strongSelf; }; SCNetworkReachabilityContext context = {0, (__bridge void *)callback, AFNetworkReachabilityRetainCallback, AFNetworkReachabilityReleaseCallback, NULL}; diff --git a/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h b/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h index c005efa8..9b966a57 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h @@ -45,10 +45,10 @@ NS_ASSUME_NONNULL_BEGIN /** The certificates used to evaluate server trust according to the SSL pinning mode. - - By default, this property is set to any (`.cer`) certificates included in the target compiling AFNetworking. Note that if you are using AFNetworking as embedded framework, no certificates will be pinned by default. Use `certificatesInBundle` to load certificates from your target, and then create a new policy by calling `policyWithPinningMode:withPinnedCertificates`. Note that if pinning is enabled, `evaluateServerTrust:forDomain:` will return true if any pinned certificate matches. + + @see policyWithPinningMode:withPinnedCertificates: */ @property (nonatomic, strong, nullable) NSSet *pinnedCertificates; @@ -90,10 +90,14 @@ NS_ASSUME_NONNULL_BEGIN /** Creates and returns a security policy with the specified pinning mode. + + Certificates with the `.cer` extension found in the main bundle will be pinned. If you want more control over which certificates are pinned, please use `policyWithPinningMode:withPinnedCertificates:` instead. @param pinningMode The SSL pinning mode. @return A new security policy. + + @see -policyWithPinningMode:withPinnedCertificates: */ + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode; @@ -104,7 +108,10 @@ NS_ASSUME_NONNULL_BEGIN @param pinnedCertificates The certificates to pin against. @return A new security policy. - */ + + @see +certificatesInBundle: + @see -pinnedCertificates +*/ + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSSet *)pinnedCertificates; ///------------------------------ diff --git a/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m b/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m index 043441a0..da199aa3 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m @@ -60,7 +60,10 @@ static id AFPublicKeyForCertificate(NSData *certificate) { policy = SecPolicyCreateBasicX509(); __Require_noErr_Quiet(SecTrustCreateWithCertificates(allowedCertificate, policy, &allowedTrust), _out); +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" __Require_noErr_Quiet(SecTrustEvaluate(allowedTrust, &result), _out); +#pragma clang diagnostic pop allowedPublicKey = (__bridge_transfer id)SecTrustCopyPublicKey(allowedTrust); @@ -83,7 +86,10 @@ static id AFPublicKeyForCertificate(NSData *certificate) { static BOOL AFServerTrustIsValid(SecTrustRef serverTrust) { BOOL isValid = NO; SecTrustResultType result; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" __Require_noErr_Quiet(SecTrustEvaluate(serverTrust, &result), _out); +#pragma clang diagnostic pop isValid = (result == kSecTrustResultUnspecified || result == kSecTrustResultProceed); @@ -115,10 +121,11 @@ static BOOL AFServerTrustIsValid(SecTrustRef serverTrust) { SecTrustRef trust; __Require_noErr_Quiet(SecTrustCreateWithCertificates(certificates, policy, &trust), _out); - SecTrustResultType result; +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" __Require_noErr_Quiet(SecTrustEvaluate(trust, &result), _out); - +#pragma clang diagnostic pop [trustChain addObject:(__bridge_transfer id)SecTrustCopyPublicKey(trust)]; _out: @@ -158,17 +165,6 @@ + (NSSet *)certificatesInBundle:(NSBundle *)bundle { return [NSSet setWithSet:certificates]; } -+ (NSSet *)defaultPinnedCertificates { - static NSSet *_defaultPinnedCertificates = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - NSBundle *bundle = [NSBundle bundleForClass:[self class]]; - _defaultPinnedCertificates = [self certificatesInBundle:bundle]; - }); - - return _defaultPinnedCertificates; -} - + (instancetype)defaultPolicy { AFSecurityPolicy *securityPolicy = [[self alloc] init]; securityPolicy.SSLPinningMode = AFSSLPinningModeNone; @@ -177,7 +173,8 @@ + (instancetype)defaultPolicy { } + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode { - return [self policyWithPinningMode:pinningMode withPinnedCertificates:[self defaultPinnedCertificates]]; + NSSet *defaultPinnedCertificates = [self certificatesInBundle:[NSBundle mainBundle]]; + return [self policyWithPinningMode:pinningMode withPinnedCertificates:defaultPinnedCertificates]; } + (instancetype)policyWithPinningMode:(AFSSLPinningMode)pinningMode withPinnedCertificates:(NSSet *)pinnedCertificates { @@ -247,14 +244,11 @@ - (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust if (self.SSLPinningMode == AFSSLPinningModeNone) { return self.allowInvalidCertificates || AFServerTrustIsValid(serverTrust); - } else if (!AFServerTrustIsValid(serverTrust) && !self.allowInvalidCertificates) { + } else if (!self.allowInvalidCertificates && !AFServerTrustIsValid(serverTrust)) { return NO; } switch (self.SSLPinningMode) { - case AFSSLPinningModeNone: - default: - return NO; case AFSSLPinningModeCertificate: { NSMutableArray *pinnedCertificates = [NSMutableArray array]; for (NSData *certificateData in self.pinnedCertificates) { @@ -290,6 +284,9 @@ - (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust } return trustedPublicKeyCount > 0; } + + default: + return NO; } return NO; @@ -317,7 +314,7 @@ - (instancetype)initWithCoder:(NSCoder *)decoder { self.SSLPinningMode = [[decoder decodeObjectOfClass:[NSNumber class] forKey:NSStringFromSelector(@selector(SSLPinningMode))] unsignedIntegerValue]; self.allowInvalidCertificates = [decoder decodeBoolForKey:NSStringFromSelector(@selector(allowInvalidCertificates))]; self.validatesDomainName = [decoder decodeBoolForKey:NSStringFromSelector(@selector(validatesDomainName))]; - self.pinnedCertificates = [decoder decodeObjectOfClass:[NSArray class] forKey:NSStringFromSelector(@selector(pinnedCertificates))]; + self.pinnedCertificates = [decoder decodeObjectOfClass:[NSSet class] forKey:NSStringFromSelector(@selector(pinnedCertificates))]; return self; } diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h b/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h index 694696b9..b17e871e 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.h @@ -216,7 +216,7 @@ forHTTPHeaderField:(NSString *)field; @param block A block that defines a process of encoding parameters into a query string. This block returns the query string and takes three arguments: the request, the parameters to encode, and the error that occurred when attempting to encode parameters for the given request. */ -- (void)setQueryStringSerializationWithBlock:(nullable NSString * (^)(NSURLRequest *request, id parameters, NSError * __autoreleasing *error))block; +- (void)setQueryStringSerializationWithBlock:(nullable NSString * _Nullable (^)(NSURLRequest *request, id parameters, NSError * __autoreleasing *error))block; ///------------------------------- /// @name Creating Request Objects @@ -234,10 +234,10 @@ forHTTPHeaderField:(NSString *)field; @return An `NSMutableURLRequest` object. */ -- (NSMutableURLRequest *)requestWithMethod:(NSString *)method - URLString:(NSString *)URLString - parameters:(nullable id)parameters - error:(NSError * _Nullable __autoreleasing *)error; +- (nullable NSMutableURLRequest *)requestWithMethod:(NSString *)method + URLString:(NSString *)URLString + parameters:(nullable id)parameters + error:(NSError * _Nullable __autoreleasing *)error; /** Creates an `NSMutableURLRequest` object with the specified HTTP method and URLString, and constructs a `multipart/form-data` HTTP body, using the specified parameters and multipart form data block. See http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.2 diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m b/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m index a4d5d9df..f60b6f9d 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m @@ -217,12 +217,13 @@ - (instancetype)init { }]; [self setValue:[acceptLanguagesComponents componentsJoinedByString:@", "] forHTTPHeaderField:@"Accept-Language"]; + // User-Agent Header; see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43 NSString *userAgent = nil; #if TARGET_OS_IOS - // User-Agent Header; see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43 userAgent = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)", [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleExecutableKey] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleIdentifierKey], [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleVersionKey], [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion], [[UIScreen mainScreen] scale]]; +#elif TARGET_OS_TV + userAgent = [NSString stringWithFormat:@"%@/%@ (%@; tvOS %@; Scale/%0.2f)", [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleExecutableKey] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleIdentifierKey], [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleVersionKey], [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion], [[UIScreen mainScreen] scale]]; #elif TARGET_OS_WATCH - // User-Agent Header; see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43 userAgent = [NSString stringWithFormat:@"%@/%@ (%@; watchOS %@; Scale/%0.2f)", [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleExecutableKey] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleIdentifierKey], [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleVersionKey], [[WKInterfaceDevice currentDevice] model], [[WKInterfaceDevice currentDevice] systemVersion], [[WKInterfaceDevice currentDevice] screenScale]]; #elif defined(__MAC_OS_X_VERSION_MIN_REQUIRED) userAgent = [NSString stringWithFormat:@"%@/%@ (Mac OS X %@)", [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleExecutableKey] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleIdentifierKey], [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] ?: [[NSBundle mainBundle] infoDictionary][(__bridge NSString *)kCFBundleVersionKey], [[NSProcessInfo processInfo] operatingSystemVersionString]]; @@ -312,7 +313,7 @@ - (NSDictionary *)HTTPRequestHeaders { - (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field { - dispatch_barrier_async(self.requestHeaderModificationQueue, ^{ + dispatch_barrier_sync(self.requestHeaderModificationQueue, ^{ [self.mutableHTTPRequestHeaders setValue:value forKey:field]; }); } @@ -334,7 +335,7 @@ - (void)setAuthorizationHeaderFieldWithUsername:(NSString *)username } - (void)clearAuthorizationHeader { - dispatch_barrier_async(self.requestHeaderModificationQueue, ^{ + dispatch_barrier_sync(self.requestHeaderModificationQueue, ^{ [self.mutableHTTPRequestHeaders removeObjectForKey:@"Authorization"]; }); } @@ -571,7 +572,7 @@ - (void)encodeWithCoder:(NSCoder *)coder { dispatch_sync(self.requestHeaderModificationQueue, ^{ [coder encodeObject:self.mutableHTTPRequestHeaders forKey:NSStringFromSelector(@selector(mutableHTTPRequestHeaders))]; }); - [coder encodeInteger:self.queryStringSerializationStyle forKey:NSStringFromSelector(@selector(queryStringSerializationStyle))]; + [coder encodeObject:@(self.queryStringSerializationStyle) forKey:NSStringFromSelector(@selector(queryStringSerializationStyle))]; } #pragma mark - NSCopying @@ -1295,7 +1296,7 @@ - (instancetype)initWithCoder:(NSCoder *)decoder { - (void)encodeWithCoder:(NSCoder *)coder { [super encodeWithCoder:coder]; - [coder encodeInteger:self.writingOptions forKey:NSStringFromSelector(@selector(writingOptions))]; + [coder encodeObject:@(self.writingOptions) forKey:NSStringFromSelector(@selector(writingOptions))]; } #pragma mark - NSCopying @@ -1381,7 +1382,7 @@ - (instancetype)initWithCoder:(NSCoder *)decoder { - (void)encodeWithCoder:(NSCoder *)coder { [super encodeWithCoder:coder]; - [coder encodeInteger:self.format forKey:NSStringFromSelector(@selector(format))]; + [coder encodeObject:@(self.format) forKey:NSStringFromSelector(@selector(format))]; [coder encodeObject:@(self.writeOptions) forKey:NSStringFromSelector(@selector(writeOptions))]; } diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h b/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h index 24800a38..56a4d28a 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h @@ -24,6 +24,11 @@ NS_ASSUME_NONNULL_BEGIN +/** + Recursively removes `NSNull` values from a JSON object. +*/ +FOUNDATION_EXPORT id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingOptions readingOptions); + /** The `AFURLResponseSerialization` protocol is adopted by an object that decodes data into a more useful object representation, according to details in the server response. Response serializers may additionally perform validation on the incoming response and data. @@ -57,8 +62,6 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)init; -@property (nonatomic, assign) NSStringEncoding stringEncoding DEPRECATED_MSG_ATTRIBUTE("The string encoding is never used. AFHTTPResponseSerializer only validates status codes and content types but does not try to decode the received data in any way."); - /** Creates and returns a serializer with default configuration. */ diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m b/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m index b7be3d40..2715a1b3 100755 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m @@ -60,11 +60,13 @@ static BOOL AFErrorOrUnderlyingErrorHasCodeInDomain(NSError *error, NSInteger co return NO; } -static id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingOptions readingOptions) { +id AFJSONObjectByRemovingKeysWithNullValues(id JSONObject, NSJSONReadingOptions readingOptions) { if ([JSONObject isKindOfClass:[NSArray class]]) { NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:[(NSArray *)JSONObject count]]; for (id value in (NSArray *)JSONObject) { - [mutableArray addObject:AFJSONObjectByRemovingKeysWithNullValues(value, readingOptions)]; + if (![value isEqual:[NSNull null]]) { + [mutableArray addObject:AFJSONObjectByRemovingKeysWithNullValues(value, readingOptions)]; + } } return (readingOptions & NSJSONReadingMutableContainers) ? mutableArray : [NSArray arrayWithArray:mutableArray]; @@ -112,7 +114,7 @@ - (BOOL)validateResponse:(NSHTTPURLResponse *)response BOOL responseIsValid = YES; NSError *validationError = nil; - if (response && [response isKindOfClass:[NSHTTPURLResponse class]]) { + if ([response isKindOfClass:[NSHTTPURLResponse class]]) { if (self.acceptableContentTypes && ![self.acceptableContentTypes containsObject:[response MIMEType]] && !([response MIMEType] == nil && [data length] == 0)) { @@ -180,7 +182,7 @@ - (instancetype)initWithCoder:(NSCoder *)decoder { } self.acceptableStatusCodes = [decoder decodeObjectOfClass:[NSIndexSet class] forKey:NSStringFromSelector(@selector(acceptableStatusCodes))]; - self.acceptableContentTypes = [decoder decodeObjectOfClass:[NSIndexSet class] forKey:NSStringFromSelector(@selector(acceptableContentTypes))]; + self.acceptableContentTypes = [decoder decodeObjectOfClass:[NSSet class] forKey:NSStringFromSelector(@selector(acceptableContentTypes))]; return self; } @@ -269,6 +271,10 @@ - (id)responseObjectForResponse:(NSURLResponse *)response #pragma mark - NSSecureCoding ++ (BOOL)supportsSecureCoding { + return YES; +} + - (instancetype)initWithCoder:(NSCoder *)decoder { self = [super initWithCoder:decoder]; if (!self) { @@ -486,6 +492,10 @@ - (id)responseObjectForResponse:(NSURLResponse *)response #pragma mark - NSSecureCoding ++ (BOOL)supportsSecureCoding { + return YES; +} + - (instancetype)initWithCoder:(NSCoder *)decoder { self = [super initWithCoder:decoder]; if (!self) { @@ -702,6 +712,10 @@ - (id)responseObjectForResponse:(NSURLResponse *)response #pragma mark - NSSecureCoding ++ (BOOL)supportsSecureCoding { + return YES; +} + - (instancetype)initWithCoder:(NSCoder *)decoder { self = [super initWithCoder:decoder]; if (!self) { @@ -788,13 +802,18 @@ - (id)responseObjectForResponse:(NSURLResponse *)response #pragma mark - NSSecureCoding ++ (BOOL)supportsSecureCoding { + return YES; +} + - (instancetype)initWithCoder:(NSCoder *)decoder { self = [super initWithCoder:decoder]; if (!self) { return nil; } - self.responseSerializers = [decoder decodeObjectOfClass:[NSArray class] forKey:NSStringFromSelector(@selector(responseSerializers))]; + NSSet *classes = [NSSet setWithArray:@[[NSArray class], [AFHTTPResponseSerializer class]]]; + self.responseSerializers = [decoder decodeObjectOfClasses:classes forKey:NSStringFromSelector(@selector(responseSerializers))]; return self; } diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h index e7ae0d8e..88700c39 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h @@ -65,7 +65,7 @@ ### `NSURLSessionDownloadDelegate` - `URLSession:downloadTask:didFinishDownloadingToURL:` - - `URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesWritten:totalBytesExpectedToWrite:` + - `URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:` - `URLSession:downloadTask:didResumeAtOffset:expectedTotalBytes:` If any of these methods are overridden in a subclass, they _must_ call the `super` implementation first. @@ -165,19 +165,6 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, strong, nullable) dispatch_group_t completionGroup; -///--------------------------------- -/// @name Working Around System Bugs -///--------------------------------- - -/** - Whether to attempt to retry creation of upload tasks for background sessions when initial call returns `nil`. `NO` by default. - - @bug As of iOS 7.0, there is a bug where upload tasks created for background tasks are sometimes `nil`. As a workaround, if this property is `YES`, AFNetworking will follow Apple's recommendation to try creating the task again. - - @see https://github.com/AFNetworking/AFNetworking/issues/1675 - */ -@property (nonatomic, assign) BOOL attemptsToRecreateUploadTasksForBackgroundSessions; - ///--------------------- /// @name Initialization ///--------------------- @@ -192,25 +179,17 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithSessionConfiguration:(nullable NSURLSessionConfiguration *)configuration NS_DESIGNATED_INITIALIZER; /** - Invalidates the managed session, optionally canceling pending tasks. - - @param cancelPendingTasks Whether or not to cancel pending tasks. + Invalidates the managed session, optionally canceling pending tasks and optionally resets given session. + + @param cancelPendingTasks Whether or not to cancel pending tasks. + @param resetSession Whether or not to reset the session of the manager. */ -- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks; +- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks resetSession:(BOOL)resetSession; ///------------------------- /// @name Running Data Tasks ///------------------------- -/** - Creates an `NSURLSessionDataTask` with the specified request. - - @param request The HTTP request for the request. - @param completionHandler A block object to be executed when the task finishes. This block has no return value and takes three arguments: the server response, the response object created by that serializer, and the error that occurred, if any. - */ -- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request - completionHandler:(nullable void (^)(NSURLResponse *response, id _Nullable responseObject, NSError * _Nullable error))completionHandler DEPRECATED_ATTRIBUTE; - /** Creates an `NSURLSessionDataTask` with the specified request. @@ -336,6 +315,11 @@ NS_ASSUME_NONNULL_BEGIN Sets a block to be executed when a connection level authentication challenge has occurred, as handled by the `NSURLSessionDelegate` method `URLSession:didReceiveChallenge:completionHandler:`. @param block A block object to be executed when a connection level authentication challenge has occurred. The block returns the disposition of the authentication challenge, and takes three arguments: the session, the authentication challenge, and a pointer to the credential that should be used to resolve the challenge. + + @warning Implementing a session authentication challenge handler yourself totally bypasses AFNetworking's security policy defined in `AFSecurityPolicy`. Make sure you fully understand the implications before implementing a custom session authentication challenge handler. If you do not want to bypass AFNetworking's security policy, use `setTaskDidReceiveAuthenticationChallengeBlock:` instead. + + @see -securityPolicy + @see -setTaskDidReceiveAuthenticationChallengeBlock: */ - (void)setSessionDidReceiveAuthenticationChallengeBlock:(nullable NSURLSessionAuthChallengeDisposition (^)(NSURLSession *session, NSURLAuthenticationChallenge *challenge, NSURLCredential * _Nullable __autoreleasing * _Nullable credential))block; @@ -359,10 +343,23 @@ NS_ASSUME_NONNULL_BEGIN /** Sets a block to be executed when a session task has received a request specific authentication challenge, as handled by the `NSURLSessionTaskDelegate` method `URLSession:task:didReceiveChallenge:completionHandler:`. - - @param block A block object to be executed when a session task has received a request specific authentication challenge. The block returns the disposition of the authentication challenge, and takes four arguments: the session, the task, the authentication challenge, and a pointer to the credential that should be used to resolve the challenge. - */ -- (void)setTaskDidReceiveAuthenticationChallengeBlock:(nullable NSURLSessionAuthChallengeDisposition (^)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, NSURLCredential * _Nullable __autoreleasing * _Nullable credential))block; + + @param authenticationChallengeHandler A block object to be executed when a session task has received a request specific authentication challenge. + + When implementing an authentication challenge handler, you should check the authentication method first (`challenge.protectionSpace.authenticationMethod `) to decide if you want to handle the authentication challenge yourself or if you want AFNetworking to handle it. If you want AFNetworking to handle the authentication challenge, just return `@(NSURLSessionAuthChallengePerformDefaultHandling)`. For example, you certainly want AFNetworking to handle certificate validation (i.e. authentication method == `NSURLAuthenticationMethodServerTrust`) as defined by the security policy. If you want to handle the challenge yourself, you have four options: + + 1. Return `nil` from the authentication challenge handler. You **MUST** call the completion handler with a disposition and credentials yourself. Use this if you need to present a user interface to let the user enter their credentials. + 2. Return an `NSError` object from the authentication challenge handler. You **MUST NOT** call the completion handler when returning an `NSError `. The returned error will be reported in the completion handler of the task. Use this if you need to abort an authentication challenge with a specific error. + 3. Return an `NSURLCredential` object from the authentication challenge handler. You **MUST NOT** call the completion handler when returning an `NSURLCredential`. The returned credentials will be used to fulfil the challenge. Use this when you can get credentials without presenting a user interface. + 4. Return an `NSNumber` object wrapping an `NSURLSessionAuthChallengeDisposition`. Supported values are `@(NSURLSessionAuthChallengePerformDefaultHandling)`, `@(NSURLSessionAuthChallengeCancelAuthenticationChallenge)` and `@(NSURLSessionAuthChallengeRejectProtectionSpace)`. You **MUST NOT** call the completion handler when returning an `NSNumber`. + + If you return anything else from the authentication challenge handler, an exception will be thrown. + + For more information about how URL sessions handle the different types of authentication challenges, see [NSURLSession](https://developer.apple.com/reference/foundation/nsurlsession?language=objc) and [URL Session Programming Guide](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html). + + @see -securityPolicy + */ +- (void)setAuthenticationChallengeHandler:(id (^)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, void (^completionHandler)(NSURLSessionAuthChallengeDisposition , NSURLCredential * _Nullable)))authenticationChallengeHandler; /** Sets a block to be executed periodically to track upload progress, as handled by the `NSURLSessionTaskDelegate` method `URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:`. @@ -378,6 +375,14 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)setTaskDidCompleteBlock:(nullable void (^)(NSURLSession *session, NSURLSessionTask *task, NSError * _Nullable error))block; +/** + Sets a block to be executed when metrics are finalized related to a specific task, as handled by the `NSURLSessionTaskDelegate` method `URLSession:task:didFinishCollectingMetrics:`. + + @param block A block object to be executed when a session task is completed. The block has no return value, and takes three arguments: the session, the task, and any metrics that were collected in the process of executing the task. + */ +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +- (void)setTaskDidFinishCollectingMetricsBlock:(nullable void (^)(NSURLSession *session, NSURLSessionTask *task, NSURLSessionTaskMetrics * _Nullable metrics))block AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)); +#endif ///------------------------------------------- /// @name Setting Data Task Delegate Callbacks ///------------------------------------------- @@ -429,7 +434,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)setDownloadTaskDidFinishDownloadingBlock:(nullable NSURL * _Nullable (^)(NSURLSession *session, NSURLSessionDownloadTask *downloadTask, NSURL *location))block; /** - Sets a block to be executed periodically to track download progress, as handled by the `NSURLSessionDownloadDelegate` method `URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesWritten:totalBytesExpectedToWrite:`. + Sets a block to be executed periodically to track download progress, as handled by the `NSURLSessionDownloadDelegate` method `URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:`. @param block A block object to be called when an undetermined number of bytes have been downloaded from the server. This block has no return value and takes five arguments: the session, the download task, the number of bytes read since the last time the download progress block was called, the total bytes read, and the total bytes expected to be read during the request, as initially determined by the expected content size of the `NSHTTPURLResponse` object. This block may be called multiple times, and will execute on the session manager operation queue. */ @@ -468,6 +473,11 @@ FOUNDATION_EXPORT NSString * const AFNetworkingTaskDidSuspendNotification; */ FOUNDATION_EXPORT NSString * const AFURLSessionDidInvalidateNotification; +/** + Posted when a session download task finished moving the temporary download file to a specified destination successfully. + */ +FOUNDATION_EXPORT NSString * const AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification; + /** Posted when a session download task encountered an error when moving the temporary download file to a specified destination. */ @@ -498,4 +508,9 @@ FOUNDATION_EXPORT NSString * const AFNetworkingTaskDidCompleteAssetPathKey; */ FOUNDATION_EXPORT NSString * const AFNetworkingTaskDidCompleteErrorKey; +/** + The session task metrics taken from the download task. Included in the userInfo dictionary of the `AFNetworkingTaskDidCompleteSessionTaskMetrics` + */ +FOUNDATION_EXPORT NSString * const AFNetworkingTaskDidCompleteSessionTaskMetrics; + NS_ASSUME_NONNULL_END diff --git a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m index aeb1af39..c8b6810e 100644 --- a/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m +++ b/Example/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m @@ -22,33 +22,6 @@ #import "AFURLSessionManager.h" #import -#ifndef NSFoundationVersionNumber_iOS_8_0 -#define NSFoundationVersionNumber_With_Fixed_5871104061079552_bug 1140.11 -#else -#define NSFoundationVersionNumber_With_Fixed_5871104061079552_bug NSFoundationVersionNumber_iOS_8_0 -#endif - -static dispatch_queue_t url_session_manager_creation_queue() { - static dispatch_queue_t af_url_session_manager_creation_queue; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - af_url_session_manager_creation_queue = dispatch_queue_create("com.alamofire.networking.session.manager.creation", DISPATCH_QUEUE_SERIAL); - }); - - return af_url_session_manager_creation_queue; -} - -static void url_session_manager_create_task_safely(dispatch_block_t block) { - if (NSFoundationVersionNumber < NSFoundationVersionNumber_With_Fixed_5871104061079552_bug) { - // Fix of bug - // Open Radar:http://openradar.appspot.com/radar?id=5871104061079552 (status: Fixed in iOS8) - // Issue about:https://github.com/AFNetworking/AFNetworking/issues/2093 - dispatch_sync(url_session_manager_creation_queue(), block); - } else { - block(); - } -} - static dispatch_queue_t url_session_manager_processing_queue() { static dispatch_queue_t af_url_session_manager_processing_queue; static dispatch_once_t onceToken; @@ -73,6 +46,7 @@ static dispatch_group_t url_session_manager_completion_group() { NSString * const AFNetworkingTaskDidCompleteNotification = @"com.alamofire.networking.task.complete"; NSString * const AFNetworkingTaskDidSuspendNotification = @"com.alamofire.networking.task.suspend"; NSString * const AFURLSessionDidInvalidateNotification = @"com.alamofire.networking.session.invalidate"; +NSString * const AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification = @"com.alamofire.networking.session.download.file-manager-succeed"; NSString * const AFURLSessionDownloadTaskDidFailToMoveFileNotification = @"com.alamofire.networking.session.download.file-manager-error"; NSString * const AFNetworkingTaskDidCompleteSerializedResponseKey = @"com.alamofire.networking.task.complete.serializedresponse"; @@ -80,21 +54,24 @@ static dispatch_group_t url_session_manager_completion_group() { NSString * const AFNetworkingTaskDidCompleteResponseDataKey = @"com.alamofire.networking.complete.finish.responsedata"; NSString * const AFNetworkingTaskDidCompleteErrorKey = @"com.alamofire.networking.task.complete.error"; NSString * const AFNetworkingTaskDidCompleteAssetPathKey = @"com.alamofire.networking.task.complete.assetpath"; +NSString * const AFNetworkingTaskDidCompleteSessionTaskMetrics = @"com.alamofire.networking.complete.sessiontaskmetrics"; static NSString * const AFURLSessionManagerLockName = @"com.alamofire.networking.session.manager.lock"; -static NSUInteger const AFMaximumNumberOfAttemptsToRecreateBackgroundSessionUploadTask = 3; - typedef void (^AFURLSessionDidBecomeInvalidBlock)(NSURLSession *session, NSError *error); typedef NSURLSessionAuthChallengeDisposition (^AFURLSessionDidReceiveAuthenticationChallengeBlock)(NSURLSession *session, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential); typedef NSURLRequest * (^AFURLSessionTaskWillPerformHTTPRedirectionBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLResponse *response, NSURLRequest *request); typedef NSURLSessionAuthChallengeDisposition (^AFURLSessionTaskDidReceiveAuthenticationChallengeBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential); +typedef id (^AFURLSessionTaskAuthenticationChallengeBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, void (^completionHandler)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential)); typedef void (^AFURLSessionDidFinishEventsForBackgroundURLSessionBlock)(NSURLSession *session); typedef NSInputStream * (^AFURLSessionTaskNeedNewBodyStreamBlock)(NSURLSession *session, NSURLSessionTask *task); typedef void (^AFURLSessionTaskDidSendBodyDataBlock)(NSURLSession *session, NSURLSessionTask *task, int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend); typedef void (^AFURLSessionTaskDidCompleteBlock)(NSURLSession *session, NSURLSessionTask *task, NSError *error); +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +typedef void (^AFURLSessionTaskDidFinishCollectingMetricsBlock)(NSURLSession *session, NSURLSessionTask *task, NSURLSessionTaskMetrics * metrics) AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)); +#endif typedef NSURLSessionResponseDisposition (^AFURLSessionDataTaskDidReceiveResponseBlock)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLResponse *response); typedef void (^AFURLSessionDataTaskDidBecomeDownloadTaskBlock)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLSessionDownloadTask *downloadTask); @@ -108,7 +85,6 @@ static dispatch_group_t url_session_manager_completion_group() { typedef void (^AFURLSessionTaskCompletionHandler)(NSURLResponse *response, id responseObject, NSError *error); - #pragma mark - @interface AFURLSessionManagerTaskDelegate : NSObject @@ -118,6 +94,9 @@ - (instancetype)initWithTask:(NSURLSessionTask *)task; @property (nonatomic, strong) NSProgress *uploadProgress; @property (nonatomic, strong) NSProgress *downloadProgress; @property (nonatomic, copy) NSURL *downloadFileURL; +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +@property (nonatomic, strong) NSURLSessionTaskMetrics *sessionTaskMetrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)); +#endif @property (nonatomic, copy) AFURLSessionDownloadTaskDidFinishDownloadingBlock downloadTaskDidFinishDownloading; @property (nonatomic, copy) AFURLSessionTaskProgressBlock uploadProgressBlock; @property (nonatomic, copy) AFURLSessionTaskProgressBlock downloadProgressBlock; @@ -149,7 +128,7 @@ - (instancetype)initWithTask:(NSURLSessionTask *)task { [weakTask suspend]; }; #if AF_CAN_USE_AT_AVAILABLE - if (@available(iOS 9, macOS 10.11, *)) + if (@available(macOS 10.11, *)) #else if ([progress respondsToSelector:@selector(setResumingHandler:)]) #endif @@ -187,17 +166,20 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N } } +static const void * const AuthenticationChallengeErrorKey = &AuthenticationChallengeErrorKey; + #pragma mark - NSURLSessionTaskDelegate - (void)URLSession:(__unused NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error { + error = objc_getAssociatedObject(task, AuthenticationChallengeErrorKey) ?: error; __strong AFURLSessionManager *manager = self.manager; __block id responseObject = nil; - __block NSMutableDictionary *userInfo = [NSMutableDictionary dictionary]; + NSMutableDictionary *userInfo = [NSMutableDictionary dictionary]; userInfo[AFNetworkingTaskDidCompleteResponseSerializerKey] = manager.responseSerializer; //Performance Improvement from #2672 @@ -208,6 +190,14 @@ - (void)URLSession:(__unused NSURLSession *)session self.mutableData = nil; } +#if AF_CAN_USE_AT_AVAILABLE && AF_CAN_INCLUDE_SESSION_TASK_METRICS + if (@available(iOS 10, macOS 10.12, watchOS 3, tvOS 10, *)) { + if (self.sessionTaskMetrics) { + userInfo[AFNetworkingTaskDidCompleteSessionTaskMetrics] = self.sessionTaskMetrics; + } + } +#endif + if (self.downloadFileURL) { userInfo[AFNetworkingTaskDidCompleteAssetPathKey] = self.downloadFileURL; } else if (data) { @@ -256,6 +246,14 @@ - (void)URLSession:(__unused NSURLSession *)session } } +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +- (void)URLSession:(NSURLSession *)session + task:(NSURLSessionTask *)task +didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)) { + self.sessionTaskMetrics = metrics; +} +#endif + #pragma mark - NSURLSessionDataDelegate - (void)URLSession:(__unused NSURLSession *)session @@ -309,6 +307,8 @@ - (void)URLSession:(NSURLSession *)session if (![[NSFileManager defaultManager] moveItemAtURL:location toURL:self.downloadFileURL error:&fileManagerError]) { [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidFailToMoveFileNotification object:downloadTask userInfo:fileManagerError.userInfo]; + } else { + [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification object:downloadTask userInfo:nil]; } } } @@ -380,7 +380,7 @@ + (void)load { 8) Set the current class to the super class, and repeat steps 3-8 */ NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration ephemeralSessionConfiguration]; - NSURLSession * session = [NSURLSession sessionWithConfiguration:configuration]; + NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration]; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wnonnull" NSURLSessionDataTask *localDataTask = [session dataTaskWithURL:nil]; @@ -456,10 +456,13 @@ @interface AFURLSessionManager () @property (readwrite, nonatomic, copy) AFURLSessionDidReceiveAuthenticationChallengeBlock sessionDidReceiveAuthenticationChallenge; @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) AFURLSessionTaskAuthenticationChallengeBlock authenticationChallengeHandler; @property (readwrite, nonatomic, copy) AFURLSessionTaskNeedNewBodyStreamBlock taskNeedNewBodyStream; @property (readwrite, nonatomic, copy) AFURLSessionTaskDidSendBodyDataBlock taskDidSendBodyData; @property (readwrite, nonatomic, copy) AFURLSessionTaskDidCompleteBlock taskDidComplete; +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +@property (readwrite, nonatomic, copy) AFURLSessionTaskDidFinishCollectingMetricsBlock taskDidFinishCollectingMetrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)); +#endif @property (readwrite, nonatomic, copy) AFURLSessionDataTaskDidReceiveResponseBlock dataTaskDidReceiveResponse; @property (readwrite, nonatomic, copy) AFURLSessionDataTaskDidBecomeDownloadTaskBlock dataTaskDidBecomeDownloadTask; @property (readwrite, nonatomic, copy) AFURLSessionDataTaskDidReceiveDataBlock dataTaskDidReceiveData; @@ -490,8 +493,6 @@ - (instancetype)initWithSessionConfiguration:(NSURLSessionConfiguration *)config self.operationQueue = [[NSOperationQueue alloc] init]; self.operationQueue.maxConcurrentOperationCount = 1; - self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue]; - self.responseSerializer = [AFJSONResponseSerializer serializer]; self.securityPolicy = [AFSecurityPolicy defaultPolicy]; @@ -528,6 +529,19 @@ - (void)dealloc { #pragma mark - +- (NSURLSession *)session { + + @synchronized (self) { + if (!_session) { + _session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue]; + } + } + return _session; +} + +#pragma mark - + + - (NSString *)taskDescriptionForSessionTasks { return [NSString stringWithFormat:@"%p", self]; } @@ -683,12 +697,15 @@ - (NSArray *)downloadTasks { #pragma mark - -- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks { +- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks resetSession:(BOOL)resetSession { if (cancelPendingTasks) { [self.session invalidateAndCancel]; } else { [self.session finishTasksAndInvalidate]; } + if (resetSession) { + self.session = nil; + } } #pragma mark - @@ -712,21 +729,12 @@ - (void)removeNotificationObserverForTask:(NSURLSessionTask *)task { #pragma mark - -- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request - completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler -{ - return [self dataTaskWithRequest:request uploadProgress:nil downloadProgress:nil completionHandler:completionHandler]; -} - - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgressBlock downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) downloadProgressBlock completionHandler:(nullable void (^)(NSURLResponse *response, id _Nullable responseObject, NSError * _Nullable error))completionHandler { - __block NSURLSessionDataTask *dataTask = nil; - url_session_manager_create_task_safely(^{ - dataTask = [self.session dataTaskWithRequest:request]; - }); + NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request]; [self addDelegateForDataTask:dataTask uploadProgress:uploadProgressBlock downloadProgress:downloadProgressBlock completionHandler:completionHandler]; @@ -740,17 +748,7 @@ - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request progress:(void (^)(NSProgress *uploadProgress)) uploadProgressBlock completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler { - __block NSURLSessionUploadTask *uploadTask = nil; - url_session_manager_create_task_safely(^{ - uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL]; - - // uploadTask may be nil on iOS7 because uploadTaskWithRequest:fromFile: may return nil despite being documented as nonnull (https://devforums.apple.com/message/926113#926113) - if (!uploadTask && self.attemptsToRecreateUploadTasksForBackgroundSessions && self.session.configuration.identifier) { - for (NSUInteger attempts = 0; !uploadTask && attempts < AFMaximumNumberOfAttemptsToRecreateBackgroundSessionUploadTask; attempts++) { - uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL]; - } - } - }); + NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithRequest:request fromFile:fileURL]; if (uploadTask) { [self addDelegateForUploadTask:uploadTask @@ -766,11 +764,8 @@ - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request progress:(void (^)(NSProgress *uploadProgress)) uploadProgressBlock completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler { - __block NSURLSessionUploadTask *uploadTask = nil; - url_session_manager_create_task_safely(^{ - uploadTask = [self.session uploadTaskWithRequest:request fromData:bodyData]; - }); - + NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithRequest:request fromData:bodyData]; + [self addDelegateForUploadTask:uploadTask progress:uploadProgressBlock completionHandler:completionHandler]; return uploadTask; @@ -780,10 +775,7 @@ - (NSURLSessionUploadTask *)uploadTaskWithStreamedRequest:(NSURLRequest *)reques progress:(void (^)(NSProgress *uploadProgress)) uploadProgressBlock completionHandler:(void (^)(NSURLResponse *response, id responseObject, NSError *error))completionHandler { - __block NSURLSessionUploadTask *uploadTask = nil; - url_session_manager_create_task_safely(^{ - uploadTask = [self.session uploadTaskWithStreamedRequest:request]; - }); + NSURLSessionUploadTask *uploadTask = [self.session uploadTaskWithStreamedRequest:request]; [self addDelegateForUploadTask:uploadTask progress:uploadProgressBlock completionHandler:completionHandler]; @@ -797,11 +789,8 @@ - (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request destination:(NSURL * (^)(NSURL *targetPath, NSURLResponse *response))destination completionHandler:(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))completionHandler { - __block NSURLSessionDownloadTask *downloadTask = nil; - url_session_manager_create_task_safely(^{ - downloadTask = [self.session downloadTaskWithRequest:request]; - }); - + NSURLSessionDownloadTask *downloadTask = [self.session downloadTaskWithRequest:request]; + [self addDelegateForDownloadTask:downloadTask progress:downloadProgressBlock destination:destination completionHandler:completionHandler]; return downloadTask; @@ -812,10 +801,7 @@ - (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData destination:(NSURL * (^)(NSURL *targetPath, NSURLResponse *response))destination completionHandler:(void (^)(NSURLResponse *response, NSURL *filePath, NSError *error))completionHandler { - __block NSURLSessionDownloadTask *downloadTask = nil; - url_session_manager_create_task_safely(^{ - downloadTask = [self.session downloadTaskWithResumeData:resumeData]; - }); + NSURLSessionDownloadTask *downloadTask = [self.session downloadTaskWithResumeData:resumeData]; [self addDelegateForDownloadTask:downloadTask progress:downloadProgressBlock destination:destination completionHandler:completionHandler]; @@ -857,10 +843,6 @@ - (void)setTaskWillPerformHTTPRedirectionBlock:(NSURLRequest * (^)(NSURLSession self.taskWillPerformHTTPRedirection = block; } -- (void)setTaskDidReceiveAuthenticationChallengeBlock:(NSURLSessionAuthChallengeDisposition (^)(NSURLSession *session, NSURLSessionTask *task, NSURLAuthenticationChallenge *challenge, NSURLCredential * __autoreleasing *credential))block { - self.taskDidReceiveAuthenticationChallenge = block; -} - - (void)setTaskDidSendBodyDataBlock:(void (^)(NSURLSession *session, NSURLSessionTask *task, int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend))block { self.taskDidSendBodyData = block; } @@ -869,6 +851,12 @@ - (void)setTaskDidCompleteBlock:(void (^)(NSURLSession *session, NSURLSessionTas self.taskDidComplete = block; } +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +- (void)setTaskDidFinishCollectingMetricsBlock:(void (^)(NSURLSession * _Nonnull, NSURLSessionTask * _Nonnull, NSURLSessionTaskMetrics * _Nullable))block AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)) { + self.taskDidFinishCollectingMetrics = block; +} +#endif + #pragma mark - - (void)setDataTaskDidReceiveResponseBlock:(NSURLSessionResponseDisposition (^)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLResponse *response))block { @@ -908,7 +896,9 @@ - (NSString *)description { } - (BOOL)respondsToSelector:(SEL)selector { - if (selector == @selector(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:)) { + if (selector == @selector(URLSession:didReceiveChallenge:completionHandler:)) { + return self.sessionDidReceiveAuthenticationChallenge != nil; + } else if (selector == @selector(URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:)) { return self.taskWillPerformHTTPRedirection != nil; } else if (selector == @selector(URLSession:dataTask:didReceiveResponse:completionHandler:)) { return self.dataTaskDidReceiveResponse != nil; @@ -940,27 +930,10 @@ - (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler { - NSURLSessionAuthChallengeDisposition disposition = NSURLSessionAuthChallengePerformDefaultHandling; - __block NSURLCredential *credential = nil; + NSAssert(self.sessionDidReceiveAuthenticationChallenge != nil, @"`respondsToSelector:` implementation forces `URLSession:didReceiveChallenge:completionHandler:` to be called only if `self.sessionDidReceiveAuthenticationChallenge` is not nil"); - if (self.sessionDidReceiveAuthenticationChallenge) { - disposition = self.sessionDidReceiveAuthenticationChallenge(session, challenge, &credential); - } else { - if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { - if ([self.securityPolicy evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:challenge.protectionSpace.host]) { - credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; - if (credential) { - disposition = NSURLSessionAuthChallengeUseCredential; - } else { - disposition = NSURLSessionAuthChallengePerformDefaultHandling; - } - } else { - disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge; - } - } else { - disposition = NSURLSessionAuthChallengePerformDefaultHandling; - } - } + NSURLCredential *credential = nil; + NSURLSessionAuthChallengeDisposition disposition = self.sessionDidReceiveAuthenticationChallenge(session, challenge, &credential); if (completionHandler) { completionHandler(disposition, credential); @@ -991,21 +964,40 @@ - (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler { + BOOL evaluateServerTrust = NO; NSURLSessionAuthChallengeDisposition disposition = NSURLSessionAuthChallengePerformDefaultHandling; - __block NSURLCredential *credential = nil; + NSURLCredential *credential = nil; - if (self.taskDidReceiveAuthenticationChallenge) { - disposition = self.taskDidReceiveAuthenticationChallenge(session, task, challenge, &credential); + if (self.authenticationChallengeHandler) { + id result = self.authenticationChallengeHandler(session, task, challenge, completionHandler); + if (result == nil) { + return; + } else if ([result isKindOfClass:NSError.class]) { + objc_setAssociatedObject(task, AuthenticationChallengeErrorKey, result, OBJC_ASSOCIATION_RETAIN); + disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge; + } else if ([result isKindOfClass:NSURLCredential.class]) { + credential = result; + disposition = NSURLSessionAuthChallengeUseCredential; + } else if ([result isKindOfClass:NSNumber.class]) { + disposition = [result integerValue]; + NSAssert(disposition == NSURLSessionAuthChallengePerformDefaultHandling || disposition == NSURLSessionAuthChallengeCancelAuthenticationChallenge || disposition == NSURLSessionAuthChallengeRejectProtectionSpace, @""); + evaluateServerTrust = disposition == NSURLSessionAuthChallengePerformDefaultHandling && [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]; + } else { + @throw [NSException exceptionWithName:@"Invalid Return Value" reason:@"The return value from the authentication challenge handler must be nil, an NSError, an NSURLCredential or an NSNumber." userInfo:nil]; + } } else { - if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { - if ([self.securityPolicy evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:challenge.protectionSpace.host]) { - disposition = NSURLSessionAuthChallengeUseCredential; - credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; - } else { - disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge; - } + evaluateServerTrust = [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]; + } + + if (evaluateServerTrust) { + if ([self.securityPolicy evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:challenge.protectionSpace.host]) { + disposition = NSURLSessionAuthChallengeUseCredential; + credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; } else { - disposition = NSURLSessionAuthChallengePerformDefaultHandling; + objc_setAssociatedObject(task, AuthenticationChallengeErrorKey, + [self serverTrustErrorForServerTrust:challenge.protectionSpace.serverTrust url:task.currentRequest.URL], + OBJC_ASSOCIATION_RETAIN); + disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge; } } @@ -1014,6 +1006,31 @@ - (void)URLSession:(NSURLSession *)session } } +- (nonnull NSError *)serverTrustErrorForServerTrust:(nullable SecTrustRef)serverTrust url:(nullable NSURL *)url +{ + NSBundle *CFNetworkBundle = [NSBundle bundleWithIdentifier:@"com.apple.CFNetwork"]; + NSString *defaultValue = @"The certificate for this server is invalid. You might be connecting to a server that is pretending to be “%@” which could put your confidential information at risk."; + NSString *descriptionFormat = NSLocalizedStringWithDefaultValue(@"Err-1202.w", nil, CFNetworkBundle, defaultValue, @"") ?: defaultValue; + NSString *localizedDescription = [descriptionFormat componentsSeparatedByString:@"%@"].count <= 2 ? [NSString localizedStringWithFormat:descriptionFormat, url.host] : descriptionFormat; + NSMutableDictionary *userInfo = [@{ + NSLocalizedDescriptionKey: localizedDescription + } mutableCopy]; + + if (serverTrust) { + userInfo[NSURLErrorFailingURLPeerTrustErrorKey] = (__bridge id)serverTrust; + } + + if (url) { + userInfo[NSURLErrorFailingURLErrorKey] = url; + + if (url.absoluteString) { + userInfo[NSURLErrorFailingURLStringErrorKey] = url.absoluteString; + } + } + + return [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorServerCertificateUntrusted userInfo:userInfo]; +} + - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task needNewBodyStream:(void (^)(NSInputStream *bodyStream))completionHandler @@ -1039,9 +1056,9 @@ - (void)URLSession:(NSURLSession *)session { int64_t totalUnitCount = totalBytesExpectedToSend; - if(totalUnitCount == NSURLSessionTransferSizeUnknown) { + if (totalUnitCount == NSURLSessionTransferSizeUnknown) { NSString *contentLength = [task.originalRequest valueForHTTPHeaderField:@"Content-Length"]; - if(contentLength) { + if (contentLength) { totalUnitCount = (int64_t) [contentLength longLongValue]; } } @@ -1075,6 +1092,23 @@ - (void)URLSession:(NSURLSession *)session } } +#if AF_CAN_INCLUDE_SESSION_TASK_METRICS +- (void)URLSession:(NSURLSession *)session + task:(NSURLSessionTask *)task +didFinishCollectingMetrics:(NSURLSessionTaskMetrics *)metrics AF_API_AVAILABLE(ios(10), macosx(10.12), watchos(3), tvos(10)) +{ + AFURLSessionManagerTaskDelegate *delegate = [self delegateForTask:task]; + // Metrics may fire after URLSession:task:didCompleteWithError: is called, delegate may be nil + if (delegate) { + [delegate URLSession:session task:task didFinishCollectingMetrics:metrics]; + } + + if (self.taskDidFinishCollectingMetrics) { + self.taskDidFinishCollectingMetrics(session, task, metrics); + } +} +#endif + #pragma mark - NSURLSessionDataDelegate - (void)URLSession:(NSURLSession *)session @@ -1162,6 +1196,8 @@ - (void)URLSession:(NSURLSession *)session if (![[NSFileManager defaultManager] moveItemAtURL:location toURL:fileURL error:&error]) { [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidFailToMoveFileNotification object:downloadTask userInfo:error.userInfo]; + } else { + [[NSNotificationCenter defaultCenter] postNotificationName:AFURLSessionDownloadTaskDidMoveFileSuccessfullyNotification object:downloadTask userInfo:nil]; } return; diff --git a/Example/Pods/AFNetworking/LICENSE b/Example/Pods/AFNetworking/LICENSE index d7076267..f611f42f 100644 --- a/Example/Pods/AFNetworking/LICENSE +++ b/Example/Pods/AFNetworking/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2011-2016 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2011-2020 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 diff --git a/Example/Pods/AFNetworking/README.md b/Example/Pods/AFNetworking/README.md index 6a7d2cd1..d193dfe8 100644 --- a/Example/Pods/AFNetworking/README.md +++ b/Example/Pods/AFNetworking/README.md @@ -2,25 +2,20 @@ AFNetworking

-[![Build Status](https://travis-ci.org/AFNetworking/AFNetworking.svg)](https://travis-ci.org/AFNetworking/AFNetworking) -[![codecov.io](https://codecov.io/github/AFNetworking/AFNetworking/coverage.svg?branch=master)](https://codecov.io/github/AFNetworking/AFNetworking?branch=master) +[![Build Status](https://github.com/AFNetworking/AFNetworking/workflows/AFNetworking%20CI/badge.svg?branch=master)](https://github.com/AFNetworking/AFNetworking/actions) [![CocoaPods Compatible](https://img.shields.io/cocoapods/v/AFNetworking.svg)](https://img.shields.io/cocoapods/v/AFNetworking.svg) [![Carthage Compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Platform](https://img.shields.io/cocoapods/p/AFNetworking.svg?style=flat)](http://cocoadocs.org/docsets/AFNetworking) [![Twitter](https://img.shields.io/badge/twitter-@AFNetworking-blue.svg?style=flat)](http://twitter.com/AFNetworking) -AFNetworking is a delightful networking library for iOS, macOS, watchOS, and tvOS. It's built on top of the [Foundation URL Loading System](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html), extending the powerful high-level networking abstractions built into Cocoa. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use. +AFNetworking is a delightful networking library for iOS, macOS, watchOS, and tvOS. It's built on top of the [Foundation URL Loading System](https://developer.apple.com/documentation/foundation/url_loading_system), extending the powerful high-level networking abstractions built into Cocoa. It has a modular architecture with well-designed, feature-rich APIs that are a joy to use. Perhaps the most important feature of all, however, is the amazing community of developers who use and contribute to AFNetworking every day. AFNetworking powers some of the most popular and critically-acclaimed apps on the iPhone, iPad, and Mac. -Choose AFNetworking for your next project, or migrate over your existing projects—you'll be happy you did! - ## How To Get Started - [Download AFNetworking](https://github.com/AFNetworking/AFNetworking/archive/master.zip) and try out the included Mac and iPhone example apps - Read the ["Getting Started" guide](https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking), [FAQ](https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ), or [other articles on the Wiki](https://github.com/AFNetworking/AFNetworking/wiki) -- Check out the [documentation](http://cocoadocs.org/docsets/AFNetworking/) for a comprehensive look at all of the APIs available in AFNetworking -- Read the [AFNetworking 3.0 Migration Guide](https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-3.0-Migration-Guide) for an overview of the architectural changes from 2.0. ## Communication @@ -35,56 +30,37 @@ AFNetworking supports multiple methods for installing the library in a project. ## Installation with CocoaPods -[CocoaPods](http://cocoapods.org) is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like AFNetworking in your projects. See the ["Getting Started" guide for more information](https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking). You can install it with the following command: - -```bash -$ gem install cocoapods -``` - -> CocoaPods 0.39.0+ is required to build AFNetworking 3.0.0+. - -#### Podfile - To integrate AFNetworking into your Xcode project using CocoaPods, specify it in your `Podfile`: ```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' - -target 'TargetName' do -pod 'AFNetworking', '~> 3.0' -end +pod 'AFNetworking', '~> 4.0' ``` -Then, run the following command: +### Installation with Swift Package Manager -```bash -$ pod install -``` - -### Installation with Carthage +Once you have your Swift package set up, adding AFNetworking as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. -[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. +```swift +dependencies: [ + .package(url: "https://github.com/AFNetworking/AFNetworking.git", .upToNextMajor(from: "4.0.0")) +] +``` -You can install Carthage with [Homebrew](http://brew.sh/) using the following command: +> Note: AFNetworking's Swift package does not include it's UIKit extensions. -```bash -$ brew update -$ brew install carthage -``` +### Installation with Carthage -To integrate AFNetworking into your Xcode project using Carthage, specify it in your `Cartfile`: +[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate AFNetworking, add the following to your `Cartfile`. ```ogdl -github "AFNetworking/AFNetworking" ~> 3.0 +github "AFNetworking/AFNetworking" ~> 4.0 ``` -Run `carthage` to build the framework and drag the built `AFNetworking.framework` into your Xcode project. - ## Requirements | AFNetworking Version | Minimum iOS Target | Minimum macOS Target | Minimum watchOS Target | Minimum tvOS Target | Notes | |:--------------------:|:---------------------------:|:----------------------------:|:----------------------------:|:----------------------------:|:-------------------------------------------------------------------------:| +| 4.x | iOS 9 | macOS 10.10 | watchOS 2.0 | tvOS 9.0 | Xcode 11+ is required. | | 3.x | iOS 7 | OS X 10.9 | watchOS 2.0 | tvOS 9.0 | Xcode 7+ is required. `NSURLConnectionOperation` support has been removed. | | 2.6 -> 2.6.3 | iOS 7 | OS X 10.9 | watchOS 2.0 | n/a | Xcode 7+ is required. | | 2.0 -> 2.5.4 | iOS 6 | OS X 10.8 | n/a | n/a | Xcode 5+ is required. `NSURLSession` subspec requires iOS 7 or OS X 10.9. | diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m index 374eeac6..a09e87c8 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m @@ -28,7 +28,7 @@ @interface AFCachedImage : NSObject @property (nonatomic, strong) UIImage *image; -@property (nonatomic, strong) NSString *identifier; +@property (nonatomic, copy) NSString *identifier; @property (nonatomic, assign) UInt64 totalBytes; @property (nonatomic, strong) NSDate *lastAccessDate; @property (nonatomic, assign) UInt64 currentMemoryUsage; @@ -37,7 +37,7 @@ @interface AFCachedImage : NSObject @implementation AFCachedImage --(instancetype)initWithImage:(UIImage *)image identifier:(NSString *)identifier { +- (instancetype)initWithImage:(UIImage *)image identifier:(NSString *)identifier { if (self = [self init]) { self.image = image; self.identifier = identifier; @@ -51,7 +51,7 @@ -(instancetype)initWithImage:(UIImage *)image identifier:(NSString *)identifier return self; } -- (UIImage*)accessImage { +- (UIImage *)accessImage { self.lastAccessDate = [NSDate date]; return self.image; } @@ -134,7 +134,7 @@ - (void)addImage:(UIImage *)image withIdentifier:(NSString *)identifier { [self.cachedImages removeObjectForKey:cachedImage.identifier]; bytesPurged += cachedImage.totalBytes; if (bytesPurged >= bytesToPurge) { - break ; + break; } } self.currentMemoryUsage -= bytesPurged; diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h index 7e25e373..3bf5a320 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h @@ -67,7 +67,7 @@ typedef NS_ENUM(NSInteger, AFImageDownloadPrioritization) { /** Defines the order prioritization of incoming download requests being inserted into the queue. `AFImageDownloadPrioritizationFIFO` by default. */ -@property (nonatomic, assign) AFImageDownloadPrioritization downloadPrioritizaton; +@property (nonatomic, assign) AFImageDownloadPrioritization downloadPrioritization; /** The shared default instance of `AFImageDownloader` initialized with default values. diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m index 36745b57..008a7828 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m @@ -28,8 +28,8 @@ @interface AFImageDownloaderResponseHandler : NSObject @property (nonatomic, strong) NSUUID *uuid; -@property (nonatomic, copy) void (^successBlock)(NSURLRequest*, NSHTTPURLResponse*, UIImage*); -@property (nonatomic, copy) void (^failureBlock)(NSURLRequest*, NSHTTPURLResponse*, NSError*); +@property (nonatomic, copy) void (^successBlock)(NSURLRequest *, NSHTTPURLResponse *, UIImage *); +@property (nonatomic, copy) void (^failureBlock)(NSURLRequest *, NSHTTPURLResponse *, NSError *); @end @implementation AFImageDownloaderResponseHandler @@ -71,11 +71,11 @@ - (instancetype)initWithURLIdentifier:(NSString *)URLIdentifier identifier:(NSUU return self; } -- (void)addResponseHandler:(AFImageDownloaderResponseHandler*)handler { +- (void)addResponseHandler:(AFImageDownloaderResponseHandler *)handler { [self.responseHandlers addObject:handler]; } -- (void)removeResponseHandler:(AFImageDownloaderResponseHandler*)handler { +- (void)removeResponseHandler:(AFImageDownloaderResponseHandler *)handler { [self.responseHandlers removeObject:handler]; } @@ -109,20 +109,24 @@ @interface AFImageDownloader () @implementation AFImageDownloader + (NSURLCache *)defaultURLCache { + NSUInteger memoryCapacity = 20 * 1024 * 1024; // 20MB + NSUInteger diskCapacity = 150 * 1024 * 1024; // 150MB + NSURL *cacheURL = [[[NSFileManager defaultManager] URLForDirectory:NSCachesDirectory + inDomain:NSUserDomainMask + appropriateForURL:nil + create:YES + error:nil] + URLByAppendingPathComponent:@"com.alamofire.imagedownloader"]; - // It's been discovered that a crash will occur on certain versions - // of iOS if you customize the cache. - // - // More info can be found here: https://devforums.apple.com/message/1102182#1102182 - // - // When iOS 7 support is dropped, this should be modified to use - // NSProcessInfo methods instead. - if ([[[UIDevice currentDevice] systemVersion] compare:@"8.2" options:NSNumericSearch] == NSOrderedAscending) { - return [NSURLCache sharedURLCache]; - } - return [[NSURLCache alloc] initWithMemoryCapacity:20 * 1024 * 1024 - diskCapacity:150 * 1024 * 1024 - diskPath:@"com.alamofire.imagedownloader"]; +#if TARGET_OS_MACCATALYST + return [[NSURLCache alloc] initWithMemoryCapacity:memoryCapacity + diskCapacity:diskCapacity + directoryURL:cacheURL]; +#else + return [[NSURLCache alloc] initWithMemoryCapacity:memoryCapacity + diskCapacity:diskCapacity + diskPath:[cacheURL path]]; +#endif } + (NSURLSessionConfiguration *)defaultURLSessionConfiguration { @@ -163,7 +167,7 @@ - (instancetype)initWithSessionManager:(AFHTTPSessionManager *)sessionManager if (self = [super init]) { self.sessionManager = sessionManager; - self.downloadPrioritizaton = downloadPrioritization; + self.downloadPrioritization = downloadPrioritization; self.maximumActiveDownloads = maximumActiveDownloads; self.imageCache = imageCache; @@ -254,14 +258,14 @@ - (nullable AFImageDownloadReceipt *)downloadImageForURLRequest:(NSURLRequest *) completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { dispatch_async(self.responseQueue, ^{ __strong __typeof__(weakSelf) strongSelf = weakSelf; - AFImageDownloaderMergedTask *mergedTask = strongSelf.mergedTasks[URLIdentifier]; + AFImageDownloaderMergedTask *mergedTask = [strongSelf safelyGetMergedTask:URLIdentifier]; if ([mergedTask.identifier isEqual:mergedTaskIdentifier]) { mergedTask = [strongSelf safelyRemoveMergedTaskWithURLIdentifier:URLIdentifier]; if (error) { for (AFImageDownloaderResponseHandler *handler in mergedTask.responseHandlers) { if (handler.failureBlock) { dispatch_async(dispatch_get_main_queue(), ^{ - handler.failureBlock(request, (NSHTTPURLResponse*)response, error); + handler.failureBlock(request, (NSHTTPURLResponse *)response, error); }); } } @@ -273,7 +277,7 @@ - (nullable AFImageDownloadReceipt *)downloadImageForURLRequest:(NSURLRequest *) for (AFImageDownloaderResponseHandler *handler in mergedTask.responseHandlers) { if (handler.successBlock) { dispatch_async(dispatch_get_main_queue(), ^{ - handler.successBlock(request, (NSHTTPURLResponse*)response, responseObject); + handler.successBlock(request, (NSHTTPURLResponse *)response, responseObject); }); } } @@ -333,14 +337,14 @@ - (void)cancelTaskForImageDownloadReceipt:(AFImageDownloadReceipt *)imageDownloa } } - if (mergedTask.responseHandlers.count == 0 && mergedTask.task.state == NSURLSessionTaskStateSuspended) { + if (mergedTask.responseHandlers.count == 0) { [mergedTask.task cancel]; [self removeMergedTaskWithURLIdentifier:URLIdentifier]; } }); } -- (AFImageDownloaderMergedTask*)safelyRemoveMergedTaskWithURLIdentifier:(NSString *)URLIdentifier { +- (AFImageDownloaderMergedTask *)safelyRemoveMergedTaskWithURLIdentifier:(NSString *)URLIdentifier { __block AFImageDownloaderMergedTask *mergedTask = nil; dispatch_sync(self.synchronizationQueue, ^{ mergedTask = [self removeMergedTaskWithURLIdentifier:URLIdentifier]; @@ -383,7 +387,7 @@ - (void)startMergedTask:(AFImageDownloaderMergedTask *)mergedTask { } - (void)enqueueMergedTask:(AFImageDownloaderMergedTask *)mergedTask { - switch (self.downloadPrioritizaton) { + switch (self.downloadPrioritization) { case AFImageDownloadPrioritizationFIFO: [self.queuedMergedTasks addObject:mergedTask]; break; @@ -404,6 +408,14 @@ - (BOOL)isActiveRequestCountBelowMaximumLimit { return self.activeRequestCount < self.maximumActiveDownloads; } +- (AFImageDownloaderMergedTask *)safelyGetMergedTask:(NSString *)URLIdentifier { + __block AFImageDownloaderMergedTask *mergedTask; + dispatch_sync(self.synchronizationQueue, ^(){ + mergedTask = self.mergedTasks[URLIdentifier]; + }); + return mergedTask; +} + @end #endif diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m index e6f9b65e..8cb5677e 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m @@ -109,11 +109,9 @@ - (BOOL)isNetworkActivityOccurring { - (void)setNetworkActivityIndicatorVisible:(BOOL)networkActivityIndicatorVisible { if (_networkActivityIndicatorVisible != networkActivityIndicatorVisible) { - [self willChangeValueForKey:@"networkActivityIndicatorVisible"]; @synchronized(self) { - _networkActivityIndicatorVisible = networkActivityIndicatorVisible; + _networkActivityIndicatorVisible = networkActivityIndicatorVisible; } - [self didChangeValueForKey:@"networkActivityIndicatorVisible"]; if (self.networkActivityActionBlock) { self.networkActivityActionBlock(networkActivityIndicatorVisible); } else { @@ -122,35 +120,20 @@ - (void)setNetworkActivityIndicatorVisible:(BOOL)networkActivityIndicatorVisible } } -- (void)setActivityCount:(NSInteger)activityCount { - @synchronized(self) { - _activityCount = activityCount; - } - - dispatch_async(dispatch_get_main_queue(), ^{ - [self updateCurrentStateForNetworkActivityChange]; - }); -} - (void)incrementActivityCount { - [self willChangeValueForKey:@"activityCount"]; - @synchronized(self) { - _activityCount++; - } - [self didChangeValueForKey:@"activityCount"]; - + @synchronized(self) { + self.activityCount++; + } dispatch_async(dispatch_get_main_queue(), ^{ [self updateCurrentStateForNetworkActivityChange]; }); } - (void)decrementActivityCount { - [self willChangeValueForKey:@"activityCount"]; - @synchronized(self) { - _activityCount = MAX(_activityCount - 1, 0); - } - [self didChangeValueForKey:@"activityCount"]; - + @synchronized(self) { + self.activityCount = MAX(_activityCount - 1, 0); + } dispatch_async(dispatch_get_main_queue(), ^{ [self updateCurrentStateForNetworkActivityChange]; }); @@ -172,7 +155,6 @@ - (void)networkRequestDidFinish:(NSNotification *)notification { - (void)setCurrentState:(AFNetworkActivityManagerState)currentState { @synchronized(self) { if (_currentState != currentState) { - [self willChangeValueForKey:@"currentState"]; _currentState = currentState; switch (currentState) { case AFNetworkActivityManagerStateNotActive: @@ -191,9 +173,7 @@ - (void)setCurrentState:(AFNetworkActivityManagerState)currentState { [self startCompletionDelayTimer]; break; } - [self didChangeValueForKey:@"currentState"]; } - } } diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m index 2da60127..03aaf2a8 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m @@ -103,11 +103,11 @@ @implementation UIButton (AFNetworking) + (AFImageDownloader *)sharedImageDownloader { - return objc_getAssociatedObject(self, @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance]; + return objc_getAssociatedObject([UIButton class], @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance]; } + (void)setSharedImageDownloader:(AFImageDownloader *)imageDownloader { - objc_setAssociatedObject(self, @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject([UIButton class], @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } #pragma mark - @@ -168,7 +168,7 @@ - (void)setImageForState:(UIControlState)state if ([[strongSelf af_imageDownloadReceiptForState:state].receiptID isEqual:downloadID]) { if (success) { success(request, response, responseObject); - } else if(responseObject) { + } else if (responseObject) { [strongSelf setImage:responseObject forState:state]; } [strongSelf af_setImageDownloadReceipt:nil forState:state]; @@ -247,7 +247,7 @@ - (void)setBackgroundImageForState:(UIControlState)state if ([[strongSelf af_backgroundImageDownloadReceiptForState:state].receiptID isEqual:downloadID]) { if (success) { success(request, response, responseObject); - } else if(responseObject) { + } else if (responseObject) { [strongSelf setBackgroundImage:responseObject forState:state]; } [strongSelf af_setBackgroundImageDownloadReceipt:nil forState:state]; diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h deleted file mode 100644 index 14744cdd..00000000 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h +++ /dev/null @@ -1,35 +0,0 @@ -// -// UIImage+AFNetworking.h -// -// -// Created by Paulo Ferreira on 08/07/15. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -#if TARGET_OS_IOS || TARGET_OS_TV - -#import - -@interface UIImage (AFNetworking) - -+ (UIImage*) safeImageWithData:(NSData*)data; - -@end - -#endif diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m index 41c18a61..8ae49509 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m @@ -48,11 +48,11 @@ - (void)af_setActiveImageDownloadReceipt:(AFImageDownloadReceipt *)imageDownload @implementation UIImageView (AFNetworking) + (AFImageDownloader *)sharedImageDownloader { - return objc_getAssociatedObject(self, @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance]; + return objc_getAssociatedObject([UIImageView class], @selector(sharedImageDownloader)) ?: [AFImageDownloader defaultInstance]; } + (void)setSharedImageDownloader:(AFImageDownloader *)imageDownloader { - objc_setAssociatedObject(self, @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC); + objc_setAssociatedObject([UIImageView class], @selector(sharedImageDownloader), imageDownloader, OBJC_ASSOCIATION_RETAIN_NONATOMIC); } #pragma mark - @@ -75,7 +75,6 @@ - (void)setImageWithURLRequest:(NSURLRequest *)urlRequest 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.image = placeholderImage; if (failure) { @@ -85,7 +84,7 @@ - (void)setImageWithURLRequest:(NSURLRequest *)urlRequest return; } - if ([self isActiveTaskURLEqualToURLRequest:urlRequest]){ + if ([self isActiveTaskURLEqualToURLRequest:urlRequest]) { return; } @@ -119,7 +118,7 @@ - (void)setImageWithURLRequest:(NSURLRequest *)urlRequest if ([strongSelf.af_activeImageDownloadReceipt.receiptID isEqual:downloadID]) { if (success) { success(request, response, responseObject); - } else if(responseObject) { + } else if (responseObject) { strongSelf.image = responseObject; } [strongSelf clearActiveDownloadInformation]; diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h index febacfc7..aa9c0b02 100644 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h +++ b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h @@ -20,23 +20,24 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#if TARGET_OS_IOS || TARGET_OS_TV -#import +#import #ifndef _UIKIT_AFNETWORKING_ #define _UIKIT_AFNETWORKING_ -#if TARGET_OS_IOS +#if TARGET_OS_IOS || TARGET_OS_TV #import "AFAutoPurgingImageCache.h" #import "AFImageDownloader.h" - #import "AFNetworkActivityIndicatorManager.h" - #import "UIRefreshControl+AFNetworking.h" - #import "UIWebView+AFNetworking.h" -#endif - #import "UIActivityIndicatorView+AFNetworking.h" #import "UIButton+AFNetworking.h" #import "UIImageView+AFNetworking.h" #import "UIProgressView+AFNetworking.h" -#endif /* _UIKIT_AFNETWORKING_ */ #endif + +#if TARGET_OS_IOS + #import "AFNetworkActivityIndicatorManager.h" + #import "UIRefreshControl+AFNetworking.h" + #import "WKWebView+AFNetworking.h" +#endif + +#endif /* _UIKIT_AFNETWORKING_ */ diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h deleted file mode 100644 index b9a56af4..00000000 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h +++ /dev/null @@ -1,80 +0,0 @@ -// UIWebView+AFNetworking.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. - -#import - -#import - -#if TARGET_OS_IOS - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class AFHTTPSessionManager; - -/** - This category adds methods to the UIKit framework's `UIWebView` class. The methods in this category provide increased control over the request cycle, including progress monitoring and success / failure handling. - - @discussion When using these category methods, make sure to assign `delegate` for the web view, which implements `–webView:shouldStartLoadWithRequest:navigationType:` appropriately. This allows for tapped links to be loaded through AFNetworking, and can ensure that `canGoBack` & `canGoForward` update their values correctly. - */ -@interface UIWebView (AFNetworking) - -/** - The session manager used to download all requests. - */ -@property (nonatomic, strong) AFHTTPSessionManager *sessionManager; - -/** - Asynchronously loads the specified request. - - @param request A URL request identifying the location of the content to load. This must not be `nil`. - @param progress A progress object monitoring the current download progress. - @param success A block object to be executed when the request finishes loading successfully. This block returns the HTML string to be loaded by the web view, and takes two arguments: the response, and the response string. - @param failure A block object to be executed when the data task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a single argument: the error that occurred. - */ -- (void)loadRequest:(NSURLRequest *)request - progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress - success:(nullable NSString * (^)(NSHTTPURLResponse *response, NSString *HTML))success - failure:(nullable void (^)(NSError *error))failure; - -/** - Asynchronously loads the data associated with a particular request with a specified MIME type and text encoding. - - @param request A URL request identifying the location of the content to load. This must not be `nil`. - @param MIMEType The MIME type of the content. Defaults to the content type of the response if not specified. - @param textEncodingName The IANA encoding name, as in `utf-8` or `utf-16`. Defaults to the response text encoding if not specified. -@param progress A progress object monitoring the current download progress. - @param success A block object to be executed when the request finishes loading successfully. This block returns the data to be loaded by the web view and takes two arguments: the response, and the downloaded data. - @param failure A block object to be executed when the data task finishes unsuccessfully, or that finishes successfully, but encountered an error while parsing the response data. This block has no return value and takes a single argument: the error that occurred. - */ -- (void)loadRequest:(NSURLRequest *)request - MIMEType:(nullable NSString *)MIMEType - textEncodingName:(nullable NSString *)textEncodingName - progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress - success:(nullable NSData * (^)(NSHTTPURLResponse *response, NSData *data))success - failure:(nullable void (^)(NSError *error))failure; - -@end - -NS_ASSUME_NONNULL_END - -#endif diff --git a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m b/Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m deleted file mode 100644 index 030c3e94..00000000 --- a/Example/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m +++ /dev/null @@ -1,157 +0,0 @@ -// UIWebView+AFNetworking.m -// 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. - -#import "UIWebView+AFNetworking.h" - -#import - -#if TARGET_OS_IOS - -#import "AFHTTPSessionManager.h" -#import "AFURLResponseSerialization.h" -#import "AFURLRequestSerialization.h" - -@interface UIWebView (_AFNetworking) -@property (readwrite, nonatomic, strong, setter = af_setURLSessionTask:) NSURLSessionDataTask *af_URLSessionTask; -@end - -@implementation UIWebView (_AFNetworking) - -- (NSURLSessionDataTask *)af_URLSessionTask { - return (NSURLSessionDataTask *)objc_getAssociatedObject(self, @selector(af_URLSessionTask)); -} - -- (void)af_setURLSessionTask:(NSURLSessionDataTask *)af_URLSessionTask { - objc_setAssociatedObject(self, @selector(af_URLSessionTask), af_URLSessionTask, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -@end - -#pragma mark - - -@implementation UIWebView (AFNetworking) - -- (AFHTTPSessionManager *)sessionManager { - static AFHTTPSessionManager *_af_defaultHTTPSessionManager = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - _af_defaultHTTPSessionManager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; - _af_defaultHTTPSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer]; - _af_defaultHTTPSessionManager.responseSerializer = [AFHTTPResponseSerializer serializer]; - }); - - return objc_getAssociatedObject(self, @selector(sessionManager)) ?: _af_defaultHTTPSessionManager; -} - -- (void)setSessionManager:(AFHTTPSessionManager *)sessionManager { - objc_setAssociatedObject(self, @selector(sessionManager), sessionManager, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -- (AFHTTPResponseSerializer *)responseSerializer { - static AFHTTPResponseSerializer *_af_defaultResponseSerializer = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - _af_defaultResponseSerializer = [AFHTTPResponseSerializer serializer]; - }); - - return objc_getAssociatedObject(self, @selector(responseSerializer)) ?: _af_defaultResponseSerializer; -} - -- (void)setResponseSerializer:(AFHTTPResponseSerializer *)responseSerializer { - objc_setAssociatedObject(self, @selector(responseSerializer), responseSerializer, OBJC_ASSOCIATION_RETAIN_NONATOMIC); -} - -#pragma mark - - -- (void)loadRequest:(NSURLRequest *)request - progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress - success:(NSString * (^)(NSHTTPURLResponse *response, NSString *HTML))success - failure:(void (^)(NSError *error))failure -{ - [self loadRequest:request MIMEType:nil textEncodingName:nil progress:progress success:^NSData *(NSHTTPURLResponse *response, NSData *data) { - NSStringEncoding stringEncoding = NSUTF8StringEncoding; - if (response.textEncodingName) { - CFStringEncoding encoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)response.textEncodingName); - if (encoding != kCFStringEncodingInvalidId) { - stringEncoding = CFStringConvertEncodingToNSStringEncoding(encoding); - } - } - - NSString *string = [[NSString alloc] initWithData:data encoding:stringEncoding]; - if (success) { - string = success(response, string); - } - - return [string dataUsingEncoding:stringEncoding]; - } failure:failure]; -} - -- (void)loadRequest:(NSURLRequest *)request - MIMEType:(NSString *)MIMEType - textEncodingName:(NSString *)textEncodingName - progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress - success:(NSData * (^)(NSHTTPURLResponse *response, NSData *data))success - failure:(void (^)(NSError *error))failure -{ - NSParameterAssert(request); - - if (self.af_URLSessionTask.state == NSURLSessionTaskStateRunning || self.af_URLSessionTask.state == NSURLSessionTaskStateSuspended) { - [self.af_URLSessionTask cancel]; - } - self.af_URLSessionTask = nil; - - __weak __typeof(self)weakSelf = self; - __block NSURLSessionDataTask *dataTask; - dataTask = [self.sessionManager - dataTaskWithRequest:request - uploadProgress:nil - downloadProgress:nil - completionHandler:^(NSURLResponse * _Nonnull response, id _Nonnull responseObject, NSError * _Nullable error) { - __strong __typeof(weakSelf) strongSelf = weakSelf; - if (error) { - if (failure) { - failure(error); - } - } else { - if (success) { - success((NSHTTPURLResponse *)response, responseObject); - } - [strongSelf loadData:responseObject MIMEType:MIMEType textEncodingName:textEncodingName baseURL:[dataTask.currentRequest URL]]; - - if ([strongSelf.delegate respondsToSelector:@selector(webViewDidFinishLoad:)]) { - [strongSelf.delegate webViewDidFinishLoad:strongSelf]; - } - } - }]; - self.af_URLSessionTask = dataTask; - if (progress != nil) { - *progress = [self.sessionManager downloadProgressForTask:dataTask]; - } - [self.af_URLSessionTask resume]; - - if ([self.delegate respondsToSelector:@selector(webViewDidStartLoad:)]) { - [self.delegate webViewDidStartLoad:self]; - } -} - -@end - -#endif diff --git a/Example/Pods/Local Podspecs/InstagramKit.podspec.json b/Example/Pods/Local Podspecs/InstagramKit.podspec.json index 7d598293..6a76698a 100644 --- a/Example/Pods/Local Podspecs/InstagramKit.podspec.json +++ b/Example/Pods/Local Podspecs/InstagramKit.podspec.json @@ -1,6 +1,6 @@ { "name": "InstagramKit", - "version": "4.0", + "version": "4.1", "summary": "Instagram iOS SDK.", "description": "An extensive Objective C SDK for the Instagram API.", "homepage": "https://github.com/shyambhat/InstagramKit", @@ -13,15 +13,15 @@ }, "source": { "git": "https://github.com/shyambhat/InstagramKit.git", - "tag": "4.0" + "tag": "4.1" }, "platforms": { - "ios": "9.0" + "ios": "11.0" }, "source_files": "InstagramKit/Classes/**/*", "dependencies": { "AFNetworking": [ - "~>3.0" + ] }, "default_subspecs": "InstagramKit-without-UICKeyChainStore", diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index a0e217e3..b1a025fb 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,42 +1,47 @@ PODS: - - 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 (4.0.1): + - AFNetworking/NSURLSession (= 4.0.1) + - AFNetworking/Reachability (= 4.0.1) + - AFNetworking/Security (= 4.0.1) + - AFNetworking/Serialization (= 4.0.1) + - AFNetworking/UIKit (= 4.0.1) + - AFNetworking/NSURLSession (4.0.1): - AFNetworking/Reachability - AFNetworking/Security - AFNetworking/Serialization - - AFNetworking/Reachability (3.2.1) - - AFNetworking/Security (3.2.1) - - AFNetworking/Serialization (3.2.1) - - AFNetworking/UIKit (3.2.1): + - AFNetworking/Reachability (4.0.1) + - AFNetworking/Security (4.0.1) + - AFNetworking/Serialization (4.0.1) + - AFNetworking/UIKit (4.0.1): - AFNetworking/NSURLSession - - InstagramKit (4.0): - - AFNetworking (~> 3.0) - - InstagramKit/InstagramKit-without-UICKeyChainStore (= 4.0) - - InstagramKit/InstagramKit-without-UICKeyChainStore (4.0): - - AFNetworking (~> 3.0) - - InstagramKit/UICKeyChainStore (4.0): - - AFNetworking (~> 3.0) + - InstagramKit (4.1): + - AFNetworking + - InstagramKit/InstagramKit-without-UICKeyChainStore (= 4.1) + - InstagramKit/InstagramKit-without-UICKeyChainStore (4.1): + - AFNetworking + - InstagramKit/UICKeyChainStore (4.1): + - AFNetworking - UICKeyChainStore (~> 2.0) - - UICKeyChainStore (2.1.1) + - UICKeyChainStore (2.2.0) DEPENDENCIES: - InstagramKit (from `../`) - InstagramKit/UICKeyChainStore (from `../`) +SPEC REPOS: + trunk: + - AFNetworking + - UICKeyChainStore + EXTERNAL SOURCES: InstagramKit: - :path: ../ + :path: "../" SPEC CHECKSUMS: - AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 - InstagramKit: 2072df650fbd6bae8041051906743559300468e0 - UICKeyChainStore: 239558492fa260531a0774cfc611ea83a6eaff3a + AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce + InstagramKit: bb18dce29797437598424092fa8479ee7cda277e + UICKeyChainStore: 6a218644594e12f855ec2a10f4fc576c1a69daee -PODFILE CHECKSUM: e6c6ccc443f963f4c64446a11e3fe6576ab9399d +PODFILE CHECKSUM: 150e8445d546d1bfd6562e612ac05bde2647ea04 -COCOAPODS: 1.4.0 +COCOAPODS: 1.9.1 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 7e1c922e..0a102739 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,697 +7,685 @@ objects = { /* Begin PBXBuildFile section */ - 04F3BBE71B24770E40CC66A993AD85D1 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 768009AB4949D0F091C650808CF0C7A0 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 074B70E6AEF1852284EFBFEC587ADC47 /* UICKeyChainStore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 0FE9DFF94F98ACAF710CD2D5E99DDCA2 /* UICKeyChainStore-dummy.m */; }; - 09E4E3A4DB88594A9C56ED6B8C92D8EA /* InstagramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 146B9F176331766FE891562F361579D2 /* InstagramModel.m */; }; - 09EC74E4AFC1D5951D1F80094D06969A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5208023BC664FD495E1D0D1E77BD5F5F /* Foundation.framework */; }; - 0ACBBA158F4635FAE16AB5456ABADCA4 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = BC9603F12BF7D9E979BB796C85EF7761 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 15F6265FCE0955CDB4967F7306407D67 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D28C66A451DB29C458C038C2FAD99E0C /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 31A3C2891B88696C961BBD8149FA7D80 /* InstagramKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A49E6C0EF43400ABC515E9F952C2027 /* InstagramKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3345805C0D8E8D0726F7E5981DA61A5F /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = EFC800C2DE3C041C4F566B6AA544B5EE /* UIWebView+AFNetworking.m */; }; - 3904E9E354B6D4BD03A02AAF1B39FD0A /* InstagramPaginationInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = A53B1F99FB7B3DFCA4241F9B15F5896F /* InstagramPaginationInfo.m */; }; - 3C9E113B7712442B4BCB59AB7EEC2085 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 0DE31FF179F39845A7F18F0AA6BF7462 /* AFURLResponseSerialization.m */; }; - 3DDB894364CEC991E61B04E9036D6D54 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = F68D1DFE00BFF01849A4F2507CE259A1 /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 43DA5C9BFE54E432E93433F43119795F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5208023BC664FD495E1D0D1E77BD5F5F /* Foundation.framework */; }; - 4AA21F40697CB42D7D219ACEDE4FBFCF /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A279675F927308050C9DEDDE384E165 /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 4AA3A9FC9AAD94C226CA975946C9395B /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CFDFE816723318BEDD1EBD3B0527CF9 /* UIRefreshControl+AFNetworking.m */; }; - 4C321BA8844AA4C44D4416CC6948DF2B /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A2CADD39D969F75A2B4E5B29ABAE6E58 /* AFNetworking-dummy.m */; }; - 4C5DA96F7CAC26975EEEBD7450FF214D /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = E02EB30EADFD6D35AE96CC6DFCC741EE /* AFURLSessionManager.m */; }; - 51FDCEB8A14E3135DC179ACBE25F3B8D /* InstagramUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 67DF96198CDF26C77A7EA4E9DAA0161D /* InstagramUser.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5A601C1B0C28EA2848E133205B1E9EDA /* Pods-InstagramKit_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D26DC289D58C8D5C15761A998AE3E72 /* Pods-InstagramKit_Tests-dummy.m */; }; - 5BFE1CC79F693B6218B419AE50B2070E /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 399C57DCD200414603E77C67EC7591AD /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5FC2483E8E43E8485DA5BB302B4E6295 /* Pods-InstagramKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = DF9642DA97D7C804E696213442EA3E51 /* Pods-InstagramKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6310D266B937ED6DD52CF1A6FB4D65B9 /* Pods-InstagramKit_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = F55DA61E81C40BEA31D18FBC9D55A842 /* Pods-InstagramKit_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63BA6FBA10304F4828DE97C0FA63ED9D /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 84FADA847DE43D179B3EF4CD2D5D603A /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6478B0091202F9429D2A61E30BEDA571 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A6C38D39F0614D499B0E492D8BC4CA /* Security.framework */; }; - 6595C6295B9EBBF40751A376239681FD /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = B1217ED2D9F07B2B0F9E6668827184E0 /* UIProgressView+AFNetworking.m */; }; - 6AB8F78680B3470391219F11D51A1DE7 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 84232B2086A35F04D2ABAD501806DBED /* UIImageView+AFNetworking.m */; }; - 701187F974E54C95E029F60FBFFE1EEF /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6947A5A9C2099906B37CEB81382D7D36 /* AFNetworking.framework */; }; - 7099E4035C06D3116DA2586EFE563C0B /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 593D39DF91A4092728D7B74E5995F7BA /* AFAutoPurgingImageCache.m */; }; - 72579D349EDF653DC8DF0C844BD7AC5D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5208023BC664FD495E1D0D1E77BD5F5F /* Foundation.framework */; }; - 7271259EC04494790B6BCB7FBBC185A0 /* InstagramTag.m in Sources */ = {isa = PBXBuildFile; fileRef = F08E73A6B696FECA3BE248A5F7A200A0 /* InstagramTag.m */; }; - 745A2B6FD3D23113FBD782186A9D750E /* InstagramUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 344DB2E27B38479511E3B523749EFDEB /* InstagramUser.m */; }; - 764FC16C416A51E94FCFA64FC1CFA314 /* UICKeyChainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F220C8598D353D57E65EC4041D5B584 /* UICKeyChainStore.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; - 778CFEA19B134DCB8FF1E996FA01919D /* UICKeyChainStore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 23E0793F8E1D2317E58BB3830DC5AA45 /* UICKeyChainStore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 78AC6714960C42CC866222B6D956EDF6 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8448E7A217C466CE527A44EC2086887A /* CoreGraphics.framework */; }; - 7B006BB812D298D4E02BEFAA9AF3364F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5208023BC664FD495E1D0D1E77BD5F5F /* Foundation.framework */; }; - 7ED0C76E5BECFED77B62EF50B9C5A8EA /* InstagramComment.h in Headers */ = {isa = PBXBuildFile; fileRef = 37E1A7CDF653EF5D3D5F8B98CB0C086F /* InstagramComment.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 81ABD96C8FA6FF28CFB2A3A78A6EA560 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AB1823E18A4A94F8FD72A3282FCD74F /* SystemConfiguration.framework */; }; - 85F1A39790E42FF86DE549850D4B5315 /* UserInPhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F73A5D1A8EC71DBD4164775425D72F1 /* UserInPhoto.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 86EA527BA1862E06A8E19E0960C66E7E /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 604D09A8981D843DBE08764FC96BAD32 /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 89637BFFD180A1E05F04DAF0CF4A6540 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F53E9623508233F530ACEEFC369539FF /* MobileCoreServices.framework */; }; - 8A1EB96C607F92E8AA20676F9A4BC7D9 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = E5E5EFEDC0B8B52C19EEA245DEFD75B7 /* UIButton+AFNetworking.m */; }; - 8ACBF93AB961072994E733E0012D24BD /* InstagramKitConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = FDD31525B1BBA04DA963BE283E665C45 /* InstagramKitConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8C99721C362D4A57F06E4F10C1D9E913 /* InstagramModel.h in Headers */ = {isa = PBXBuildFile; fileRef = ACFD778B774BF01BD14EDE8708F4D51C /* InstagramModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8D9636C74777C684BDF312EE66F8A585 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AB05EF47586121F44E941DE6FF77F87 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 91DF45A3E664CF79C41C8DF9D0452661 /* InstagramKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EC54C994E1ED00F51C63818CB531A92A /* InstagramKit-dummy.m */; }; - 939EF882233B22D0321A70F6DADED11F /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = DC31A72290A2215D14B23286ACBC7A37 /* AFHTTPSessionManager.m */; }; - 97042668AACEF85F8CDB244CF8572B23 /* InstagramKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CEA193347F952B7A982C47E0D2D66E72 /* InstagramKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 97F18E83FFF07AC61626F9A0CA04637D /* Pods-InstagramKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E917207EFDF6F34DC147ED46C34BB37B /* Pods-InstagramKit_Example-dummy.m */; }; - 9898B13B5771AC304E096319E72F8098 /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CE256A28D86D931F949BBCAEF62CCAF /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A2E4010684274F5907611B532D27D22 /* InstagramComment.m in Sources */ = {isa = PBXBuildFile; fileRef = BC83E8C9F8167F3B073DC1D3DBF3559B /* InstagramComment.m */; }; - 9AC1064802A4D107353A87F2B4A963B0 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C61E5E5FEF4604E246B8072BB3DC914 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9D90EC07FAFDED85EE27781AD8583E98 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A6C38D39F0614D499B0E492D8BC4CA /* Security.framework */; }; - 9E7F946A741B3C8546C56ADE3C24F503 /* UICKeyChainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 57F2331CBE3B8B801BFD9F79BD5D7E74 /* UICKeyChainStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A12A3BC640B690479F345A49C6C48209 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D5EA1412CDB8ACF48B8255AD3889CB6 /* AFNetworkReachabilityManager.m */; }; - A5B04FAB38857EA5CDB2DA955A8A9EDE /* InstagramTag.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BEE16180F4970002A127A12AC068D0 /* InstagramTag.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A5B069CA1170E03891AC5648DE5CF87D /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = ECA9D905039CBBF262EEE8B8BC327335 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A851477CDDAE19B78F0166D7C82597A0 /* InstagramEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = ADB3018F1466F3646868216D5575AAAD /* InstagramEngine.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AD868043328B2125E27A5DC14D11958F /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 6216E73D040785CBF168D4F20D639708 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - ADD011E9ABBD96D70AAA32A4B9ACBD02 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E180D8DA78B9AF83B2614CE9F2227BE4 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B086C8017A694E281B3F30DCCE8FA588 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 017C55364EF58D2E3C2F366C5141B5AA /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B46FE8C00C2CDDE0B4790FFD3DC961A4 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B1FC954DBFBACBD6402AB57F5FADBEF /* AFImageDownloader.m */; }; - BE043820328744DAD23D8A4627510D33 /* InstagramPaginationInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BB3615470C8AFB9FDA32527D579B753 /* InstagramPaginationInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BE49DAAB4F0863856BA653A0E4EA64B3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5208023BC664FD495E1D0D1E77BD5F5F /* Foundation.framework */; }; - C061936DAC4B6DD98704F8E023FDE0FF /* InstagramMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = B664EE86DCA30E3419CB4FFB0F57A9DF /* InstagramMedia.m */; }; - C12BAA822391D670C53FF0C2299654AD /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B98617038E0AC76A64B8F398C5ABCCD /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C257BE809D4C4357A8EB7118960E3143 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 64C852C62C6554B9D158D01002B43E9F /* UIActivityIndicatorView+AFNetworking.m */; }; - C350F162DBA6C343EAE486DA6AA0214A /* InstagramLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = 982E14214B70C3FC00644F67E8C2C1AB /* InstagramLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C452B90B4776A0B0D4E1AE1226E45F30 /* InstagramEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = A640F79E2D5F93AE2C6BC0F44E6AF167 /* InstagramEngine.m */; }; - C65A31473D9F06BB0C367C085E405389 /* InstagramKitConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = EA053EC297DCB58BA71669268A9D1E43 /* InstagramKitConstants.m */; }; - CA0D37AE5433954573D3E37771CDDBFA /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = AE6C7CCF2A6051065C099FE95F6EF895 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E5CD5C797956697DDCC98A3EAC7E99E3 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 005A352BE3F4E3AC2F63B6CA3D1B3B48 /* AFURLRequestSerialization.m */; }; - E6964B3F4D41F8594D02981DC7F34191 /* InstagramLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = FF1700F2B3BA7BC3B79CA0B85D04D420 /* InstagramLocation.m */; }; - EA23726556D213DB485BD1791C7164CF /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 75B2DCE4C2915C2F3898F4B708CDF1E7 /* AFNetworkActivityIndicatorManager.m */; }; - EB954BC511E4C67A675E757558F90078 /* InstagramMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B407F20A7D3FC6013236D7F5297804B /* InstagramMedia.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F1199E40BF416FC1ACA2DDCD7B2E23A1 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E90F045A4777FCB6BC9D9F7B3F929DA4 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F26CD9A1DF452688BF3C98BBA9090F92 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = EBD9978CD816B6B6E4C1CE957CD7BAEE /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F30950E63F3D8D6C07FFB50C5971116E /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = BEBFC23F516DEDC92AFA0F94240529E9 /* AFSecurityPolicy.m */; }; - F543463D4348BE71E8B9AC9D3683407E /* UserInPhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D51C6E0C2B9E28B6ED8BE9135011974 /* UserInPhoto.m */; }; - F54879EEAE223E90AC9674197E6B1ADE /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = ED3332177AD0D61521FB0963305DA99D /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - F8A2BB1724946AFED7F7ECB33D59E924 /* UICKeyChainStore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45C509E77067B8D38E7F2BA5A61CA15A /* UICKeyChainStore.framework */; }; + 01BEB06B4E262DCEA7A94F4206311BF9 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 05C760EEEDF34D2FB4D6F460604FEEE1 /* UIRefreshControl+AFNetworking.m */; }; + 02937E01710489D6668D0C3700E8EADA /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 82E49A75F7F47E090181C49E72C2B7A7 /* UIProgressView+AFNetworking.m */; }; + 03DE189AC46833C3D8E1045800C00FBA /* Pods-InstagramKit_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F94B860FE4A0C1B271C9F3F78266D786 /* Pods-InstagramKit_Tests-dummy.m */; }; + 07E08C56386C02093F27CF28E4D01F11 /* WKWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 66CEDF215404D765908222C73220A27C /* WKWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 08D5C0606D6FBFB4877FC3C3FF4A2208 /* AFNetworking-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E0ADEA1A5B2EC1376B292E5709F74BB4 /* AFNetworking-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 0AE55CDE3702B4B9F899C34137B1E006 /* UICKeyChainStore-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BA496CEB9FC9B44831F82D7FA2D4CDC /* UICKeyChainStore-dummy.m */; }; + 106B07B0762A5E6B3DBCAE13CAC41A09 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */; }; + 163B07BE98EAA270AF0A7AA82F84208E /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = DE89796CD864CB96BD5A3A63DCE93285 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 18E7A6F327BBA0CD67EBD3ECCF0E28A5 /* InstagramMedia.m in Sources */ = {isa = PBXBuildFile; fileRef = 730DA0837929E642E42D25B052DDC813 /* InstagramMedia.m */; }; + 199B10758D1EB020DBB6A2EB7D539C43 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3078836143A05F7676E29185722EFD21 /* Security.framework */; }; + 1CCC9123393AC238321A0F0D04C74867 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93C514D0A9E6DD3B11DD9E09F1C12B88 /* AFNetworking.framework */; }; + 1E292A000DE5EDC9EF1C3B872A421FFE /* InstagramUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 7F3278AE43445C7CFAF8CF340C364CE6 /* InstagramUser.m */; }; + 232B2E8F32708EF2D85000B997FB69A2 /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 12543020620B1D86290678D448E76CF9 /* UIImageView+AFNetworking.m */; }; + 25992733057DB926EB3D3AE12CD49642 /* InstagramKitConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 62D34B3515176B88AF8BAD7CB68C9D84 /* InstagramKitConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2657AB4F1D04803DABFE7DDF80C0EF7F /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = ABEB2347E2E0AFD0D5E3D4B86F7A63B6 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 27256E913790A1EC111854E3D10E67F5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */; }; + 2AB5C7D99BD529942B2C81AB0CD8A600 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CE153C8A91658415C674DC67C15AC9C /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2E7446308877A2FA6F48A7E545FFB1B1 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F2BC06C9DC3540469CAF179CD730542E /* AFNetworkReachabilityManager.m */; }; + 30E7EC0A6CE39F0E3EA993D8BD2FDF53 /* UICKeyChainStore.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D3EA8893918507F2C6421F56C163A7B /* UICKeyChainStore.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; + 344260EAE443295D36B0A576BAC48B7F /* InstagramModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 72FB6F2220376807B3B30F1730D19DBE /* InstagramModel.m */; }; + 38B57953D8705FA2092852071CD3A462 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 695C21A9674D7B9D5519BC40C132366C /* UIButton+AFNetworking.m */; }; + 3A7898061E2CA70266DF92EAC83C5EEC /* InstagramLocation.h in Headers */ = {isa = PBXBuildFile; fileRef = D0E9320FA4BD8EEF2BF574D7A078DCD0 /* InstagramLocation.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3CA0C9185ED4469D427AA53B26E1B18F /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 08250D28E66031F19A1039BB6BB8E889 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3EB561D79F76C06AA538872D6302D35D /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6356D14478C38940B1216985FA99C109 /* AFNetworking-dummy.m */; }; + 40426F061CD9B0B435C690CAFEA2BD00 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8356F2FC53CA9D70D41D058B299CDF /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49231AE9AC047029148446CA7112886E /* InstagramTag.h in Headers */ = {isa = PBXBuildFile; fileRef = B8172E5E34E45B0364826E363719FAF8 /* InstagramTag.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4992259A954F174FA8BDB394DB1C8F93 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = F194EC9CA07BA32B17AE8A59A7BC5F9B /* AFAutoPurgingImageCache.m */; }; + 4C1D49A1D681895B87DA3B76DDD33BD3 /* InstagramTag.m in Sources */ = {isa = PBXBuildFile; fileRef = 35CA25F68C2095A51339F23DF3CE58BF /* InstagramTag.m */; }; + 4E7BCCE9688FDD52203D010BA2C023E1 /* InstagramKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8DEB29F7048ECD1D1D43DC07BA4E9AF9 /* InstagramKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4FC28B57A6DF181D7F6F67ABD7A0EB61 /* InstagramPaginationInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CA90F2688A9AEA83D2D003BE4FADFB5 /* InstagramPaginationInfo.m */; }; + 4FCA4E8703DBF3D3FB7D5BA06229159D /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 20C956FB6BF91E21E259DC5D8404B026 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 54EDA48B8189B642A4F74D6476738AED /* UserInPhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = ACEED46B73BAA676593440DFA9B05F2B /* UserInPhoto.m */; }; + 55A49FB7CCED067ED5B21759099178D8 /* InstagramComment.m in Sources */ = {isa = PBXBuildFile; fileRef = C1299657A461A80651C9B93984B61130 /* InstagramComment.m */; }; + 58E7569EE1CDD61DF96C0407CAE158DC /* InstagramEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EA348CEEB1BB08092F03EBE7FAEB2FB /* InstagramEngine.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 62D9095DC501B61A61EC8CC4869D700B /* UserInPhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 25BE95F6EB86E88539EBC31F773A0963 /* UserInPhoto.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6EE482EF823C5090378A600998A120F9 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 427EAF18DDA438DC84D697188774A1CB /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 712873D70CAC4609419F5BFE35B8E873 /* InstagramLocation.m in Sources */ = {isa = PBXBuildFile; fileRef = CC1CED66335C686AE33A022CC54963D7 /* InstagramLocation.m */; }; + 722EC0191A173ECB2121618467D32DF4 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 904A74F29CDAE2B996CD5E94E30B4761 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 76536A816A576F08FADD3366A2E40094 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 0C135C69E32648DC0BD7C85FC0A8174A /* AFURLSessionManager.m */; }; + 77D396487A48D18212892AA409B646C2 /* InstagramUser.h in Headers */ = {isa = PBXBuildFile; fileRef = E62ABE2EE673406389A218263BFB813E /* InstagramUser.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 828919193B61FC103B8846F54EF3131C /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = B8641DD9D86EB7542A20E7F79CB560DD /* AFURLResponseSerialization.m */; }; + 872175D4EEA36373E6928F944CDF2C2F /* InstagramEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 61144C65C98E7B1820E8015201ED77CA /* InstagramEngine.m */; }; + 8CE480485EFF2F15B7A394C90CFF274A /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = C19F96BCED78366839AF835312DE7FAE /* AFHTTPSessionManager.m */; }; + 8D060BB549FA8C46C8A5E230C7E00CFE /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = AFEC3C2AF7EE9B941788CE1FBCA3AAA2 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 8EBC6300D39B54FA89CA04F9C227B64B /* InstagramMedia.h in Headers */ = {isa = PBXBuildFile; fileRef = 035DBA23E1104D8F7A68B801DF194257 /* InstagramMedia.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 951B6669114E3C8D2E4961AFE2BB6647 /* WKWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 46950CF28686BAA990F0D05E8AE621E7 /* WKWebView+AFNetworking.m */; }; + 99CC13FF230FEE5D4BA6797BEEC97BE2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */; }; + 9A8393E23E0691CCA16B0DADAAF2A256 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */; }; + 9D3A67B86C6A3A1339783953B3E833B9 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AB820A190CFEF882A3BD73DB937D73C /* AFNetworkActivityIndicatorManager.m */; }; + A03E883780EDAA275E3555BA23DAEA17 /* UICKeyChainStore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9572E945B91C15D53579D6E60D6ECD6 /* UICKeyChainStore.framework */; }; + A1ED0E61FBAD03E10868DEB7DD6F20F0 /* InstagramModel.h in Headers */ = {isa = PBXBuildFile; fileRef = B43ED16AD5C841C61970D6F0DBFFAE90 /* InstagramModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A402AA30B4BEF3E783433BD0156EF86F /* InstagramPaginationInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9EAF789811A9F1A71F28763646A425F0 /* InstagramPaginationInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A6DE5A1B478949FE0444318D47C1A9CC /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5C03C2144E3775123DA45A713B9F7964 /* AFSecurityPolicy.m */; }; + A7E6C236F5C97B35484B553454B609B0 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = B8ED6E42C5B7A96D6CB9596B982F50AB /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A8CDF04C28DD114BDC1A9602B45335F2 /* UICKeyChainStore.h in Headers */ = {isa = PBXBuildFile; fileRef = D5866AF5CC41D275305BE0A0DF6E9AC0 /* UICKeyChainStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; + AECFCA2598AABAEB044F6C4594F3222F /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = FBA855D4FD05C9475B1F092010C4C396 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B2FF5C906EFD296E9B6302B49AD8703F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */; }; + B4658F8495B18BD4EB5D893CAFF3BBBC /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 95B60E9E082E9DDBAFCA74BEE44D4325 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B4B5CF042BFAF519B3D5C9F0ADC88A8D /* Pods-InstagramKit_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 350221D9E4AF4DB20B9D2987C6DC0DBE /* Pods-InstagramKit_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B78A1C3AC16A316329B64CFB24969D44 /* Pods-InstagramKit_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = EC7A13D861C8736CF2EC0C3AB72A9AE9 /* Pods-InstagramKit_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B83B1CA17424975882DA1066536E112B /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = D43630376501BB4634949AB43C9D022F /* AFImageDownloader.m */; }; + BBFB85B525E1E77FCB19C84D911205D8 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BE3EA3CB37359526EA790F8DF22E9D8 /* AFURLRequestSerialization.m */; }; + C9E9E5716A981D6C5B657945CFFD9175 /* InstagramComment.h in Headers */ = {isa = PBXBuildFile; fileRef = 785AFA110DF380684ABF6B5D4423A3C5 /* InstagramComment.h */; settings = {ATTRIBUTES = (Public, ); }; }; + C9F701A2E6208D9E840E7A91287F21B9 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = BF98C03E4AAC906263E112557E97AC89 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D66716504D475B6377F7DD5C7C2BBCDE /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 82B80829FA4BC9FFD2FDCE9A242913AD /* AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D675B0D4FE5D4BAAFE4315EDB8136BA2 /* InstagramKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B15DBA606D1BA0222447EF90F0B294B9 /* InstagramKit-dummy.m */; }; + E8EB9F2CFC54AFE86B618DB528647311 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 190C52D16A429BAAEE27D7E451324E8D /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F033872AED5C2158C9688D1AAFFA871F /* UICKeyChainStore-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FE0177E9A58C9C52AD2B4A21D390EB1A /* UICKeyChainStore-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F191431A32F803DC12F12EF3B4D984BD /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = F070DC245432426F201AC0BD5B16F319 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4352388490E70C1CF187D93E390FB2A /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD0886392AEF764207D9E8D35223098 /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F4727665B94936669FDE39F5160CF147 /* InstagramKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FA8E7058810B6E4676C161379D3BA151 /* InstagramKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F5CDCAFB14ED6CCD4C24D381E71CA77B /* Pods-InstagramKit_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D89DB019B311ED3B6F294D15D269C3C /* Pods-InstagramKit_Example-dummy.m */; }; + F69F10E8221CB843CFEE61C18D0496FE /* InstagramKitConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = C5CFCBABCBC9DB48FA5CE2973CA4EF56 /* InstagramKitConstants.m */; }; + FDA522B328C907FBF9B11C64C1A7C624 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FBB3C79C334144656824885ADE785A3 /* UIActivityIndicatorView+AFNetworking.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 59E1A7B24F50289D33ED28E9535288E8 /* PBXContainerItemProxy */ = { + 46F49BE1906C6ECB3245E97E0B5998A9 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = F4160500DCEA3DA3E93FBA579E88CA0A; - remoteInfo = AFNetworking; + remoteGlobalIDString = 7406ECC476A62C8FA502AD0E8D1240BE; + remoteInfo = UICKeyChainStore; }; - 6F2A53B0D10456E755950A3519F877DE /* PBXContainerItemProxy */ = { + 4B19536F3CF44D976EE12E10CA6597EE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = F4160500DCEA3DA3E93FBA579E88CA0A; + remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; remoteInfo = AFNetworking; }; - 7AAA3EFC26481DC71E3CB1DC800A4561 /* PBXContainerItemProxy */ = { + 5EFEE5794930776013BEB7FE04007608 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = CE89033960EF5D490E2548ABE897E4EB; + remoteGlobalIDString = A1F34DD05373B964463FC4CAC3740DDC; + remoteInfo = "Pods-InstagramKit_Example"; + }; + 7CDBE892DF1DF726A264979A9FD110D9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D05F43756ED68A955799503E2F772F5F; remoteInfo = InstagramKit; }; - 7AC060602F90906BACDECFA934643210 /* PBXContainerItemProxy */ = { + B00604F590E4C8D5B2AD6FDB599E6643 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = A59BC18054BA8C967F8E1F05C8E86B80; + remoteGlobalIDString = 7406ECC476A62C8FA502AD0E8D1240BE; remoteInfo = UICKeyChainStore; }; - 9DFEE323FCD7EEDE509153E48F69194D /* PBXContainerItemProxy */ = { + C5485D503B3F7B1003666761C8B9A5B4 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = A59BC18054BA8C967F8E1F05C8E86B80; - remoteInfo = UICKeyChainStore; + remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; + remoteInfo = AFNetworking; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 005A352BE3F4E3AC2F63B6CA3D1B3B48 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - 017C55364EF58D2E3C2F366C5141B5AA /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - 064EBE28C4F60CF2D13BEFDE66C9A2B0 /* Pods-InstagramKit_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-InstagramKit_Tests.modulemap"; sourceTree = ""; }; - 0748EE22F704D8C2AD39A3AD0EA3DEB9 /* InstagramKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = InstagramKit.modulemap; sourceTree = ""; }; - 0B407F20A7D3FC6013236D7F5297804B /* InstagramMedia.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramMedia.h; sourceTree = ""; }; - 0DE31FF179F39845A7F18F0AA6BF7462 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - 0FE9DFF94F98ACAF710CD2D5E99DDCA2 /* UICKeyChainStore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICKeyChainStore-dummy.m"; sourceTree = ""; }; - 146B9F176331766FE891562F361579D2 /* InstagramModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramModel.m; sourceTree = ""; }; - 2098D1D594D0ABCA8E8ED55DEEB65D29 /* Pods-InstagramKit_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-InstagramKit_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 23E0793F8E1D2317E58BB3830DC5AA45 /* UICKeyChainStore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICKeyChainStore-umbrella.h"; sourceTree = ""; }; - 2445494E846C86E1A4E670C1E9CD7477 /* Pods-InstagramKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-InstagramKit_Example-frameworks.sh"; sourceTree = ""; }; - 27D9FA8AFF593CB103DFB2DAAB46A8FD /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; - 2A279675F927308050C9DEDDE384E165 /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; - 2B43E4D672782B2B99951FFBF9BE5E95 /* InstagramKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = InstagramKit.framework; path = InstagramKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2EE86151DDB4673AC62DF164597DA414 /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; - 344DB2E27B38479511E3B523749EFDEB /* InstagramUser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramUser.m; sourceTree = ""; }; - 37E1A7CDF653EF5D3D5F8B98CB0C086F /* InstagramComment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramComment.h; sourceTree = ""; }; - 399C57DCD200414603E77C67EC7591AD /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = ""; }; - 3C61E5E5FEF4604E246B8072BB3DC914 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; - 3F73A5D1A8EC71DBD4164775425D72F1 /* UserInPhoto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UserInPhoto.h; sourceTree = ""; }; - 416AED8D4A1DDFA081EE18344A77E1E4 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 45C509E77067B8D38E7F2BA5A61CA15A /* UICKeyChainStore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UICKeyChainStore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4CFDFE816723318BEDD1EBD3B0527CF9 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; - 4D26DC289D58C8D5C15761A998AE3E72 /* Pods-InstagramKit_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-InstagramKit_Tests-dummy.m"; sourceTree = ""; }; - 4F220C8598D353D57E65EC4041D5B584 /* UICKeyChainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = UICKeyChainStore.m; path = Lib/UICKeyChainStore/UICKeyChainStore.m; sourceTree = ""; }; - 50FE6C009207F7763BCDFAD787F93C1D /* InstagramKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; path = InstagramKit.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 5208023BC664FD495E1D0D1E77BD5F5F /* 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; }; - 57F2331CBE3B8B801BFD9F79BD5D7E74 /* UICKeyChainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UICKeyChainStore.h; path = Lib/UICKeyChainStore/UICKeyChainStore.h; sourceTree = ""; }; - 593D39DF91A4092728D7B74E5995F7BA /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; - 5958E4E3A5A859A7A3B5F44B24A99916 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5AB05EF47586121F44E941DE6FF77F87 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; - 5AB1823E18A4A94F8FD72A3282FCD74F /* 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; }; - 5D0CC4E28E0C772FA299A94FBF613F3D /* UICKeyChainStore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICKeyChainStore-prefix.pch"; sourceTree = ""; }; - 5E0D02A9657FFC0F6064151175FD56EF /* Pods_InstagramKit_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_InstagramKit_Tests.framework; path = "Pods-InstagramKit_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5E59F5E9EC074F86EC6E12B36C850E39 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; - 5FA502B3FA59385960FA044021961CF0 /* Pods-InstagramKit_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-InstagramKit_Tests-resources.sh"; sourceTree = ""; }; - 604D09A8981D843DBE08764FC96BAD32 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; - 6216E73D040785CBF168D4F20D639708 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - 641CA084CB3DBFA072DCA565271F6B30 /* Pods-InstagramKit_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-InstagramKit_Tests-acknowledgements.plist"; sourceTree = ""; }; - 64C852C62C6554B9D158D01002B43E9F /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; - 67DF96198CDF26C77A7EA4E9DAA0161D /* InstagramUser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramUser.h; sourceTree = ""; }; - 6947A5A9C2099906B37CEB81382D7D36 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 6D51C6E0C2B9E28B6ED8BE9135011974 /* UserInPhoto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UserInPhoto.m; sourceTree = ""; }; - 756CDA7AC4FDB98ED7529C257E177147 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 75B2DCE4C2915C2F3898F4B708CDF1E7 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; - 768009AB4949D0F091C650808CF0C7A0 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; - 7BB3615470C8AFB9FDA32527D579B753 /* InstagramPaginationInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramPaginationInfo.h; sourceTree = ""; }; - 815118EEB91D24789E2F3886D2809A89 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AFNetworking.framework; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 84232B2086A35F04D2ABAD501806DBED /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; - 8448E7A217C466CE527A44EC2086887A /* 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; }; - 84FADA847DE43D179B3EF4CD2D5D603A /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; - 8B98617038E0AC76A64B8F398C5ABCCD /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - 8CE256A28D86D931F949BBCAEF62CCAF /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; - 8CE30CCF475A1A236B27769858EBC5AD /* Pods-InstagramKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-InstagramKit_Example-acknowledgements.plist"; sourceTree = ""; }; - 8D5EA1412CDB8ACF48B8255AD3889CB6 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - 8FE5B530FEE7860C9730FD53560F3D07 /* Pods-InstagramKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Example.debug.xcconfig"; sourceTree = ""; }; - 902283E3420CBE52A3AAEA8B49AE26A9 /* UICKeyChainStore.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UICKeyChainStore.xcconfig; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 982E14214B70C3FC00644F67E8C2C1AB /* InstagramLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramLocation.h; sourceTree = ""; }; - 9A49E6C0EF43400ABC515E9F952C2027 /* InstagramKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = InstagramKit.h; path = InstagramKit/Classes/InstagramKit.h; sourceTree = ""; }; - 9B1FC954DBFBACBD6402AB57F5FADBEF /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; - A1BEE16180F4970002A127A12AC068D0 /* InstagramTag.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramTag.h; sourceTree = ""; }; - A2CADD39D969F75A2B4E5B29ABAE6E58 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; - A53B1F99FB7B3DFCA4241F9B15F5896F /* InstagramPaginationInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramPaginationInfo.m; sourceTree = ""; }; - A640F79E2D5F93AE2C6BC0F44E6AF167 /* InstagramEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramEngine.m; sourceTree = ""; }; - A9A6C38D39F0614D499B0E492D8BC4CA /* 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; }; - AA5DAADCC5FA87C7033DAEFCEABF9FD0 /* UICKeyChainStore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = UICKeyChainStore.framework; path = UICKeyChainStore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ACFD778B774BF01BD14EDE8708F4D51C /* InstagramModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramModel.h; sourceTree = ""; }; - ADB3018F1466F3646868216D5575AAAD /* InstagramEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramEngine.h; sourceTree = ""; }; - AE6C7CCF2A6051065C099FE95F6EF895 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; - B10BBE6EB7F30118C405D08960D39F96 /* Pods-InstagramKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Example.release.xcconfig"; sourceTree = ""; }; - B1217ED2D9F07B2B0F9E6668827184E0 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; - B664EE86DCA30E3419CB4FFB0F57A9DF /* InstagramMedia.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramMedia.m; sourceTree = ""; }; - B9E36788D7018892B0AA073C6DFF4097 /* Pods-InstagramKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-InstagramKit_Example.modulemap"; sourceTree = ""; }; - BC83E8C9F8167F3B073DC1D3DBF3559B /* InstagramComment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramComment.m; sourceTree = ""; }; - BC9603F12BF7D9E979BB796C85EF7761 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; - BEBFC23F516DEDC92AFA0F94240529E9 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; - CD39B5366D516EEB17C869334FE12F83 /* Pods-InstagramKit_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-InstagramKit_Example-resources.sh"; sourceTree = ""; }; - CD67F7A5ACA1685FC115A0ED634099D9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CE583AF3865349963D6289B96A1AF6EF /* UICKeyChainStore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = UICKeyChainStore.modulemap; sourceTree = ""; }; - CEA193347F952B7A982C47E0D2D66E72 /* InstagramKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "InstagramKit-umbrella.h"; sourceTree = ""; }; - D02B785194E45B3682D1D26BE6F6376D /* Pods_InstagramKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_InstagramKit_Example.framework; path = "Pods-InstagramKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - D28C66A451DB29C458C038C2FAD99E0C /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; - D551E7FDBB5BA001CE39D38EFEE2C4C3 /* InstagramKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "InstagramKit-prefix.pch"; sourceTree = ""; }; - DC31A72290A2215D14B23286ACBC7A37 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; - DD86FEEEB1BD35811A1608A05B210364 /* Pods-InstagramKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Tests.release.xcconfig"; sourceTree = ""; }; - DF9642DA97D7C804E696213442EA3E51 /* Pods-InstagramKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-InstagramKit_Example-umbrella.h"; sourceTree = ""; }; - E02EB30EADFD6D35AE96CC6DFCC741EE /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - E180D8DA78B9AF83B2614CE9F2227BE4 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; - E50E5A38E52EE31C9AF42CD0CB60FC51 /* InstagramKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = InstagramKit.xcconfig; sourceTree = ""; }; - E5E5EFEDC0B8B52C19EEA245DEFD75B7 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; - E90F045A4777FCB6BC9D9F7B3F929DA4 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; - E917207EFDF6F34DC147ED46C34BB37B /* Pods-InstagramKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-InstagramKit_Example-dummy.m"; sourceTree = ""; }; - EA053EC297DCB58BA71669268A9D1E43 /* InstagramKitConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = InstagramKitConstants.m; path = InstagramKit/Classes/InstagramKitConstants.m; sourceTree = ""; }; - EBD9978CD816B6B6E4C1CE957CD7BAEE /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - EC54C994E1ED00F51C63818CB531A92A /* InstagramKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "InstagramKit-dummy.m"; sourceTree = ""; }; - ECA9D905039CBBF262EEE8B8BC327335 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; - ED3332177AD0D61521FB0963305DA99D /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; - EFC800C2DE3C041C4F566B6AA544B5EE /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; - F08E73A6B696FECA3BE248A5F7A200A0 /* InstagramTag.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramTag.m; sourceTree = ""; }; - F0FE0BB76B6B96F5C4BDF3306D8AF973 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - F320497F520BEFDD0EF14EB9F8ED22A3 /* AFNetworking.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AFNetworking.modulemap; sourceTree = ""; }; - F4DE151FDB8F817165FC778F119C3140 /* Pods-InstagramKit_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-InstagramKit_Tests-frameworks.sh"; sourceTree = ""; }; - F53E9623508233F530ACEEFC369539FF /* 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; }; - F55DA61E81C40BEA31D18FBC9D55A842 /* Pods-InstagramKit_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-InstagramKit_Tests-umbrella.h"; sourceTree = ""; }; - F68D1DFE00BFF01849A4F2507CE259A1 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; - F71A93354AECDA6DFAB187482724DF04 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F8A52277BA1EF71D5C1E6ACA22BC5AFA /* Pods-InstagramKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-InstagramKit_Example-acknowledgements.markdown"; sourceTree = ""; }; - F8A781BF3CC87572606DB2C91E5C2C6B /* Pods-InstagramKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Tests.debug.xcconfig"; sourceTree = ""; }; - FDD31525B1BBA04DA963BE283E665C45 /* InstagramKitConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = InstagramKitConstants.h; path = InstagramKit/Classes/InstagramKitConstants.h; sourceTree = ""; }; - FF1700F2B3BA7BC3B79CA0B85D04D420 /* InstagramLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramLocation.m; sourceTree = ""; }; + 035DBA23E1104D8F7A68B801DF194257 /* InstagramMedia.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramMedia.h; sourceTree = ""; }; + 05C760EEEDF34D2FB4D6F460604FEEE1 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + 08250D28E66031F19A1039BB6BB8E889 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; + 0C135C69E32648DC0BD7C85FC0A8174A /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + 0F49E3E27F80D1AF6F5D7D2431B6F42A /* InstagramKit.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = InstagramKit.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 11E01E167A3CEDCE7C564484E81025A1 /* Pods-InstagramKit_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-InstagramKit_Tests-Info.plist"; sourceTree = ""; }; + 12543020620B1D86290678D448E76CF9 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + 137C7484CEEBC820CF7A6528A4B8E10E /* InstagramKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "InstagramKit-prefix.pch"; sourceTree = ""; }; + 190C52D16A429BAAEE27D7E451324E8D /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + 1AB820A190CFEF882A3BD73DB937D73C /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + 1CE153C8A91658415C674DC67C15AC9C /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + 20C956FB6BF91E21E259DC5D8404B026 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + 25BE95F6EB86E88539EBC31F773A0963 /* UserInPhoto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = UserInPhoto.h; sourceTree = ""; }; + 278D7D5DAF5213151ADC2A22ED77AAE4 /* Pods-InstagramKit_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-InstagramKit_Tests-acknowledgements.plist"; sourceTree = ""; }; + 2C1C0E4A17E7F30938E8672DCB0C8D88 /* Pods-InstagramKit_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Example.release.xcconfig"; sourceTree = ""; }; + 3078836143A05F7676E29185722EFD21 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 33732A056EF7B1C9FED6F1D6D7319E99 /* InstagramKit-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "InstagramKit-Info.plist"; sourceTree = ""; }; + 350221D9E4AF4DB20B9D2987C6DC0DBE /* Pods-InstagramKit_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-InstagramKit_Tests-umbrella.h"; sourceTree = ""; }; + 35CA25F68C2095A51339F23DF3CE58BF /* InstagramTag.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramTag.m; sourceTree = ""; }; + 35EACC15A737340321AF6C9B8AF5B78E /* Pods-InstagramKit_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-InstagramKit_Example-Info.plist"; sourceTree = ""; }; + 3BE3EA3CB37359526EA790F8DF22E9D8 /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + 3BF0E05BF13BA912B018E976D6442776 /* InstagramKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = InstagramKit.release.xcconfig; sourceTree = ""; }; + 3EFC1BF64820C0ACEB6AF0DB3AD73FC3 /* UICKeyChainStore-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "UICKeyChainStore-Info.plist"; sourceTree = ""; }; + 427EAF18DDA438DC84D697188774A1CB /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; + 46950CF28686BAA990F0D05E8AE621E7 /* WKWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "WKWebView+AFNetworking.m"; path = "UIKit+AFNetworking/WKWebView+AFNetworking.m"; sourceTree = ""; }; + 4836B212AE6FA5B54B471CAEFCC12FF8 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = ""; }; + 4C5C26ED3F8D11DE65E41EF3F5AD7125 /* AFNetworking-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "AFNetworking-Info.plist"; sourceTree = ""; }; + 4CA90F2688A9AEA83D2D003BE4FADFB5 /* InstagramPaginationInfo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramPaginationInfo.m; sourceTree = ""; }; + 5C03C2144E3775123DA45A713B9F7964 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 61144C65C98E7B1820E8015201ED77CA /* InstagramEngine.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramEngine.m; sourceTree = ""; }; + 62D34B3515176B88AF8BAD7CB68C9D84 /* InstagramKitConstants.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = InstagramKitConstants.h; path = InstagramKit/Classes/InstagramKitConstants.h; sourceTree = ""; }; + 6356D14478C38940B1216985FA99C109 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + 6683BEA35B451D4CABB36194CC48577A /* UICKeyChainStore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UICKeyChainStore.release.xcconfig; sourceTree = ""; }; + 66CEDF215404D765908222C73220A27C /* WKWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "WKWebView+AFNetworking.h"; path = "UIKit+AFNetworking/WKWebView+AFNetworking.h"; sourceTree = ""; }; + 695C21A9674D7B9D5519BC40C132366C /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; + 6C0FF4E75577D7120BE74201B84F687E /* Pods_InstagramKit_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_InstagramKit_Example.framework; path = "Pods-InstagramKit_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 6C75FC172D98D908D53F579447D10A56 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = ""; }; + 72FB6F2220376807B3B30F1730D19DBE /* InstagramModel.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramModel.m; sourceTree = ""; }; + 730DA0837929E642E42D25B052DDC813 /* InstagramMedia.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramMedia.m; sourceTree = ""; }; + 785AFA110DF380684ABF6B5D4423A3C5 /* InstagramComment.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramComment.h; sourceTree = ""; }; + 788BB3EF0986A8495CF29AE942FD1D8D /* Pods-InstagramKit_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Example.debug.xcconfig"; sourceTree = ""; }; + 7A8356F2FC53CA9D70D41D058B299CDF /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + 7B5E63408DCFDCB7B5D132D0658965D1 /* AFNetworking.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = AFNetworking.modulemap; sourceTree = ""; }; + 7C007740EA434E1AEC54234A09B412A7 /* UICKeyChainStore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = UICKeyChainStore.debug.xcconfig; sourceTree = ""; }; + 7EA348CEEB1BB08092F03EBE7FAEB2FB /* InstagramEngine.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramEngine.h; sourceTree = ""; }; + 7F3278AE43445C7CFAF8CF340C364CE6 /* InstagramUser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramUser.m; sourceTree = ""; }; + 7FBB3C79C334144656824885ADE785A3 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + 82B80829FA4BC9FFD2FDCE9A242913AD /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + 82E49A75F7F47E090181C49E72C2B7A7 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; + 87AD21566A6D5FF3D715824003E11576 /* Pods-InstagramKit_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Tests.debug.xcconfig"; sourceTree = ""; }; + 8C6117B04E98132AD6302430F074CFD6 /* AFNetworking.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.debug.xcconfig; sourceTree = ""; }; + 8D00EFF545CF86BE563E0E316C036F3B /* UICKeyChainStore.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = UICKeyChainStore.modulemap; sourceTree = ""; }; + 8D3EA8893918507F2C6421F56C163A7B /* UICKeyChainStore.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = UICKeyChainStore.m; path = Lib/UICKeyChainStore/UICKeyChainStore.m; sourceTree = ""; }; + 8DEB29F7048ECD1D1D43DC07BA4E9AF9 /* InstagramKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = InstagramKit.h; path = InstagramKit/Classes/InstagramKit.h; sourceTree = ""; }; + 8F26955B2C2BDE6A91A0A80FD41A204B /* Pods-InstagramKit_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-InstagramKit_Example-acknowledgements.plist"; sourceTree = ""; }; + 904A74F29CDAE2B996CD5E94E30B4761 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + 91DE684CC85F1FF04DE52EF7DABBB3B0 /* InstagramKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = InstagramKit.framework; path = InstagramKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 93C514D0A9E6DD3B11DD9E09F1C12B88 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 95B60E9E082E9DDBAFCA74BEE44D4325 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + 9BA496CEB9FC9B44831F82D7FA2D4CDC /* UICKeyChainStore-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICKeyChainStore-dummy.m"; sourceTree = ""; }; + 9D89DB019B311ED3B6F294D15D269C3C /* Pods-InstagramKit_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-InstagramKit_Example-dummy.m"; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9EAF789811A9F1A71F28763646A425F0 /* InstagramPaginationInfo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramPaginationInfo.h; sourceTree = ""; }; + A0A4D131DB063279AE8AF52001C682FE /* UICKeyChainStore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = UICKeyChainStore.framework; path = UICKeyChainStore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A138E749FB9012470AFD96A2B4C59F7E /* Pods-InstagramKit_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-InstagramKit_Tests-acknowledgements.markdown"; sourceTree = ""; }; + A2020360A4064799A9338ADD3312A645 /* Pods-InstagramKit_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-InstagramKit_Example-acknowledgements.markdown"; sourceTree = ""; }; + A4FA15D44DF6BAC7550EDEED10862AA3 /* AFNetworking.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = AFNetworking.framework; path = AFNetworking.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A555CF0A7A70B60A816820F61BE9131C /* AFNetworking.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.release.xcconfig; sourceTree = ""; }; + ABEB2347E2E0AFD0D5E3D4B86F7A63B6 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + ACEED46B73BAA676593440DFA9B05F2B /* UserInPhoto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = UserInPhoto.m; sourceTree = ""; }; + AF30602F7442993ECDC0FBC6D1388F0A /* InstagramKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = InstagramKit.debug.xcconfig; sourceTree = ""; }; + AFEC3C2AF7EE9B941788CE1FBCA3AAA2 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + B15DBA606D1BA0222447EF90F0B294B9 /* InstagramKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "InstagramKit-dummy.m"; sourceTree = ""; }; + B43ED16AD5C841C61970D6F0DBFFAE90 /* InstagramModel.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramModel.h; sourceTree = ""; }; + B8172E5E34E45B0364826E363719FAF8 /* InstagramTag.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramTag.h; sourceTree = ""; }; + B8641DD9D86EB7542A20E7F79CB560DD /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + B8ED6E42C5B7A96D6CB9596B982F50AB /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + B9572E945B91C15D53579D6E60D6ECD6 /* UICKeyChainStore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = UICKeyChainStore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BF98C03E4AAC906263E112557E97AC89 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + C1299657A461A80651C9B93984B61130 /* InstagramComment.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramComment.m; sourceTree = ""; }; + C19F96BCED78366839AF835312DE7FAE /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + C5CFCBABCBC9DB48FA5CE2973CA4EF56 /* InstagramKitConstants.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = InstagramKitConstants.m; path = InstagramKit/Classes/InstagramKitConstants.m; sourceTree = ""; }; + CB37FE1D3E7295DDD0D62EA82E5255D3 /* Pods-InstagramKit_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-InstagramKit_Example-frameworks.sh"; sourceTree = ""; }; + CC1CED66335C686AE33A022CC54963D7 /* InstagramLocation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = InstagramLocation.m; sourceTree = ""; }; + D0E9320FA4BD8EEF2BF574D7A078DCD0 /* InstagramLocation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramLocation.h; sourceTree = ""; }; + D22008F0A75E330A6D4467A228931F3C /* Pods-InstagramKit_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-InstagramKit_Example.modulemap"; sourceTree = ""; }; + D415EB5BC2031D7D2533078D19F062E3 /* UICKeyChainStore-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICKeyChainStore-prefix.pch"; sourceTree = ""; }; + D43630376501BB4634949AB43C9D022F /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + D4BC5389217415FFE9173AFC769DE676 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + D5866AF5CC41D275305BE0A0DF6E9AC0 /* UICKeyChainStore.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = UICKeyChainStore.h; path = Lib/UICKeyChainStore/UICKeyChainStore.h; sourceTree = ""; }; + D9C450A1A1714EF5563EEF0F73606990 /* Pods_InstagramKit_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_InstagramKit_Tests.framework; path = "Pods-InstagramKit_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + DA16AD454608FBB1B4907F9126590FE5 /* InstagramKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = InstagramKit.modulemap; sourceTree = ""; }; + DAD0886392AEF764207D9E8D35223098 /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; + DC2DCBDD40322F57378719D868AB39F6 /* Pods-InstagramKit_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-InstagramKit_Tests.modulemap"; sourceTree = ""; }; + DE89796CD864CB96BD5A3A63DCE93285 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + E0ADEA1A5B2EC1376B292E5709F74BB4 /* AFNetworking-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-umbrella.h"; sourceTree = ""; }; + E62ABE2EE673406389A218263BFB813E /* InstagramUser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = InstagramUser.h; sourceTree = ""; }; + EC7A13D861C8736CF2EC0C3AB72A9AE9 /* Pods-InstagramKit_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-InstagramKit_Example-umbrella.h"; sourceTree = ""; }; + F070DC245432426F201AC0BD5B16F319 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; + F194EC9CA07BA32B17AE8A59A7BC5F9B /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; + F2BC06C9DC3540469CAF179CD730542E /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + F571BA9FAE61601793EF0AF3C362FFE5 /* Pods-InstagramKit_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-InstagramKit_Tests.release.xcconfig"; sourceTree = ""; }; + F94B860FE4A0C1B271C9F3F78266D786 /* Pods-InstagramKit_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-InstagramKit_Tests-dummy.m"; sourceTree = ""; }; + FA8E7058810B6E4676C161379D3BA151 /* InstagramKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "InstagramKit-umbrella.h"; sourceTree = ""; }; + FBA855D4FD05C9475B1F092010C4C396 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + FE0177E9A58C9C52AD2B4A21D390EB1A /* UICKeyChainStore-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICKeyChainStore-umbrella.h"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 1546976F630BC80BA63065D8CC342F26 /* Frameworks */ = { + 35E52DF19D2472BCD91225BAB524DD20 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 701187F974E54C95E029F60FBFFE1EEF /* AFNetworking.framework in Frameworks */, - BE49DAAB4F0863856BA653A0E4EA64B3 /* Foundation.framework in Frameworks */, - F8A2BB1724946AFED7F7ECB33D59E924 /* UICKeyChainStore.framework in Frameworks */, + 9A8393E23E0691CCA16B0DADAAF2A256 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6DE9B3A8689C804A43D970F1265675A4 /* Frameworks */ = { + 35FA7C16D3EBD550B5FEF67C4495568F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 78AC6714960C42CC866222B6D956EDF6 /* CoreGraphics.framework in Frameworks */, - 09EC74E4AFC1D5951D1F80094D06969A /* Foundation.framework in Frameworks */, - 89637BFFD180A1E05F04DAF0CF4A6540 /* MobileCoreServices.framework in Frameworks */, - 6478B0091202F9429D2A61E30BEDA571 /* Security.framework in Frameworks */, - 81ABD96C8FA6FF28CFB2A3A78A6EA560 /* SystemConfiguration.framework in Frameworks */, + 1CCC9123393AC238321A0F0D04C74867 /* AFNetworking.framework in Frameworks */, + 99CC13FF230FEE5D4BA6797BEEC97BE2 /* Foundation.framework in Frameworks */, + A03E883780EDAA275E3555BA23DAEA17 /* UICKeyChainStore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - AF4D4200EB165B5F6454A0F0953D90E5 /* Frameworks */ = { + 75D5F5DE82A2A7BEF7BA4BA967695119 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 72579D349EDF653DC8DF0C844BD7AC5D /* Foundation.framework in Frameworks */, - 9D90EC07FAFDED85EE27781AD8583E98 /* Security.framework in Frameworks */, + 106B07B0762A5E6B3DBCAE13CAC41A09 /* Foundation.framework in Frameworks */, + 199B10758D1EB020DBB6A2EB7D539C43 /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E668DEF778462644478ED0AD148CF67D /* Frameworks */ = { + 8F9BCCCF510F65077210B8D9944565EC /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B006BB812D298D4E02BEFAA9AF3364F /* Foundation.framework in Frameworks */, + 27256E913790A1EC111854E3D10E67F5 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E76E289802CD2C5E6E12CB3E887491E1 /* Frameworks */ = { + A9A33BD8867DAC1906B8B7700BEE44A3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 43DA5C9BFE54E432E93433F43119795F /* Foundation.framework in Frameworks */, + B2FF5C906EFD296E9B6302B49AD8703F /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 09262303B40FF1253A950746D0BA77EE /* UICKeyChainStore */ = { + 031EC55A448F6531131C2320DCB906E3 /* Security */ = { isa = PBXGroup; children = ( - 57F2331CBE3B8B801BFD9F79BD5D7E74 /* UICKeyChainStore.h */, - 4F220C8598D353D57E65EC4041D5B584 /* UICKeyChainStore.m */, - B00C22C2BCD80EA3F71A5E9605D62414 /* Support Files */, + FBA855D4FD05C9475B1F092010C4C396 /* AFSecurityPolicy.h */, + 5C03C2144E3775123DA45A713B9F7964 /* AFSecurityPolicy.m */, ); - name = UICKeyChainStore; - path = UICKeyChainStore; + name = Security; sourceTree = ""; }; - 0F0CAEB6EFAB623E82EF50F605C7345A /* Security */ = { + 0B5501F4368189798B52795AC61BA5D9 /* NSURLSession */ = { isa = PBXGroup; children = ( - 768009AB4949D0F091C650808CF0C7A0 /* AFSecurityPolicy.h */, - BEBFC23F516DEDC92AFA0F94240529E9 /* AFSecurityPolicy.m */, + DAD0886392AEF764207D9E8D35223098 /* AFCompatibilityMacros.h */, + BF98C03E4AAC906263E112557E97AC89 /* AFHTTPSessionManager.h */, + C19F96BCED78366839AF835312DE7FAE /* AFHTTPSessionManager.m */, + B8ED6E42C5B7A96D6CB9596B982F50AB /* AFURLSessionManager.h */, + 0C135C69E32648DC0BD7C85FC0A8174A /* AFURLSessionManager.m */, ); - name = Security; + name = NSURLSession; sourceTree = ""; }; - 0FA82A51C8CD2EF3A4B380EA5F92D9D9 /* Targets Support Files */ = { + 0DBA30238E0A34D694115B6ADADB2B27 /* Support Files */ = { isa = PBXGroup; children = ( - 80D77345591378E3EE9C2F36454BF3B8 /* Pods-InstagramKit_Example */, - FFC9779F3CD8BDF8E5E331ACE261B52F /* Pods-InstagramKit_Tests */, + 8D00EFF545CF86BE563E0E316C036F3B /* UICKeyChainStore.modulemap */, + 9BA496CEB9FC9B44831F82D7FA2D4CDC /* UICKeyChainStore-dummy.m */, + 3EFC1BF64820C0ACEB6AF0DB3AD73FC3 /* UICKeyChainStore-Info.plist */, + D415EB5BC2031D7D2533078D19F062E3 /* UICKeyChainStore-prefix.pch */, + FE0177E9A58C9C52AD2B4A21D390EB1A /* UICKeyChainStore-umbrella.h */, + 7C007740EA434E1AEC54234A09B412A7 /* UICKeyChainStore.debug.xcconfig */, + 6683BEA35B451D4CABB36194CC48577A /* UICKeyChainStore.release.xcconfig */, ); - name = "Targets Support Files"; + name = "Support Files"; + path = "../Target Support Files/UICKeyChainStore"; sourceTree = ""; }; - 297DDBB7EE8DBCA3B8DF7528F4452C1E /* Serialization */ = { + 0EE551F96DD495E48983DB6C88F01371 /* Pods */ = { isa = PBXGroup; children = ( - EBD9978CD816B6B6E4C1CE957CD7BAEE /* AFURLRequestSerialization.h */, - 005A352BE3F4E3AC2F63B6CA3D1B3B48 /* AFURLRequestSerialization.m */, - AE6C7CCF2A6051065C099FE95F6EF895 /* AFURLResponseSerialization.h */, - 0DE31FF179F39845A7F18F0AA6BF7462 /* AFURLResponseSerialization.m */, + 90CC8FD3A8E4D57376CF377ED8233BF7 /* AFNetworking */, + C04951460AC3A105654384D028C7D328 /* UICKeyChainStore */, ); - name = Serialization; + name = Pods; sourceTree = ""; }; - 32DBF49B29F153551FB28D6377085DC2 /* Products */ = { + 24109AF223A457069E22E6A50BF37AF4 /* Development Pods */ = { isa = PBXGroup; children = ( - 815118EEB91D24789E2F3886D2809A89 /* AFNetworking.framework */, - 2B43E4D672782B2B99951FFBF9BE5E95 /* InstagramKit.framework */, - D02B785194E45B3682D1D26BE6F6376D /* Pods_InstagramKit_Example.framework */, - 5E0D02A9657FFC0F6064151175FD56EF /* Pods_InstagramKit_Tests.framework */, - AA5DAADCC5FA87C7033DAEFCEABF9FD0 /* UICKeyChainStore.framework */, + 8139AEF6BB31918F05A792215C4DC3AD /* InstagramKit */, ); - name = Products; + name = "Development Pods"; sourceTree = ""; }; - 4340732BF01A13E97FE658DB085F48D6 /* Support Files */ = { + 27F8769CE136C4107ACA8B6D88D488A5 /* Pods-InstagramKit_Tests */ = { isa = PBXGroup; children = ( - CD67F7A5ACA1685FC115A0ED634099D9 /* Info.plist */, - 0748EE22F704D8C2AD39A3AD0EA3DEB9 /* InstagramKit.modulemap */, - E50E5A38E52EE31C9AF42CD0CB60FC51 /* InstagramKit.xcconfig */, - EC54C994E1ED00F51C63818CB531A92A /* InstagramKit-dummy.m */, - D551E7FDBB5BA001CE39D38EFEE2C4C3 /* InstagramKit-prefix.pch */, - CEA193347F952B7A982C47E0D2D66E72 /* InstagramKit-umbrella.h */, + DC2DCBDD40322F57378719D868AB39F6 /* Pods-InstagramKit_Tests.modulemap */, + A138E749FB9012470AFD96A2B4C59F7E /* Pods-InstagramKit_Tests-acknowledgements.markdown */, + 278D7D5DAF5213151ADC2A22ED77AAE4 /* Pods-InstagramKit_Tests-acknowledgements.plist */, + F94B860FE4A0C1B271C9F3F78266D786 /* Pods-InstagramKit_Tests-dummy.m */, + 11E01E167A3CEDCE7C564484E81025A1 /* Pods-InstagramKit_Tests-Info.plist */, + 350221D9E4AF4DB20B9D2987C6DC0DBE /* Pods-InstagramKit_Tests-umbrella.h */, + 87AD21566A6D5FF3D715824003E11576 /* Pods-InstagramKit_Tests.debug.xcconfig */, + F571BA9FAE61601793EF0AF3C362FFE5 /* Pods-InstagramKit_Tests.release.xcconfig */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/InstagramKit"; + name = "Pods-InstagramKit_Tests"; + path = "Target Support Files/Pods-InstagramKit_Tests"; sourceTree = ""; }; - 49300B683056FECE86D04AACA7EC5F8B /* UIKit */ = { + 44227A6774C157863D9CD2FD449CC6E8 /* Serialization */ = { isa = PBXGroup; children = ( - 2A279675F927308050C9DEDDE384E165 /* AFAutoPurgingImageCache.h */, - 593D39DF91A4092728D7B74E5995F7BA /* AFAutoPurgingImageCache.m */, - ED3332177AD0D61521FB0963305DA99D /* AFImageDownloader.h */, - 9B1FC954DBFBACBD6402AB57F5FADBEF /* AFImageDownloader.m */, - 3C61E5E5FEF4604E246B8072BB3DC914 /* AFNetworkActivityIndicatorManager.h */, - 75B2DCE4C2915C2F3898F4B708CDF1E7 /* AFNetworkActivityIndicatorManager.m */, - 6216E73D040785CBF168D4F20D639708 /* UIActivityIndicatorView+AFNetworking.h */, - 64C852C62C6554B9D158D01002B43E9F /* UIActivityIndicatorView+AFNetworking.m */, - BC9603F12BF7D9E979BB796C85EF7761 /* UIButton+AFNetworking.h */, - E5E5EFEDC0B8B52C19EEA245DEFD75B7 /* UIButton+AFNetworking.m */, - E90F045A4777FCB6BC9D9F7B3F929DA4 /* UIImage+AFNetworking.h */, - ECA9D905039CBBF262EEE8B8BC327335 /* UIImageView+AFNetworking.h */, - 84232B2086A35F04D2ABAD501806DBED /* UIImageView+AFNetworking.m */, - E180D8DA78B9AF83B2614CE9F2227BE4 /* UIKit+AFNetworking.h */, - 84FADA847DE43D179B3EF4CD2D5D603A /* UIProgressView+AFNetworking.h */, - B1217ED2D9F07B2B0F9E6668827184E0 /* UIProgressView+AFNetworking.m */, - 604D09A8981D843DBE08764FC96BAD32 /* UIRefreshControl+AFNetworking.h */, - 4CFDFE816723318BEDD1EBD3B0527CF9 /* UIRefreshControl+AFNetworking.m */, - D28C66A451DB29C458C038C2FAD99E0C /* UIWebView+AFNetworking.h */, - EFC800C2DE3C041C4F566B6AA544B5EE /* UIWebView+AFNetworking.m */, + ABEB2347E2E0AFD0D5E3D4B86F7A63B6 /* AFURLRequestSerialization.h */, + 3BE3EA3CB37359526EA790F8DF22E9D8 /* AFURLRequestSerialization.m */, + AFEC3C2AF7EE9B941788CE1FBCA3AAA2 /* AFURLResponseSerialization.h */, + B8641DD9D86EB7542A20E7F79CB560DD /* AFURLResponseSerialization.m */, ); - name = UIKit; + name = Serialization; sourceTree = ""; }; - 58EE85BE7731CB7786BE8F92022F1AEB /* Support Files */ = { + 5755D7F2CDD6496DB0B9636DA01DF59B /* Targets Support Files */ = { isa = PBXGroup; children = ( - F320497F520BEFDD0EF14EB9F8ED22A3 /* AFNetworking.modulemap */, - 2EE86151DDB4673AC62DF164597DA414 /* AFNetworking.xcconfig */, - A2CADD39D969F75A2B4E5B29ABAE6E58 /* AFNetworking-dummy.m */, - F0FE0BB76B6B96F5C4BDF3306D8AF973 /* AFNetworking-prefix.pch */, - 399C57DCD200414603E77C67EC7591AD /* AFNetworking-umbrella.h */, - 5958E4E3A5A859A7A3B5F44B24A99916 /* Info.plist */, + E444CAE549AECBBD016533CD38D6F5B8 /* Pods-InstagramKit_Example */, + 27F8769CE136C4107ACA8B6D88D488A5 /* Pods-InstagramKit_Tests */, ); - name = "Support Files"; - path = "../Target Support Files/AFNetworking"; + name = "Targets Support Files"; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + 8139AEF6BB31918F05A792215C4DC3AD /* InstagramKit */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - C17D82F9883DE4FE76D3B0B129927B57 /* Development Pods */, - 8C8F5B2E9282D2F242ED3397C0444580 /* Frameworks */, - 901B1ADA507A113C466E957386E1D86B /* Pods */, - 32DBF49B29F153551FB28D6377085DC2 /* Products */, - 0FA82A51C8CD2EF3A4B380EA5F92D9D9 /* Targets Support Files */, + 8DEB29F7048ECD1D1D43DC07BA4E9AF9 /* InstagramKit.h */, + 62D34B3515176B88AF8BAD7CB68C9D84 /* InstagramKitConstants.h */, + C5CFCBABCBC9DB48FA5CE2973CA4EF56 /* InstagramKitConstants.m */, + C7AB58F557F74B5C7C2D1A582395FA62 /* Engine */, + ADB367053BECB79D0732997E07D7BCEA /* Models */, + BDA237B2C723C46DA6859D3FA2A9E177 /* Pod */, + B95F3695A434D1546D1F31A0C10AD184 /* Support Files */, ); + name = InstagramKit; + path = ../..; sourceTree = ""; }; - 80D77345591378E3EE9C2F36454BF3B8 /* Pods-InstagramKit_Example */ = { + 8FC86BFD0D2A8D0905503934FF706115 /* Reachability */ = { isa = PBXGroup; children = ( - F71A93354AECDA6DFAB187482724DF04 /* Info.plist */, - B9E36788D7018892B0AA073C6DFF4097 /* Pods-InstagramKit_Example.modulemap */, - F8A52277BA1EF71D5C1E6ACA22BC5AFA /* Pods-InstagramKit_Example-acknowledgements.markdown */, - 8CE30CCF475A1A236B27769858EBC5AD /* Pods-InstagramKit_Example-acknowledgements.plist */, - E917207EFDF6F34DC147ED46C34BB37B /* Pods-InstagramKit_Example-dummy.m */, - 2445494E846C86E1A4E670C1E9CD7477 /* Pods-InstagramKit_Example-frameworks.sh */, - CD39B5366D516EEB17C869334FE12F83 /* Pods-InstagramKit_Example-resources.sh */, - DF9642DA97D7C804E696213442EA3E51 /* Pods-InstagramKit_Example-umbrella.h */, - 8FE5B530FEE7860C9730FD53560F3D07 /* Pods-InstagramKit_Example.debug.xcconfig */, - B10BBE6EB7F30118C405D08960D39F96 /* Pods-InstagramKit_Example.release.xcconfig */, + DE89796CD864CB96BD5A3A63DCE93285 /* AFNetworkReachabilityManager.h */, + F2BC06C9DC3540469CAF179CD730542E /* AFNetworkReachabilityManager.m */, ); - name = "Pods-InstagramKit_Example"; - path = "Target Support Files/Pods-InstagramKit_Example"; + name = Reachability; sourceTree = ""; }; - 872155F080613D4734092125ED7A30B9 /* Reachability */ = { + 90CC8FD3A8E4D57376CF377ED8233BF7 /* AFNetworking */ = { isa = PBXGroup; children = ( - 5AB05EF47586121F44E941DE6FF77F87 /* AFNetworkReachabilityManager.h */, - 8D5EA1412CDB8ACF48B8255AD3889CB6 /* AFNetworkReachabilityManager.m */, + 82B80829FA4BC9FFD2FDCE9A242913AD /* AFNetworking.h */, + 0B5501F4368189798B52795AC61BA5D9 /* NSURLSession */, + 8FC86BFD0D2A8D0905503934FF706115 /* Reachability */, + 031EC55A448F6531131C2320DCB906E3 /* Security */, + 44227A6774C157863D9CD2FD449CC6E8 /* Serialization */, + 93F78D708543F3D42100E4BEB882B171 /* Support Files */, + B05E086AC92A1E9D9E247E4057508776 /* UIKit */, ); - name = Reachability; + name = AFNetworking; + path = AFNetworking; sourceTree = ""; }; - 8C2D6E962291A7EBF450E308CD2D2300 /* Models */ = { + 93F78D708543F3D42100E4BEB882B171 /* Support Files */ = { isa = PBXGroup; children = ( - 37E1A7CDF653EF5D3D5F8B98CB0C086F /* InstagramComment.h */, - BC83E8C9F8167F3B073DC1D3DBF3559B /* InstagramComment.m */, - 982E14214B70C3FC00644F67E8C2C1AB /* InstagramLocation.h */, - FF1700F2B3BA7BC3B79CA0B85D04D420 /* InstagramLocation.m */, - 0B407F20A7D3FC6013236D7F5297804B /* InstagramMedia.h */, - B664EE86DCA30E3419CB4FFB0F57A9DF /* InstagramMedia.m */, - ACFD778B774BF01BD14EDE8708F4D51C /* InstagramModel.h */, - 146B9F176331766FE891562F361579D2 /* InstagramModel.m */, - 7BB3615470C8AFB9FDA32527D579B753 /* InstagramPaginationInfo.h */, - A53B1F99FB7B3DFCA4241F9B15F5896F /* InstagramPaginationInfo.m */, - A1BEE16180F4970002A127A12AC068D0 /* InstagramTag.h */, - F08E73A6B696FECA3BE248A5F7A200A0 /* InstagramTag.m */, - 67DF96198CDF26C77A7EA4E9DAA0161D /* InstagramUser.h */, - 344DB2E27B38479511E3B523749EFDEB /* InstagramUser.m */, - 3F73A5D1A8EC71DBD4164775425D72F1 /* UserInPhoto.h */, - 6D51C6E0C2B9E28B6ED8BE9135011974 /* UserInPhoto.m */, + 7B5E63408DCFDCB7B5D132D0658965D1 /* AFNetworking.modulemap */, + 6356D14478C38940B1216985FA99C109 /* AFNetworking-dummy.m */, + 4C5C26ED3F8D11DE65E41EF3F5AD7125 /* AFNetworking-Info.plist */, + D4BC5389217415FFE9173AFC769DE676 /* AFNetworking-prefix.pch */, + E0ADEA1A5B2EC1376B292E5709F74BB4 /* AFNetworking-umbrella.h */, + 8C6117B04E98132AD6302430F074CFD6 /* AFNetworking.debug.xcconfig */, + A555CF0A7A70B60A816820F61BE9131C /* AFNetworking.release.xcconfig */, ); - name = Models; - path = InstagramKit/Classes/Models; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - 8C8F5B2E9282D2F242ED3397C0444580 /* Frameworks */ = { + ADB367053BECB79D0732997E07D7BCEA /* Models */ = { isa = PBXGroup; children = ( - 6947A5A9C2099906B37CEB81382D7D36 /* AFNetworking.framework */, - 45C509E77067B8D38E7F2BA5A61CA15A /* UICKeyChainStore.framework */, - B447B356B83C26E88E4C024420720DDC /* iOS */, + 785AFA110DF380684ABF6B5D4423A3C5 /* InstagramComment.h */, + C1299657A461A80651C9B93984B61130 /* InstagramComment.m */, + D0E9320FA4BD8EEF2BF574D7A078DCD0 /* InstagramLocation.h */, + CC1CED66335C686AE33A022CC54963D7 /* InstagramLocation.m */, + 035DBA23E1104D8F7A68B801DF194257 /* InstagramMedia.h */, + 730DA0837929E642E42D25B052DDC813 /* InstagramMedia.m */, + B43ED16AD5C841C61970D6F0DBFFAE90 /* InstagramModel.h */, + 72FB6F2220376807B3B30F1730D19DBE /* InstagramModel.m */, + 9EAF789811A9F1A71F28763646A425F0 /* InstagramPaginationInfo.h */, + 4CA90F2688A9AEA83D2D003BE4FADFB5 /* InstagramPaginationInfo.m */, + B8172E5E34E45B0364826E363719FAF8 /* InstagramTag.h */, + 35CA25F68C2095A51339F23DF3CE58BF /* InstagramTag.m */, + E62ABE2EE673406389A218263BFB813E /* InstagramUser.h */, + 7F3278AE43445C7CFAF8CF340C364CE6 /* InstagramUser.m */, + 25BE95F6EB86E88539EBC31F773A0963 /* UserInPhoto.h */, + ACEED46B73BAA676593440DFA9B05F2B /* UserInPhoto.m */, ); - name = Frameworks; + name = Models; + path = InstagramKit/Classes/Models; sourceTree = ""; }; - 901B1ADA507A113C466E957386E1D86B /* Pods */ = { + B05E086AC92A1E9D9E247E4057508776 /* UIKit */ = { isa = PBXGroup; children = ( - C99DC899DBE4C57305AE302EBEC270FA /* AFNetworking */, - 09262303B40FF1253A950746D0BA77EE /* UICKeyChainStore */, + 427EAF18DDA438DC84D697188774A1CB /* AFAutoPurgingImageCache.h */, + F194EC9CA07BA32B17AE8A59A7BC5F9B /* AFAutoPurgingImageCache.m */, + 95B60E9E082E9DDBAFCA74BEE44D4325 /* AFImageDownloader.h */, + D43630376501BB4634949AB43C9D022F /* AFImageDownloader.m */, + 904A74F29CDAE2B996CD5E94E30B4761 /* AFNetworkActivityIndicatorManager.h */, + 1AB820A190CFEF882A3BD73DB937D73C /* AFNetworkActivityIndicatorManager.m */, + 190C52D16A429BAAEE27D7E451324E8D /* UIActivityIndicatorView+AFNetworking.h */, + 7FBB3C79C334144656824885ADE785A3 /* UIActivityIndicatorView+AFNetworking.m */, + 7A8356F2FC53CA9D70D41D058B299CDF /* UIButton+AFNetworking.h */, + 695C21A9674D7B9D5519BC40C132366C /* UIButton+AFNetworking.m */, + F070DC245432426F201AC0BD5B16F319 /* UIImageView+AFNetworking.h */, + 12543020620B1D86290678D448E76CF9 /* UIImageView+AFNetworking.m */, + 20C956FB6BF91E21E259DC5D8404B026 /* UIKit+AFNetworking.h */, + 08250D28E66031F19A1039BB6BB8E889 /* UIProgressView+AFNetworking.h */, + 82E49A75F7F47E090181C49E72C2B7A7 /* UIProgressView+AFNetworking.m */, + 1CE153C8A91658415C674DC67C15AC9C /* UIRefreshControl+AFNetworking.h */, + 05C760EEEDF34D2FB4D6F460604FEEE1 /* UIRefreshControl+AFNetworking.m */, + 66CEDF215404D765908222C73220A27C /* WKWebView+AFNetworking.h */, + 46950CF28686BAA990F0D05E8AE621E7 /* WKWebView+AFNetworking.m */, ); - name = Pods; + name = UIKit; sourceTree = ""; }; - 98B00416EF15A7BC86557320D0787587 /* NSURLSession */ = { + B1EB6CEC74C086514270256CED4DA76A /* Products */ = { isa = PBXGroup; children = ( - 8CE256A28D86D931F949BBCAEF62CCAF /* AFCompatibilityMacros.h */, - 017C55364EF58D2E3C2F366C5141B5AA /* AFHTTPSessionManager.h */, - DC31A72290A2215D14B23286ACBC7A37 /* AFHTTPSessionManager.m */, - 8B98617038E0AC76A64B8F398C5ABCCD /* AFURLSessionManager.h */, - E02EB30EADFD6D35AE96CC6DFCC741EE /* AFURLSessionManager.m */, + A4FA15D44DF6BAC7550EDEED10862AA3 /* AFNetworking.framework */, + 91DE684CC85F1FF04DE52EF7DABBB3B0 /* InstagramKit.framework */, + 6C0FF4E75577D7120BE74201B84F687E /* Pods_InstagramKit_Example.framework */, + D9C450A1A1714EF5563EEF0F73606990 /* Pods_InstagramKit_Tests.framework */, + A0A4D131DB063279AE8AF52001C682FE /* UICKeyChainStore.framework */, ); - name = NSURLSession; + name = Products; sourceTree = ""; }; - B00C22C2BCD80EA3F71A5E9605D62414 /* Support Files */ = { + B2BFC554251AD73C07DFF4B290E55CA4 /* Frameworks */ = { isa = PBXGroup; children = ( - 756CDA7AC4FDB98ED7529C257E177147 /* Info.plist */, - CE583AF3865349963D6289B96A1AF6EF /* UICKeyChainStore.modulemap */, - 902283E3420CBE52A3AAEA8B49AE26A9 /* UICKeyChainStore.xcconfig */, - 0FE9DFF94F98ACAF710CD2D5E99DDCA2 /* UICKeyChainStore-dummy.m */, - 5D0CC4E28E0C772FA299A94FBF613F3D /* UICKeyChainStore-prefix.pch */, - 23E0793F8E1D2317E58BB3830DC5AA45 /* UICKeyChainStore-umbrella.h */, + 93C514D0A9E6DD3B11DD9E09F1C12B88 /* AFNetworking.framework */, + B9572E945B91C15D53579D6E60D6ECD6 /* UICKeyChainStore.framework */, + CB896D13CF89544B6ACA8B9C50B66683 /* iOS */, ); - name = "Support Files"; - path = "../Target Support Files/UICKeyChainStore"; + name = Frameworks; sourceTree = ""; }; - B0C97C56076580E8751A8E56EC20ECBE /* Engine */ = { + B95F3695A434D1546D1F31A0C10AD184 /* Support Files */ = { isa = PBXGroup; children = ( - ADB3018F1466F3646868216D5575AAAD /* InstagramEngine.h */, - A640F79E2D5F93AE2C6BC0F44E6AF167 /* InstagramEngine.m */, + DA16AD454608FBB1B4907F9126590FE5 /* InstagramKit.modulemap */, + B15DBA606D1BA0222447EF90F0B294B9 /* InstagramKit-dummy.m */, + 33732A056EF7B1C9FED6F1D6D7319E99 /* InstagramKit-Info.plist */, + 137C7484CEEBC820CF7A6528A4B8E10E /* InstagramKit-prefix.pch */, + FA8E7058810B6E4676C161379D3BA151 /* InstagramKit-umbrella.h */, + AF30602F7442993ECDC0FBC6D1388F0A /* InstagramKit.debug.xcconfig */, + 3BF0E05BF13BA912B018E976D6442776 /* InstagramKit.release.xcconfig */, ); - name = Engine; - path = InstagramKit/Classes/Engine; + name = "Support Files"; + path = "Example/Pods/Target Support Files/InstagramKit"; sourceTree = ""; }; - B447B356B83C26E88E4C024420720DDC /* iOS */ = { + BDA237B2C723C46DA6859D3FA2A9E177 /* Pod */ = { isa = PBXGroup; children = ( - 8448E7A217C466CE527A44EC2086887A /* CoreGraphics.framework */, - 5208023BC664FD495E1D0D1E77BD5F5F /* Foundation.framework */, - F53E9623508233F530ACEEFC369539FF /* MobileCoreServices.framework */, - A9A6C38D39F0614D499B0E492D8BC4CA /* Security.framework */, - 5AB1823E18A4A94F8FD72A3282FCD74F /* SystemConfiguration.framework */, + 0F49E3E27F80D1AF6F5D7D2431B6F42A /* InstagramKit.podspec */, + 6C75FC172D98D908D53F579447D10A56 /* LICENSE */, + 4836B212AE6FA5B54B471CAEFCC12FF8 /* README.md */, ); - name = iOS; + name = Pod; sourceTree = ""; }; - B48E641C7617C386C7D2993035D8D69D /* InstagramKit */ = { + C04951460AC3A105654384D028C7D328 /* UICKeyChainStore */ = { isa = PBXGroup; children = ( - 9A49E6C0EF43400ABC515E9F952C2027 /* InstagramKit.h */, - FDD31525B1BBA04DA963BE283E665C45 /* InstagramKitConstants.h */, - EA053EC297DCB58BA71669268A9D1E43 /* InstagramKitConstants.m */, - B0C97C56076580E8751A8E56EC20ECBE /* Engine */, - 8C2D6E962291A7EBF450E308CD2D2300 /* Models */, - D63B65BE170A429BDEE7D1E0AA6DE1BE /* Pod */, - 4340732BF01A13E97FE658DB085F48D6 /* Support Files */, + D5866AF5CC41D275305BE0A0DF6E9AC0 /* UICKeyChainStore.h */, + 8D3EA8893918507F2C6421F56C163A7B /* UICKeyChainStore.m */, + 0DBA30238E0A34D694115B6ADADB2B27 /* Support Files */, ); - name = InstagramKit; - path = ../..; + name = UICKeyChainStore; + path = UICKeyChainStore; sourceTree = ""; }; - C17D82F9883DE4FE76D3B0B129927B57 /* Development Pods */ = { + C7AB58F557F74B5C7C2D1A582395FA62 /* Engine */ = { isa = PBXGroup; children = ( - B48E641C7617C386C7D2993035D8D69D /* InstagramKit */, + 7EA348CEEB1BB08092F03EBE7FAEB2FB /* InstagramEngine.h */, + 61144C65C98E7B1820E8015201ED77CA /* InstagramEngine.m */, ); - name = "Development Pods"; + name = Engine; + path = InstagramKit/Classes/Engine; sourceTree = ""; }; - C99DC899DBE4C57305AE302EBEC270FA /* AFNetworking */ = { + CB896D13CF89544B6ACA8B9C50B66683 /* iOS */ = { isa = PBXGroup; children = ( - F68D1DFE00BFF01849A4F2507CE259A1 /* AFNetworking.h */, - 98B00416EF15A7BC86557320D0787587 /* NSURLSession */, - 872155F080613D4734092125ED7A30B9 /* Reachability */, - 0F0CAEB6EFAB623E82EF50F605C7345A /* Security */, - 297DDBB7EE8DBCA3B8DF7528F4452C1E /* Serialization */, - 58EE85BE7731CB7786BE8F92022F1AEB /* Support Files */, - 49300B683056FECE86D04AACA7EC5F8B /* UIKit */, + C3D6BFEDAF90D318877597B8E88591FF /* Foundation.framework */, + 3078836143A05F7676E29185722EFD21 /* Security.framework */, ); - name = AFNetworking; - path = AFNetworking; + name = iOS; sourceTree = ""; }; - D63B65BE170A429BDEE7D1E0AA6DE1BE /* Pod */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 50FE6C009207F7763BCDFAD787F93C1D /* InstagramKit.podspec */, - 27D9FA8AFF593CB103DFB2DAAB46A8FD /* LICENSE */, - 5E59F5E9EC074F86EC6E12B36C850E39 /* README.md */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + 24109AF223A457069E22E6A50BF37AF4 /* Development Pods */, + B2BFC554251AD73C07DFF4B290E55CA4 /* Frameworks */, + 0EE551F96DD495E48983DB6C88F01371 /* Pods */, + B1EB6CEC74C086514270256CED4DA76A /* Products */, + 5755D7F2CDD6496DB0B9636DA01DF59B /* Targets Support Files */, ); - name = Pod; sourceTree = ""; }; - FFC9779F3CD8BDF8E5E331ACE261B52F /* Pods-InstagramKit_Tests */ = { + E444CAE549AECBBD016533CD38D6F5B8 /* Pods-InstagramKit_Example */ = { isa = PBXGroup; children = ( - 416AED8D4A1DDFA081EE18344A77E1E4 /* Info.plist */, - 064EBE28C4F60CF2D13BEFDE66C9A2B0 /* Pods-InstagramKit_Tests.modulemap */, - 2098D1D594D0ABCA8E8ED55DEEB65D29 /* Pods-InstagramKit_Tests-acknowledgements.markdown */, - 641CA084CB3DBFA072DCA565271F6B30 /* Pods-InstagramKit_Tests-acknowledgements.plist */, - 4D26DC289D58C8D5C15761A998AE3E72 /* Pods-InstagramKit_Tests-dummy.m */, - F4DE151FDB8F817165FC778F119C3140 /* Pods-InstagramKit_Tests-frameworks.sh */, - 5FA502B3FA59385960FA044021961CF0 /* Pods-InstagramKit_Tests-resources.sh */, - F55DA61E81C40BEA31D18FBC9D55A842 /* Pods-InstagramKit_Tests-umbrella.h */, - F8A781BF3CC87572606DB2C91E5C2C6B /* Pods-InstagramKit_Tests.debug.xcconfig */, - DD86FEEEB1BD35811A1608A05B210364 /* Pods-InstagramKit_Tests.release.xcconfig */, + D22008F0A75E330A6D4467A228931F3C /* Pods-InstagramKit_Example.modulemap */, + A2020360A4064799A9338ADD3312A645 /* Pods-InstagramKit_Example-acknowledgements.markdown */, + 8F26955B2C2BDE6A91A0A80FD41A204B /* Pods-InstagramKit_Example-acknowledgements.plist */, + 9D89DB019B311ED3B6F294D15D269C3C /* Pods-InstagramKit_Example-dummy.m */, + CB37FE1D3E7295DDD0D62EA82E5255D3 /* Pods-InstagramKit_Example-frameworks.sh */, + 35EACC15A737340321AF6C9B8AF5B78E /* Pods-InstagramKit_Example-Info.plist */, + EC7A13D861C8736CF2EC0C3AB72A9AE9 /* Pods-InstagramKit_Example-umbrella.h */, + 788BB3EF0986A8495CF29AE942FD1D8D /* Pods-InstagramKit_Example.debug.xcconfig */, + 2C1C0E4A17E7F30938E8672DCB0C8D88 /* Pods-InstagramKit_Example.release.xcconfig */, ); - name = "Pods-InstagramKit_Tests"; - path = "Target Support Files/Pods-InstagramKit_Tests"; + name = "Pods-InstagramKit_Example"; + path = "Target Support Files/Pods-InstagramKit_Example"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 437E0B8BDA100834FD20877E5FCDC59D /* Headers */ = { + 717A4BFC737715F8A82994CB0659350C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 4AA21F40697CB42D7D219ACEDE4FBFCF /* AFAutoPurgingImageCache.h in Headers */, - 9898B13B5771AC304E096319E72F8098 /* AFCompatibilityMacros.h in Headers */, - B086C8017A694E281B3F30DCCE8FA588 /* AFHTTPSessionManager.h in Headers */, - F54879EEAE223E90AC9674197E6B1ADE /* AFImageDownloader.h in Headers */, - 9AC1064802A4D107353A87F2B4A963B0 /* AFNetworkActivityIndicatorManager.h in Headers */, - 5BFE1CC79F693B6218B419AE50B2070E /* AFNetworking-umbrella.h in Headers */, - 3DDB894364CEC991E61B04E9036D6D54 /* AFNetworking.h in Headers */, - 8D9636C74777C684BDF312EE66F8A585 /* AFNetworkReachabilityManager.h in Headers */, - 04F3BBE71B24770E40CC66A993AD85D1 /* AFSecurityPolicy.h in Headers */, - F26CD9A1DF452688BF3C98BBA9090F92 /* AFURLRequestSerialization.h in Headers */, - CA0D37AE5433954573D3E37771CDDBFA /* AFURLResponseSerialization.h in Headers */, - C12BAA822391D670C53FF0C2299654AD /* AFURLSessionManager.h in Headers */, - AD868043328B2125E27A5DC14D11958F /* UIActivityIndicatorView+AFNetworking.h in Headers */, - 0ACBBA158F4635FAE16AB5456ABADCA4 /* UIButton+AFNetworking.h in Headers */, - F1199E40BF416FC1ACA2DDCD7B2E23A1 /* UIImage+AFNetworking.h in Headers */, - A5B069CA1170E03891AC5648DE5CF87D /* UIImageView+AFNetworking.h in Headers */, - ADD011E9ABBD96D70AAA32A4B9ACBD02 /* UIKit+AFNetworking.h in Headers */, - 63BA6FBA10304F4828DE97C0FA63ED9D /* UIProgressView+AFNetworking.h in Headers */, - 86EA527BA1862E06A8E19E0960C66E7E /* UIRefreshControl+AFNetworking.h in Headers */, - 15F6265FCE0955CDB4967F7306407D67 /* UIWebView+AFNetworking.h in Headers */, + B4B5CF042BFAF519B3D5C9F0ADC88A8D /* Pods-InstagramKit_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4CAFD38C94E2116EAA64F05ACA9EE443 /* Headers */ = { + 7F066DB0BCD23BB06C4D5ED04BC5545A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 778CFEA19B134DCB8FF1E996FA01919D /* UICKeyChainStore-umbrella.h in Headers */, - 9E7F946A741B3C8546C56ADE3C24F503 /* UICKeyChainStore.h in Headers */, + B78A1C3AC16A316329B64CFB24969D44 /* Pods-InstagramKit_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 923C31BBBC42E622021E61FBF8D5C53C /* Headers */ = { + B3FF5F0A5448A70C6BDA6A08BD4036BE /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5FC2483E8E43E8485DA5BB302B4E6295 /* Pods-InstagramKit_Example-umbrella.h in Headers */, + C9E9E5716A981D6C5B657945CFFD9175 /* InstagramComment.h in Headers */, + 58E7569EE1CDD61DF96C0407CAE158DC /* InstagramEngine.h in Headers */, + F4727665B94936669FDE39F5160CF147 /* InstagramKit-umbrella.h in Headers */, + 4E7BCCE9688FDD52203D010BA2C023E1 /* InstagramKit.h in Headers */, + 25992733057DB926EB3D3AE12CD49642 /* InstagramKitConstants.h in Headers */, + 3A7898061E2CA70266DF92EAC83C5EEC /* InstagramLocation.h in Headers */, + 8EBC6300D39B54FA89CA04F9C227B64B /* InstagramMedia.h in Headers */, + A1ED0E61FBAD03E10868DEB7DD6F20F0 /* InstagramModel.h in Headers */, + A402AA30B4BEF3E783433BD0156EF86F /* InstagramPaginationInfo.h in Headers */, + 49231AE9AC047029148446CA7112886E /* InstagramTag.h in Headers */, + 77D396487A48D18212892AA409B646C2 /* InstagramUser.h in Headers */, + 62D9095DC501B61A61EC8CC4869D700B /* UserInPhoto.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - E46BAC0E2CA41A5AF609CA3E4D3C1FFA /* Headers */ = { + B9ECBAE3144164158FDC62D90C3CEFDB /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7ED0C76E5BECFED77B62EF50B9C5A8EA /* InstagramComment.h in Headers */, - A851477CDDAE19B78F0166D7C82597A0 /* InstagramEngine.h in Headers */, - 97042668AACEF85F8CDB244CF8572B23 /* InstagramKit-umbrella.h in Headers */, - 31A3C2891B88696C961BBD8149FA7D80 /* InstagramKit.h in Headers */, - 8ACBF93AB961072994E733E0012D24BD /* InstagramKitConstants.h in Headers */, - C350F162DBA6C343EAE486DA6AA0214A /* InstagramLocation.h in Headers */, - EB954BC511E4C67A675E757558F90078 /* InstagramMedia.h in Headers */, - 8C99721C362D4A57F06E4F10C1D9E913 /* InstagramModel.h in Headers */, - BE043820328744DAD23D8A4627510D33 /* InstagramPaginationInfo.h in Headers */, - A5B04FAB38857EA5CDB2DA955A8A9EDE /* InstagramTag.h in Headers */, - 51FDCEB8A14E3135DC179ACBE25F3B8D /* InstagramUser.h in Headers */, - 85F1A39790E42FF86DE549850D4B5315 /* UserInPhoto.h in Headers */, + 6EE482EF823C5090378A600998A120F9 /* AFAutoPurgingImageCache.h in Headers */, + F4352388490E70C1CF187D93E390FB2A /* AFCompatibilityMacros.h in Headers */, + C9F701A2E6208D9E840E7A91287F21B9 /* AFHTTPSessionManager.h in Headers */, + B4658F8495B18BD4EB5D893CAFF3BBBC /* AFImageDownloader.h in Headers */, + 722EC0191A173ECB2121618467D32DF4 /* AFNetworkActivityIndicatorManager.h in Headers */, + 08D5C0606D6FBFB4877FC3C3FF4A2208 /* AFNetworking-umbrella.h in Headers */, + D66716504D475B6377F7DD5C7C2BBCDE /* AFNetworking.h in Headers */, + 163B07BE98EAA270AF0A7AA82F84208E /* AFNetworkReachabilityManager.h in Headers */, + AECFCA2598AABAEB044F6C4594F3222F /* AFSecurityPolicy.h in Headers */, + 2657AB4F1D04803DABFE7DDF80C0EF7F /* AFURLRequestSerialization.h in Headers */, + 8D060BB549FA8C46C8A5E230C7E00CFE /* AFURLResponseSerialization.h in Headers */, + A7E6C236F5C97B35484B553454B609B0 /* AFURLSessionManager.h in Headers */, + E8EB9F2CFC54AFE86B618DB528647311 /* UIActivityIndicatorView+AFNetworking.h in Headers */, + 40426F061CD9B0B435C690CAFEA2BD00 /* UIButton+AFNetworking.h in Headers */, + F191431A32F803DC12F12EF3B4D984BD /* UIImageView+AFNetworking.h in Headers */, + 4FCA4E8703DBF3D3FB7D5BA06229159D /* UIKit+AFNetworking.h in Headers */, + 3CA0C9185ED4469D427AA53B26E1B18F /* UIProgressView+AFNetworking.h in Headers */, + 2AB5C7D99BD529942B2C81AB0CD8A600 /* UIRefreshControl+AFNetworking.h in Headers */, + 07E08C56386C02093F27CF28E4D01F11 /* WKWebView+AFNetworking.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - F9FF29F473AB25A67A4EC58F25C662B6 /* Headers */ = { + CD08E90781E5FD613A711B77760A53DA /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 6310D266B937ED6DD52CF1A6FB4D65B9 /* Pods-InstagramKit_Tests-umbrella.h in Headers */, + F033872AED5C2158C9688D1AAFFA871F /* UICKeyChainStore-umbrella.h in Headers */, + A8CDF04C28DD114BDC1A9602B45335F2 /* UICKeyChainStore.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 0075049FF20DE833A71259ED1C7D429B /* Pods-InstagramKit_Example */ = { + 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */ = { isa = PBXNativeTarget; - buildConfigurationList = 6DA924796E306D5F0AFB3095C96BFC49 /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Example" */; + buildConfigurationList = D4A4B40CB38ADC88749D1E1C8A945364 /* Build configuration list for PBXNativeTarget "AFNetworking" */; buildPhases = ( - 0F782E25FC842C688FC7F3DC6E66177C /* Sources */, - E76E289802CD2C5E6E12CB3E887491E1 /* Frameworks */, - 923C31BBBC42E622021E61FBF8D5C53C /* Headers */, + B9ECBAE3144164158FDC62D90C3CEFDB /* Headers */, + 6F66130117A5CA2EFE69F1739F512499 /* Sources */, + 8F9BCCCF510F65077210B8D9944565EC /* Frameworks */, + 5AAFF4E9A7FD5CC955CC94BDE27FBA95 /* Resources */, ); buildRules = ( ); dependencies = ( - 67D95028C343B8E0509BC546897A3B2B /* PBXTargetDependency */, - E99E577F709139F47D04235757E0CA8D /* PBXTargetDependency */, - 3F741D0C55710D91D7EABC2198B286AC /* PBXTargetDependency */, ); - name = "Pods-InstagramKit_Example"; - productName = "Pods-InstagramKit_Example"; - productReference = D02B785194E45B3682D1D26BE6F6376D /* Pods_InstagramKit_Example.framework */; + name = AFNetworking; + productName = AFNetworking; + productReference = A4FA15D44DF6BAC7550EDEED10862AA3 /* AFNetworking.framework */; productType = "com.apple.product-type.framework"; }; - A59BC18054BA8C967F8E1F05C8E86B80 /* UICKeyChainStore */ = { + 7406ECC476A62C8FA502AD0E8D1240BE /* UICKeyChainStore */ = { isa = PBXNativeTarget; - buildConfigurationList = 46D46F42BA0AFB2872CBBD380742FC91 /* Build configuration list for PBXNativeTarget "UICKeyChainStore" */; + buildConfigurationList = 1E52EA98CB7DA9F36BAE4DFF567B3260 /* Build configuration list for PBXNativeTarget "UICKeyChainStore" */; buildPhases = ( - 555391932CDDCCD3ABB6152C555E1472 /* Sources */, - AF4D4200EB165B5F6454A0F0953D90E5 /* Frameworks */, - 4CAFD38C94E2116EAA64F05ACA9EE443 /* Headers */, + CD08E90781E5FD613A711B77760A53DA /* Headers */, + 1904962C21962B9EF782D52C8B518EAD /* Sources */, + 75D5F5DE82A2A7BEF7BA4BA967695119 /* Frameworks */, + 9113B4D6FD3BEF74D1581CBB2F690C70 /* Resources */, ); buildRules = ( ); @@ -705,199 +693,253 @@ ); name = UICKeyChainStore; productName = UICKeyChainStore; - productReference = AA5DAADCC5FA87C7033DAEFCEABF9FD0 /* UICKeyChainStore.framework */; + productReference = A0A4D131DB063279AE8AF52001C682FE /* UICKeyChainStore.framework */; productType = "com.apple.product-type.framework"; }; - CE89033960EF5D490E2548ABE897E4EB /* InstagramKit */ = { + A1F34DD05373B964463FC4CAC3740DDC /* Pods-InstagramKit_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 9A302B2144FC8CB9120FE8DFE1FECCDB /* Build configuration list for PBXNativeTarget "InstagramKit" */; + buildConfigurationList = BA15E60A56A719D32404C4516ADE2C0D /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Example" */; buildPhases = ( - 18BE1131D2BA20179820B153D0823415 /* Sources */, - 1546976F630BC80BA63065D8CC342F26 /* Frameworks */, - E46BAC0E2CA41A5AF609CA3E4D3C1FFA /* Headers */, + 7F066DB0BCD23BB06C4D5ED04BC5545A /* Headers */, + 0EFF482125C30164AE98E923D6310A13 /* Sources */, + 35E52DF19D2472BCD91225BAB524DD20 /* Frameworks */, + 2B6E9E24F346C0F2458B4663D9B36148 /* Resources */, ); buildRules = ( ); dependencies = ( - E73E9A69B1DF196D14CA5C0B5D616658 /* PBXTargetDependency */, - 3EEE0F735F68B24517CFBEDCD320041F /* PBXTargetDependency */, + 5E0BAF4CC7B5BBA3AEFBE13DE02C2083 /* PBXTargetDependency */, + CB14278691FCFB92E6BA0439D8D9B06E /* PBXTargetDependency */, + 3D9D718CD82BA78B6A967669FF1D7982 /* PBXTargetDependency */, ); - name = InstagramKit; - productName = InstagramKit; - productReference = 2B43E4D672782B2B99951FFBF9BE5E95 /* InstagramKit.framework */; + name = "Pods-InstagramKit_Example"; + productName = "Pods-InstagramKit_Example"; + productReference = 6C0FF4E75577D7120BE74201B84F687E /* Pods_InstagramKit_Example.framework */; productType = "com.apple.product-type.framework"; }; - F4160500DCEA3DA3E93FBA579E88CA0A /* AFNetworking */ = { + D05F43756ED68A955799503E2F772F5F /* InstagramKit */ = { isa = PBXNativeTarget; - buildConfigurationList = 25909703FE8BF472066161C98342A956 /* Build configuration list for PBXNativeTarget "AFNetworking" */; + buildConfigurationList = 24EFB1470DC3FD5C62BE09ACD68D2108 /* Build configuration list for PBXNativeTarget "InstagramKit" */; buildPhases = ( - 4CC771DB3008E2E9E454A6212D41A5E9 /* Sources */, - 6DE9B3A8689C804A43D970F1265675A4 /* Frameworks */, - 437E0B8BDA100834FD20877E5FCDC59D /* Headers */, + B3FF5F0A5448A70C6BDA6A08BD4036BE /* Headers */, + 30755DE0733B32F8210B1A62FDFA8E29 /* Sources */, + 35FA7C16D3EBD550B5FEF67C4495568F /* Frameworks */, + 4D840E381E972EF6FB744FB0B87C014B /* Resources */, ); buildRules = ( ); dependencies = ( + AC984E3DACDD16A3F3483CB8337B2D97 /* PBXTargetDependency */, + 4E79D2D5BDFA51149514E995F0AE5991 /* PBXTargetDependency */, ); - name = AFNetworking; - productName = AFNetworking; - productReference = 815118EEB91D24789E2F3886D2809A89 /* AFNetworking.framework */; + name = InstagramKit; + productName = InstagramKit; + productReference = 91DE684CC85F1FF04DE52EF7DABBB3B0 /* InstagramKit.framework */; productType = "com.apple.product-type.framework"; }; - FF3D04B91A8AC9878D6284FABA6C444B /* Pods-InstagramKit_Tests */ = { + D642C40A3132DEA6A97C4BFB5B7692A1 /* Pods-InstagramKit_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 383A8ABBCA8841A50135729B6A82CCC2 /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Tests" */; + buildConfigurationList = 0B8313BE24672DBE9736FD1196CE949E /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Tests" */; buildPhases = ( - 985D4BBB5FE0A0AB394C5520D39DFF71 /* Sources */, - E668DEF778462644478ED0AD148CF67D /* Frameworks */, - F9FF29F473AB25A67A4EC58F25C662B6 /* Headers */, + 717A4BFC737715F8A82994CB0659350C /* Headers */, + 70C4E0C283E00862F7A692761CFC2CD7 /* Sources */, + A9A33BD8867DAC1906B8B7700BEE44A3 /* Frameworks */, + 0E85E5107F6202B860C388B4E8D4D60E /* Resources */, ); buildRules = ( ); dependencies = ( + 3AC35AEFD8B95EBAEFCAB9F54FF8480F /* PBXTargetDependency */, ); name = "Pods-InstagramKit_Tests"; productName = "Pods-InstagramKit_Tests"; - productReference = 5E0D02A9657FFC0F6064151175FD56EF /* Pods_InstagramKit_Tests.framework */; + productReference = D9C450A1A1714EF5563EEF0F73606990 /* Pods_InstagramKit_Tests.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0930; - LastUpgradeCheck = 0930; + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 32DBF49B29F153551FB28D6377085DC2 /* Products */; + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = B1EB6CEC74C086514270256CED4DA76A /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - F4160500DCEA3DA3E93FBA579E88CA0A /* AFNetworking */, - CE89033960EF5D490E2548ABE897E4EB /* InstagramKit */, - 0075049FF20DE833A71259ED1C7D429B /* Pods-InstagramKit_Example */, - FF3D04B91A8AC9878D6284FABA6C444B /* Pods-InstagramKit_Tests */, - A59BC18054BA8C967F8E1F05C8E86B80 /* UICKeyChainStore */, + 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */, + D05F43756ED68A955799503E2F772F5F /* InstagramKit */, + A1F34DD05373B964463FC4CAC3740DDC /* Pods-InstagramKit_Example */, + D642C40A3132DEA6A97C4BFB5B7692A1 /* Pods-InstagramKit_Tests */, + 7406ECC476A62C8FA502AD0E8D1240BE /* UICKeyChainStore */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 0E85E5107F6202B860C388B4E8D4D60E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 2B6E9E24F346C0F2458B4663D9B36148 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 4D840E381E972EF6FB744FB0B87C014B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 5AAFF4E9A7FD5CC955CC94BDE27FBA95 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9113B4D6FD3BEF74D1581CBB2F690C70 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ - 0F782E25FC842C688FC7F3DC6E66177C /* Sources */ = { + 0EFF482125C30164AE98E923D6310A13 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 97F18E83FFF07AC61626F9A0CA04637D /* Pods-InstagramKit_Example-dummy.m in Sources */, + F5CDCAFB14ED6CCD4C24D381E71CA77B /* Pods-InstagramKit_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 18BE1131D2BA20179820B153D0823415 /* Sources */ = { + 1904962C21962B9EF782D52C8B518EAD /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9A2E4010684274F5907611B532D27D22 /* InstagramComment.m in Sources */, - C452B90B4776A0B0D4E1AE1226E45F30 /* InstagramEngine.m in Sources */, - 91DF45A3E664CF79C41C8DF9D0452661 /* InstagramKit-dummy.m in Sources */, - C65A31473D9F06BB0C367C085E405389 /* InstagramKitConstants.m in Sources */, - E6964B3F4D41F8594D02981DC7F34191 /* InstagramLocation.m in Sources */, - C061936DAC4B6DD98704F8E023FDE0FF /* InstagramMedia.m in Sources */, - 09E4E3A4DB88594A9C56ED6B8C92D8EA /* InstagramModel.m in Sources */, - 3904E9E354B6D4BD03A02AAF1B39FD0A /* InstagramPaginationInfo.m in Sources */, - 7271259EC04494790B6BCB7FBBC185A0 /* InstagramTag.m in Sources */, - 745A2B6FD3D23113FBD782186A9D750E /* InstagramUser.m in Sources */, - F543463D4348BE71E8B9AC9D3683407E /* UserInPhoto.m in Sources */, + 0AE55CDE3702B4B9F899C34137B1E006 /* UICKeyChainStore-dummy.m in Sources */, + 30E7EC0A6CE39F0E3EA993D8BD2FDF53 /* UICKeyChainStore.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 4CC771DB3008E2E9E454A6212D41A5E9 /* Sources */ = { + 30755DE0733B32F8210B1A62FDFA8E29 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7099E4035C06D3116DA2586EFE563C0B /* AFAutoPurgingImageCache.m in Sources */, - 939EF882233B22D0321A70F6DADED11F /* AFHTTPSessionManager.m in Sources */, - B46FE8C00C2CDDE0B4790FFD3DC961A4 /* AFImageDownloader.m in Sources */, - EA23726556D213DB485BD1791C7164CF /* AFNetworkActivityIndicatorManager.m in Sources */, - 4C321BA8844AA4C44D4416CC6948DF2B /* AFNetworking-dummy.m in Sources */, - A12A3BC640B690479F345A49C6C48209 /* AFNetworkReachabilityManager.m in Sources */, - F30950E63F3D8D6C07FFB50C5971116E /* AFSecurityPolicy.m in Sources */, - E5CD5C797956697DDCC98A3EAC7E99E3 /* AFURLRequestSerialization.m in Sources */, - 3C9E113B7712442B4BCB59AB7EEC2085 /* AFURLResponseSerialization.m in Sources */, - 4C5DA96F7CAC26975EEEBD7450FF214D /* AFURLSessionManager.m in Sources */, - C257BE809D4C4357A8EB7118960E3143 /* UIActivityIndicatorView+AFNetworking.m in Sources */, - 8A1EB96C607F92E8AA20676F9A4BC7D9 /* UIButton+AFNetworking.m in Sources */, - 6AB8F78680B3470391219F11D51A1DE7 /* UIImageView+AFNetworking.m in Sources */, - 6595C6295B9EBBF40751A376239681FD /* UIProgressView+AFNetworking.m in Sources */, - 4AA3A9FC9AAD94C226CA975946C9395B /* UIRefreshControl+AFNetworking.m in Sources */, - 3345805C0D8E8D0726F7E5981DA61A5F /* UIWebView+AFNetworking.m in Sources */, + 55A49FB7CCED067ED5B21759099178D8 /* InstagramComment.m in Sources */, + 872175D4EEA36373E6928F944CDF2C2F /* InstagramEngine.m in Sources */, + D675B0D4FE5D4BAAFE4315EDB8136BA2 /* InstagramKit-dummy.m in Sources */, + F69F10E8221CB843CFEE61C18D0496FE /* InstagramKitConstants.m in Sources */, + 712873D70CAC4609419F5BFE35B8E873 /* InstagramLocation.m in Sources */, + 18E7A6F327BBA0CD67EBD3ECCF0E28A5 /* InstagramMedia.m in Sources */, + 344260EAE443295D36B0A576BAC48B7F /* InstagramModel.m in Sources */, + 4FC28B57A6DF181D7F6F67ABD7A0EB61 /* InstagramPaginationInfo.m in Sources */, + 4C1D49A1D681895B87DA3B76DDD33BD3 /* InstagramTag.m in Sources */, + 1E292A000DE5EDC9EF1C3B872A421FFE /* InstagramUser.m in Sources */, + 54EDA48B8189B642A4F74D6476738AED /* UserInPhoto.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 555391932CDDCCD3ABB6152C555E1472 /* Sources */ = { + 6F66130117A5CA2EFE69F1739F512499 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 074B70E6AEF1852284EFBFEC587ADC47 /* UICKeyChainStore-dummy.m in Sources */, - 764FC16C416A51E94FCFA64FC1CFA314 /* UICKeyChainStore.m in Sources */, + 4992259A954F174FA8BDB394DB1C8F93 /* AFAutoPurgingImageCache.m in Sources */, + 8CE480485EFF2F15B7A394C90CFF274A /* AFHTTPSessionManager.m in Sources */, + B83B1CA17424975882DA1066536E112B /* AFImageDownloader.m in Sources */, + 9D3A67B86C6A3A1339783953B3E833B9 /* AFNetworkActivityIndicatorManager.m in Sources */, + 3EB561D79F76C06AA538872D6302D35D /* AFNetworking-dummy.m in Sources */, + 2E7446308877A2FA6F48A7E545FFB1B1 /* AFNetworkReachabilityManager.m in Sources */, + A6DE5A1B478949FE0444318D47C1A9CC /* AFSecurityPolicy.m in Sources */, + BBFB85B525E1E77FCB19C84D911205D8 /* AFURLRequestSerialization.m in Sources */, + 828919193B61FC103B8846F54EF3131C /* AFURLResponseSerialization.m in Sources */, + 76536A816A576F08FADD3366A2E40094 /* AFURLSessionManager.m in Sources */, + FDA522B328C907FBF9B11C64C1A7C624 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + 38B57953D8705FA2092852071CD3A462 /* UIButton+AFNetworking.m in Sources */, + 232B2E8F32708EF2D85000B997FB69A2 /* UIImageView+AFNetworking.m in Sources */, + 02937E01710489D6668D0C3700E8EADA /* UIProgressView+AFNetworking.m in Sources */, + 01BEB06B4E262DCEA7A94F4206311BF9 /* UIRefreshControl+AFNetworking.m in Sources */, + 951B6669114E3C8D2E4961AFE2BB6647 /* WKWebView+AFNetworking.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 985D4BBB5FE0A0AB394C5520D39DFF71 /* Sources */ = { + 70C4E0C283E00862F7A692761CFC2CD7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5A601C1B0C28EA2848E133205B1E9EDA /* Pods-InstagramKit_Tests-dummy.m in Sources */, + 03DE189AC46833C3D8E1045800C00FBA /* Pods-InstagramKit_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 3EEE0F735F68B24517CFBEDCD320041F /* PBXTargetDependency */ = { + 3AC35AEFD8B95EBAEFCAB9F54FF8480F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "Pods-InstagramKit_Example"; + target = A1F34DD05373B964463FC4CAC3740DDC /* Pods-InstagramKit_Example */; + targetProxy = 5EFEE5794930776013BEB7FE04007608 /* PBXContainerItemProxy */; + }; + 3D9D718CD82BA78B6A967669FF1D7982 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = UICKeyChainStore; - target = A59BC18054BA8C967F8E1F05C8E86B80 /* UICKeyChainStore */; - targetProxy = 7AC060602F90906BACDECFA934643210 /* PBXContainerItemProxy */; + target = 7406ECC476A62C8FA502AD0E8D1240BE /* UICKeyChainStore */; + targetProxy = 46F49BE1906C6ECB3245E97E0B5998A9 /* PBXContainerItemProxy */; }; - 3F741D0C55710D91D7EABC2198B286AC /* PBXTargetDependency */ = { + 4E79D2D5BDFA51149514E995F0AE5991 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = UICKeyChainStore; - target = A59BC18054BA8C967F8E1F05C8E86B80 /* UICKeyChainStore */; - targetProxy = 9DFEE323FCD7EEDE509153E48F69194D /* PBXContainerItemProxy */; + target = 7406ECC476A62C8FA502AD0E8D1240BE /* UICKeyChainStore */; + targetProxy = B00604F590E4C8D5B2AD6FDB599E6643 /* PBXContainerItemProxy */; }; - 67D95028C343B8E0509BC546897A3B2B /* PBXTargetDependency */ = { + 5E0BAF4CC7B5BBA3AEFBE13DE02C2083 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AFNetworking; - target = F4160500DCEA3DA3E93FBA579E88CA0A /* AFNetworking */; - targetProxy = 6F2A53B0D10456E755950A3519F877DE /* PBXContainerItemProxy */; + target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; + targetProxy = C5485D503B3F7B1003666761C8B9A5B4 /* PBXContainerItemProxy */; }; - E73E9A69B1DF196D14CA5C0B5D616658 /* PBXTargetDependency */ = { + AC984E3DACDD16A3F3483CB8337B2D97 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AFNetworking; - target = F4160500DCEA3DA3E93FBA579E88CA0A /* AFNetworking */; - targetProxy = 59E1A7B24F50289D33ED28E9535288E8 /* PBXContainerItemProxy */; + target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; + targetProxy = 4B19536F3CF44D976EE12E10CA6597EE /* PBXContainerItemProxy */; }; - E99E577F709139F47D04235757E0CA8D /* PBXTargetDependency */ = { + CB14278691FCFB92E6BA0439D8D9B06E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = InstagramKit; - target = CE89033960EF5D490E2548ABE897E4EB /* InstagramKit */; - targetProxy = 7AAA3EFC26481DC71E3CB1DC800A4561 /* PBXContainerItemProxy */; + target = D05F43756ED68A955799503E2F772F5F /* InstagramKit */; + targetProxy = 7CDBE892DF1DF726A264979A9FD110D9 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 02FDF5F1CC95D75BFE54C315558F4EDA /* Release */ = { + 08E233E21689DE006F333E6806FDF459 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 902283E3420CBE52A3AAEA8B49AE26A9 /* UICKeyChainStore.xcconfig */; + baseConfigurationReference = AF30602F7442993ECDC0FBC6D1388F0A /* InstagramKit.debug.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -907,24 +949,24 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/UICKeyChainStore/UICKeyChainStore-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UICKeyChainStore/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/InstagramKit/InstagramKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/InstagramKit/InstagramKit-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/UICKeyChainStore/UICKeyChainStore.modulemap"; - PRODUCT_NAME = UICKeyChainStore; + MODULEMAP_FILE = "Target Support Files/InstagramKit/InstagramKit.modulemap"; + PRODUCT_MODULE_NAME = InstagramKit; + PRODUCT_NAME = InstagramKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 26F954BA177A9A46FFFD4E23ED11D67A /* Release */ = { + 257497152829C177993B5EC99C1D227A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -956,7 +998,6 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; @@ -973,19 +1014,25 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - 348F82BEB5904EF6C1B02FDAC8C403F8 /* Release */ = { + 5CE8FF3B859AB720AF861DDD54024436 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E50E5A38E52EE31C9AF42CD0CB60FC51 /* InstagramKit.xcconfig */; + baseConfigurationReference = F571BA9FAE61601793EF0AF3C362FFE5 /* Pods-InstagramKit_Tests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -995,16 +1042,19 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/InstagramKit/InstagramKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/InstagramKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/InstagramKit/InstagramKit.modulemap"; - PRODUCT_NAME = InstagramKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1012,10 +1062,11 @@ }; name = Release; }; - 38AF9C7A5F39B9FDDDB1FE3BB26C4E39 /* Debug */ = { + 62137FC0E1952A9DCC493B654241F5A0 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E50E5A38E52EE31C9AF42CD0CB60FC51 /* InstagramKit.xcconfig */; + baseConfigurationReference = 8C6117B04E98132AD6302430F074CFD6 /* AFNetworking.debug.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1025,13 +1076,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/InstagramKit/InstagramKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/InstagramKit/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/AFNetworking/AFNetworking-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/InstagramKit/InstagramKit.modulemap"; - PRODUCT_NAME = InstagramKit; + MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -1041,10 +1093,11 @@ }; name = Debug; }; - 467B50B664739CC3FA86504C2441740E /* Release */ = { + 7614B2B3F9B3E8321FA4122C2CA4476F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B10BBE6EB7F30118C405D08960D39F96 /* Pods-InstagramKit_Example.release.xcconfig */; + baseConfigurationReference = 6683BEA35B451D4CABB36194CC48577A /* UICKeyChainStore.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1054,19 +1107,17 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/UICKeyChainStore/UICKeyChainStore-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UICKeyChainStore/UICKeyChainStore-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_InstagramKit_Example; + MODULEMAP_FILE = "Target Support Files/UICKeyChainStore/UICKeyChainStore.modulemap"; + PRODUCT_MODULE_NAME = UICKeyChainStore; + PRODUCT_NAME = UICKeyChainStore; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1074,10 +1125,13 @@ }; name = Release; }; - 7EAEF93135544416A50DD78CD5CC5A3D /* Release */ = { + 996EE84623E477CD3E91FC25343B389E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DD86FEEEB1BD35811A1608A05B210364 /* Pods-InstagramKit_Tests.release.xcconfig */; + baseConfigurationReference = 87AD21566A6D5FF3D715824003E11576 /* Pods-InstagramKit_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1087,7 +1141,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Tests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1097,20 +1151,22 @@ OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_InstagramKit_Tests; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 95F9D34CFE7E7C5B05EAE8D5D3477794 /* Debug */ = { + 9C2D5B4B0FC3B3ED4C4EF978549D6D53 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F8A781BF3CC87572606DB2C91E5C2C6B /* Pods-InstagramKit_Tests.debug.xcconfig */; + baseConfigurationReference = 2C1C0E4A17E7F30938E8672DCB0C8D88 /* Pods-InstagramKit_Example.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1120,29 +1176,64 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Tests/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_InstagramKit_Tests; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A0B7016DEDAAE482067E158FC22829FE /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7C007740EA434E1AEC54234A09B412A7 /* UICKeyChainStore.debug.xcconfig */; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_PREFIX_HEADER = "Target Support Files/UICKeyChainStore/UICKeyChainStore-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/UICKeyChainStore/UICKeyChainStore-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/UICKeyChainStore/UICKeyChainStore.modulemap"; + PRODUCT_MODULE_NAME = UICKeyChainStore; + PRODUCT_NAME = UICKeyChainStore; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - D89DEB9096C0F460BD9EE969695A28AB /* Debug */ = { + A6C607815905BD6A7C25D626C8C8C9E2 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8FE5B530FEE7860C9730FD53560F3D07 /* Pods-InstagramKit_Example.debug.xcconfig */; + baseConfigurationReference = 788BB3EF0986A8495CF29AE942FD1D8D /* Pods-InstagramKit_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1152,7 +1243,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Example/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; @@ -1162,7 +1253,7 @@ OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_InstagramKit_Example; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1171,10 +1262,12 @@ }; name = Debug; }; - E171809521ECEB181A37E8167DEA85D1 /* Debug */ = { + D31616BA102FD94F442397FECB10C8B8 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 902283E3420CBE52A3AAEA8B49AE26A9 /* UICKeyChainStore.xcconfig */; + baseConfigurationReference = 3BF0E05BF13BA912B018E976D6442776 /* InstagramKit.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1184,23 +1277,25 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/UICKeyChainStore/UICKeyChainStore-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/UICKeyChainStore/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/InstagramKit/InstagramKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/InstagramKit/InstagramKit-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/UICKeyChainStore/UICKeyChainStore.modulemap"; - PRODUCT_NAME = UICKeyChainStore; + MODULEMAP_FILE = "Target Support Files/InstagramKit/InstagramKit.modulemap"; + PRODUCT_MODULE_NAME = InstagramKit; + PRODUCT_NAME = InstagramKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - E2BF6D6731C31DE69900B7B24E6F0445 /* Debug */ = { + DD8F832993327D1DD8046C3CBCBD97CD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -1232,7 +1327,6 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -1252,50 +1346,24 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; STRIP_INSTALLED_PRODUCT = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - EBB2748154902DCAE575FED60DA9522B /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 2EE86151DDB4673AC62DF164597DA414 /* AFNetworking.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; - PRODUCT_NAME = AFNetworking; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - EEB3E95AB6B6913EFB6A86B7A84DE0BD /* Release */ = { + F5353883987309F769793B1A75A7F3F2 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2EE86151DDB4673AC62DF164597DA414 /* AFNetworking.xcconfig */; + baseConfigurationReference = A555CF0A7A70B60A816820F61BE9131C /* AFNetworking.release.xcconfig */; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -1306,11 +1374,12 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/AFNetworking/Info.plist"; + INFOPLIST_FILE = "Target Support Files/AFNetworking/AFNetworking-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/AFNetworking/AFNetworking.modulemap"; + PRODUCT_MODULE_NAME = AFNetworking; PRODUCT_NAME = AFNetworking; SDKROOT = iphoneos; SKIP_INSTALL = YES; @@ -1325,61 +1394,61 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 25909703FE8BF472066161C98342A956 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { + 0B8313BE24672DBE9736FD1196CE949E /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - EBB2748154902DCAE575FED60DA9522B /* Debug */, - EEB3E95AB6B6913EFB6A86B7A84DE0BD /* Release */, + 996EE84623E477CD3E91FC25343B389E /* Debug */, + 5CE8FF3B859AB720AF861DDD54024436 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 1E52EA98CB7DA9F36BAE4DFF567B3260 /* Build configuration list for PBXNativeTarget "UICKeyChainStore" */ = { isa = XCConfigurationList; buildConfigurations = ( - E2BF6D6731C31DE69900B7B24E6F0445 /* Debug */, - 26F954BA177A9A46FFFD4E23ED11D67A /* Release */, + A0B7016DEDAAE482067E158FC22829FE /* Debug */, + 7614B2B3F9B3E8321FA4122C2CA4476F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 383A8ABBCA8841A50135729B6A82CCC2 /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Tests" */ = { + 24EFB1470DC3FD5C62BE09ACD68D2108 /* Build configuration list for PBXNativeTarget "InstagramKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 95F9D34CFE7E7C5B05EAE8D5D3477794 /* Debug */, - 7EAEF93135544416A50DD78CD5CC5A3D /* Release */, + 08E233E21689DE006F333E6806FDF459 /* Debug */, + D31616BA102FD94F442397FECB10C8B8 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 46D46F42BA0AFB2872CBBD380742FC91 /* Build configuration list for PBXNativeTarget "UICKeyChainStore" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - E171809521ECEB181A37E8167DEA85D1 /* Debug */, - 02FDF5F1CC95D75BFE54C315558F4EDA /* Release */, + DD8F832993327D1DD8046C3CBCBD97CD /* Debug */, + 257497152829C177993B5EC99C1D227A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 6DA924796E306D5F0AFB3095C96BFC49 /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Example" */ = { + BA15E60A56A719D32404C4516ADE2C0D /* Build configuration list for PBXNativeTarget "Pods-InstagramKit_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - D89DEB9096C0F460BD9EE969695A28AB /* Debug */, - 467B50B664739CC3FA86504C2441740E /* Release */, + A6C607815905BD6A7C25D626C8C8C9E2 /* Debug */, + 9C2D5B4B0FC3B3ED4C4EF978549D6D53 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 9A302B2144FC8CB9120FE8DFE1FECCDB /* Build configuration list for PBXNativeTarget "InstagramKit" */ = { + D4A4B40CB38ADC88749D1E1C8A945364 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { isa = XCConfigurationList; buildConfigurations = ( - 38AF9C7A5F39B9FDDDB1FE3BB26C4E39 /* Debug */, - 348F82BEB5904EF6C1B02FDAC8C403F8 /* Release */, + 62137FC0E1952A9DCC493B654241F5A0 /* Debug */, + F5353883987309F769793B1A75A7F3F2 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; } diff --git a/Example/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch b/Example/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch index e72247a9..beb2a244 100644 --- a/Example/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch +++ b/Example/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch @@ -10,14 +10,3 @@ #endif #endif -#ifndef TARGET_OS_IOS - #define TARGET_OS_IOS TARGET_OS_IPHONE -#endif - -#ifndef TARGET_OS_WATCH - #define TARGET_OS_WATCH 0 -#endif - -#ifndef TARGET_OS_TV - #define TARGET_OS_TV 0 -#endif diff --git a/Example/Pods/Target Support Files/AFNetworking/AFNetworking-umbrella.h b/Example/Pods/Target Support Files/AFNetworking/AFNetworking-umbrella.h index 67520b67..dee8b6ea 100644 --- a/Example/Pods/Target Support Files/AFNetworking/AFNetworking-umbrella.h +++ b/Example/Pods/Target Support Files/AFNetworking/AFNetworking-umbrella.h @@ -23,12 +23,11 @@ #import "AFNetworkActivityIndicatorManager.h" #import "UIActivityIndicatorView+AFNetworking.h" #import "UIButton+AFNetworking.h" -#import "UIImage+AFNetworking.h" #import "UIImageView+AFNetworking.h" #import "UIKit+AFNetworking.h" #import "UIProgressView+AFNetworking.h" #import "UIRefreshControl+AFNetworking.h" -#import "UIWebView+AFNetworking.h" +#import "WKWebView+AFNetworking.h" FOUNDATION_EXPORT double AFNetworkingVersionNumber; FOUNDATION_EXPORT const unsigned char AFNetworkingVersionString[]; diff --git a/Example/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig b/Example/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig deleted file mode 100644 index ab656524..00000000 --- a/Example/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/AFNetworking -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/AFNetworking/Info.plist b/Example/Pods/Target Support Files/AFNetworking/Info.plist deleted file mode 100644 index 42c9fae4..00000000 --- a/Example/Pods/Target Support Files/AFNetworking/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.2.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/InstagramKit/Info.plist b/Example/Pods/Target Support Files/InstagramKit/Info.plist deleted file mode 100644 index 3424ca66..00000000 --- a/Example/Pods/Target Support Files/InstagramKit/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 4.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/InstagramKit/InstagramKit.xcconfig b/Example/Pods/Target Support Files/InstagramKit/InstagramKit.xcconfig deleted file mode 100644 index 2a5e8d0b..00000000 --- a/Example/Pods/Target Support Files/InstagramKit/InstagramKit.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.markdown index 924a7120..fd564b87 100644 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.markdown @@ -3,7 +3,7 @@ This application makes use of the following third party libraries: ## AFNetworking -Copyright (c) 2011-2016 Alamofire Software Foundation (http://alamofire.org/) +Copyright (c) 2011-2020 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 diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.plist index d65bcf03..77c65945 100644 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-acknowledgements.plist @@ -14,7 +14,7 @@ FooterText - Copyright (c) 2011-2016 Alamofire Software Foundation (http://alamofire.org/) + Copyright (c) 2011-2020 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 diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh index 49210e34..102f69e1 100755 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example-frameworks.sh @@ -1,9 +1,23 @@ #!/bin/sh set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" # Used as a return value for each invocation of `strip_invalid_archs` function. @@ -27,19 +41,24 @@ install_framework() local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" + echo "Symlinked..." + source="$(readlink "${source}")" fi # Use filter instead of exclude so missing patterns don't throw errors. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" fi # Strip invalid architectures so "fat" simulator / device frameworks work on device @@ -53,7 +72,7 @@ install_framework() # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" @@ -65,37 +84,47 @@ install_framework() # Copies and strips a vendored dSYM install_dsym() { local source="$1" + warn_missing_arch=${2:-true} if [ -r "$source" ]; then - # Copy the dSYM into a the targets temp dir. + # Copy the dSYM into the targets temp dir. echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" local basename - basename="$(basename -s .framework.dSYM "$source")" - binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + basename="$(basename -s .dSYM "$source")" + binary_name="$(ls "$source/Contents/Resources/DWARF")" + binary="${DERIVED_FILES_DIR}/${basename}.dSYM/Contents/Resources/DWARF/${binary_name}" # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"Mach-O dSYM companion"* ]]; then - strip_invalid_archs "$binary" + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" "$warn_missing_arch" fi if [[ $STRIP_BINARY_RETVAL == 1 ]]; then # Move the stripped file into its final destination. - echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" - rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.dSYM" "${DWARF_DSYM_FOLDER_PATH}" else # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. - touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.dSYM" fi fi } +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then code_sign_cmd="$code_sign_cmd &" @@ -108,13 +137,16 @@ code_sign_if_enabled() { # Strip invalid architectures strip_invalid_archs() { binary="$1" + warn_missing_arch=${2:-true} # Get architectures for current target binary binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" # Intersect them with the architectures we are building for intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" # If there are no archs supported by this binary then warn the user if [[ -z "$intersected_archs" ]]; then - echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + if [[ "$warn_missing_arch" == "true" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + fi STRIP_BINARY_RETVAL=0 return fi @@ -122,7 +154,7 @@ strip_invalid_archs() { for arch in $binary_archs; do if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + lipo -remove "$arch" -output "$binary" "$binary" stripped="$stripped $arch" fi done @@ -132,6 +164,37 @@ strip_invalid_archs() { STRIP_BINARY_RETVAL=1 } +install_artifact() { + artifact="$1" + base="$(basename "$artifact")" + case $base in + *.framework) + install_framework "$artifact" + ;; + *.dSYM) + # Suppress arch warnings since XCFrameworks will include many dSYM files + install_dsym "$artifact" "false" + ;; + *.bcsymbolmap) + install_bcsymbolmap "$artifact" + ;; + *) + echo "error: Unrecognized artifact "$artifact"" + ;; + esac +} + +copy_artifacts() { + file_list="$1" + while read artifact; do + install_artifact "$artifact" + done <$file_list +} + +ARTIFACT_LIST_FILE="${BUILT_PRODUCTS_DIR}/cocoapods-artifacts-${CONFIGURATION}.txt" +if [ -r "${ARTIFACT_LIST_FILE}" ]; then + copy_artifacts "${ARTIFACT_LIST_FILE}" +fi if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework" diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.debug.xcconfig index cd485a90..df79102c 100644 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.debug.xcconfig @@ -1,9 +1,11 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "InstagramKit" -framework "UICKeyChainStore" +OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "InstagramKit" -framework "Security" -framework "UICKeyChainStore" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.release.xcconfig index cd485a90..df79102c 100644 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Example/Pods-InstagramKit_Example.release.xcconfig @@ -1,9 +1,11 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "InstagramKit" -framework "UICKeyChainStore" +OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "InstagramKit" -framework "Security" -framework "UICKeyChainStore" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.debug.xcconfig index f2f40572..90020d6b 100644 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.debug.xcconfig @@ -1,8 +1,10 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" +OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "InstagramKit" -framework "Security" -framework "UICKeyChainStore" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.release.xcconfig index f2f40572..90020d6b 100644 --- a/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-InstagramKit_Tests/Pods-InstagramKit_Tests.release.xcconfig @@ -1,8 +1,10 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking/AFNetworking.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/InstagramKit/InstagramKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore/UICKeyChainStore.framework/Headers" +OTHER_CFLAGS = $(inherited) -INSTAGRAMKIT_INCLUDE_UICKEYCHAINSTORE +OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "InstagramKit" -framework "Security" -framework "UICKeyChainStore" PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/UICKeyChainStore/Info.plist b/Example/Pods/Target Support Files/UICKeyChainStore/Info.plist deleted file mode 100644 index 92aaf05d..00000000 --- a/Example/Pods/Target Support Files/UICKeyChainStore/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.1.1 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/UICKeyChainStore/UICKeyChainStore.xcconfig b/Example/Pods/Target Support Files/UICKeyChainStore/UICKeyChainStore.xcconfig deleted file mode 100644 index 62249f00..00000000 --- a/Example/Pods/Target Support Files/UICKeyChainStore/UICKeyChainStore.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/UICKeyChainStore -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_LDFLAGS = -framework "Security" -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/UICKeyChainStore -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.h b/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.h index b5a62809..095720a6 100644 --- a/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.h +++ b/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.h @@ -96,9 +96,16 @@ typedef NS_ENUM(NSInteger, UICKeyChainStoreAccessibility) { } __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_4_0); -typedef NS_ENUM(NSInteger, UICKeyChainStoreAuthenticationPolicy) { - UICKeyChainStoreAuthenticationPolicyUserPresence = kSecAccessControlUserPresence, -}; +typedef NS_ENUM(unsigned long, UICKeyChainStoreAuthenticationPolicy) { + UICKeyChainStoreAuthenticationPolicyUserPresence = 1 << 0, + UICKeyChainStoreAuthenticationPolicyTouchIDAny NS_ENUM_AVAILABLE(10_12_1, 9_0) = 1u << 1, + UICKeyChainStoreAuthenticationPolicyTouchIDCurrentSet NS_ENUM_AVAILABLE(10_12_1, 9_0) = 1u << 3, + UICKeyChainStoreAuthenticationPolicyDevicePasscode NS_ENUM_AVAILABLE(10_11, 9_0) = 1u << 4, + UICKeyChainStoreAuthenticationPolicyControlOr NS_ENUM_AVAILABLE(10_12_1, 9_0) = 1u << 14, + UICKeyChainStoreAuthenticationPolicyControlAnd NS_ENUM_AVAILABLE(10_12_1, 9_0) = 1u << 15, + UICKeyChainStoreAuthenticationPolicyPrivateKeyUsage NS_ENUM_AVAILABLE(10_12_1, 9_0) = 1u << 30, + UICKeyChainStoreAuthenticationPolicyApplicationPassword NS_ENUM_AVAILABLE(10_12_1, 9_0) = 1u << 31, +}__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); @interface UICKeyChainStore : NSObject @@ -114,6 +121,7 @@ typedef NS_ENUM(NSInteger, UICKeyChainStoreAuthenticationPolicy) { @property (nonatomic) UICKeyChainStoreAccessibility accessibility; @property (nonatomic, readonly) UICKeyChainStoreAuthenticationPolicy authenticationPolicy __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); +@property (nonatomic) BOOL useAuthenticationUI; @property (nonatomic) BOOL synchronizable; diff --git a/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.m b/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.m index ace499b5..413de045 100644 --- a/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.m +++ b/Example/Pods/UICKeyChainStore/Lib/UICKeyChainStore/UICKeyChainStore.m @@ -117,6 +117,7 @@ - (instancetype)initWithServer:(NSURL *)server protocolType:(UICKeyChainStorePro - (void)commonInit { _accessibility = UICKeyChainStoreAccessibilityAfterFirstUnlock; + _useAuthenticationUI = YES; } #pragma mark - @@ -360,9 +361,9 @@ - (BOOL)contains:(NSString *)key { NSMutableDictionary *query = [self query]; query[(__bridge __strong id)kSecAttrAccount] = key; - + OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, NULL); - return status == errSecSuccess; + return status == errSecSuccess || status == errSecInteractionNotAllowed; } #pragma mark - @@ -954,7 +955,7 @@ - (void)setAccessibility:(UICKeyChainStoreAccessibility)accessibility authentica #pragma mark - -#if TARGET_OS_IOS +#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST - (void)sharedPasswordWithCompletion:(void (^)(NSString *account, NSString *password, NSError *error))completion { NSString *domain = self.server.host; @@ -1118,7 +1119,7 @@ - (NSMutableDictionary *)query if (_server.host) { query[(__bridge __strong id)kSecAttrServer] = _server.host; } - if (_server.port) { + if (_server.port != nil) { query[(__bridge __strong id)kSecAttrPort] = _server.port; } CFTypeRef protocolTypeObject = [self protocolTypeObject]; @@ -1140,6 +1141,20 @@ - (NSMutableDictionary *)query } } #endif + + if (!_useAuthenticationUI) { +#if TARGET_OS_IOS + if (floor(NSFoundationVersionNumber) > floor(1144.17)) { // iOS 9+ + query[(__bridge __strong id)kSecUseAuthenticationUI] = (__bridge id)kSecUseAuthenticationUIFail; +#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_9_0 + } else if (floor(NSFoundationVersionNumber) > floor(1047.25)) { // iOS 8+ + query[(__bridge __strong id)kSecUseNoAuthenticationUI] = (__bridge id)kCFBooleanTrue; +#endif + } +#elif TARGET_OS_WATCH || TARGET_OS_TV + query[(__bridge __strong id)kSecUseAuthenticationUI] = (__bridge id)kSecUseAuthenticationUIFail; +#endif + } return query; } diff --git a/Example/Pods/UICKeyChainStore/README.md b/Example/Pods/UICKeyChainStore/README.md index 77bca098..f4ee07b9 100644 --- a/Example/Pods/UICKeyChainStore/README.md +++ b/Example/Pods/UICKeyChainStore/README.md @@ -511,6 +511,44 @@ OS X 10.7 or later ## Installation +### Swift Package Manager + +UICKeyChainStore is now available through [Swift Package Manager](https://github.com/apple/swift-package-manager/). + +#### Xcode + +Select `File > Swift Packages > Add Package Dependency...` + +Type `https://github.com/kishikawakatsumi/UICKeyChainStore` then check the target that appears. + +#### CLI + +Create `Package.swift` file and define the dependency like this + +```swift +// swift-tools-version:5.0 +import PackageDescription + +let package = Package( + name: "MyLibrary", + products: [ + .library(name: "MyLibrary", targets: ["MyLibrary"]), + ], + dependencies: [ + .package(url: "https://github.com/kishikawakatsumi/UICKeyChainStore.git", from: "2.1.2"), + ], + targets: [ + .target(name: "MyLibrary", dependencies: ["UICKeyChainStore"]), + ] +) +``` + +Then, type + +```shell +$ swift build +``` + ### CocoaPods UICKeyChainStore is available through [CocoaPods](http://cocoapods.org). To install diff --git a/InstagramKit.podspec b/InstagramKit.podspec index 1bd131a3..c017dba6 100644 --- a/InstagramKit.podspec +++ b/InstagramKit.podspec @@ -14,9 +14,9 @@ An extensive Objective C SDK for the Instagram API. s.source = { :git => 'https://github.com/shyambhat/InstagramKit.git', :tag => s.version.to_s } # s.social_media_url = 'https://twitter.com/' - s.ios.deployment_target = '9.0' + s.ios.deployment_target = '11.0' s.source_files = 'InstagramKit/Classes/**/*' - s.dependency 'AFNetworking', '~>3.0' + s.dependency 'AFNetworking' s.default_subspec = 'InstagramKit-without-UICKeyChainStore' s.subspec 'InstagramKit-without-UICKeyChainStore' do |exclude_uickeychainstore| diff --git a/InstagramKit/Classes/Engine/InstagramEngine.m b/InstagramKit/Classes/Engine/InstagramEngine.m index 849a3d01..7ad9db52 100644 --- a/InstagramKit/Classes/Engine/InstagramEngine.m +++ b/InstagramKit/Classes/Engine/InstagramEngine.m @@ -276,19 +276,15 @@ - (void)getPath:(NSString *)path { NSDictionary *params = [self dictionaryWithAccessTokenAndParameters:parameters]; NSString *percentageEscapedPath = [path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLPathAllowedCharacterSet]]; - [self.httpManager GET:percentageEscapedPath - parameters:params - progress:nil - success:^(NSURLSessionDataTask *task, id responseObject) { - if (!success) return; - NSDictionary *responseDictionary = (NSDictionary *)responseObject; - NSDictionary *dataDictionary = IKNotNull(responseDictionary[kData]) ? responseDictionary[kData] : nil; - id modelObject = (modelClass == [NSDictionary class]) ? [dataDictionary copy] : [[modelClass alloc] initWithInfo:dataDictionary]; - success(modelObject); - } - failure:^(NSURLSessionDataTask *task, NSError *error) { - (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; - }]; + [self.httpManager GET:percentageEscapedPath parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { + if (!success) return; + NSDictionary *responseDictionary = (NSDictionary *)responseObject; + NSDictionary *dataDictionary = IKNotNull(responseDictionary[kData]) ? responseDictionary[kData] : nil; + id modelObject = (modelClass == [NSDictionary class]) ? [dataDictionary copy] : [[modelClass alloc] initWithInfo:dataDictionary]; + success(modelObject); + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { + (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; + }]; } @@ -300,31 +296,28 @@ - (void)getPaginatedPath:(NSString *)path { NSDictionary *params = [self dictionaryWithAccessTokenAndParameters:parameters]; NSString *percentageEscapedPath = [path stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLPathAllowedCharacterSet]]; - [self.httpManager GET:percentageEscapedPath - parameters:params - progress:nil - success:^(NSURLSessionDataTask *task, id responseObject) { - if (!success) return; - NSDictionary *responseDictionary = (NSDictionary *)responseObject; - - NSDictionary *pInfo = responseDictionary[kPagination]; - InstagramPaginationInfo *paginationInfo = IKNotNull(pInfo)?[[InstagramPaginationInfo alloc] initWithInfo:pInfo andObjectType:modelClass]: nil; - - NSArray *responseObjects = IKNotNull(responseDictionary[kData]) ? responseDictionary[kData] : nil; - NSMutableArray *objects = [NSMutableArray arrayWithCapacity:responseObjects.count]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - [responseObjects enumerateObjectsUsingBlock:^(NSDictionary * dataDictionary, NSUInteger idx, BOOL *stop) { - id modelObject = [[modelClass alloc] initWithInfo:dataDictionary]; - [objects addObject:modelObject]; - }]; - dispatch_async(dispatch_get_main_queue(), ^{ - success([objects copy], paginationInfo); - }); - }); - } - failure:^(NSURLSessionDataTask *task, NSError *error) { - (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; - }]; + + [self.httpManager GET:percentageEscapedPath parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { + if (!success) return; + NSDictionary *responseDictionary = (NSDictionary *)responseObject; + + NSDictionary *pInfo = responseDictionary[kPagination]; + InstagramPaginationInfo *paginationInfo = IKNotNull(pInfo)?[[InstagramPaginationInfo alloc] initWithInfo:pInfo andObjectType:modelClass]: nil; + + NSArray *responseObjects = IKNotNull(responseDictionary[kData]) ? responseDictionary[kData] : nil; + NSMutableArray *objects = [NSMutableArray arrayWithCapacity:responseObjects.count]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + [responseObjects enumerateObjectsUsingBlock:^(NSDictionary * dataDictionary, NSUInteger idx, BOOL *stop) { + id modelObject = [[modelClass alloc] initWithInfo:dataDictionary]; + [objects addObject:modelObject]; + }]; + dispatch_async(dispatch_get_main_queue(), ^{ + success([objects copy], paginationInfo); + }); + }); + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { + (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; + }]; } - (void)postPath:(NSString *)path @@ -333,15 +326,12 @@ - (void)postPath:(NSString *)path failure:(InstagramFailureBlock)failure { NSDictionary *params = [self dictionaryWithAccessTokenAndParameters:parameters]; - [self.httpManager POST:path - parameters:params - progress:nil - success:^(NSURLSessionDataTask *task, id responseObject) { - (success)? success((NSDictionary *)responseObject) : 0; - } - failure:^(NSURLSessionDataTask *task, NSError *error) { - (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; - }]; + + [self.httpManager POST:path parameters:params headers:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { + (success)? success((NSDictionary *)responseObject) : 0; + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { + (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; + }]; } @@ -351,14 +341,14 @@ - (void)deletePath:(NSString *)path failure:(InstagramFailureBlock)failure { NSDictionary *params = [self dictionaryWithAccessTokenAndParameters:parameters]; - [self.httpManager DELETE:path - parameters:params - success:^(NSURLSessionDataTask *task, id responseObject) { - (success)? success((NSDictionary *)responseObject) : 0; - } - failure:^(NSURLSessionDataTask *task, NSError *error) { - (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; - }]; + + [self.httpManager DELETE:path parameters:params headers:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { + (success)? success((NSDictionary *)responseObject) : 0; + + } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { + (failure) ? failure(error,((NSHTTPURLResponse*)[task response]).statusCode, [self serializedResponseDataFromError:error]) : 0; + + }]; } From c0821f777d2d91eeb9260abfc7feaecf8d038223 Mon Sep 17 00:00:00 2001 From: Dhaval Date: Sat, 16 May 2020 12:08:40 +0530 Subject: [PATCH 2/2] Final webview removed --- InstagramKit/Classes/Engine/InstagramEngine.h | 2 +- README.md | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/InstagramKit/Classes/Engine/InstagramEngine.h b/InstagramKit/Classes/Engine/InstagramEngine.h index 85afcbf1..669725b4 100644 --- a/InstagramKit/Classes/Engine/InstagramEngine.h +++ b/InstagramKit/Classes/Engine/InstagramEngine.h @@ -77,7 +77,7 @@ NS_ASSUME_NONNULL_BEGIN /** * A convenience method to extract and save the access code from an URL received in - * UIWebView's delegate method - webView: shouldStartLoadWithRequest: navigationType: + * delegate method - webView: shouldStartLoadWithRequest: navigationType: * @param url URL from the request object. * @param error Error in extracting token, if any. * diff --git a/README.md b/README.md index fda81e02..9081d32c 100644 --- a/README.md +++ b/README.md @@ -97,18 +97,6 @@ NSURL *authURL = [[InstagramEngine sharedEngine] authorizationURLForScope:scope] Once the user grants your app permission, they will be redirected to a url in the form of something like ```http://localhost/#access_token=[access_token]``` and ```[access_token]``` will be split by a period like ```[userID].[rest of access token]```. InstagramEngine includes a helper method to validate this token. -##### UIWebView -```Objective-C - -- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType -{ -NSError *error; -if ([[InstagramEngine sharedEngine] receivedValidAccessTokenFromURL:request.URL error:&error]) { -// success! -... -} -return YES; -} ``` ##### WKWebView