Objective c AFJSONRequestOperation在模拟器上工作,但在设备上不工作

Objective c AFJSONRequestOperation在模拟器上工作,但在设备上不工作,objective-c,json,post,Objective C,Json,Post,我尝试通过POST方法从服务器获取数据 这是我的密码: AFHTTPClient *httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://localhost:8080"]]; httpClient.operationQueue.maxConcurrentOperationCount = 1; NSDictionary *jsonDict = [NSDictionary dictionaryWithO

我尝试通过POST方法从服务器获取数据

这是我的密码:

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.}";}

有什么想法吗?

您正在连接到
localhost:8080
,因此您的“桌面”计算机上一定有一些服务器正在处理这些请求。这在设备上是不正确的(除非你做了一些事情使它成为现实)

您可能想做的是将bast URL更改为“桌面”计算机的IP地址,并确保您的设备连接到同一网络