2013-05-16 4 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

он работает на другом браузере, я пробовал его – Meseery

+0

что такое URL? –

0

Вам необходимо чтобы избежать символов не-ASCII в вашей URL, а также:

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 = [NSData dataWithContentsOfFile: [NSBundle mainBundle] pathForResourece: @ "blabs.json"];

Эти данные можно непосредственно использовать и проанализировать.

Смежные вопросы