2013-07-17 12 views
0

Я пытаюсь получить данные с сервера методом POST.AFJSONRequestOperation работает на симуляторе, но не на устройстве

Вот мой код:

AFHTTPClient *httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://localhost:8080"]]; 
httpClient.operationQueue.maxConcurrentOperationCount = 1; 

NSDictionary *jsonDict = [NSDictionary dictionaryWithObjectsAndKeys: 
          @"1", @"identity", 
          @"3", @"priority", 
          @"false", @"clearBadge", 
          @"1", @"pushNotificationID", 
          nil]; 

NSMutableURLRequest *signInRequest = [httpClient requestWithMethod:@"POST" path:@"/.../push/update" parameters:jsonDict]; 

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:nil]; 

[signInRequest setHTTPBody: jsonData]; 

[signInRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
signInRequest.timeoutInterval = 15.0; 
signInRequest.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData; 

AFJSONRequestOperation *signInOperation = [AFJSONRequestOperation JSONRequestOperationWithRequest:signInRequest success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) 
{ 
    NSLog(@"%@", JSON); 
} 
                          failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) 
{ 
    NSLog(@"%@", [error userInfo]); 
}]; 

[httpClient enqueueHTTPRequestOperation:signInOperation]; 

и в тренажере я получаю мои данные и все работает отлично. но когда я запустить его на устройстве, я получаю сообщение об ошибке:

2013-07-17 11:27:43.760 PushApp[11871:907] { 
NSErrorFailingURLKey = "http://localhost:8080/.../push/update"; 
NSErrorFailingURLStringKey = "http://localhost:8080/.../push/update"; 
NSLocalizedDescription = "Could not connect to the server."; 
NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1004 \"Could not connect to the server.\" UserInfo=0x1e8351b0 {NSErrorFailingURLKey=http://localhost:8080/.../push/update, NSErrorFailingURLStringKey=http://localhost:8080/.../push/update, NSLocalizedDescription=Could not connect to the server.}";} 

любые идеи?

ответ

0

Вы подключаетесь к localhost:8080, поэтому на вашем компьютере «рабочий стол» должен быть установлен какой-либо сервер, который обрабатывает эти запросы. Это неверно на устройстве (если вы не сделали что-то, чтобы сделать его правдой).

Возможно, что вы хотите изменить URL-адрес удалённого узла, чтобы быть IP-адресом вашего компьютера «desktop», и убедитесь, что ваше устройство подключено к той же сети.

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