Ios MKNetworkOperation失败错误:不支持的URL
我刚开始使用MKNetworkKit进行网络操作,我尝试使用这些MKNetworkOperation从服务器上获取一些数据,但这给我带来了一个奇怪的错误。。非常奇怪的是:不受支持的URL,我在这个问题上搜索了很多,但没有希望,我以前从未尝试过这个错误,我有一个旧的应用程序,使用相同的库和相同的示例,没有错误,请查看此错误调查:Ios MKNetworkOperation失败错误:不支持的URL,ios,url,network-programming,mknetworkkit,mknetworkengine,Ios,Url,Network Programming,Mknetworkkit,Mknetworkengine,我刚开始使用MKNetworkKit进行网络操作,我尝试使用这些MKNetworkOperation从服务器上获取一些数据,但这给我带来了一个奇怪的错误。。非常奇怪的是:不受支持的URL,我在这个问题上搜索了很多,但没有希望,我以前从未尝试过这个错误,我有一个旧的应用程序,使用相同的库和相同的示例,没有错误,请查看此错误调查: NSString *path =[NSString stringWithFormat:@"blabs.json"]; MKNetworkOperation *op
NSString *path =[NSString stringWithFormat:@"blabs.json"];
MKNetworkOperation *op =[[MKNetworkOperation alloc]initWithURLString:path params:nil httpMethod:@"GET"];
NSLog(@"%@",[op url]);
[op addCompletionHandler:^(MKNetworkOperation *CompletedOperation){
completionHandler([CompletedOperation responseJSON]);
} errorHandler:^(MKNetworkOperation *CompleteOperation, NSError *err){
errHandler(err,[CompleteOperation responseString]);
}];
[self enqueueOperation:op forceReload:YES];
blabs.json
不是有效的url。这就是出现错误的原因。您还需要转义url中的非ASCII字符:
NSString *path =[NSString stringWithFormat:@"blabs.json"];
NSString* pathEncoded = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
MKNetworkOperation *op =[[MKNetworkOperation alloc]initWithURLString:pathEncoded params:nil httpMethod:@"GET"];
NSLog(@"%@",[op url]);
[op addCompletionHandler:^(MKNetworkOperation *CompletedOperation){
completionHandler([CompletedOperation responseJSON]);
} errorHandler:^(MKNetworkOperation *CompleteOperation, NSError *err){
errHandler(err,[CompleteOperation responseString]);
}];
[self enqueueOperation:op forceReload:YES];
如果该文件位于捆绑包中,则无需使用MKnetworkkit。Mknetwrokkit用于从服务器请求,而不是直接获取捆绑包中json文件的内容。为了获取文件的内容,您可以将代码编写为 NSData*data=[NSData dataWithContentsOfFile:[NSBundle mainBundle]pathforresourcerece:@“blabs.json”] 您可以直接使用这些数据并对其进行解析