2013-05-16 2 views
0

방금 ​​네트워킹 작업을 위해 MKNetworkKit을 사용하기 시작했으며 이러한 MKNetworkOperation을 사용하여 서버에서 데이터를 가져 오려고했지만 이상한 오류가 발생했습니다. 정말 이상한 부분이 있습니다 : 지원되지 않는 URL,MKNetworkOperation failedWithError : 지원되지 않는 URL

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]; 

답변

0

blabs.json : 오류 조사를 위해 이것 좀 봐, 나는이 문제를 통해 많은 검색하지만, 희망, 내가 전에이 오류를 해본 적이 그리고 난 오류없이 같은 예와 같은 라이브러리를 사용하여 이전 응용 프로그램을 가지고 유효한 URL이 아닙니다. 그 이유는 오류입니다.

+0

브라우저의 브라우저에서 실행 중입니다. 시도한 URL은 무엇입니까? – Meseery

+0

URL은 무엇입니까? –

0

뿐만 아니라 당신의 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]; 
+0

같은 오류 친구 – Meseery

0

을 해당 파일이 MKnetworkkit을 사용할 필요가 다음 번들 내부에없는 경우. Mknetwrokkit은 번들에있는 json 파일의 내용을 직접 가져올 수있는 대신 서버에서 요청하기위한 것입니다. 파일 내용을 가져 오려면

NSData * data = [NSBundle mainBundle] pathForResourece : @ "blabs.json"];으로 코드를 작성할 수 있습니다.

이 데이터를 직접 사용하여 구문 분석 할 수 있습니다.

관련 문제