エラーは次のとおりです。
// <<<<<<<<<<
依存関係の分析
[!] CocoaPodsは、ポッド「AFNetworking」と互換性のあるバージョンを見つけることができませんでした。
Podfileの場合:
AFNetworking(〜> 4.0)
「AFNetworking(〜> 4.0)」の依存関係を満たす仕様が見つかりましたが、より高い最小展開ターゲットが必要でした。
[!] Podfileでスマートクォートが検出され、無視されました。今後の問題を回避するために、テキストエディットを使用して編集しないでください。テキストエディットを使用していない場合は、選択したエディターでスマートクォートをオフにする必要があります。
// <<<<<<<<<<
//解決
podfileのplatform:ios、「8.0」を「9.0」に変更するだけです。
その後、4.0postメソッドが変更されました。古いpostメソッドを新しいメソッドに置き換えるだけです。
投稿にはさらに多くのパラメーターがあります:headers:(NSDictionary <NSString *、NSString *> *)headers
//详情参考这个文章 https://www.jianshu.com/p/e8b21b3d690d
// 所有的请求方法都会进入这个方法 --- 返回一个请求任务
- (NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method
URLString:(NSString *)URLString
parameters:(id)parameters
headers:(NSDictionary <NSString *, NSString *> *)headers
uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgress
downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) downloadProgress
success:(void (^)(NSURLSessionDataTask *, id))success
failure:(void (^)(NSURLSessionDataTask *, NSError *))failure
{
NSError *serializationError = nil;
// 对请求报文首部进行参数拼接完成之后的一个请求
NSMutableURLRequest *request = [self.requestSerializer requestWithMethod:method URLString:[[NSURL URLWithString:URLString relativeToURL:self.baseURL] absoluteString] parameters:parameters error:&serializationError];
// 如果参数 headers 有值 那么就在对请求头进行设置
for (NSString *headerField in headers.keyEnumerator) {
[request addValue:headers[headerField] forHTTPHeaderField:headerField];
}
// 如果发生错误,异步返回错误, self.completionQueue 默认队列是NULL,会使用主队列,这个参数的意义是提供给外界自行定义,在什么队列中返回错误信息.
if (serializationError) {
if (failure) {
dispatch_async(self.completionQueue ?: dispatch_get_main_queue(), ^{
failure(nil, serializationError);
});
}
return nil;
}
// 根据请求返回一个任务
__block NSURLSessionDataTask *dataTask = nil;
// 基类调用父类封装的方法,获取一个请求任务.
dataTask = [self dataTaskWithRequest:request
uploadProgress:uploadProgress
downloadProgress:downloadProgress
completionHandler:^(NSURLResponse * __unused response, id responseObject, NSError *error) {
if (error) {
// 请求失败
if (failure) {
failure(dataTask, error);
}
} else {
// 请求成功
if (success) {
success(dataTask, responseObject);
}
}
}];
return dataTask;
}