我通过 CocoaPods 安装了 AFNetworking:
pod "AFNetworking", '~> 2.0.3'
因此,从标准 GET 请求调用的方法:
- (NSURLSessionDataTask *)GET:(NSString *)URLString
parameters:(NSDictionary *)parameters
success:(void (^)(NSURLSessionDataTask *task, id responseObject))success
failure:(void (^)(NSURLSessionDataTask *task, NSError *error))failure
调用 - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request;
在 iOS 6 上返回 nil
。
因为 AFNetworking 使用 iOS 7.0 中引入的 NSURLSessionTask
和 NSURLSession
来自AFNetworking Documentation :
New Requirements: iOS 6, Mac OS X 10.8, & Xcode 5
AFNetworking 2.0 officially supports iOS 6+, Mac OS X 10.8+, and Xcode 5.
为什么它调用仅在 iOS7 中出现的方法?
最佳答案
我找到了解决方案:
我的 API 客户端继承自 AFHTTPSessionManager
(如 afnetwoking 站点示例)。
但是,如果您使用的是 iOS 6,只需像 AFNetworking 1.x 版本中那样保留对 AFHTTPRequestOperationManager
的继承即可。
替换:
@interface APIClient : AFHTTPSessionManager
至:
@interface APIClient : AFHTTPRequestOperationManager
关于iphone - AFNetworking 2.0.3 无法在 iOS 6 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20772984/