2013-06-21 2 views
1

Я пытаюсь войти на сервер, но я получаю сообщение об ошибке. Я использую SBJSON для преобразования запроса в JSON и для его преобразования из JSON в строку, и я использую один метод для выполнения всех моих вызовов API. Я искал решение, но не могу найти. Вот метод, который я использую для входа в систему:NSURLErrorDomain Code = -1012 error

+ (void)requestFromUrl:(NSString *)urlString withType:(NSString *)type withBody:(NSDictionary *)dict 
{ 
    NSURL *url = [NSURL URLWithString:urlString]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod:type]; 

    if(dict) 
    { 
     NSString *jsonString = [dict JSONRepresentation]; 
     NSData *jsonData = [jsonString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:true]; 
     [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
     [request setHTTPBody:jsonData]; 
    } 

    NSOperationQueue *queue = [[NSOperationQueue alloc] init]; 
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) 
    { 
     if (error) 
     { 
      NSLog(@"Error retrieving data: %@", error.description); 
     } 
     else 
     { 
      id result = [data JSONValue]; 
      NSLog(@"Received responce: %@", result); 

      [[NSNotificationCenter defaultCenter] postNotificationName:@"ReceivedResponce" object:self userInfo:result]; 
     } 
    }]; 

Может кто-нибудь помочь мне?

+0

Какая ошибка вы получаете? –

+0

Ошибка получения данных: Error Domain = NSURLErrorDomain Code = -1012 «Операция не может быть выполнена. (NSURLErrorDomain error -1012.)» –

ответ

1

Сделать это:

NSData *jsonData = [jsonString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:true]; 

в:

NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 

Смотрите, если это помогает. JSON требуется кодировать UTF8, а не ASCII.

+0

Это работает! Благодаря! –

+0

Добро пожаловать :-) –