使用未声明的标识符 AFHTTPClient
Posted
技术标签:
【中文标题】使用未声明的标识符 AFHTTPClient【英文标题】:Use of undeclared identifier AFHTTPClient 【发布时间】:2014-01-28 14:32:05 【问题描述】:您好,我正在尝试编译以下代码,但出现错误 Use of undeclered identifier AFHTTPClient
:
NSData* fileNameData = [fileName dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *sendDictionary =
[NSDictionary dictionaryWithObject:fileNameData forKey:@"fileName"];
AFHTTPClient *httpClient =
[[AFHTTPClient alloc] initWithBaseURL:@"http://www.olcayertas.com"];
NSMutableURLRequest *afRequest =
[httpClient multipartFormRequestWithMethod:@"POST"
path:@"/photos"
parameters:sendDictionary
constructingBodyWithBlock:^(id <AFMultipartFormData>formData)
[formData appendPartWithFileData:photoImageData
name:self.fileName.text
fileName:filePath
mimeType:@"image/jpeg"];
];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:afRequest];
[operation setUploadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite)
NSLog(@"Sent %d of %d bytes", totalBytesWritten, totalBytesExpectedToWrite);
];
[operation setCompletionBlock:^
//NSLog(@"%@", operation.responseString); //Gives a very scary warning
];
[operation start];
我正在使用 CocoaPods,这是我的 pod 文件:
platform :ios, '7'
pod 'AFNetworking', '~> 2.0'
pod 'AFNetworking/NSURLSession', '~> 2.0'
【问题讨论】:
你的#import
s 是什么?
AfNetworking 2.0 删除 AFHTTPClient 见***.com/questions/19503750/…
【参考方案1】:
您包含 AFNetworking 2.0,但 AFHTTPClient
在 2.0 中不存在 - 这是 1.0 的功能。检查migration guide,但AFHTTPClient
已被AFHTTPRequestOperationManager
和AFHTTPSessionManager
替换。
还可以查看 2.0 的 example app - AFAppDotNetAPIClient
现在是 AFHTTPSessionManager
的子类。
【讨论】:
【参考方案2】:在 AFNetworking 3.0 中,您需要使用 AFHTTPSessionManager 而不是 AFHTTPRequestOperationManager,因为 AFHTTPRequestOperationManager 已被删除
【讨论】:
以上是关于使用未声明的标识符 AFHTTPClient的主要内容,如果未能解决你的问题,请参考以下文章