我目前正在经历this tutorial。我已经安装了AFNetworking,但是当我输入此代码时,我在第7行和第8行收到错误Unknown type name AFJSONRequestOperation
和No known class method for selector JSONRequestOperationWithRequest:request
。
-(void)makeRestuarantRequests
{
NSURL *url = [NSURL URLWithString:@"A URL which returns JSON"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
//AFNetworking asynchronous url request
AFJSONRequestOperation *operation = [AFJSONRequestOperation
JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id responseObject)
{
NSLog(@"JSON RESULT %@", responseObject);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id responseObject)
{
NSLog(@"Request Failed: %@, %@", error, error.userInfo);
}];
[operation start];
}
我似乎缺少一个包含我需要的课程的文件,可能是AFJSONRequestOperation.m
和.h
。
有关修复的想法吗?
修改
原始AFNetworking download中的所有.h
个文件都是通过AFNetworking.h
导入的:
#import <Foundation/Foundation.h>
#import <Availability.h>
#ifndef _AFNETWORKING_
#define _AFNETWORKING_
#import "AFURLRequestSerialization.h"
#import "AFURLResponseSerialization.h"
#import "AFSecurityPolicy.h"
#import "AFNetworkReachabilityManager.h"
#import "AFURLConnectionOperation.h"
#import "AFHTTPRequestOperation.h"
#import "AFHTTPRequestOperationManager.h"
#if ( ( defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1090) || \
( defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 ) )
#import "AFURLSessionManager.h"
#import "AFHTTPSessionManager.h"
#endif
#endif /* _AFNETWORKING_ */
答案 0 :(得分:1)
您使用的是AFNetworking
的哪个版本?好像您使用的是版本2.x,而AFJSONRequestOperation
来自版本1.x。
另见:https://github.com/AFNetworking/AFNetworking/wiki/AFNetworking-2.0-Migration-Guide
答案 1 :(得分:0)
对于OP Im猜测来说太晚了但我遇到了这个问题,因为在源文件夹周围有两个AFNetworking
副本。我的CocoaPods
安装中的一个和之前尚未删除的一个。
我通过在错误消息的编译命令输出中搜索“AFNetworking”来发现这一点,该消息向我展示了我不期望的AFNetworking副本。
转储非pod副本将其全部修复。
答案 2 :(得分:-1)
添加System.Configuration框架。然后加 #import in pch。也许问题出现在Configuration框架中。