From 9c10fcea7b3587b0743d6a3a9847d9dc91118f48 Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Sat, 29 Sep 2018 12:06:25 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=97=B6=E8=AF=B7=E6=B1=82=E8=A2=AB=E5=86=99?= =?UTF-8?q?=E6=AD=BB=E4=B8=BA=20=E2=80=98POST=E2=80=99=20=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XMNetworking/XMEngine.m | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/XMNetworking/XMEngine.m b/XMNetworking/XMEngine.m index f3f92369..a3d03b66 100644 --- a/XMNetworking/XMEngine.m +++ b/XMNetworking/XMEngine.m @@ -360,9 +360,16 @@ - (void)xm_uploadTaskWithRequest:(XMRequest *)request AFURLSessionManager *sessionManager = [self xm_getSessionManager:request]; AFHTTPRequestSerializer *requestSerializer = [self xm_getRequestSerializer:request]; - + + NSString *httpMethod = nil; + NSArray *httpMethodArray = @[@"GET", @"POST", @"HEAD", @"DELETE", @"PUT", @"PATCH"]; + if (request.httpMethod >= 0 && request.httpMethod < httpMethodArray.count) { + httpMethod = httpMethodArray[request.httpMethod]; + } + NSAssert(httpMethod.length > 0, @"The HTTP method not found."); + __block NSError *serializationError = nil; - NSMutableURLRequest *urlRequest = [requestSerializer multipartFormRequestWithMethod:@"POST" + NSMutableURLRequest *urlRequest = [requestSerializer multipartFormRequestWithMethod:httpMethod URLString:request.url parameters:request.parameters constructingBodyWithBlock:^(id formData) { From a0879ada69e551c61ff0314fae81408a5f0d4f78 Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Sat, 29 Sep 2018 12:12:11 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=97=B6=E8=AF=B7=E6=B1=82=E8=A2=AB=E5=86=99?= =?UTF-8?q?=E6=AD=BB=E4=B8=BA=20=E2=80=98POST=E2=80=99=20=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XMNetworking/XMEngine.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XMNetworking/XMEngine.m b/XMNetworking/XMEngine.m index a3d03b66..73718f5a 100644 --- a/XMNetworking/XMEngine.m +++ b/XMNetworking/XMEngine.m @@ -367,7 +367,7 @@ - (void)xm_uploadTaskWithRequest:(XMRequest *)request httpMethod = httpMethodArray[request.httpMethod]; } NSAssert(httpMethod.length > 0, @"The HTTP method not found."); - + t __block NSError *serializationError = nil; NSMutableURLRequest *urlRequest = [requestSerializer multipartFormRequestWithMethod:httpMethod URLString:request.url From dae31a236f3bafea74852d71559c847aae92b864 Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Sat, 29 Sep 2018 13:01:28 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E8=AF=AF=E8=A7=A6=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=AD=97=E7=AC=A6=EF=BC=8C=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- XMNetworking/XMEngine.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XMNetworking/XMEngine.m b/XMNetworking/XMEngine.m index 73718f5a..a3d03b66 100644 --- a/XMNetworking/XMEngine.m +++ b/XMNetworking/XMEngine.m @@ -367,7 +367,7 @@ - (void)xm_uploadTaskWithRequest:(XMRequest *)request httpMethod = httpMethodArray[request.httpMethod]; } NSAssert(httpMethod.length > 0, @"The HTTP method not found."); - t + __block NSError *serializationError = nil; NSMutableURLRequest *urlRequest = [requestSerializer multipartFormRequestWithMethod:httpMethod URLString:request.url From c859de98e5015c57355accbfada1f0a2043e1e2d Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Thu, 2 Apr 2020 11:50:57 +0800 Subject: [PATCH 4/9] Change dependence of AFNetworking version to 4.0 --- Demo/Podfile | 4 +- Demo/Podfile.lock | 30 +- .../AFNetworking/AFCompatibilityMacros.h | 37 + .../AFNetworkReachabilityManager.h | 11 +- .../AFNetworkReachabilityManager.m | 5 +- .../AFNetworking/AFURLSessionManager.h | 3 +- .../AFNetworking/AFURLSessionManager.m | 19 +- .../UIImageView+AFNetworking.m | 11 +- .../AFNetworking/AFCompatibilityMacros.h | 1 + .../AFNetworking/AFCompatibilityMacros.h | 1 + Demo/Pods/Manifest.lock | 30 +- Demo/Pods/Pods.xcodeproj/project.pbxproj | 668 +++++++++--------- .../AFNetworking/AFNetworking.xcconfig | 2 +- .../Pods-XMNetworkingDemo.debug.xcconfig | 1 + .../Pods-XMNetworkingDemo.release.xcconfig | 1 + XMNetworking.podspec | 6 +- 16 files changed, 436 insertions(+), 394 deletions(-) create mode 100644 Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h create mode 120000 Demo/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h create mode 120000 Demo/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h diff --git a/Demo/Podfile b/Demo/Podfile index 1f1bb79b..0f246207 100644 --- a/Demo/Podfile +++ b/Demo/Podfile @@ -4,5 +4,5 @@ inhibit_all_warnings! project 'XMNetworkingDemo' target 'XMNetworkingDemo' do - pod 'AFNetworking', '~> 3.0' -end \ No newline at end of file + pod 'AFNetworking', '~> 3.2.1' +end diff --git a/Demo/Podfile.lock b/Demo/Podfile.lock index 492f5a8f..a7a45d91 100644 --- a/Demo/Podfile.lock +++ b/Demo/Podfile.lock @@ -1,30 +1,30 @@ PODS: - - AFNetworking (3.2.0): - - AFNetworking/NSURLSession (= 3.2.0) - - AFNetworking/Reachability (= 3.2.0) - - AFNetworking/Security (= 3.2.0) - - AFNetworking/Serialization (= 3.2.0) - - AFNetworking/UIKit (= 3.2.0) - - AFNetworking/NSURLSession (3.2.0): + - AFNetworking (3.2.1): + - AFNetworking/NSURLSession (= 3.2.1) + - AFNetworking/Reachability (= 3.2.1) + - AFNetworking/Security (= 3.2.1) + - AFNetworking/Serialization (= 3.2.1) + - AFNetworking/UIKit (= 3.2.1) + - AFNetworking/NSURLSession (3.2.1): - AFNetworking/Reachability - AFNetworking/Security - AFNetworking/Serialization - - AFNetworking/Reachability (3.2.0) - - AFNetworking/Security (3.2.0) - - AFNetworking/Serialization (3.2.0) - - AFNetworking/UIKit (3.2.0): + - AFNetworking/Reachability (3.2.1) + - AFNetworking/Security (3.2.1) + - AFNetworking/Serialization (3.2.1) + - AFNetworking/UIKit (3.2.1): - AFNetworking/NSURLSession DEPENDENCIES: - - AFNetworking (~> 3.0) + - AFNetworking (~> 3.2.1) SPEC REPOS: https://github.com/CocoaPods/Specs.git: - AFNetworking SPEC CHECKSUMS: - AFNetworking: 8ac6017b94ea105479f7776e5288e48ae9c59bb4 + AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 -PODFILE CHECKSUM: 34f6387ee40deb3469deca752658f6f8e19eebbf +PODFILE CHECKSUM: a4129a20683f9a52b5e0bc75df05fed9ce9b8d15 -COCOAPODS: 1.5.0 +COCOAPODS: 1.8.3 diff --git a/Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h b/Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h new file mode 100644 index 00000000..a83d1344 --- /dev/null +++ b/Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h @@ -0,0 +1,37 @@ +// AFCompatibilityMacros.h +// Copyright (c) 2011–2016 Alamofire Software Foundation ( http://alamofire.org/ ) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef AFCompatibilityMacros_h +#define AFCompatibilityMacros_h + +#ifdef API_UNAVAILABLE + #define AF_API_UNAVAILABLE(x) API_UNAVAILABLE(x) +#else + #define AF_API_UNAVAILABLE(x) +#endif // API_UNAVAILABLE + +#if __has_warning("-Wunguarded-availability-new") + #define AF_CAN_USE_AT_AVAILABLE 1 +#else + #define AF_CAN_USE_AT_AVAILABLE 0 +#endif + +#endif /* AFCompatibilityMacros_h */ diff --git a/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h b/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h index 72296d49..21982a0e 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h +++ b/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.h @@ -108,11 +108,14 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithReachability:(SCNetworkReachabilityRef)reachability NS_DESIGNATED_INITIALIZER; /** - * Initializes an instance of a network reachability manager - * - * @return nil as this method is unavailable + * Unavailable initializer */ -- (nullable instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/** + * Unavailable initializer + */ +- (instancetype)init NS_UNAVAILABLE; ///-------------------------------------------------- /// @name Starting & Stopping Reachability Monitoring diff --git a/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m b/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m index d4583648..ce746c38 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m +++ b/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m @@ -170,8 +170,11 @@ - (instancetype)initWithReachability:(SCNetworkReachabilityRef)reachability { return self; } -- (instancetype)init NS_UNAVAILABLE +- (instancetype)init { + @throw [NSException exceptionWithName:NSGenericException + reason:@"`-init` unavailable. Use `-initWithReachability:` instead" + userInfo:nil]; return nil; } diff --git a/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h b/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h index d2b28ce6..e7ae0d8e 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h +++ b/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h @@ -25,6 +25,7 @@ #import "AFURLResponseSerialization.h" #import "AFURLRequestSerialization.h" #import "AFSecurityPolicy.h" +#import "AFCompatibilityMacros.h" #if !TARGET_OS_WATCH #import "AFNetworkReachabilityManager.h" #endif @@ -414,7 +415,7 @@ NS_ASSUME_NONNULL_BEGIN @param block A block object to be executed once all messages enqueued for a session have been delivered. The block has no return value and takes a single argument: the session. */ -- (void)setDidFinishEventsForBackgroundURLSessionBlock:(nullable void (^)(NSURLSession *session))block; +- (void)setDidFinishEventsForBackgroundURLSessionBlock:(nullable void (^)(NSURLSession *session))block AF_API_UNAVAILABLE(macos); ///----------------------------------------------- /// @name Setting Download Task Delegate Callbacks diff --git a/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m b/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m index 9586c75c..aeb1af39 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m +++ b/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m @@ -148,15 +148,17 @@ - (instancetype)initWithTask:(NSURLSessionTask *)task { progress.pausingHandler = ^{ [weakTask suspend]; }; -#if __has_warning("-Wunguarded-availability-new") - if (@available(iOS 9, macOS 10.11, *)) { +#if AF_CAN_USE_AT_AVAILABLE + if (@available(iOS 9, macOS 10.11, *)) #else - if ([progress respondsToSelector:@selector(setResumingHandler:)]) { + if ([progress respondsToSelector:@selector(setResumingHandler:)]) #endif + { progress.resumingHandler = ^{ [weakTask resume]; }; } + [progress addObserver:self forKeyPath:NSStringFromSelector(@selector(fractionCompleted)) options:NSKeyValueObservingOptionNew @@ -452,7 +454,7 @@ @interface AFURLSessionManager () @property (readwrite, nonatomic, strong) NSLock *lock; @property (readwrite, nonatomic, copy) AFURLSessionDidBecomeInvalidBlock sessionDidBecomeInvalid; @property (readwrite, nonatomic, copy) AFURLSessionDidReceiveAuthenticationChallengeBlock sessionDidReceiveAuthenticationChallenge; -@property (readwrite, nonatomic, copy) AFURLSessionDidFinishEventsForBackgroundURLSessionBlock didFinishEventsForBackgroundURLSession; +@property (readwrite, nonatomic, copy) AFURLSessionDidFinishEventsForBackgroundURLSessionBlock didFinishEventsForBackgroundURLSession AF_API_UNAVAILABLE(macos); @property (readwrite, nonatomic, copy) AFURLSessionTaskWillPerformHTTPRedirectionBlock taskWillPerformHTTPRedirection; @property (readwrite, nonatomic, copy) AFURLSessionTaskDidReceiveAuthenticationChallengeBlock taskDidReceiveAuthenticationChallenge; @property (readwrite, nonatomic, copy) AFURLSessionTaskNeedNewBodyStreamBlock taskNeedNewBodyStream; @@ -839,9 +841,11 @@ - (void)setSessionDidReceiveAuthenticationChallengeBlock:(NSURLSessionAuthChalle self.sessionDidReceiveAuthenticationChallenge = block; } +#if !TARGET_OS_OSX - (void)setDidFinishEventsForBackgroundURLSessionBlock:(void (^)(NSURLSession *session))block { self.didFinishEventsForBackgroundURLSession = block; } +#endif #pragma mark - @@ -910,9 +914,12 @@ - (BOOL)respondsToSelector:(SEL)selector { return self.dataTaskDidReceiveResponse != nil; } else if (selector == @selector(URLSession:dataTask:willCacheResponse:completionHandler:)) { return self.dataTaskWillCacheResponse != nil; - } else if (selector == @selector(URLSessionDidFinishEventsForBackgroundURLSession:)) { + } +#if !TARGET_OS_OSX + else if (selector == @selector(URLSessionDidFinishEventsForBackgroundURLSession:)) { return self.didFinishEventsForBackgroundURLSession != nil; } +#endif return [[self class] instancesRespondToSelector:selector]; } @@ -1130,6 +1137,7 @@ - (void)URLSession:(NSURLSession *)session } } +#if !TARGET_OS_OSX - (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session { if (self.didFinishEventsForBackgroundURLSession) { dispatch_async(dispatch_get_main_queue(), ^{ @@ -1137,6 +1145,7 @@ - (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session }); } } +#endif #pragma mark - NSURLSessionDownloadDelegate diff --git a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m index 1f0a7786..41c18a61 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m +++ b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m @@ -75,17 +75,20 @@ - (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 cancelImageDownloadTask]; self.image = placeholderImage; + if (failure) { + NSError *error = [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorBadURL userInfo:nil]; + failure(urlRequest, nil, error); + } return; } - + if ([self isActiveTaskURLEqualToURLRequest:urlRequest]){ return; } - + [self cancelImageDownloadTask]; AFImageDownloader *downloader = [[self class] sharedImageDownloader]; diff --git a/Demo/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h b/Demo/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h new file mode 120000 index 00000000..487b3fee --- /dev/null +++ b/Demo/Pods/Headers/Private/AFNetworking/AFCompatibilityMacros.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFCompatibilityMacros.h \ No newline at end of file diff --git a/Demo/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h b/Demo/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h new file mode 120000 index 00000000..487b3fee --- /dev/null +++ b/Demo/Pods/Headers/Public/AFNetworking/AFCompatibilityMacros.h @@ -0,0 +1 @@ +../../../AFNetworking/AFNetworking/AFCompatibilityMacros.h \ No newline at end of file diff --git a/Demo/Pods/Manifest.lock b/Demo/Pods/Manifest.lock index 492f5a8f..a7a45d91 100644 --- a/Demo/Pods/Manifest.lock +++ b/Demo/Pods/Manifest.lock @@ -1,30 +1,30 @@ PODS: - - AFNetworking (3.2.0): - - AFNetworking/NSURLSession (= 3.2.0) - - AFNetworking/Reachability (= 3.2.0) - - AFNetworking/Security (= 3.2.0) - - AFNetworking/Serialization (= 3.2.0) - - AFNetworking/UIKit (= 3.2.0) - - AFNetworking/NSURLSession (3.2.0): + - AFNetworking (3.2.1): + - AFNetworking/NSURLSession (= 3.2.1) + - AFNetworking/Reachability (= 3.2.1) + - AFNetworking/Security (= 3.2.1) + - AFNetworking/Serialization (= 3.2.1) + - AFNetworking/UIKit (= 3.2.1) + - AFNetworking/NSURLSession (3.2.1): - AFNetworking/Reachability - AFNetworking/Security - AFNetworking/Serialization - - AFNetworking/Reachability (3.2.0) - - AFNetworking/Security (3.2.0) - - AFNetworking/Serialization (3.2.0) - - AFNetworking/UIKit (3.2.0): + - AFNetworking/Reachability (3.2.1) + - AFNetworking/Security (3.2.1) + - AFNetworking/Serialization (3.2.1) + - AFNetworking/UIKit (3.2.1): - AFNetworking/NSURLSession DEPENDENCIES: - - AFNetworking (~> 3.0) + - AFNetworking (~> 3.2.1) SPEC REPOS: https://github.com/CocoaPods/Specs.git: - AFNetworking SPEC CHECKSUMS: - AFNetworking: 8ac6017b94ea105479f7776e5288e48ae9c59bb4 + AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 -PODFILE CHECKSUM: 34f6387ee40deb3469deca752658f6f8e19eebbf +PODFILE CHECKSUM: a4129a20683f9a52b5e0bc75df05fed9ce9b8d15 -COCOAPODS: 1.5.0 +COCOAPODS: 1.8.3 diff --git a/Demo/Pods/Pods.xcodeproj/project.pbxproj b/Demo/Pods/Pods.xcodeproj/project.pbxproj index 66b1217a..df66517f 100644 --- a/Demo/Pods/Pods.xcodeproj/project.pbxproj +++ b/Demo/Pods/Pods.xcodeproj/project.pbxproj @@ -7,338 +7,316 @@ objects = { /* Begin PBXBuildFile section */ - 0214246CCB1FF7182F7222B9CCDF8FCB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F921D275AC6AA48C031BF91FD4592584 /* Foundation.framework */; }; - 064EC4AA8FCCD08F2037037B1E672DBF /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 809E0EE6429DA2700D30D5F8F46F4100 /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0A1CE7CE58B28609B573D4058ABDD616 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B8C2F3F38AC8B05D07C9BAACD044EAD /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 0E642705E9D54540F88AF54A2EFA918F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F921D275AC6AA48C031BF91FD4592584 /* Foundation.framework */; }; - 12FCB056A2B7051B0D91B16CAFE85C1D /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = CC618B900858F4F77C2746363E77B86C /* UIRefreshControl+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 1702DB74CC573578862AA584FC9D1632 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = AFF2CC19E35B6A289DF5C325A6C2B4E7 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 17889562A613EFB9E8C0CD14947CCC8F /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 18A6CC7151721E485930D715056633ED /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 17E74D623462991F19748A7F99CF8ED6 /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 51204DFB5BF601D556D71C3736263351 /* UIWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 19CFCF718B674B91847980FA20429558 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4852ABEFD7FFFAE072C5835CCDB22279 /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 211646AEE68A3577495B0DF917A0DCDC /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 8006E5A6F0951AA637FFA7F53DBA00D9 /* AFImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2612D2B9BEA56B8CB2B361AA0BAB599F /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 516F3F2A9B24B2E2092E84E8EAF0A9F7 /* UIButton+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 29D221887670387A248AD92AA94253C2 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 525066ED64B26EC45F9B2AD4D3B0D1B2 /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 2BCD3F861A5F4CF448072C4692AD130D /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 0E9837C7FFCFC4203B1BAADAADD8E206 /* UIImageView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2E093B774E17FC557A5815F454077404 /* Pods-XMNetworkingDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B84B129073C735F3F551986CD4C07BE /* Pods-XMNetworkingDemo-dummy.m */; }; - 5D437F5C4A12A4552070DCFCC423583B /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 18B9DCDB5BE79C17D786D046D23A6C8F /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 63299DE5DEA29075FADA35711169188E /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 14F2B0D3DD13B76429F713F1F1A1CC6F /* AFNetworking-dummy.m */; }; - 63FF4EC1D3DDA4B5ED2F68BFC306B2BF /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 036FDD48539129C05AAE4C9ACA312100 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7482DD9AE507E2E744A01F061D7C9266 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 1207584E6BDCF4C846A1DDFE0BCFEECF /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 75D4D1F473F6DA208001A46179BAEB7A /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0401DF9E61B17C3AE9FE93347CCD9E64 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 7B12269BEFA5305C78EC3D22AB2B1CEC /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D925E789318555435D0DBEF9BEC8015 /* UIActivityIndicatorView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 8962061859D3579C36C4703E96D8F3FD /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = C23C3983ADC1EBC0A6AD3D68F3DBC4BA /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 903158692A045396106CA22C0DD13BA6 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC8A7C0B6179467051ED95E59DB2AF9F /* SystemConfiguration.framework */; }; - 945F691AD18DC2361A75C6621E42461C /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B17FF80B117EDDFBD41C5C3B5C1D217 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A906A376A93C1C83BB89E8F63A663F43 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 1246CB48952FF37C1DB54894C46F6390 /* AFAutoPurgingImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AFC6DC1967B85742B8ECA969CED51610 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E451FBBEE5D302A74D966AC502CE5B19 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B3B907CDAF7FDC60BFE105DDB4B51B6A /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = BFD303D6F6C659A55A8684008D1476CB /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B43CDF265CF01D7C6072082897C51DEE /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 20CB1302DD85B80CBADE42E436CF5930 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C4D12D56B5E4323CDE6A77AEF30D4D9F /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E990D35FEF51D7420F303E35DCBE1F6 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C60E5845068B90D7760411CE582C2934 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = E71FC5436C29FCEB72394E7117726B8F /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - CBCCEAD402645565401CA93924736979 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A64716173FC0305057230E14CDCC7A77 /* CoreGraphics.framework */; }; - D486C538AE3151018303619712539B4C /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = D0F90194E52430599383549278FEA918 /* UIProgressView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D542E74CF3A429E7433464C12405F07B /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = C0DC8653B61F64B5FC03BFC2B0A6E528 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DE825B8F32AB823F4BE5492CAC6FCB4B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 12A9374C39A6EFA90AD3F2E64799ECC5 /* Security.framework */; }; - E66EDE92DE4B13E4853191475509CDFB /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 42C03FCF30AB48A3B8DC805A289477E2 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - E81A3DDBBA7965126D98EEA4C35E7363 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 42EAD270211F301E809EA7C39D05A3DC /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EDEDABB0A7CE2131C2CF03E094C1840D /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 8946DE00AC08571F0D4A4F985A8FA609 /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F4AF1BA06F07E566D12446F8AB86C929 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 78C774AEA3474BF09AD285C28E701D5F /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F8B71BB9667E21385D7AAEFEC796BAE4 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = FE9DC137B1B02C802E7ABBECC9401A7B /* AFNetworkActivityIndicatorManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F8DCA6C3C05A59B2C95A1B5F1CBD8C99 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B9FDBCCB266ACFED93E55656FD8A014C /* MobileCoreServices.framework */; }; - FB9AA5207284E33FFC55FEB308BFA71F /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = D2792B01BCFFB8C68B0CE56421B99A2F /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FC0BDC904394B55C2E9C3A8C308E8EB6 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 357FC25AA9F2E82213C986CE50969E1A /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 01B66F093A10B53F21ADDD4F17AEE0F2 /* Pods-XMNetworkingDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF95D206176489438A0CD691651DDE87 /* Pods-XMNetworkingDemo-dummy.m */; }; + 0343B86E9B9F5619970FCBD7370E033A /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA54ED4143E975785A0CA723E188037 /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 05AB469F0F79C648F8E637F88CDB9E97 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 85DD35788A4653CCEB98A48A90FECCA8 /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 063B1E5D36D010529650455B572F2F1F /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B4E1D4628950CA5BEA0E090051D85955 /* AFNetworking-dummy.m */; }; + 0C26E8CE5202114A92A9CFFBA1A9CE88 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D13BD130E707420929CC1389CB34D5C3 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 1102564C9CDAC18DF8D6DB20F6523E72 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E297833633D63BDAAEF544941C4C724C /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F2B267B158B2AE06D53788A843D89F0 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 388FED0E693E62E2A021D791622D923A /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A0473FBB5AC34E75AD64849639D67173 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 404EA673E05C556F1CAFCF20F3F76EFB /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 07316E62C5E083C07CA7403DF3BC2ABF /* UIProgressView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 418985D1EA0253EAA3C02FC1F31CA5E8 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D9A9C53CF73160CA99F90141981429F9 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 526CD62CFE195493EAAB3A92C3C9763E /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = BA07D519695035D5AB97922F0AA5558B /* AFImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 5FF1B4EEDEE8BCA2E676E2548A412B02 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = FAB8630C4E5B4DE521F17B972D978830 /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6326910744CB757A56F0D16A8892445E /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D862B6AEF241C63AFB584BDC8B8F611 /* UIWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 6B5B030904BA451F4FFE3AF2FD28D2DA /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = A523659028574E870A6569C097D264F7 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6CB316D3625C84412DE22B9A235A01F0 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = C596592F62EA58CBF34F0F017F3308DB /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 72131334F39177232F5C64E5C2259711 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9899605EFA17AAE6B0C3D33CBBC4FA0A /* AFAutoPurgingImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 7FD4DA962081937E2909251631083650 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 30E3EC724125C85D2DBC031563CF6CE3 /* UIRefreshControl+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9A7A3B80A68DB4A21A6833AA4683A7AD /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 74B34A88E9BB0B84FFC25DF40821005A /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A845819E8332E3CA279E6B00EAA55366 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DCA3E47ADE6C76382EE5E95DAFB254B /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B00EA522A62498626388BC649DFE2996 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = CFDC016F18D9B486E7D69BBF23111205 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B27878E3B8F8ADB1FE01DBD6CB5812E7 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 799340FB8A9F01060A7BEE965C669881 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + B48421F25E2E04C4DC77FF82D0F338BA /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 309236B7A79E0B741E01426B63AA25B0 /* UIImageView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + B64C5A5EB2B85612397A326837EF0393 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8731BAE5A5E24E500A625277940E1CEC /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C021F7A223193176651A008941380D7E /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AF29553EF97BC3CC019CD899EB9C190 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C06F61A759022A62864BD9F8EE3660F3 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 84F71437F0DF781EB7D63DB6A4014ADD /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C1EE07F0E0B54668574633B545FBCE48 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DB954D1BA1125ABCD9ED5DC0F6B46585 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + C4EBDBEA71996F51119191E3C2C3B708 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 20ABFCE6BDC3D6C6D65597499F7A7AD0 /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C9B7C0B49F09E5C508839370A4A06FA2 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 443C8386AB726B99754752B24BBF7147 /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D280A3B13923FF5FA778EF312BD965F7 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EC5CC6B9C1536C09B4BFD416F26EBAA4 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D3DC240631E1FA883A5604B3E99BAE2B /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF9C56EA7DBEA08523363AA4E352E41 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D40A597666064AC9FB9130B57CB43438 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F57293F6CA03185D0D4C6270229D3CC0 /* UIActivityIndicatorView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + D569D00367B456F6CDFE2700097562FC /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 4135FB89EABF790824E663EED844C7B2 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + DF0ECA939EB2D2D9A3918DFBF29B79F0 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = DB36B9C8A7B42CE1C4F6A87D4497FAC3 /* UIButton+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + F9AD2CFBEDD600706B921428D25DFA3A /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = CA871B0F79F59AD5E1AFCED9DD22730C /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + F9CA5B97B878B42C067AC48CF4309C8A /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 652FD793ADA50A2BCEB5F7FA3423635A /* AFNetworkActivityIndicatorManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FEAA3C60F4BDDAC22BD1A6B047DBAAE9 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CE1818F04B4EE77D9955F9BFA07C60D /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - B8362C42B85B9FF74CFC6AF08A7143EF /* PBXContainerItemProxy */ = { + 94399089F3A763D0F64D0184B41BC747 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 9E033EDB5EC0819481B0546434FA577B; + remoteGlobalIDString = 0130B3724283586C0E9D2A112D4F2AA1; remoteInfo = AFNetworking; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0201E40A2EC35F788BD8A885100C12D3 /* libAFNetworking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAFNetworking.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 036FDD48539129C05AAE4C9ACA312100 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; - 0401DF9E61B17C3AE9FE93347CCD9E64 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; - 0E9837C7FFCFC4203B1BAADAADD8E206 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; - 1207584E6BDCF4C846A1DDFE0BCFEECF /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; - 1246CB48952FF37C1DB54894C46F6390 /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; - 12A9374C39A6EFA90AD3F2E64799ECC5 /* 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; }; - 14673F01BA2ED5D126E93E99A45B2088 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - 14F2B0D3DD13B76429F713F1F1A1CC6F /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; - 18A6CC7151721E485930D715056633ED /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; - 18B9DCDB5BE79C17D786D046D23A6C8F /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - 1B84B129073C735F3F551986CD4C07BE /* Pods-XMNetworkingDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-XMNetworkingDemo-dummy.m"; sourceTree = ""; }; - 1E990D35FEF51D7420F303E35DCBE1F6 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - 20CB1302DD85B80CBADE42E436CF5930 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; - 357FC25AA9F2E82213C986CE50969E1A /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; - 3B8C2F3F38AC8B05D07C9BAACD044EAD /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; - 42C03FCF30AB48A3B8DC805A289477E2 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - 42EAD270211F301E809EA7C39D05A3DC /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; - 45115CFB426155493B2DD8871CEA2E6E /* Pods-XMNetworkingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-XMNetworkingDemo.release.xcconfig"; sourceTree = ""; }; - 4852ABEFD7FFFAE072C5835CCDB22279 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - 4D925E789318555435D0DBEF9BEC8015 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; - 51204DFB5BF601D556D71C3736263351 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; - 516F3F2A9B24B2E2092E84E8EAF0A9F7 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; - 525066ED64B26EC45F9B2AD4D3B0D1B2 /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - 78C774AEA3474BF09AD285C28E701D5F /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; - 7BDEB0A1CDC6027BDF8930FF5467A4FD /* Pods-XMNetworkingDemo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-XMNetworkingDemo-frameworks.sh"; sourceTree = ""; }; - 7C3E71920E88214D890FDA61B3284D52 /* Pods-XMNetworkingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-XMNetworkingDemo.debug.xcconfig"; sourceTree = ""; }; - 8006E5A6F0951AA637FFA7F53DBA00D9 /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; - 809E0EE6429DA2700D30D5F8F46F4100 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - 8946DE00AC08571F0D4A4F985A8FA609 /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; - 8B17FF80B117EDDFBD41C5C3B5C1D217 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - A52B79635616E6B5651F49364B55D950 /* Pods-XMNetworkingDemo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-XMNetworkingDemo-resources.sh"; sourceTree = ""; }; - A64716173FC0305057230E14CDCC7A77 /* 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; }; - A7280C845CCA2804DEA9667377EE41CC /* libPods-XMNetworkingDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-XMNetworkingDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - AFF2CC19E35B6A289DF5C325A6C2B4E7 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; - B9FDBCCB266ACFED93E55656FD8A014C /* 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; }; - BFD303D6F6C659A55A8684008D1476CB /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; - C0DC8653B61F64B5FC03BFC2B0A6E528 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; - C23C3983ADC1EBC0A6AD3D68F3DBC4BA /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; - CC618B900858F4F77C2746363E77B86C /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; - CE686B1FCD3CB847FE1D813AB531387F /* Pods-XMNetworkingDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-XMNetworkingDemo-acknowledgements.plist"; sourceTree = ""; }; - D0F90194E52430599383549278FEA918 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; - D1364E1A74FA884D5BCADB171DFE7353 /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; - D2792B01BCFFB8C68B0CE56421B99A2F /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - E451FBBEE5D302A74D966AC502CE5B19 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - E71FC5436C29FCEB72394E7117726B8F /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; - EC8A7C0B6179467051ED95E59DB2AF9F /* 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; }; - F3C94B8CA3B50C98B6D9C21E64980775 /* Pods-XMNetworkingDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-XMNetworkingDemo-acknowledgements.markdown"; sourceTree = ""; }; - F921D275AC6AA48C031BF91FD4592584 /* 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; }; - FE9DC137B1B02C802E7ABBECC9401A7B /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + 07316E62C5E083C07CA7403DF3BC2ABF /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; + 1AF29553EF97BC3CC019CD899EB9C190 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + 1CE1818F04B4EE77D9955F9BFA07C60D /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + 20ABFCE6BDC3D6C6D65597499F7A7AD0 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + 2D862B6AEF241C63AFB584BDC8B8F611 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; + 309236B7A79E0B741E01426B63AA25B0 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + 30E3EC724125C85D2DBC031563CF6CE3 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + 3AE2DC5F464B1DBBDE96F85708D2B581 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + 4135FB89EABF790824E663EED844C7B2 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 443C8386AB726B99754752B24BBF7147 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 4FF9C56EA7DBEA08523363AA4E352E41 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; + 607C9BACD83D5738F2E595208D54C146 /* Pods-XMNetworkingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-XMNetworkingDemo.release.xcconfig"; sourceTree = ""; }; + 652FD793ADA50A2BCEB5F7FA3423635A /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; + 6DCA3E47ADE6C76382EE5E95DAFB254B /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + 74B34A88E9BB0B84FFC25DF40821005A /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + 799340FB8A9F01060A7BEE965C669881 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; + 7F2B267B158B2AE06D53788A843D89F0 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; + 84F71437F0DF781EB7D63DB6A4014ADD /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; + 85DD35788A4653CCEB98A48A90FECCA8 /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + 8731BAE5A5E24E500A625277940E1CEC /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + 8BA54ED4143E975785A0CA723E188037 /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; + 8BDA57C096DFC6E5472989D8D0F3D2BD /* Pods-XMNetworkingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-XMNetworkingDemo.debug.xcconfig"; sourceTree = ""; }; + 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; + 9899605EFA17AAE6B0C3D33CBBC4FA0A /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.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; }; + A0473FBB5AC34E75AD64849639D67173 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libAFNetworking.a; path = libAFNetworking.a; sourceTree = BUILT_PRODUCTS_DIR; }; + A523659028574E870A6569C097D264F7 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + AE3D14361E4B0DEF47DE6EB7777D374C /* Pods-XMNetworkingDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-XMNetworkingDemo-acknowledgements.markdown"; sourceTree = ""; }; + B4E1D4628950CA5BEA0E090051D85955 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + BA07D519695035D5AB97922F0AA5558B /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + BD83F30155F129105B1425B819945E9B /* libPods-XMNetworkingDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-XMNetworkingDemo.a"; path = "libPods-XMNetworkingDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + C596592F62EA58CBF34F0F017F3308DB /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + CA871B0F79F59AD5E1AFCED9DD22730C /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; + CFDC016F18D9B486E7D69BBF23111205 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + D13BD130E707420929CC1389CB34D5C3 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + D9A9C53CF73160CA99F90141981429F9 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + DB36B9C8A7B42CE1C4F6A87D4497FAC3 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; + DB954D1BA1125ABCD9ED5DC0F6B46585 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + E297833633D63BDAAEF544941C4C724C /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + EC5CC6B9C1536C09B4BFD416F26EBAA4 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + F57293F6CA03185D0D4C6270229D3CC0 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + F71D4588B421870D8628D7781BC2DA12 /* Pods-XMNetworkingDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-XMNetworkingDemo-acknowledgements.plist"; sourceTree = ""; }; + FAB8630C4E5B4DE521F17B972D978830 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; + FF95D206176489438A0CD691651DDE87 /* Pods-XMNetworkingDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-XMNetworkingDemo-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 110CA8F43678511966090BBFCC7384DE /* Frameworks */ = { + 74CA1619F24B79CC712A86A70DED135F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0E642705E9D54540F88AF54A2EFA918F /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - F3284DBE3CA8932733932AD2A48445B2 /* Frameworks */ = { + 7D6C97CB3578D4B329EF6B554115A476 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CBCCEAD402645565401CA93924736979 /* CoreGraphics.framework in Frameworks */, - 0214246CCB1FF7182F7222B9CCDF8FCB /* Foundation.framework in Frameworks */, - F8DCA6C3C05A59B2C95A1B5F1CBD8C99 /* MobileCoreServices.framework in Frameworks */, - DE825B8F32AB823F4BE5492CAC6FCB4B /* Security.framework in Frameworks */, - 903158692A045396106CA22C0DD13BA6 /* SystemConfiguration.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0336952400392A094D9CF93F23FBA803 /* Reachability */ = { + 035B4AECD05CF8D67B06B8077408190C /* Pods-XMNetworkingDemo */ = { isa = PBXGroup; children = ( - 357FC25AA9F2E82213C986CE50969E1A /* AFNetworkReachabilityManager.h */, - 4852ABEFD7FFFAE072C5835CCDB22279 /* AFNetworkReachabilityManager.m */, + AE3D14361E4B0DEF47DE6EB7777D374C /* Pods-XMNetworkingDemo-acknowledgements.markdown */, + F71D4588B421870D8628D7781BC2DA12 /* Pods-XMNetworkingDemo-acknowledgements.plist */, + FF95D206176489438A0CD691651DDE87 /* Pods-XMNetworkingDemo-dummy.m */, + 8BDA57C096DFC6E5472989D8D0F3D2BD /* Pods-XMNetworkingDemo.debug.xcconfig */, + 607C9BACD83D5738F2E595208D54C146 /* Pods-XMNetworkingDemo.release.xcconfig */, ); - name = Reachability; - sourceTree = ""; - }; - 118C018DD63A7C9B85C796B9D7927B72 /* Serialization */ = { - isa = PBXGroup; - children = ( - 18B9DCDB5BE79C17D786D046D23A6C8F /* AFURLRequestSerialization.h */, - D2792B01BCFFB8C68B0CE56421B99A2F /* AFURLRequestSerialization.m */, - 8946DE00AC08571F0D4A4F985A8FA609 /* AFURLResponseSerialization.h */, - 1E990D35FEF51D7420F303E35DCBE1F6 /* AFURLResponseSerialization.m */, - ); - name = Serialization; + name = "Pods-XMNetworkingDemo"; + path = "Target Support Files/Pods-XMNetworkingDemo"; sourceTree = ""; }; - 1C26585A924F80DB59965DD3B7AB0AD1 /* NSURLSession */ = { + 0E3469DEFFA625D24D2C2395AA5382BA /* Support Files */ = { isa = PBXGroup; children = ( - 42C03FCF30AB48A3B8DC805A289477E2 /* AFHTTPSessionManager.h */, - 42EAD270211F301E809EA7C39D05A3DC /* AFHTTPSessionManager.m */, - 525066ED64B26EC45F9B2AD4D3B0D1B2 /* AFURLSessionManager.h */, - 809E0EE6429DA2700D30D5F8F46F4100 /* AFURLSessionManager.m */, + 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */, + B4E1D4628950CA5BEA0E090051D85955 /* AFNetworking-dummy.m */, + 3AE2DC5F464B1DBBDE96F85708D2B581 /* AFNetworking-prefix.pch */, ); - name = NSURLSession; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - 20B56609144CE204DFA8221F742B2D76 /* Frameworks */ = { + 22E4CA64A815642BECF0B11AAD818406 /* Targets Support Files */ = { isa = PBXGroup; children = ( - CB79318D3E8AF2183319FF8098C5AE5E /* iOS */, + 035B4AECD05CF8D67B06B8077408190C /* Pods-XMNetworkingDemo */, ); - name = Frameworks; + name = "Targets Support Files"; sourceTree = ""; }; - 2C186AA24E2640F4BC841D3813B8BAE7 /* Support Files */ = { + 61D868E3AF3B5624C1D596D98D062F28 /* UIKit */ = { isa = PBXGroup; children = ( - D1364E1A74FA884D5BCADB171DFE7353 /* AFNetworking.xcconfig */, - 14F2B0D3DD13B76429F713F1F1A1CC6F /* AFNetworking-dummy.m */, - 14673F01BA2ED5D126E93E99A45B2088 /* AFNetworking-prefix.pch */, + 84F71437F0DF781EB7D63DB6A4014ADD /* AFAutoPurgingImageCache.h */, + 9899605EFA17AAE6B0C3D33CBBC4FA0A /* AFAutoPurgingImageCache.m */, + A523659028574E870A6569C097D264F7 /* AFImageDownloader.h */, + BA07D519695035D5AB97922F0AA5558B /* AFImageDownloader.m */, + 1CE1818F04B4EE77D9955F9BFA07C60D /* AFNetworkActivityIndicatorManager.h */, + 652FD793ADA50A2BCEB5F7FA3423635A /* AFNetworkActivityIndicatorManager.m */, + D9A9C53CF73160CA99F90141981429F9 /* UIActivityIndicatorView+AFNetworking.h */, + F57293F6CA03185D0D4C6270229D3CC0 /* UIActivityIndicatorView+AFNetworking.m */, + D13BD130E707420929CC1389CB34D5C3 /* UIButton+AFNetworking.h */, + DB36B9C8A7B42CE1C4F6A87D4497FAC3 /* UIButton+AFNetworking.m */, + 799340FB8A9F01060A7BEE965C669881 /* UIImage+AFNetworking.h */, + CA871B0F79F59AD5E1AFCED9DD22730C /* UIImageView+AFNetworking.h */, + 309236B7A79E0B741E01426B63AA25B0 /* UIImageView+AFNetworking.m */, + DB954D1BA1125ABCD9ED5DC0F6B46585 /* UIKit+AFNetworking.h */, + 4FF9C56EA7DBEA08523363AA4E352E41 /* UIProgressView+AFNetworking.h */, + 07316E62C5E083C07CA7403DF3BC2ABF /* UIProgressView+AFNetworking.m */, + 6DCA3E47ADE6C76382EE5E95DAFB254B /* UIRefreshControl+AFNetworking.h */, + 30E3EC724125C85D2DBC031563CF6CE3 /* UIRefreshControl+AFNetworking.m */, + 7F2B267B158B2AE06D53788A843D89F0 /* UIWebView+AFNetworking.h */, + 2D862B6AEF241C63AFB584BDC8B8F611 /* UIWebView+AFNetworking.m */, ); - name = "Support Files"; - path = "../Target Support Files/AFNetworking"; + name = UIKit; sourceTree = ""; }; - 2CA0883CD03146E6AD022CB31BAB9C31 /* Targets Support Files */ = { + 70FF026FD43911BF3E541F049BF727DC /* AFNetworking */ = { isa = PBXGroup; children = ( - 4419A764040CDFF177364FC4F9CD6E9A /* Pods-XMNetworkingDemo */, + FAB8630C4E5B4DE521F17B972D978830 /* AFNetworking.h */, + DA0CC48A965602EAAF3069ADB1FA06AC /* NSURLSession */, + 7F555EA97383552DB7FDAC7A0909C456 /* Reachability */, + 8886C3C1D163AC9713C11F1FD18C76F0 /* Security */, + 77C38BAA60BB2D6300B74C529EAA35A0 /* Serialization */, + 0E3469DEFFA625D24D2C2395AA5382BA /* Support Files */, + 61D868E3AF3B5624C1D596D98D062F28 /* UIKit */, ); - name = "Targets Support Files"; + name = AFNetworking; + path = AFNetworking; sourceTree = ""; }; - 4419A764040CDFF177364FC4F9CD6E9A /* Pods-XMNetworkingDemo */ = { + 77C38BAA60BB2D6300B74C529EAA35A0 /* Serialization */ = { isa = PBXGroup; children = ( - F3C94B8CA3B50C98B6D9C21E64980775 /* Pods-XMNetworkingDemo-acknowledgements.markdown */, - CE686B1FCD3CB847FE1D813AB531387F /* Pods-XMNetworkingDemo-acknowledgements.plist */, - 1B84B129073C735F3F551986CD4C07BE /* Pods-XMNetworkingDemo-dummy.m */, - 7BDEB0A1CDC6027BDF8930FF5467A4FD /* Pods-XMNetworkingDemo-frameworks.sh */, - A52B79635616E6B5651F49364B55D950 /* Pods-XMNetworkingDemo-resources.sh */, - 7C3E71920E88214D890FDA61B3284D52 /* Pods-XMNetworkingDemo.debug.xcconfig */, - 45115CFB426155493B2DD8871CEA2E6E /* Pods-XMNetworkingDemo.release.xcconfig */, + 4135FB89EABF790824E663EED844C7B2 /* AFURLRequestSerialization.h */, + C596592F62EA58CBF34F0F017F3308DB /* AFURLRequestSerialization.m */, + 74B34A88E9BB0B84FFC25DF40821005A /* AFURLResponseSerialization.h */, + 1AF29553EF97BC3CC019CD899EB9C190 /* AFURLResponseSerialization.m */, ); - name = "Pods-XMNetworkingDemo"; - path = "Target Support Files/Pods-XMNetworkingDemo"; + name = Serialization; sourceTree = ""; }; - 641BDD347DE7B8BB81D6CA5727C6EC5A /* Pods */ = { + 7F555EA97383552DB7FDAC7A0909C456 /* Reachability */ = { isa = PBXGroup; children = ( - D8AEA08F300093373DE87ADAC55F71FA /* AFNetworking */, + E297833633D63BDAAEF544941C4C724C /* AFNetworkReachabilityManager.h */, + 8731BAE5A5E24E500A625277940E1CEC /* AFNetworkReachabilityManager.m */, ); - name = Pods; + name = Reachability; sourceTree = ""; }; - 64B71C384435C48FAA2EDD45AEDAF210 /* UIKit */ = { + 8886C3C1D163AC9713C11F1FD18C76F0 /* Security */ = { isa = PBXGroup; children = ( - 18A6CC7151721E485930D715056633ED /* AFAutoPurgingImageCache.h */, - 1246CB48952FF37C1DB54894C46F6390 /* AFAutoPurgingImageCache.m */, - 8B17FF80B117EDDFBD41C5C3B5C1D217 /* AFImageDownloader.h */, - 8006E5A6F0951AA637FFA7F53DBA00D9 /* AFImageDownloader.m */, - AFF2CC19E35B6A289DF5C325A6C2B4E7 /* AFNetworkActivityIndicatorManager.h */, - FE9DC137B1B02C802E7ABBECC9401A7B /* AFNetworkActivityIndicatorManager.m */, - E451FBBEE5D302A74D966AC502CE5B19 /* UIActivityIndicatorView+AFNetworking.h */, - 4D925E789318555435D0DBEF9BEC8015 /* UIActivityIndicatorView+AFNetworking.m */, - BFD303D6F6C659A55A8684008D1476CB /* UIButton+AFNetworking.h */, - 516F3F2A9B24B2E2092E84E8EAF0A9F7 /* UIButton+AFNetworking.m */, - C0DC8653B61F64B5FC03BFC2B0A6E528 /* UIImage+AFNetworking.h */, - C23C3983ADC1EBC0A6AD3D68F3DBC4BA /* UIImageView+AFNetworking.h */, - 0E9837C7FFCFC4203B1BAADAADD8E206 /* UIImageView+AFNetworking.m */, - 20CB1302DD85B80CBADE42E436CF5930 /* UIKit+AFNetworking.h */, - 1207584E6BDCF4C846A1DDFE0BCFEECF /* UIProgressView+AFNetworking.h */, - D0F90194E52430599383549278FEA918 /* UIProgressView+AFNetworking.m */, - 78C774AEA3474BF09AD285C28E701D5F /* UIRefreshControl+AFNetworking.h */, - CC618B900858F4F77C2746363E77B86C /* UIRefreshControl+AFNetworking.m */, - 036FDD48539129C05AAE4C9ACA312100 /* UIWebView+AFNetworking.h */, - 51204DFB5BF601D556D71C3736263351 /* UIWebView+AFNetworking.m */, + CFDC016F18D9B486E7D69BBF23111205 /* AFSecurityPolicy.h */, + 443C8386AB726B99754752B24BBF7147 /* AFSecurityPolicy.m */, ); - name = UIKit; + name = Security; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + B580EA7CF70EB35BD42257A17D958932 /* Pods */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 20B56609144CE204DFA8221F742B2D76 /* Frameworks */, - 641BDD347DE7B8BB81D6CA5727C6EC5A /* Pods */, - 9D3ECD3316029EEDD6E224365DFE203B /* Products */, - 2CA0883CD03146E6AD022CB31BAB9C31 /* Targets Support Files */, + 70FF026FD43911BF3E541F049BF727DC /* AFNetworking */, ); + name = Pods; sourceTree = ""; }; - 9D3ECD3316029EEDD6E224365DFE203B /* Products */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 0201E40A2EC35F788BD8A885100C12D3 /* libAFNetworking.a */, - A7280C845CCA2804DEA9667377EE41CC /* libPods-XMNetworkingDemo.a */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */, + B580EA7CF70EB35BD42257A17D958932 /* Pods */, + E66007CF4A60A93B39CB15EF12B2E966 /* Products */, + 22E4CA64A815642BECF0B11AAD818406 /* Targets Support Files */, ); - name = Products; sourceTree = ""; }; - CB79318D3E8AF2183319FF8098C5AE5E /* iOS */ = { + D89477F20FB1DE18A04690586D7808C4 /* Frameworks */ = { isa = PBXGroup; children = ( - A64716173FC0305057230E14CDCC7A77 /* CoreGraphics.framework */, - F921D275AC6AA48C031BF91FD4592584 /* Foundation.framework */, - B9FDBCCB266ACFED93E55656FD8A014C /* MobileCoreServices.framework */, - 12A9374C39A6EFA90AD3F2E64799ECC5 /* Security.framework */, - EC8A7C0B6179467051ED95E59DB2AF9F /* SystemConfiguration.framework */, ); - name = iOS; + name = Frameworks; sourceTree = ""; }; - D8AEA08F300093373DE87ADAC55F71FA /* AFNetworking */ = { + DA0CC48A965602EAAF3069ADB1FA06AC /* NSURLSession */ = { isa = PBXGroup; children = ( - E71FC5436C29FCEB72394E7117726B8F /* AFNetworking.h */, - 1C26585A924F80DB59965DD3B7AB0AD1 /* NSURLSession */, - 0336952400392A094D9CF93F23FBA803 /* Reachability */, - E9A2D2E704D5128BD90065AA48D6522C /* Security */, - 118C018DD63A7C9B85C796B9D7927B72 /* Serialization */, - 2C186AA24E2640F4BC841D3813B8BAE7 /* Support Files */, - 64B71C384435C48FAA2EDD45AEDAF210 /* UIKit */, + 8BA54ED4143E975785A0CA723E188037 /* AFCompatibilityMacros.h */, + EC5CC6B9C1536C09B4BFD416F26EBAA4 /* AFHTTPSessionManager.h */, + A0473FBB5AC34E75AD64849639D67173 /* AFHTTPSessionManager.m */, + 85DD35788A4653CCEB98A48A90FECCA8 /* AFURLSessionManager.h */, + 20ABFCE6BDC3D6C6D65597499F7A7AD0 /* AFURLSessionManager.m */, ); - path = AFNetworking; + name = NSURLSession; sourceTree = ""; }; - E9A2D2E704D5128BD90065AA48D6522C /* Security */ = { + E66007CF4A60A93B39CB15EF12B2E966 /* Products */ = { isa = PBXGroup; children = ( - 0401DF9E61B17C3AE9FE93347CCD9E64 /* AFSecurityPolicy.h */, - 3B8C2F3F38AC8B05D07C9BAACD044EAD /* AFSecurityPolicy.m */, + A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */, + BD83F30155F129105B1425B819945E9B /* libPods-XMNetworkingDemo.a */, ); - name = Security; + name = Products; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 0A1C2B07813030B0D51EB1D804A4439E /* Headers */ = { + 14E0D8243FF443EAD5C08A989681A76E /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 1719BD8C8C5FB63E8E3A195F3CF29331 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 17889562A613EFB9E8C0CD14947CCC8F /* AFAutoPurgingImageCache.h in Headers */, - E66EDE92DE4B13E4853191475509CDFB /* AFHTTPSessionManager.h in Headers */, - 945F691AD18DC2361A75C6621E42461C /* AFImageDownloader.h in Headers */, - 1702DB74CC573578862AA584FC9D1632 /* AFNetworkActivityIndicatorManager.h in Headers */, - C60E5845068B90D7760411CE582C2934 /* AFNetworking.h in Headers */, - FC0BDC904394B55C2E9C3A8C308E8EB6 /* AFNetworkReachabilityManager.h in Headers */, - 75D4D1F473F6DA208001A46179BAEB7A /* AFSecurityPolicy.h in Headers */, - 5D437F5C4A12A4552070DCFCC423583B /* AFURLRequestSerialization.h in Headers */, - EDEDABB0A7CE2131C2CF03E094C1840D /* AFURLResponseSerialization.h in Headers */, - 29D221887670387A248AD92AA94253C2 /* AFURLSessionManager.h in Headers */, - AFC6DC1967B85742B8ECA969CED51610 /* UIActivityIndicatorView+AFNetworking.h in Headers */, - B3B907CDAF7FDC60BFE105DDB4B51B6A /* UIButton+AFNetworking.h in Headers */, - D542E74CF3A429E7433464C12405F07B /* UIImage+AFNetworking.h in Headers */, - 8962061859D3579C36C4703E96D8F3FD /* UIImageView+AFNetworking.h in Headers */, - B43CDF265CF01D7C6072082897C51DEE /* UIKit+AFNetworking.h in Headers */, - 7482DD9AE507E2E744A01F061D7C9266 /* UIProgressView+AFNetworking.h in Headers */, - F4AF1BA06F07E566D12446F8AB86C929 /* UIRefreshControl+AFNetworking.h in Headers */, - 63FF4EC1D3DDA4B5ED2F68BFC306B2BF /* UIWebView+AFNetworking.h in Headers */, + C06F61A759022A62864BD9F8EE3660F3 /* AFAutoPurgingImageCache.h in Headers */, + 0343B86E9B9F5619970FCBD7370E033A /* AFCompatibilityMacros.h in Headers */, + D280A3B13923FF5FA778EF312BD965F7 /* AFHTTPSessionManager.h in Headers */, + 6B5B030904BA451F4FFE3AF2FD28D2DA /* AFImageDownloader.h in Headers */, + FEAA3C60F4BDDAC22BD1A6B047DBAAE9 /* AFNetworkActivityIndicatorManager.h in Headers */, + 5FF1B4EEDEE8BCA2E676E2548A412B02 /* AFNetworking.h in Headers */, + 1102564C9CDAC18DF8D6DB20F6523E72 /* AFNetworkReachabilityManager.h in Headers */, + B00EA522A62498626388BC649DFE2996 /* AFSecurityPolicy.h in Headers */, + D569D00367B456F6CDFE2700097562FC /* AFURLRequestSerialization.h in Headers */, + 9A7A3B80A68DB4A21A6833AA4683A7AD /* AFURLResponseSerialization.h in Headers */, + 05AB469F0F79C648F8E637F88CDB9E97 /* AFURLSessionManager.h in Headers */, + 418985D1EA0253EAA3C02FC1F31CA5E8 /* UIActivityIndicatorView+AFNetworking.h in Headers */, + 0C26E8CE5202114A92A9CFFBA1A9CE88 /* UIButton+AFNetworking.h in Headers */, + B27878E3B8F8ADB1FE01DBD6CB5812E7 /* UIImage+AFNetworking.h in Headers */, + F9AD2CFBEDD600706B921428D25DFA3A /* UIImageView+AFNetworking.h in Headers */, + C1EE07F0E0B54668574633B545FBCE48 /* UIKit+AFNetworking.h in Headers */, + D3DC240631E1FA883A5604B3E99BAE2B /* UIProgressView+AFNetworking.h in Headers */, + A845819E8332E3CA279E6B00EAA55366 /* UIRefreshControl+AFNetworking.h in Headers */, + 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */ = { + 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */ = { isa = PBXNativeTarget; - buildConfigurationList = 483FBC4A668BF7F1A8767452E7E188AC /* Build configuration list for PBXNativeTarget "AFNetworking" */; + buildConfigurationList = EE91476FFEA2C3B3AB024E94672BCFF2 /* Build configuration list for PBXNativeTarget "AFNetworking" */; buildPhases = ( - AAEE4C1DF970D446DF57CA3DDD16AD00 /* Sources */, - F3284DBE3CA8932733932AD2A48445B2 /* Frameworks */, - 0A1C2B07813030B0D51EB1D804A4439E /* Headers */, + 1719BD8C8C5FB63E8E3A195F3CF29331 /* Headers */, + 7045CFF55E3AB34311BB6DDDF4F424EF /* Sources */, + 74CA1619F24B79CC712A86A70DED135F /* Frameworks */, ); buildRules = ( ); @@ -346,98 +324,120 @@ ); name = AFNetworking; productName = AFNetworking; - productReference = 0201E40A2EC35F788BD8A885100C12D3 /* libAFNetworking.a */; + productReference = A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */; productType = "com.apple.product-type.library.static"; }; - D16A3DF7673CE2A2EA1ACE9861DF4F7F /* Pods-XMNetworkingDemo */ = { + 674DE5347F136765D6499338ABEFE4FB /* Pods-XMNetworkingDemo */ = { isa = PBXNativeTarget; - buildConfigurationList = BD6EEA93F7F93FE28AF31408FC35FF32 /* Build configuration list for PBXNativeTarget "Pods-XMNetworkingDemo" */; + buildConfigurationList = 16207DF589119EC8445DB0F44CC162F6 /* Build configuration list for PBXNativeTarget "Pods-XMNetworkingDemo" */; buildPhases = ( - 9EBE171EDDF4CBE2943E73CADD6686A1 /* Sources */, - 110CA8F43678511966090BBFCC7384DE /* Frameworks */, + 14E0D8243FF443EAD5C08A989681A76E /* Headers */, + BBB74D0CCE420F07E1A9A2647B4EB953 /* Sources */, + 7D6C97CB3578D4B329EF6B554115A476 /* Frameworks */, ); buildRules = ( ); dependencies = ( - BD4BADD079B97D27B16DD6DEFFC35C34 /* PBXTargetDependency */, + FB341239DCA0A809831B943AE62DB430 /* PBXTargetDependency */, ); name = "Pods-XMNetworkingDemo"; productName = "Pods-XMNetworkingDemo"; - productReference = A7280C845CCA2804DEA9667377EE41CC /* libPods-XMNetworkingDemo.a */; + productReference = BD83F30155F129105B1425B819945E9B /* libPods-XMNetworkingDemo.a */; productType = "com.apple.product-type.library.static"; }; /* 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, ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 9D3ECD3316029EEDD6E224365DFE203B /* Products */; + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = E66007CF4A60A93B39CB15EF12B2E966 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */, - D16A3DF7673CE2A2EA1ACE9861DF4F7F /* Pods-XMNetworkingDemo */, + 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */, + 674DE5347F136765D6499338ABEFE4FB /* Pods-XMNetworkingDemo */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 9EBE171EDDF4CBE2943E73CADD6686A1 /* Sources */ = { + 7045CFF55E3AB34311BB6DDDF4F424EF /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2E093B774E17FC557A5815F454077404 /* Pods-XMNetworkingDemo-dummy.m in Sources */, + 72131334F39177232F5C64E5C2259711 /* AFAutoPurgingImageCache.m in Sources */, + 388FED0E693E62E2A021D791622D923A /* AFHTTPSessionManager.m in Sources */, + 526CD62CFE195493EAAB3A92C3C9763E /* AFImageDownloader.m in Sources */, + F9CA5B97B878B42C067AC48CF4309C8A /* AFNetworkActivityIndicatorManager.m in Sources */, + 063B1E5D36D010529650455B572F2F1F /* AFNetworking-dummy.m in Sources */, + B64C5A5EB2B85612397A326837EF0393 /* AFNetworkReachabilityManager.m in Sources */, + C9B7C0B49F09E5C508839370A4A06FA2 /* AFSecurityPolicy.m in Sources */, + 6CB316D3625C84412DE22B9A235A01F0 /* AFURLRequestSerialization.m in Sources */, + C021F7A223193176651A008941380D7E /* AFURLResponseSerialization.m in Sources */, + C4EBDBEA71996F51119191E3C2C3B708 /* AFURLSessionManager.m in Sources */, + D40A597666064AC9FB9130B57CB43438 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + DF0ECA939EB2D2D9A3918DFBF29B79F0 /* UIButton+AFNetworking.m in Sources */, + B48421F25E2E04C4DC77FF82D0F338BA /* UIImageView+AFNetworking.m in Sources */, + 404EA673E05C556F1CAFCF20F3F76EFB /* UIProgressView+AFNetworking.m in Sources */, + 7FD4DA962081937E2909251631083650 /* UIRefreshControl+AFNetworking.m in Sources */, + 6326910744CB757A56F0D16A8892445E /* UIWebView+AFNetworking.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - AAEE4C1DF970D446DF57CA3DDD16AD00 /* Sources */ = { + BBB74D0CCE420F07E1A9A2647B4EB953 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A906A376A93C1C83BB89E8F63A663F43 /* AFAutoPurgingImageCache.m in Sources */, - E81A3DDBBA7965126D98EEA4C35E7363 /* AFHTTPSessionManager.m in Sources */, - 211646AEE68A3577495B0DF917A0DCDC /* AFImageDownloader.m in Sources */, - F8B71BB9667E21385D7AAEFEC796BAE4 /* AFNetworkActivityIndicatorManager.m in Sources */, - 63299DE5DEA29075FADA35711169188E /* AFNetworking-dummy.m in Sources */, - 19CFCF718B674B91847980FA20429558 /* AFNetworkReachabilityManager.m in Sources */, - 0A1CE7CE58B28609B573D4058ABDD616 /* AFSecurityPolicy.m in Sources */, - FB9AA5207284E33FFC55FEB308BFA71F /* AFURLRequestSerialization.m in Sources */, - C4D12D56B5E4323CDE6A77AEF30D4D9F /* AFURLResponseSerialization.m in Sources */, - 064EC4AA8FCCD08F2037037B1E672DBF /* AFURLSessionManager.m in Sources */, - 7B12269BEFA5305C78EC3D22AB2B1CEC /* UIActivityIndicatorView+AFNetworking.m in Sources */, - 2612D2B9BEA56B8CB2B361AA0BAB599F /* UIButton+AFNetworking.m in Sources */, - 2BCD3F861A5F4CF448072C4692AD130D /* UIImageView+AFNetworking.m in Sources */, - D486C538AE3151018303619712539B4C /* UIProgressView+AFNetworking.m in Sources */, - 12FCB056A2B7051B0D91B16CAFE85C1D /* UIRefreshControl+AFNetworking.m in Sources */, - 17E74D623462991F19748A7F99CF8ED6 /* UIWebView+AFNetworking.m in Sources */, + 01B66F093A10B53F21ADDD4F17AEE0F2 /* Pods-XMNetworkingDemo-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - BD4BADD079B97D27B16DD6DEFFC35C34 /* PBXTargetDependency */ = { + FB341239DCA0A809831B943AE62DB430 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = AFNetworking; - target = 9E033EDB5EC0819481B0546434FA577B /* AFNetworking */; - targetProxy = B8362C42B85B9FF74CFC6AF08A7143EF /* PBXContainerItemProxy */; + target = 0130B3724283586C0E9D2A112D4F2AA1 /* AFNetworking */; + targetProxy = 94399089F3A763D0F64D0184B41BC747 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 1EE19F5DD95931924296F637BF18BD8F /* Debug */ = { + 48F2252E067450EA1F916FC29E9A8428 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8BDA57C096DFC6E5472989D8D0F3D2BD /* Pods-XMNetworkingDemo.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MACH_O_TYPE = staticlib; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -469,19 +469,14 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -491,25 +486,27 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Debug; + name = Release; }; - 2946D24682D665FA8DB64B5E6F799787 /* Debug */ = { + 5E472B313AAA528C22C1BF1D61D97C44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D1364E1A74FA884D5BCADB171DFE7353 /* AFNetworking.xcconfig */; + baseConfigurationReference = 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; @@ -523,9 +520,9 @@ }; name = Debug; }; - B80E1ECBDEFC9B7FAA49CA7B0BFCA360 /* Release */ = { + 6DD6976ABFD86373D31F97808CC322F5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 45115CFB426155493B2DD8871CEA2E6E /* Pods-XMNetworkingDemo.release.xcconfig */; + baseConfigurationReference = 607C9BACD83D5738F2E595208D54C146 /* Pods-XMNetworkingDemo.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; @@ -545,52 +542,7 @@ }; name = Release; }; - C3601C47E18C0AE6EC866511CF8ADFAD /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D1364E1A74FA884D5BCADB171DFE7353 /* AFNetworking.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; - PUBLIC_HEADERS_FOLDER_PATH = ""; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - CA1D4BB941C8A57A8D5504BC89BD4336 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7C3E71920E88214D890FDA61B3284D52 /* Pods-XMNetworkingDemo.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACH_O_TYPE = staticlib; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - F4568DEE257655D290C2B9CEAB37C934 /* Release */ = { + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -622,16 +574,17 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_ALLOWED = NO; - CODE_SIGNING_REQUIRED = NO; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -641,44 +594,73 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; + name = Debug; + }; + F0E0DE99D8C9C7D10672428D98A470BF /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 16207DF589119EC8445DB0F44CC162F6 /* Build configuration list for PBXNativeTarget "Pods-XMNetworkingDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( - 1EE19F5DD95931924296F637BF18BD8F /* Debug */, - F4568DEE257655D290C2B9CEAB37C934 /* Release */, + 48F2252E067450EA1F916FC29E9A8428 /* Debug */, + 6DD6976ABFD86373D31F97808CC322F5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 483FBC4A668BF7F1A8767452E7E188AC /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2946D24682D665FA8DB64B5E6F799787 /* Debug */, - C3601C47E18C0AE6EC866511CF8ADFAD /* Release */, + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */, + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - BD6EEA93F7F93FE28AF31408FC35FF32 /* Build configuration list for PBXNativeTarget "Pods-XMNetworkingDemo" */ = { + EE91476FFEA2C3B3AB024E94672BCFF2 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { isa = XCConfigurationList; buildConfigurations = ( - CA1D4BB941C8A57A8D5504BC89BD4336 /* Debug */, - B80E1ECBDEFC9B7FAA49CA7B0BFCA360 /* Release */, + 5E472B313AAA528C22C1BF1D61D97C44 /* Debug */, + F0E0DE99D8C9C7D10672428D98A470BF /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; } diff --git a/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig b/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig index f4329bc0..9af64af7 100644 --- a/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig +++ b/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig @@ -1,10 +1,10 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" -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 +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.debug.xcconfig b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.debug.xcconfig index 958d2f0c..c31f3f83 100644 --- a/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.debug.xcconfig +++ b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.debug.xcconfig @@ -7,3 +7,4 @@ 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/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.release.xcconfig b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.release.xcconfig index 958d2f0c..c31f3f83 100644 --- a/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.release.xcconfig +++ b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo.release.xcconfig @@ -7,3 +7,4 @@ 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/XMNetworking.podspec b/XMNetworking.podspec index e3185655..b7fc5acb 100644 --- a/XMNetworking.podspec +++ b/XMNetworking.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "XMNetworking" - s.version = "1.1.0" + s.version = "1.2.0" s.summary = "A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking." s.homepage = "https://github.com/kangzubin/XMNetworking" s.license = { :type => "MIT", :file => "LICENSE" } @@ -14,6 +14,6 @@ Pod::Spec.new do |s| s.source_files = "XMNetworking/*.{h,m}" s.public_header_files = "XMNetworking/*.h" - s.dependency "AFNetworking", "~> 3.0" + s.dependency "AFNetworking", "~> 4.0" -end \ No newline at end of file +end From 8dff76e4adaacd31fb20342090a48c00d0a3ae01 Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Thu, 2 Apr 2020 12:36:27 +0800 Subject: [PATCH 5/9] Replace error of 'invalidateSessionCancelingTasks:' with 'invalidateSessionCancelingTasks:resetSession' --- Demo/Podfile | 4 +- Demo/Podfile.lock | 30 +- .../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.m | 15 +- .../AFNetworking/AFURLResponseSerialization.h | 7 +- .../AFNetworking/AFURLResponseSerialization.m | 29 +- .../AFNetworking/AFURLSessionManager.h | 79 +-- .../AFNetworking/AFURLSessionManager.m | 252 +++++---- Demo/Pods/AFNetworking/LICENSE | 2 +- Demo/Pods/AFNetworking/README.md | 53 +- .../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 | 2 +- .../UIImageView+AFNetworking.m | 9 +- .../UIKit+AFNetworking/UIKit+AFNetworking.h | 2 +- ...FNetworking.h => WKWebView+AFNetworking.h} | 22 +- ...FNetworking.m => WKWebView+AFNetworking.m} | 87 ++- .../AFNetworking/UIWebView+AFNetworking.h | 1 - .../AFNetworking/WKWebView+AFNetworking.h | 1 + .../AFNetworking/UIWebView+AFNetworking.h | 1 - .../AFNetworking/WKWebView+AFNetworking.h | 1 + Demo/Pods/Manifest.lock | 30 +- Demo/Pods/Pods.xcodeproj/project.pbxproj | 499 +++++++++--------- .../AFNetworking/AFNetworking.debug.xcconfig | 10 + .../AFNetworking.release.xcconfig | 10 + ...XMNetworkingDemo-acknowledgements.markdown | 2 +- ...ds-XMNetworkingDemo-acknowledgements.plist | 2 +- XMNetworking.podspec | 4 +- XMNetworking/XMEngine.m | 4 +- 37 files changed, 836 insertions(+), 799 deletions(-) rename Demo/Pods/AFNetworking/UIKit+AFNetworking/{UIWebView+AFNetworking.h => WKWebView+AFNetworking.h} (83%) rename Demo/Pods/AFNetworking/UIKit+AFNetworking/{UIWebView+AFNetworking.m => WKWebView+AFNetworking.m} (68%) delete mode 120000 Demo/Pods/Headers/Private/AFNetworking/UIWebView+AFNetworking.h create mode 120000 Demo/Pods/Headers/Private/AFNetworking/WKWebView+AFNetworking.h delete mode 120000 Demo/Pods/Headers/Public/AFNetworking/UIWebView+AFNetworking.h create mode 120000 Demo/Pods/Headers/Public/AFNetworking/WKWebView+AFNetworking.h create mode 100644 Demo/Pods/Target Support Files/AFNetworking/AFNetworking.debug.xcconfig create mode 100644 Demo/Pods/Target Support Files/AFNetworking/AFNetworking.release.xcconfig diff --git a/Demo/Podfile b/Demo/Podfile index 0f246207..f30cb421 100644 --- a/Demo/Podfile +++ b/Demo/Podfile @@ -1,8 +1,8 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '10.0' inhibit_all_warnings! project 'XMNetworkingDemo' target 'XMNetworkingDemo' do - pod 'AFNetworking', '~> 3.2.1' + pod 'AFNetworking', '~> 4.0' end diff --git a/Demo/Podfile.lock b/Demo/Podfile.lock index a7a45d91..b29027d3 100644 --- a/Demo/Podfile.lock +++ b/Demo/Podfile.lock @@ -1,30 +1,30 @@ 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.0): + - AFNetworking/NSURLSession (= 4.0.0) + - AFNetworking/Reachability (= 4.0.0) + - AFNetworking/Security (= 4.0.0) + - AFNetworking/Serialization (= 4.0.0) + - AFNetworking/UIKit (= 4.0.0) + - AFNetworking/NSURLSession (4.0.0): - 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.0) + - AFNetworking/Security (4.0.0) + - AFNetworking/Serialization (4.0.0) + - AFNetworking/UIKit (4.0.0): - AFNetworking/NSURLSession DEPENDENCIES: - - AFNetworking (~> 3.2.1) + - AFNetworking (~> 4.0) SPEC REPOS: https://github.com/CocoaPods/Specs.git: - AFNetworking SPEC CHECKSUMS: - AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 + AFNetworking: d9fdf484a3c723ec3c558a41cc5754c7e845ee77 -PODFILE CHECKSUM: a4129a20683f9a52b5e0bc75df05fed9ce9b8d15 +PODFILE CHECKSUM: 84a4f7874c3aa00d72ebd3178626527021514e0d -COCOAPODS: 1.8.3 +COCOAPODS: 1.9.1 diff --git a/Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h b/Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h index a83d1344..1f0ab26d 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFCompatibilityMacros.h +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h b/Demo/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h index 64ee5a81..7d64b1dc 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.h +++ b/Demo/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: + */ +- (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/Demo/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m b/Demo/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m index cab11c28..72bcc7fe 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFHTTPSessionManager.m +++ b/Demo/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 addValue: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 addValue: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/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m b/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m index ce746c38..0322bf9b 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h b/Demo/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h index c005efa8..9b966a57 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.h +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m b/Demo/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m index 043441a0..da199aa3 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFSecurityPolicy.m +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m b/Demo/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m index a4d5d9df..f60b6f9d 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLRequestSerialization.m +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h b/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h index 24800a38..abe9db49 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h +++ b/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.h @@ -24,6 +24,11 @@ NS_ASSUME_NONNULL_BEGIN +/** + Recursively removes `NSNull` values from a JSON object. +*/ +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/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m b/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m index b7be3d40..2715a1b3 100755 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLResponseSerialization.m +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h b/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h index e7ae0d8e..88700c39 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.h +++ b/Demo/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/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m b/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m index aeb1af39..d23bd33c 100644 --- a/Demo/Pods/AFNetworking/AFNetworking/AFURLSessionManager.m +++ b/Demo/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,35 @@ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(N } } +static const void * const AuthenticationChallengeErrorKey = &AuthenticationChallengeErrorKey; + +static NSError * ServerTrustError(SecTrustRef serverTrust, 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; + NSDictionary *userInfo = @{ + NSURLErrorFailingURLErrorKey: url, + NSURLErrorFailingURLStringErrorKey: url.absoluteString, + NSURLErrorFailingURLPeerTrustErrorKey: (__bridge id)serverTrust, + NSLocalizedDescriptionKey: localizedDescription + }; + return [NSError errorWithDomain:NSURLErrorDomain code:NSURLErrorServerCertificateUntrusted userInfo:userInfo]; +} + #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 +205,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 +261,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 +322,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 +395,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 +471,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 +508,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 +544,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 +712,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 +744,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 +763,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 +779,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 +790,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 +804,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 +816,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 +858,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 +866,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 +911,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 +945,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 +979,38 @@ - (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 = YES; + } + + 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, ServerTrustError(challenge.protectionSpace.serverTrust, task.currentRequest.URL), OBJC_ASSOCIATION_RETAIN); + disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge; } } @@ -1039,9 +1044,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 +1080,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 +1184,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/Demo/Pods/AFNetworking/LICENSE b/Demo/Pods/AFNetworking/LICENSE index d7076267..f611f42f 100644 --- a/Demo/Pods/AFNetworking/LICENSE +++ b/Demo/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/Demo/Pods/AFNetworking/README.md b/Demo/Pods/AFNetworking/README.md index 6a7d2cd1..b5bdae9a 100644 --- a/Demo/Pods/AFNetworking/README.md +++ b/Demo/Pods/AFNetworking/README.md @@ -2,25 +2,21 @@ 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 +31,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/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m index 374eeac6..a09e87c8 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFAutoPurgingImageCache.m +++ b/Demo/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/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h b/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h index 7e25e373..3bf5a320 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.h +++ b/Demo/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/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m index 36745b57..008a7828 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFImageDownloader.m +++ b/Demo/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/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m index e6f9b65e..8cb5677e 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m +++ b/Demo/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/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m index 2da60127..03aaf2a8 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIButton+AFNetworking.m +++ b/Demo/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/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h index 14744cdd..c5de1a44 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h +++ b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImage+AFNetworking.h @@ -28,7 +28,7 @@ @interface UIImage (AFNetworking) -+ (UIImage*) safeImageWithData:(NSData*)data; ++ (UIImage *)safeImageWithData:(NSData *)data; @end diff --git a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m index 41c18a61..8ae49509 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIImageView+AFNetworking.m +++ b/Demo/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/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h index febacfc7..5d57e1d6 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h +++ b/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIKit+AFNetworking.h @@ -31,7 +31,7 @@ #import "AFImageDownloader.h" #import "AFNetworkActivityIndicatorManager.h" #import "UIRefreshControl+AFNetworking.h" - #import "UIWebView+AFNetworking.h" + #import "WKWebView+AFNetworking.h" #endif #import "UIActivityIndicatorView+AFNetworking.h" diff --git a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h b/Demo/Pods/AFNetworking/UIKit+AFNetworking/WKWebView+AFNetworking.h similarity index 83% rename from Demo/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h rename to Demo/Pods/AFNetworking/UIKit+AFNetworking/WKWebView+AFNetworking.h index b9a56af4..680fedff 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.h +++ b/Demo/Pods/AFNetworking/UIKit+AFNetworking/WKWebView+AFNetworking.h @@ -1,4 +1,4 @@ -// UIWebView+AFNetworking.h +// WkWebView+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 @@ -26,47 +26,47 @@ #if TARGET_OS_IOS #import +#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) +@interface WKWebView (AFNetworking) /** - The session manager used to download all requests. + The session manager used to download all request */ @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 navigation The WKNavigation object that containts information for tracking the loading progress of a webpage. 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 + navigation:(WKNavigation * _Nonnull)navigation 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 navigation The WKNavigation object that containts information for tracking the loading progress of a webpage. 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 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 + navigation:(WKNavigation * _Nonnull)navigation MIMEType:(nullable NSString *)MIMEType textEncodingName:(nullable NSString *)textEncodingName progress:(NSProgress * _Nullable __autoreleasing * _Nullable)progress diff --git a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m b/Demo/Pods/AFNetworking/UIKit+AFNetworking/WKWebView+AFNetworking.m similarity index 68% rename from Demo/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m rename to Demo/Pods/AFNetworking/UIKit+AFNetworking/WKWebView+AFNetworking.m index 030c3e94..6eca3c3a 100644 --- a/Demo/Pods/AFNetworking/UIKit+AFNetworking/UIWebView+AFNetworking.m +++ b/Demo/Pods/AFNetworking/UIKit+AFNetworking/WKWebView+AFNetworking.m @@ -1,4 +1,4 @@ -// UIWebView+AFNetworking.m +// WkWebView+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 @@ -19,7 +19,7 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import "UIWebView+AFNetworking.h" +#import "WKWebView+AFNetworking.h" #import @@ -29,11 +29,11 @@ #import "AFURLResponseSerialization.h" #import "AFURLRequestSerialization.h" -@interface UIWebView (_AFNetworking) +@interface WKWebView (_AFNetworking) @property (readwrite, nonatomic, strong, setter = af_setURLSessionTask:) NSURLSessionDataTask *af_URLSessionTask; @end -@implementation UIWebView (_AFNetworking) +@implementation WKWebView (_AFNetworking) - (NSURLSessionDataTask *)af_URLSessionTask { return (NSURLSessionDataTask *)objc_getAssociatedObject(self, @selector(af_URLSessionTask)); @@ -47,9 +47,9 @@ - (void)af_setURLSessionTask:(NSURLSessionDataTask *)af_URLSessionTask { #pragma mark - -@implementation UIWebView (AFNetworking) +@implementation WKWebView (AFNetworking) -- (AFHTTPSessionManager *)sessionManager { +- (AFHTTPSessionManager *)sessionManager { static AFHTTPSessionManager *_af_defaultHTTPSessionManager = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ @@ -57,7 +57,7 @@ - (AFHTTPSessionManager *)sessionManager { _af_defaultHTTPSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer]; _af_defaultHTTPSessionManager.responseSerializer = [AFHTTPResponseSerializer serializer]; }); - + return objc_getAssociatedObject(self, @selector(sessionManager)) ?: _af_defaultHTTPSessionManager; } @@ -71,7 +71,7 @@ - (void)setSessionManager:(AFHTTPSessionManager *)sessionManager { dispatch_once(&onceToken, ^{ _af_defaultResponseSerializer = [AFHTTPResponseSerializer serializer]; }); - + return objc_getAssociatedObject(self, @selector(responseSerializer)) ?: _af_defaultResponseSerializer; } @@ -82,11 +82,11 @@ - (void)setResponseSerializer:(AFHTTPResponseSerializer 3.2.1) + - AFNetworking (~> 4.0) SPEC REPOS: https://github.com/CocoaPods/Specs.git: - AFNetworking SPEC CHECKSUMS: - AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 + AFNetworking: d9fdf484a3c723ec3c558a41cc5754c7e845ee77 -PODFILE CHECKSUM: a4129a20683f9a52b5e0bc75df05fed9ce9b8d15 +PODFILE CHECKSUM: 84a4f7874c3aa00d72ebd3178626527021514e0d -COCOAPODS: 1.8.3 +COCOAPODS: 1.9.1 diff --git a/Demo/Pods/Pods.xcodeproj/project.pbxproj b/Demo/Pods/Pods.xcodeproj/project.pbxproj index df66517f..bf0d6de4 100644 --- a/Demo/Pods/Pods.xcodeproj/project.pbxproj +++ b/Demo/Pods/Pods.xcodeproj/project.pbxproj @@ -7,42 +7,42 @@ objects = { /* Begin PBXBuildFile section */ + 01532C45474354FEEDB458230090D2BD /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A7551AEF35E5870428E426E0B850BB94 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; 01B66F093A10B53F21ADDD4F17AEE0F2 /* Pods-XMNetworkingDemo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FF95D206176489438A0CD691651DDE87 /* Pods-XMNetworkingDemo-dummy.m */; }; - 0343B86E9B9F5619970FCBD7370E033A /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA54ED4143E975785A0CA723E188037 /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 05AB469F0F79C648F8E637F88CDB9E97 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 85DD35788A4653CCEB98A48A90FECCA8 /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 063B1E5D36D010529650455B572F2F1F /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B4E1D4628950CA5BEA0E090051D85955 /* AFNetworking-dummy.m */; }; - 0C26E8CE5202114A92A9CFFBA1A9CE88 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D13BD130E707420929CC1389CB34D5C3 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 1102564C9CDAC18DF8D6DB20F6523E72 /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = E297833633D63BDAAEF544941C4C724C /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 7F2B267B158B2AE06D53788A843D89F0 /* UIWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 388FED0E693E62E2A021D791622D923A /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A0473FBB5AC34E75AD64849639D67173 /* AFHTTPSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 404EA673E05C556F1CAFCF20F3F76EFB /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 07316E62C5E083C07CA7403DF3BC2ABF /* UIProgressView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 418985D1EA0253EAA3C02FC1F31CA5E8 /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = D9A9C53CF73160CA99F90141981429F9 /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 526CD62CFE195493EAAB3A92C3C9763E /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = BA07D519695035D5AB97922F0AA5558B /* AFImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 5FF1B4EEDEE8BCA2E676E2548A412B02 /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = FAB8630C4E5B4DE521F17B972D978830 /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6326910744CB757A56F0D16A8892445E /* UIWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D862B6AEF241C63AFB584BDC8B8F611 /* UIWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 6B5B030904BA451F4FFE3AF2FD28D2DA /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = A523659028574E870A6569C097D264F7 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; - 6CB316D3625C84412DE22B9A235A01F0 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = C596592F62EA58CBF34F0F017F3308DB /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 72131334F39177232F5C64E5C2259711 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 9899605EFA17AAE6B0C3D33CBBC4FA0A /* AFAutoPurgingImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 7FD4DA962081937E2909251631083650 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 30E3EC724125C85D2DBC031563CF6CE3 /* UIRefreshControl+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 9A7A3B80A68DB4A21A6833AA4683A7AD /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 74B34A88E9BB0B84FFC25DF40821005A /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - A845819E8332E3CA279E6B00EAA55366 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DCA3E47ADE6C76382EE5E95DAFB254B /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B00EA522A62498626388BC649DFE2996 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = CFDC016F18D9B486E7D69BBF23111205 /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B27878E3B8F8ADB1FE01DBD6CB5812E7 /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 799340FB8A9F01060A7BEE965C669881 /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - B48421F25E2E04C4DC77FF82D0F338BA /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 309236B7A79E0B741E01426B63AA25B0 /* UIImageView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B64C5A5EB2B85612397A326837EF0393 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8731BAE5A5E24E500A625277940E1CEC /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C021F7A223193176651A008941380D7E /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 1AF29553EF97BC3CC019CD899EB9C190 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C06F61A759022A62864BD9F8EE3660F3 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 84F71437F0DF781EB7D63DB6A4014ADD /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C1EE07F0E0B54668574633B545FBCE48 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = DB954D1BA1125ABCD9ED5DC0F6B46585 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - C4EBDBEA71996F51119191E3C2C3B708 /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 20ABFCE6BDC3D6C6D65597499F7A7AD0 /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C9B7C0B49F09E5C508839370A4A06FA2 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 443C8386AB726B99754752B24BBF7147 /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D280A3B13923FF5FA778EF312BD965F7 /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EC5CC6B9C1536C09B4BFD416F26EBAA4 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D3DC240631E1FA883A5604B3E99BAE2B /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FF9C56EA7DBEA08523363AA4E352E41 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - D40A597666064AC9FB9130B57CB43438 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = F57293F6CA03185D0D4C6270229D3CC0 /* UIActivityIndicatorView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D569D00367B456F6CDFE2700097562FC /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 4135FB89EABF790824E663EED844C7B2 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; - DF0ECA939EB2D2D9A3918DFBF29B79F0 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = DB36B9C8A7B42CE1C4F6A87D4497FAC3 /* UIButton+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F9AD2CFBEDD600706B921428D25DFA3A /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = CA871B0F79F59AD5E1AFCED9DD22730C /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; - F9CA5B97B878B42C067AC48CF4309C8A /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 652FD793ADA50A2BCEB5F7FA3423635A /* AFNetworkActivityIndicatorManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FEAA3C60F4BDDAC22BD1A6B047DBAAE9 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CE1818F04B4EE77D9955F9BFA07C60D /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 039F72252859FA2C81A7C40BAAF8B470 /* AFURLSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA2A5DD697EF49F2EC6387546476F1C /* AFURLSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 0AC5C083A3F1207D281E48B278338165 /* UIProgressView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = F06452992E8FA2F1394F4EE581AAB141 /* UIProgressView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 101793986198D29C0030115986535E46 /* WKWebView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 85ADF67A55D873DF99954FBF912D464D /* WKWebView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 18EDB4326699CB730FA4E17F07F1A590 /* UIRefreshControl+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 166A257770C43585FF8192C0751A1237 /* UIRefreshControl+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 1B50B3CF3BB53869F778DD3498DD21B9 /* AFNetworkActivityIndicatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = A0C218CBB10D1B840F95985CAC17DA07 /* AFNetworkActivityIndicatorManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 2B542DC5FB9C1F63902B38E055592F48 /* UIRefreshControl+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 87657446630888BD4E065AB4FBB16070 /* UIRefreshControl+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 2CD0CF84AABA096219D5FA91F88F6893 /* UIButton+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 02BE70CA639B3ECB1E19552AA01CB6D0 /* UIButton+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 30C95E390F5322B4D82AF4011EB12D3F /* AFHTTPSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 58C4D1B4B4B8177E79D9FD5E4FAB1A66 /* AFHTTPSessionManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3328C226418157EA254083DE0A2C38C0 /* AFURLRequestSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 40308D215F993D81215E4146D98504E2 /* AFURLRequestSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 3B097F0F7BCEC16A17AA9C4DB617D190 /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = A6B62CA5898F2385ED67D9C6D6505964 /* AFURLResponseSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 40172FAFBC01241FDEEC28935E02702C /* AFURLSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F8E72214847B8F1BAA6DBFCD2BBF4EB /* AFURLSessionManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 41E3E6D5AB0F65307E03F1E354D335E6 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 681E92FFC7A198F86AF6CF0B800AAD1B /* AFURLRequestSerialization.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 4DD5B541EC616E9D22F6E2A7BCBB0C62 /* AFAutoPurgingImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 288549B3A3995A3BD98C60E81E8321FC /* AFAutoPurgingImageCache.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 629394BF40A460B1011433443EFC3E50 /* AFAutoPurgingImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = D24A66F2DA3E670CC02BE429E9EE5041 /* AFAutoPurgingImageCache.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 63A68545C750B2DA4F187C990700B6C7 /* AFNetworkActivityIndicatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CB1E3AD202AE2A6B9D472BEABE5F209 /* AFNetworkActivityIndicatorManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 68098FBA3AC98409AEAFDEC05113EC5A /* AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BC55D0A7B8D1FBA9235915DC577C2A /* AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 6A4F43D9D77D139324547EC93D10A254 /* AFSecurityPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 447179C37F9D23A867306B46879D86EF /* AFSecurityPolicy.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 7F4263850D40EC35C67281FDD0BCBA2E /* AFNetworkReachabilityManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 25D9F4CB716AD3CCCB81C3F2D3B44309 /* AFNetworkReachabilityManager.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 8C62B9BF27B12CB5118701FC6498724A /* UIImage+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 55DD854EBDED1A8B563F61EDF81A064B /* UIImage+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 9471FE7D8B6DF00B88BC53AE7EE79BBB /* UIActivityIndicatorView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 878937708F767FDDBC7A176CED618A1D /* UIActivityIndicatorView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + 98571EBB27609EB5B1752FB7F91777C5 /* AFSecurityPolicy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD75D460BA3584D502C5409ED992412 /* AFSecurityPolicy.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 98B0F80B827199AD578371CAA62E979C /* UIImageView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BEC6D066F5785AD852B55BA2AA07604 /* UIImageView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + 9E6794C22AD75EA1FB417575D2BC38E8 /* UIImageView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D4E5E49D06C0B3019A17F8C331D9749 /* UIImageView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + A8AE135515F725235C997467A5D942AE /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 460F86C373BB09EF2312F6529ADAF571 /* AFNetworkReachabilityManager.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + AF6B83723AF691DDA931BD671063F782 /* WKWebView+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 1DC2C04B2AEFB14551871017DC4324E9 /* WKWebView+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BB29D8313F9AD449A5B87408E93C4305 /* AFImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = DBD48E341F2B91521BE3E900AF354137 /* AFImageDownloader.h */; settings = {ATTRIBUTES = (Project, ); }; }; + BD240D9906BDF9E56FE67CAAD41AFCE6 /* UIButton+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 58E9402D1B9BBD1D2BE216566A1DEC60 /* UIButton+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + C0CC028B8FA00D44FFD07B0A2DBBD320 /* UIProgressView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8106D8E445F1D3AE80871923342A10 /* UIProgressView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + CD51285F40EF20DC6EB237F0CEF99446 /* AFURLResponseSerialization.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EA8036CACC82C363D7A9C6115A53CCE /* AFURLResponseSerialization.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D0F5BE8ABC0DE1D44AF6714B62863311 /* UIKit+AFNetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A9EE3EEAD67BCE34180CE6524B2F792 /* UIKit+AFNetworking.h */; settings = {ATTRIBUTES = (Project, ); }; }; + D4190E7CDA3FCF0655D70EA828164BC0 /* AFNetworking-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7076530DF5E1AB5594A2F2673D97862F /* AFNetworking-dummy.m */; }; + D6F5F185CF388F40323D01ACCBA70F03 /* UIActivityIndicatorView+AFNetworking.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C32364A2FC412816C8AF51277B696C /* UIActivityIndicatorView+AFNetworking.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FE190ED9B03F3175B2DE287EC8F7C1C0 /* AFImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 1B8402D007C778CE2550F7D828047EB0 /* AFImageDownloader.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; + FFFD7C2BDEEDF8202F6AB315EF42B27F /* AFCompatibilityMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8926260688C46F4437F5C0B9B499DA2C /* AFCompatibilityMacros.h */; settings = {ATTRIBUTES = (Project, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -56,50 +56,51 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 07316E62C5E083C07CA7403DF3BC2ABF /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; - 1AF29553EF97BC3CC019CD899EB9C190 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; - 1CE1818F04B4EE77D9955F9BFA07C60D /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; - 20ABFCE6BDC3D6C6D65597499F7A7AD0 /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; - 2D862B6AEF241C63AFB584BDC8B8F611 /* UIWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIWebView+AFNetworking.m"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.m"; sourceTree = ""; }; - 309236B7A79E0B741E01426B63AA25B0 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; - 30E3EC724125C85D2DBC031563CF6CE3 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; - 3AE2DC5F464B1DBBDE96F85708D2B581 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; - 4135FB89EABF790824E663EED844C7B2 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; - 443C8386AB726B99754752B24BBF7147 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; - 4FF9C56EA7DBEA08523363AA4E352E41 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; + 02BE70CA639B3ECB1E19552AA01CB6D0 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; + 0456716B23B14E3A7255B86A87B76444 /* AFNetworking.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.debug.xcconfig; sourceTree = ""; }; + 0CB1E3AD202AE2A6B9D472BEABE5F209 /* AFNetworkActivityIndicatorManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkActivityIndicatorManager.h; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.h"; sourceTree = ""; }; + 166A257770C43585FF8192C0751A1237 /* UIRefreshControl+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIRefreshControl+AFNetworking.m"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.m"; sourceTree = ""; }; + 1B8402D007C778CE2550F7D828047EB0 /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + 1DC2C04B2AEFB14551871017DC4324E9 /* WKWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "WKWebView+AFNetworking.h"; path = "UIKit+AFNetworking/WKWebView+AFNetworking.h"; sourceTree = ""; }; + 25D9F4CB716AD3CCCB81C3F2D3B44309 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; + 288549B3A3995A3BD98C60E81E8321FC /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; + 34C32364A2FC412816C8AF51277B696C /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + 3BEC6D066F5785AD852B55BA2AA07604 /* UIImageView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+AFNetworking.m"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.m"; sourceTree = ""; }; + 3EA2A5DD697EF49F2EC6387546476F1C /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; + 40308D215F993D81215E4146D98504E2 /* AFURLRequestSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLRequestSerialization.h; path = AFNetworking/AFURLRequestSerialization.h; sourceTree = ""; }; + 447179C37F9D23A867306B46879D86EF /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; + 460F86C373BB09EF2312F6529ADAF571 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; + 4F8E72214847B8F1BAA6DBFCD2BBF4EB /* AFURLSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLSessionManager.m; path = AFNetworking/AFURLSessionManager.m; sourceTree = ""; }; + 55DD854EBDED1A8B563F61EDF81A064B /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; + 58C4D1B4B4B8177E79D9FD5E4FAB1A66 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; + 58E9402D1B9BBD1D2BE216566A1DEC60 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; 607C9BACD83D5738F2E595208D54C146 /* Pods-XMNetworkingDemo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-XMNetworkingDemo.release.xcconfig"; sourceTree = ""; }; - 652FD793ADA50A2BCEB5F7FA3423635A /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; - 6DCA3E47ADE6C76382EE5E95DAFB254B /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; - 74B34A88E9BB0B84FFC25DF40821005A /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; - 799340FB8A9F01060A7BEE965C669881 /* UIImage+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+AFNetworking.h"; path = "UIKit+AFNetworking/UIImage+AFNetworking.h"; sourceTree = ""; }; - 7F2B267B158B2AE06D53788A843D89F0 /* UIWebView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIWebView+AFNetworking.h"; path = "UIKit+AFNetworking/UIWebView+AFNetworking.h"; sourceTree = ""; }; - 84F71437F0DF781EB7D63DB6A4014ADD /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; - 85DD35788A4653CCEB98A48A90FECCA8 /* AFURLSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLSessionManager.h; path = AFNetworking/AFURLSessionManager.h; sourceTree = ""; }; - 8731BAE5A5E24E500A625277940E1CEC /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = AFNetworking/AFNetworkReachabilityManager.m; sourceTree = ""; }; - 8BA54ED4143E975785A0CA723E188037 /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; + 681E92FFC7A198F86AF6CF0B800AAD1B /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; + 6A9EE3EEAD67BCE34180CE6524B2F792 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; + 7076530DF5E1AB5594A2F2673D97862F /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; + 7575C4F4F7B148DE59F42844681616F9 /* AFNetworking-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "AFNetworking-prefix.pch"; sourceTree = ""; }; + 7FD75D460BA3584D502C5409ED992412 /* AFSecurityPolicy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFSecurityPolicy.m; path = AFNetworking/AFSecurityPolicy.m; sourceTree = ""; }; + 85ADF67A55D873DF99954FBF912D464D /* WKWebView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "WKWebView+AFNetworking.m"; path = "UIKit+AFNetworking/WKWebView+AFNetworking.m"; sourceTree = ""; }; + 871E90D2BBC5AAAAE7D512201A5DF7CC /* AFNetworking.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.release.xcconfig; sourceTree = ""; }; + 87657446630888BD4E065AB4FBB16070 /* UIRefreshControl+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIRefreshControl+AFNetworking.h"; path = "UIKit+AFNetworking/UIRefreshControl+AFNetworking.h"; sourceTree = ""; }; + 878937708F767FDDBC7A176CED618A1D /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; + 8926260688C46F4437F5C0B9B499DA2C /* AFCompatibilityMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFCompatibilityMacros.h; path = AFNetworking/AFCompatibilityMacros.h; sourceTree = ""; }; 8BDA57C096DFC6E5472989D8D0F3D2BD /* Pods-XMNetworkingDemo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-XMNetworkingDemo.debug.xcconfig"; sourceTree = ""; }; - 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = AFNetworking.xcconfig; sourceTree = ""; }; - 9899605EFA17AAE6B0C3D33CBBC4FA0A /* AFAutoPurgingImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFAutoPurgingImageCache.m; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.m"; sourceTree = ""; }; + 8EA8036CACC82C363D7A9C6115A53CCE /* AFURLResponseSerialization.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFURLResponseSerialization.h; path = AFNetworking/AFURLResponseSerialization.h; sourceTree = ""; }; + 9D4E5E49D06C0B3019A17F8C331D9749 /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; 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; }; - A0473FBB5AC34E75AD64849639D67173 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + A0C218CBB10D1B840F95985CAC17DA07 /* AFNetworkActivityIndicatorManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFNetworkActivityIndicatorManager.m; path = "UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m"; sourceTree = ""; }; A4FA15D44DF6BAC7550EDEED10862AA3 /* libAFNetworking.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libAFNetworking.a; path = libAFNetworking.a; sourceTree = BUILT_PRODUCTS_DIR; }; - A523659028574E870A6569C097D264F7 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + A6B62CA5898F2385ED67D9C6D6505964 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = AFNetworking/AFURLResponseSerialization.m; sourceTree = ""; }; + A7551AEF35E5870428E426E0B850BB94 /* AFHTTPSessionManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFHTTPSessionManager.m; path = AFNetworking/AFHTTPSessionManager.m; sourceTree = ""; }; + A7BC55D0A7B8D1FBA9235915DC577C2A /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; AE3D14361E4B0DEF47DE6EB7777D374C /* Pods-XMNetworkingDemo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-XMNetworkingDemo-acknowledgements.markdown"; sourceTree = ""; }; - B4E1D4628950CA5BEA0E090051D85955 /* AFNetworking-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "AFNetworking-dummy.m"; sourceTree = ""; }; - BA07D519695035D5AB97922F0AA5558B /* AFImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFImageDownloader.m; path = "UIKit+AFNetworking/AFImageDownloader.m"; sourceTree = ""; }; + BB8106D8E445F1D3AE80871923342A10 /* UIProgressView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIProgressView+AFNetworking.m"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.m"; sourceTree = ""; }; BD83F30155F129105B1425B819945E9B /* libPods-XMNetworkingDemo.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-XMNetworkingDemo.a"; path = "libPods-XMNetworkingDemo.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - C596592F62EA58CBF34F0F017F3308DB /* AFURLRequestSerialization.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = AFURLRequestSerialization.m; path = AFNetworking/AFURLRequestSerialization.m; sourceTree = ""; }; - CA871B0F79F59AD5E1AFCED9DD22730C /* UIImageView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+AFNetworking.h"; path = "UIKit+AFNetworking/UIImageView+AFNetworking.h"; sourceTree = ""; }; - CFDC016F18D9B486E7D69BBF23111205 /* AFSecurityPolicy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFSecurityPolicy.h; path = AFNetworking/AFSecurityPolicy.h; sourceTree = ""; }; - D13BD130E707420929CC1389CB34D5C3 /* UIButton+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+AFNetworking.h"; path = "UIKit+AFNetworking/UIButton+AFNetworking.h"; sourceTree = ""; }; - D9A9C53CF73160CA99F90141981429F9 /* UIActivityIndicatorView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIActivityIndicatorView+AFNetworking.h"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.h"; sourceTree = ""; }; - DB36B9C8A7B42CE1C4F6A87D4497FAC3 /* UIButton+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+AFNetworking.m"; path = "UIKit+AFNetworking/UIButton+AFNetworking.m"; sourceTree = ""; }; - DB954D1BA1125ABCD9ED5DC0F6B46585 /* UIKit+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIKit+AFNetworking.h"; path = "UIKit+AFNetworking/UIKit+AFNetworking.h"; sourceTree = ""; }; - E297833633D63BDAAEF544941C4C724C /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = AFNetworking/AFNetworkReachabilityManager.h; sourceTree = ""; }; - EC5CC6B9C1536C09B4BFD416F26EBAA4 /* AFHTTPSessionManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFHTTPSessionManager.h; path = AFNetworking/AFHTTPSessionManager.h; sourceTree = ""; }; - F57293F6CA03185D0D4C6270229D3CC0 /* UIActivityIndicatorView+AFNetworking.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIActivityIndicatorView+AFNetworking.m"; path = "UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m"; sourceTree = ""; }; + D24A66F2DA3E670CC02BE429E9EE5041 /* AFAutoPurgingImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFAutoPurgingImageCache.h; path = "UIKit+AFNetworking/AFAutoPurgingImageCache.h"; sourceTree = ""; }; + DBD48E341F2B91521BE3E900AF354137 /* AFImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFImageDownloader.h; path = "UIKit+AFNetworking/AFImageDownloader.h"; sourceTree = ""; }; + F06452992E8FA2F1394F4EE581AAB141 /* UIProgressView+AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIProgressView+AFNetworking.h"; path = "UIKit+AFNetworking/UIProgressView+AFNetworking.h"; sourceTree = ""; }; F71D4588B421870D8628D7781BC2DA12 /* Pods-XMNetworkingDemo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-XMNetworkingDemo-acknowledgements.plist"; sourceTree = ""; }; - FAB8630C4E5B4DE521F17B972D978830 /* AFNetworking.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = AFNetworking.h; path = AFNetworking/AFNetworking.h; sourceTree = ""; }; FF95D206176489438A0CD691651DDE87 /* Pods-XMNetworkingDemo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-XMNetworkingDemo-dummy.m"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -134,17 +135,6 @@ path = "Target Support Files/Pods-XMNetworkingDemo"; sourceTree = ""; }; - 0E3469DEFFA625D24D2C2395AA5382BA /* Support Files */ = { - isa = PBXGroup; - children = ( - 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */, - B4E1D4628950CA5BEA0E090051D85955 /* AFNetworking-dummy.m */, - 3AE2DC5F464B1DBBDE96F85708D2B581 /* AFNetworking-prefix.pch */, - ); - name = "Support Files"; - path = "../Target Support Files/AFNetworking"; - sourceTree = ""; - }; 22E4CA64A815642BECF0B11AAD818406 /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -153,85 +143,71 @@ name = "Targets Support Files"; sourceTree = ""; }; - 61D868E3AF3B5624C1D596D98D062F28 /* UIKit */ = { + 7522A1C13CE646B81E6D063E3B297EB5 /* UIKit */ = { isa = PBXGroup; children = ( - 84F71437F0DF781EB7D63DB6A4014ADD /* AFAutoPurgingImageCache.h */, - 9899605EFA17AAE6B0C3D33CBBC4FA0A /* AFAutoPurgingImageCache.m */, - A523659028574E870A6569C097D264F7 /* AFImageDownloader.h */, - BA07D519695035D5AB97922F0AA5558B /* AFImageDownloader.m */, - 1CE1818F04B4EE77D9955F9BFA07C60D /* AFNetworkActivityIndicatorManager.h */, - 652FD793ADA50A2BCEB5F7FA3423635A /* AFNetworkActivityIndicatorManager.m */, - D9A9C53CF73160CA99F90141981429F9 /* UIActivityIndicatorView+AFNetworking.h */, - F57293F6CA03185D0D4C6270229D3CC0 /* UIActivityIndicatorView+AFNetworking.m */, - D13BD130E707420929CC1389CB34D5C3 /* UIButton+AFNetworking.h */, - DB36B9C8A7B42CE1C4F6A87D4497FAC3 /* UIButton+AFNetworking.m */, - 799340FB8A9F01060A7BEE965C669881 /* UIImage+AFNetworking.h */, - CA871B0F79F59AD5E1AFCED9DD22730C /* UIImageView+AFNetworking.h */, - 309236B7A79E0B741E01426B63AA25B0 /* UIImageView+AFNetworking.m */, - DB954D1BA1125ABCD9ED5DC0F6B46585 /* UIKit+AFNetworking.h */, - 4FF9C56EA7DBEA08523363AA4E352E41 /* UIProgressView+AFNetworking.h */, - 07316E62C5E083C07CA7403DF3BC2ABF /* UIProgressView+AFNetworking.m */, - 6DCA3E47ADE6C76382EE5E95DAFB254B /* UIRefreshControl+AFNetworking.h */, - 30E3EC724125C85D2DBC031563CF6CE3 /* UIRefreshControl+AFNetworking.m */, - 7F2B267B158B2AE06D53788A843D89F0 /* UIWebView+AFNetworking.h */, - 2D862B6AEF241C63AFB584BDC8B8F611 /* UIWebView+AFNetworking.m */, + D24A66F2DA3E670CC02BE429E9EE5041 /* AFAutoPurgingImageCache.h */, + 288549B3A3995A3BD98C60E81E8321FC /* AFAutoPurgingImageCache.m */, + DBD48E341F2B91521BE3E900AF354137 /* AFImageDownloader.h */, + 1B8402D007C778CE2550F7D828047EB0 /* AFImageDownloader.m */, + 0CB1E3AD202AE2A6B9D472BEABE5F209 /* AFNetworkActivityIndicatorManager.h */, + A0C218CBB10D1B840F95985CAC17DA07 /* AFNetworkActivityIndicatorManager.m */, + 878937708F767FDDBC7A176CED618A1D /* UIActivityIndicatorView+AFNetworking.h */, + 34C32364A2FC412816C8AF51277B696C /* UIActivityIndicatorView+AFNetworking.m */, + 02BE70CA639B3ECB1E19552AA01CB6D0 /* UIButton+AFNetworking.h */, + 58E9402D1B9BBD1D2BE216566A1DEC60 /* UIButton+AFNetworking.m */, + 55DD854EBDED1A8B563F61EDF81A064B /* UIImage+AFNetworking.h */, + 9D4E5E49D06C0B3019A17F8C331D9749 /* UIImageView+AFNetworking.h */, + 3BEC6D066F5785AD852B55BA2AA07604 /* UIImageView+AFNetworking.m */, + 6A9EE3EEAD67BCE34180CE6524B2F792 /* UIKit+AFNetworking.h */, + F06452992E8FA2F1394F4EE581AAB141 /* UIProgressView+AFNetworking.h */, + BB8106D8E445F1D3AE80871923342A10 /* UIProgressView+AFNetworking.m */, + 87657446630888BD4E065AB4FBB16070 /* UIRefreshControl+AFNetworking.h */, + 166A257770C43585FF8192C0751A1237 /* UIRefreshControl+AFNetworking.m */, + 1DC2C04B2AEFB14551871017DC4324E9 /* WKWebView+AFNetworking.h */, + 85ADF67A55D873DF99954FBF912D464D /* WKWebView+AFNetworking.m */, ); name = UIKit; sourceTree = ""; }; - 70FF026FD43911BF3E541F049BF727DC /* AFNetworking */ = { + 89A8466ABE742B9D19F4977E0565C490 /* Reachability */ = { isa = PBXGroup; children = ( - FAB8630C4E5B4DE521F17B972D978830 /* AFNetworking.h */, - DA0CC48A965602EAAF3069ADB1FA06AC /* NSURLSession */, - 7F555EA97383552DB7FDAC7A0909C456 /* Reachability */, - 8886C3C1D163AC9713C11F1FD18C76F0 /* Security */, - 77C38BAA60BB2D6300B74C529EAA35A0 /* Serialization */, - 0E3469DEFFA625D24D2C2395AA5382BA /* Support Files */, - 61D868E3AF3B5624C1D596D98D062F28 /* UIKit */, + 25D9F4CB716AD3CCCB81C3F2D3B44309 /* AFNetworkReachabilityManager.h */, + 460F86C373BB09EF2312F6529ADAF571 /* AFNetworkReachabilityManager.m */, ); - name = AFNetworking; - path = AFNetworking; + name = Reachability; sourceTree = ""; }; - 77C38BAA60BB2D6300B74C529EAA35A0 /* Serialization */ = { + AD3229D68B1B9B4688BBDBF41664F447 /* Support Files */ = { isa = PBXGroup; children = ( - 4135FB89EABF790824E663EED844C7B2 /* AFURLRequestSerialization.h */, - C596592F62EA58CBF34F0F017F3308DB /* AFURLRequestSerialization.m */, - 74B34A88E9BB0B84FFC25DF40821005A /* AFURLResponseSerialization.h */, - 1AF29553EF97BC3CC019CD899EB9C190 /* AFURLResponseSerialization.m */, + 7076530DF5E1AB5594A2F2673D97862F /* AFNetworking-dummy.m */, + 7575C4F4F7B148DE59F42844681616F9 /* AFNetworking-prefix.pch */, + 0456716B23B14E3A7255B86A87B76444 /* AFNetworking.debug.xcconfig */, + 871E90D2BBC5AAAAE7D512201A5DF7CC /* AFNetworking.release.xcconfig */, ); - name = Serialization; + name = "Support Files"; + path = "../Target Support Files/AFNetworking"; sourceTree = ""; }; - 7F555EA97383552DB7FDAC7A0909C456 /* Reachability */ = { + B580EA7CF70EB35BD42257A17D958932 /* Pods */ = { isa = PBXGroup; children = ( - E297833633D63BDAAEF544941C4C724C /* AFNetworkReachabilityManager.h */, - 8731BAE5A5E24E500A625277940E1CEC /* AFNetworkReachabilityManager.m */, + EB23B56DAD1AA2C32B9EFA906845DE67 /* AFNetworking */, ); - name = Reachability; + name = Pods; sourceTree = ""; }; - 8886C3C1D163AC9713C11F1FD18C76F0 /* Security */ = { + CBE9C328DB0E5205F38D2F3111E07469 /* Security */ = { isa = PBXGroup; children = ( - CFDC016F18D9B486E7D69BBF23111205 /* AFSecurityPolicy.h */, - 443C8386AB726B99754752B24BBF7147 /* AFSecurityPolicy.m */, + 447179C37F9D23A867306B46879D86EF /* AFSecurityPolicy.h */, + 7FD75D460BA3584D502C5409ED992412 /* AFSecurityPolicy.m */, ); name = Security; sourceTree = ""; }; - B580EA7CF70EB35BD42257A17D958932 /* Pods */ = { - isa = PBXGroup; - children = ( - 70FF026FD43911BF3E541F049BF727DC /* AFNetworking */, - ); - name = Pods; - sourceTree = ""; - }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( @@ -250,16 +226,15 @@ name = Frameworks; sourceTree = ""; }; - DA0CC48A965602EAAF3069ADB1FA06AC /* NSURLSession */ = { + DF4F7796B3F069521F60476DE57CB23B /* Serialization */ = { isa = PBXGroup; children = ( - 8BA54ED4143E975785A0CA723E188037 /* AFCompatibilityMacros.h */, - EC5CC6B9C1536C09B4BFD416F26EBAA4 /* AFHTTPSessionManager.h */, - A0473FBB5AC34E75AD64849639D67173 /* AFHTTPSessionManager.m */, - 85DD35788A4653CCEB98A48A90FECCA8 /* AFURLSessionManager.h */, - 20ABFCE6BDC3D6C6D65597499F7A7AD0 /* AFURLSessionManager.m */, + 40308D215F993D81215E4146D98504E2 /* AFURLRequestSerialization.h */, + 681E92FFC7A198F86AF6CF0B800AAD1B /* AFURLRequestSerialization.m */, + 8EA8036CACC82C363D7A9C6115A53CCE /* AFURLResponseSerialization.h */, + A6B62CA5898F2385ED67D9C6D6505964 /* AFURLResponseSerialization.m */, ); - name = NSURLSession; + name = Serialization; sourceTree = ""; }; E66007CF4A60A93B39CB15EF12B2E966 /* Products */ = { @@ -271,6 +246,33 @@ name = Products; sourceTree = ""; }; + EB23B56DAD1AA2C32B9EFA906845DE67 /* AFNetworking */ = { + isa = PBXGroup; + children = ( + A7BC55D0A7B8D1FBA9235915DC577C2A /* AFNetworking.h */, + F7595717DF3D5E5F6B671649E9576AB9 /* NSURLSession */, + 89A8466ABE742B9D19F4977E0565C490 /* Reachability */, + CBE9C328DB0E5205F38D2F3111E07469 /* Security */, + DF4F7796B3F069521F60476DE57CB23B /* Serialization */, + AD3229D68B1B9B4688BBDBF41664F447 /* Support Files */, + 7522A1C13CE646B81E6D063E3B297EB5 /* UIKit */, + ); + name = AFNetworking; + path = AFNetworking; + sourceTree = ""; + }; + F7595717DF3D5E5F6B671649E9576AB9 /* NSURLSession */ = { + isa = PBXGroup; + children = ( + 8926260688C46F4437F5C0B9B499DA2C /* AFCompatibilityMacros.h */, + 58C4D1B4B4B8177E79D9FD5E4FAB1A66 /* AFHTTPSessionManager.h */, + A7551AEF35E5870428E426E0B850BB94 /* AFHTTPSessionManager.m */, + 3EA2A5DD697EF49F2EC6387546476F1C /* AFURLSessionManager.h */, + 4F8E72214847B8F1BAA6DBFCD2BBF4EB /* AFURLSessionManager.m */, + ); + name = NSURLSession; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -281,29 +283,29 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 1719BD8C8C5FB63E8E3A195F3CF29331 /* Headers */ = { + 517B98354AC49486147484F7AA898E2F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - C06F61A759022A62864BD9F8EE3660F3 /* AFAutoPurgingImageCache.h in Headers */, - 0343B86E9B9F5619970FCBD7370E033A /* AFCompatibilityMacros.h in Headers */, - D280A3B13923FF5FA778EF312BD965F7 /* AFHTTPSessionManager.h in Headers */, - 6B5B030904BA451F4FFE3AF2FD28D2DA /* AFImageDownloader.h in Headers */, - FEAA3C60F4BDDAC22BD1A6B047DBAAE9 /* AFNetworkActivityIndicatorManager.h in Headers */, - 5FF1B4EEDEE8BCA2E676E2548A412B02 /* AFNetworking.h in Headers */, - 1102564C9CDAC18DF8D6DB20F6523E72 /* AFNetworkReachabilityManager.h in Headers */, - B00EA522A62498626388BC649DFE2996 /* AFSecurityPolicy.h in Headers */, - D569D00367B456F6CDFE2700097562FC /* AFURLRequestSerialization.h in Headers */, - 9A7A3B80A68DB4A21A6833AA4683A7AD /* AFURLResponseSerialization.h in Headers */, - 05AB469F0F79C648F8E637F88CDB9E97 /* AFURLSessionManager.h in Headers */, - 418985D1EA0253EAA3C02FC1F31CA5E8 /* UIActivityIndicatorView+AFNetworking.h in Headers */, - 0C26E8CE5202114A92A9CFFBA1A9CE88 /* UIButton+AFNetworking.h in Headers */, - B27878E3B8F8ADB1FE01DBD6CB5812E7 /* UIImage+AFNetworking.h in Headers */, - F9AD2CFBEDD600706B921428D25DFA3A /* UIImageView+AFNetworking.h in Headers */, - C1EE07F0E0B54668574633B545FBCE48 /* UIKit+AFNetworking.h in Headers */, - D3DC240631E1FA883A5604B3E99BAE2B /* UIProgressView+AFNetworking.h in Headers */, - A845819E8332E3CA279E6B00EAA55366 /* UIRefreshControl+AFNetworking.h in Headers */, - 337C8A9592224E2629F71F4759AE0DF2 /* UIWebView+AFNetworking.h in Headers */, + 629394BF40A460B1011433443EFC3E50 /* AFAutoPurgingImageCache.h in Headers */, + FFFD7C2BDEEDF8202F6AB315EF42B27F /* AFCompatibilityMacros.h in Headers */, + 30C95E390F5322B4D82AF4011EB12D3F /* AFHTTPSessionManager.h in Headers */, + BB29D8313F9AD449A5B87408E93C4305 /* AFImageDownloader.h in Headers */, + 63A68545C750B2DA4F187C990700B6C7 /* AFNetworkActivityIndicatorManager.h in Headers */, + 68098FBA3AC98409AEAFDEC05113EC5A /* AFNetworking.h in Headers */, + 7F4263850D40EC35C67281FDD0BCBA2E /* AFNetworkReachabilityManager.h in Headers */, + 6A4F43D9D77D139324547EC93D10A254 /* AFSecurityPolicy.h in Headers */, + 3328C226418157EA254083DE0A2C38C0 /* AFURLRequestSerialization.h in Headers */, + CD51285F40EF20DC6EB237F0CEF99446 /* AFURLResponseSerialization.h in Headers */, + 039F72252859FA2C81A7C40BAAF8B470 /* AFURLSessionManager.h in Headers */, + 9471FE7D8B6DF00B88BC53AE7EE79BBB /* UIActivityIndicatorView+AFNetworking.h in Headers */, + 2CD0CF84AABA096219D5FA91F88F6893 /* UIButton+AFNetworking.h in Headers */, + 8C62B9BF27B12CB5118701FC6498724A /* UIImage+AFNetworking.h in Headers */, + 9E6794C22AD75EA1FB417575D2BC38E8 /* UIImageView+AFNetworking.h in Headers */, + D0F5BE8ABC0DE1D44AF6714B62863311 /* UIKit+AFNetworking.h in Headers */, + 0AC5C083A3F1207D281E48B278338165 /* UIProgressView+AFNetworking.h in Headers */, + 2B542DC5FB9C1F63902B38E055592F48 /* UIRefreshControl+AFNetworking.h in Headers */, + AF6B83723AF691DDA931BD671063F782 /* WKWebView+AFNetworking.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -314,8 +316,8 @@ isa = PBXNativeTarget; buildConfigurationList = EE91476FFEA2C3B3AB024E94672BCFF2 /* Build configuration list for PBXNativeTarget "AFNetworking" */; buildPhases = ( - 1719BD8C8C5FB63E8E3A195F3CF29331 /* Headers */, - 7045CFF55E3AB34311BB6DDDF4F424EF /* Sources */, + 517B98354AC49486147484F7AA898E2F /* Headers */, + 476EDC84994C9BFE3818A4C5FCBCBE31 /* Sources */, 74CA1619F24B79CC712A86A70DED135F /* Frameworks */, ); buildRules = ( @@ -360,6 +362,7 @@ hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; productRefGroup = E66007CF4A60A93B39CB15EF12B2E966 /* Products */; @@ -373,26 +376,26 @@ /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ - 7045CFF55E3AB34311BB6DDDF4F424EF /* Sources */ = { + 476EDC84994C9BFE3818A4C5FCBCBE31 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 72131334F39177232F5C64E5C2259711 /* AFAutoPurgingImageCache.m in Sources */, - 388FED0E693E62E2A021D791622D923A /* AFHTTPSessionManager.m in Sources */, - 526CD62CFE195493EAAB3A92C3C9763E /* AFImageDownloader.m in Sources */, - F9CA5B97B878B42C067AC48CF4309C8A /* AFNetworkActivityIndicatorManager.m in Sources */, - 063B1E5D36D010529650455B572F2F1F /* AFNetworking-dummy.m in Sources */, - B64C5A5EB2B85612397A326837EF0393 /* AFNetworkReachabilityManager.m in Sources */, - C9B7C0B49F09E5C508839370A4A06FA2 /* AFSecurityPolicy.m in Sources */, - 6CB316D3625C84412DE22B9A235A01F0 /* AFURLRequestSerialization.m in Sources */, - C021F7A223193176651A008941380D7E /* AFURLResponseSerialization.m in Sources */, - C4EBDBEA71996F51119191E3C2C3B708 /* AFURLSessionManager.m in Sources */, - D40A597666064AC9FB9130B57CB43438 /* UIActivityIndicatorView+AFNetworking.m in Sources */, - DF0ECA939EB2D2D9A3918DFBF29B79F0 /* UIButton+AFNetworking.m in Sources */, - B48421F25E2E04C4DC77FF82D0F338BA /* UIImageView+AFNetworking.m in Sources */, - 404EA673E05C556F1CAFCF20F3F76EFB /* UIProgressView+AFNetworking.m in Sources */, - 7FD4DA962081937E2909251631083650 /* UIRefreshControl+AFNetworking.m in Sources */, - 6326910744CB757A56F0D16A8892445E /* UIWebView+AFNetworking.m in Sources */, + 4DD5B541EC616E9D22F6E2A7BCBB0C62 /* AFAutoPurgingImageCache.m in Sources */, + 01532C45474354FEEDB458230090D2BD /* AFHTTPSessionManager.m in Sources */, + FE190ED9B03F3175B2DE287EC8F7C1C0 /* AFImageDownloader.m in Sources */, + 1B50B3CF3BB53869F778DD3498DD21B9 /* AFNetworkActivityIndicatorManager.m in Sources */, + D4190E7CDA3FCF0655D70EA828164BC0 /* AFNetworking-dummy.m in Sources */, + A8AE135515F725235C997467A5D942AE /* AFNetworkReachabilityManager.m in Sources */, + 98571EBB27609EB5B1752FB7F91777C5 /* AFSecurityPolicy.m in Sources */, + 41E3E6D5AB0F65307E03F1E354D335E6 /* AFURLRequestSerialization.m in Sources */, + 3B097F0F7BCEC16A17AA9C4DB617D190 /* AFURLResponseSerialization.m in Sources */, + 40172FAFBC01241FDEEC28935E02702C /* AFURLSessionManager.m in Sources */, + D6F5F185CF388F40323D01ACCBA70F03 /* UIActivityIndicatorView+AFNetworking.m in Sources */, + BD240D9906BDF9E56FE67CAAD41AFCE6 /* UIButton+AFNetworking.m in Sources */, + 98B0F80B827199AD578371CAA62E979C /* UIImageView+AFNetworking.m in Sources */, + C0CC028B8FA00D44FFD07B0A2DBBD320 /* UIProgressView+AFNetworking.m in Sources */, + 18EDB4326699CB730FA4E17F07F1A590 /* UIRefreshControl+AFNetworking.m in Sources */, + 101793986198D29C0030115986535E46 /* WKWebView+AFNetworking.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -416,28 +419,7 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 48F2252E067450EA1F916FC29E9A8428 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 8BDA57C096DFC6E5472989D8D0F3D2BD /* Pods-XMNetworkingDemo.debug.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACH_O_TYPE = staticlib; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = { + 196DFA3E4A09A28224918543529A1885 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -470,13 +452,16 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -485,51 +470,53 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; - name = Release; + name = Debug; }; - 5E472B313AAA528C22C1BF1D61D97C44 /* Debug */ = { + 3BF01E666FA2DE259319788F6031824F /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */; + baseConfigurationReference = 607C9BACD83D5738F2E595208D54C146 /* Pods-XMNetworkingDemo.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MACH_O_TYPE = staticlib; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; - PRIVATE_HEADERS_FOLDER_PATH = ""; - PRODUCT_MODULE_NAME = AFNetworking; - PRODUCT_NAME = AFNetworking; - PUBLIC_HEADERS_FOLDER_PATH = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; }; - name = Debug; + name = Release; }; - 6DD6976ABFD86373D31F97808CC322F5 /* Release */ = { + 857B4B432D1B327EF37450C165FE02C6 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 607C9BACD83D5738F2E595208D54C146 /* Pods-XMNetworkingDemo.release.xcconfig */; + baseConfigurationReference = 8BDA57C096DFC6E5472989D8D0F3D2BD /* Pods-XMNetworkingDemo.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CLANG_ENABLE_OBJC_WEAK = NO; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MACH_O_TYPE = staticlib; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; @@ -538,11 +525,10 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; }; - name = Release; + name = Debug; }; - 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = { + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -575,16 +561,13 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", + "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -593,29 +576,51 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; + MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; + name = Release; + }; + B519284CF067DA40FD23309829A529B5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0456716B23B14E3A7255B86A87B76444 /* AFNetworking.debug.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PRIVATE_HEADERS_FOLDER_PATH = ""; + PRODUCT_MODULE_NAME = AFNetworking; + PRODUCT_NAME = AFNetworking; + PUBLIC_HEADERS_FOLDER_PATH = ""; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + TARGETED_DEVICE_FAMILY = "1,2"; + }; name = Debug; }; - F0E0DE99D8C9C7D10672428D98A470BF /* Release */ = { + C2E3A16473D8FECE6AEF729E9E9E482E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8E2DA1D2E42BB45B6CF0BF1987C0FD5F /* AFNetworking.xcconfig */; + baseConfigurationReference = 871E90D2BBC5AAAAE7D512201A5DF7CC /* AFNetworking.release.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; GCC_PREFIX_HEADER = "Target Support Files/AFNetworking/AFNetworking-prefix.pch"; - IPHONEOS_DEPLOYMENT_TARGET = 7.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PRIVATE_HEADERS_FOLDER_PATH = ""; @@ -636,8 +641,8 @@ 16207DF589119EC8445DB0F44CC162F6 /* Build configuration list for PBXNativeTarget "Pods-XMNetworkingDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( - 48F2252E067450EA1F916FC29E9A8428 /* Debug */, - 6DD6976ABFD86373D31F97808CC322F5 /* Release */, + 857B4B432D1B327EF37450C165FE02C6 /* Debug */, + 3BF01E666FA2DE259319788F6031824F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -645,8 +650,8 @@ 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */, - 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */, + 196DFA3E4A09A28224918543529A1885 /* Debug */, + B01D14FDC83DCF9D4BE53066BEA96D05 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -654,8 +659,8 @@ EE91476FFEA2C3B3AB024E94672BCFF2 /* Build configuration list for PBXNativeTarget "AFNetworking" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5E472B313AAA528C22C1BF1D61D97C44 /* Debug */, - F0E0DE99D8C9C7D10672428D98A470BF /* Release */, + B519284CF067DA40FD23309829A529B5 /* Debug */, + C2E3A16473D8FECE6AEF729E9E9E482E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.debug.xcconfig b/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.debug.xcconfig new file mode 100644 index 00000000..9af64af7 --- /dev/null +++ b/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.debug.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" +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 +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.release.xcconfig b/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.release.xcconfig new file mode 100644 index 00000000..9af64af7 --- /dev/null +++ b/Demo/Pods/Target Support Files/AFNetworking/AFNetworking.release.xcconfig @@ -0,0 +1,10 @@ +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/AFNetworking" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" +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 +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-acknowledgements.markdown b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-acknowledgements.markdown index 9470436b..b848d711 100644 --- a/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-acknowledgements.markdown +++ b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-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/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-acknowledgements.plist b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-acknowledgements.plist index c13117b2..b55ee49e 100644 --- a/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-acknowledgements.plist +++ b/Demo/Pods/Target Support Files/Pods-XMNetworkingDemo/Pods-XMNetworkingDemo-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/XMNetworking.podspec b/XMNetworking.podspec index b7fc5acb..b6a02762 100644 --- a/XMNetworking.podspec +++ b/XMNetworking.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "XMNetworking" - s.version = "1.2.0" + s.version = "1.2.1" s.summary = "A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking." s.homepage = "https://github.com/kangzubin/XMNetworking" s.license = { :type => "MIT", :file => "LICENSE" } s.author = { "Zubin Kang" => "kangzubin@gmail.com" } - s.platform = :ios, "7.0" + s.platform = :ios, "9.0" s.requires_arc = true s.source = { :git => "https://github.com/kangzubin/XMNetworking.git", :tag => s.version, :submodules => true } diff --git a/XMNetworking/XMEngine.m b/XMNetworking/XMEngine.m index a3d03b66..6942fa3c 100644 --- a/XMNetworking/XMEngine.m +++ b/XMNetworking/XMEngine.m @@ -139,10 +139,10 @@ + (void)load { - (void)dealloc { if (_sessionManager) { - [_sessionManager invalidateSessionCancelingTasks:YES]; + [_sessionManager invalidateSessionCancelingTasks:YES resetSession:YES]; } if (_securitySessionManager) { - [_securitySessionManager invalidateSessionCancelingTasks:YES]; + [_sessionManager invalidateSessionCancelingTasks:YES resetSession:YES]; } } From 03d1d9c1c66bfa73fad1df5a106e80f74e900e10 Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Tue, 25 Aug 2020 17:09:11 +0800 Subject: [PATCH 6/9] Change param 'NSDictionary' type to 'id' and check when use. --- XMNetworking/XMCenter.m | 2 +- XMNetworking/XMRequest.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/XMNetworking/XMCenter.m b/XMNetworking/XMCenter.m index 395636af..3be9dde0 100644 --- a/XMNetworking/XMCenter.m +++ b/XMNetworking/XMCenter.m @@ -469,7 +469,7 @@ - (void)xm_processRequest:(XMRequest *)request } // add general parameters to the request object. - if (request.useGeneralParameters && self.generalParameters.count > 0) { + if (request.useGeneralParameters && [request.parameters isKindOfClass:[NSDictionary class]] && self.generalParameters.count > 0) { NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters addEntriesFromDictionary:self.generalParameters]; if (request.parameters.count > 0) { diff --git a/XMNetworking/XMRequest.h b/XMNetworking/XMRequest.h index d0dec7c1..7f398b61 100644 --- a/XMNetworking/XMRequest.h +++ b/XMNetworking/XMRequest.h @@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN /** The parameters for request, if `useGeneralParameters` property is `YES` (default), the `generalParameters` of XMCenter will be appended to the `parameters`. */ -@property (nonatomic, strong, nullable) NSDictionary *parameters; +@property (nonatomic, strong, nullable) id parameters; /** The HTTP headers for request, if `useGeneralHeaders` property is `YES` (default), the `generalHeaders` of XMCenter will be appended to the `headers`. From 2b07d0f5075e74f7fabe9dda2e379d24711603eb Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Tue, 25 Aug 2020 17:20:00 +0800 Subject: [PATCH 7/9] Modify podspec version to '1.2.2' from origin '1.2.1' --- XMNetworking.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XMNetworking.podspec b/XMNetworking.podspec index b6a02762..481548f2 100644 --- a/XMNetworking.podspec +++ b/XMNetworking.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "XMNetworking" - s.version = "1.2.1" + s.version = "1.2.2" s.summary = "A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking." s.homepage = "https://github.com/kangzubin/XMNetworking" s.license = { :type => "MIT", :file => "LICENSE" } From d3e27c592a0fe80a3744ff995d270d3043761264 Mon Sep 17 00:00:00 2001 From: WilliamChen Date: Mon, 12 Oct 2020 10:39:46 +0800 Subject: [PATCH 8/9] Allow DELETE request method parameters to be placed in the body. --- XMNetworking.podspec | 2 +- XMNetworking/XMCenter.m | 5 +++-- XMNetworking/XMEngine.m | 12 ++++++++++++ XMNetworking/XMRequest.h | 5 +++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/XMNetworking.podspec b/XMNetworking.podspec index 481548f2..d7c9b8b5 100644 --- a/XMNetworking.podspec +++ b/XMNetworking.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "XMNetworking" - s.version = "1.2.2" + s.version = "1.2.3" s.summary = "A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking." s.homepage = "https://github.com/kangzubin/XMNetworking" s.license = { :type => "MIT", :file => "LICENSE" } diff --git a/XMNetworking/XMCenter.m b/XMNetworking/XMCenter.m index 3be9dde0..db0c0ddf 100644 --- a/XMNetworking/XMCenter.m +++ b/XMNetworking/XMCenter.m @@ -472,8 +472,9 @@ - (void)xm_processRequest:(XMRequest *)request if (request.useGeneralParameters && [request.parameters isKindOfClass:[NSDictionary class]] && self.generalParameters.count > 0) { NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters addEntriesFromDictionary:self.generalParameters]; - if (request.parameters.count > 0) { - [parameters addEntriesFromDictionary:request.parameters]; + NSDictionary *reqParams = (NSDictionary *)request.parameters; + if (reqParams.count > 0) { + [parameters addEntriesFromDictionary:reqParams]; } request.parameters = parameters; } diff --git a/XMNetworking/XMEngine.m b/XMNetworking/XMEngine.m index 6942fa3c..22d33d6d 100644 --- a/XMNetworking/XMEngine.m +++ b/XMNetworking/XMEngine.m @@ -99,6 +99,7 @@ @interface XMEngine () { @property (nonatomic, strong) AFHTTPResponseSerializer *afHTTPResponseSerializer; @property (nonatomic, strong) AFJSONResponseSerializer *afJSONResponseSerializer; +@property (nonatomic, strong) AFJSONRequestSerializer *afJSONDeleteParamToBodySerializer; @property (nonatomic, strong) AFXMLParserResponseSerializer *afXMLResponseSerializer; @property (nonatomic, strong) AFPropertyListResponseSerializer *afPListResponseSerializer; @@ -535,6 +536,9 @@ - (AFHTTPRequestSerializer *)xm_getRequestSerializer:(XMRequest *)request { if (request.requestSerializerType == kXMRequestSerializerRAW) { return self.afHTTPRequestSerializer; } else if(request.requestSerializerType == kXMRequestSerializerJSON) { + if (request.forcePutDeleteMethodParametersInBody) { + return self.afJSONDeleteParamToBodySerializer; + } return self.afJSONRequestSerializer; } else if (request.requestSerializerType == kXMRequestSerializerPlist) { return self.afPListRequestSerializer; @@ -598,6 +602,14 @@ - (AFJSONRequestSerializer *)afJSONRequestSerializer { return _afJSONRequestSerializer; } +- (AFJSONRequestSerializer *)afJSONDeleteParamToBodySerializer { + if (!_afJSONDeleteParamToBodySerializer) { + _afJSONDeleteParamToBodySerializer = [AFJSONRequestSerializer serializer]; + _afJSONDeleteParamToBodySerializer.HTTPMethodsEncodingParametersInURI = [NSSet setWithObjects:@"GET", @"HEAD", nil]; + } + return _afJSONDeleteParamToBodySerializer; +} + - (AFPropertyListRequestSerializer *)afPListRequestSerializer { if (!_afPListRequestSerializer) { _afPListRequestSerializer = [AFPropertyListRequestSerializer serializer]; diff --git a/XMNetworking/XMRequest.h b/XMNetworking/XMRequest.h index 7f398b61..c1a6c66a 100644 --- a/XMNetworking/XMRequest.h +++ b/XMNetworking/XMRequest.h @@ -114,6 +114,11 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, copy, readonly, nullable) XMProgressBlock progressBlock; +/** + Force put the Delete request parameters in the request body. Generally DELETE method parameters would be pieced together beside URL + */ +@property (nonatomic, assign) BOOL forcePutDeleteMethodParametersInBody; + /** Nil out all callback blocks when a request is finished to break the potential retain cycle. */ From f18b409fec4d708ad669e8b0e7928d0a794c31ad Mon Sep 17 00:00:00 2001 From: WilliamCheen Date: Tue, 15 Apr 2025 14:46:50 +0800 Subject: [PATCH 9/9] fix: remove AFNetworking dependency. --- XMNetworking.podspec | 2 -- 1 file changed, 2 deletions(-) diff --git a/XMNetworking.podspec b/XMNetworking.podspec index d7c9b8b5..98a45857 100644 --- a/XMNetworking.podspec +++ b/XMNetworking.podspec @@ -13,7 +13,5 @@ Pod::Spec.new do |s| s.source_files = "XMNetworking/*.{h,m}" s.public_header_files = "XMNetworking/*.h" - - s.dependency "AFNetworking", "~> 4.0" end