【发布时间】:2014-09-03 03:23:20
【问题描述】:
我的应用是使用 AFHTTPRequestOperationManager 制作并执行 POST 请求的。
我有 4 个 url,它们都可以在服务器上正常工作,它们几乎相同的格式、相同的用法等。所以我也对它们进行了相同的编码。实际上我只有一个 if 语句来确定哪个 url我将使用我所做的相同方法,所以每次我使用 POST 请求任何 url 时,我都会使用相同的方法。
对于其中的 3 个,它们工作得很好,但是第 4 个,无论我如何使用它,它总是让我着迷 "Domain=NSURLErrorDomain Code=-1005 "网络连接丢失。"
我在我的服务器上使用这个 url 进行了测试,它工作正常。服务器没有问题,但 AFNetworking 只是不会发送此请求。如果它是真正的 DC,那么我的其他 URL 仍然可以正常工作吗?
我在 IOS8 beta2 上运行这个应用程序,我不知道是不是 beta 导致了这个问题? (我怀疑) 请帮助...
示例代码
#define SERVER_URL @"http://54.187.63.214/"
#define SERVER_LIKE_URL @"candidate_likeJob/"
#define SERVER_DISLIKE_URL @"candidate_dislikeJob/"
- (void) likeOrSkipJob:(BOOL)isLike{
UserSetting *setting = [UserSetting getSetting];
UFCompany *matchedCompany = [matchedCompanies lastObject];
UFJob *matchJob = [matchedCompany.jobs firstObject];
NSLog(@"like job : %@", matchJob.position);
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];
NSString *likeURL = [NSString stringWithFormat:@"%@%@",SERVER_URL,isLike? SERVER_LIKE_URL: SERVER_DISLIKE_URL];
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys: setting.ufind_id, @"candidate_id", matchJob.job_id, @"job_id", nil];
NSLog(@"Request URL: %@ with params %@", likeURL, params);
[manager POST:likeURL parameters:params success:^(AFHTTPRequestOperation *operation, NSDictionary *response) {
NSString *status = [response objectForKey:@"status"];
//if server tell status ok
if ([status isEqualToString:@"ok"]) {
NSLog(@"%@ job success", isLike? @"Like":@"Dislike");
//update the work if like succeed
[matchedCompanies removeLastObject];
[self updateMatchScreen];
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"like request failed %@", error);
}];
}
SERVER_LIKE_URL 正在生成 -1005“连接丢失”,但 SERVER_DISLIKE_URL 始终有效。
【问题讨论】:
-
我不认为你可以分享网址?我可以使用我经过充分测试的方法查看它是否有效。
-
你有没有得到解决方案?我在 iOS 8 上遇到了同样的问题
-
重置iOS模拟器的内容和设置,在iOS模拟器上重新编译运行应用
-
我想知道这是否与我在年初遇到的一个错误有关 - Apple 发布了一些名为 Reachability 的示例代码,iOS 上的许多网络库都使用它来确定一个网络地址可达。一个未发布的修复被发布在......某个地方(Apple 不会承认在哪里)......这影响了去年相对较晚的所有 iOS 版本。听起来很傻,但是您可以尝试从 URL 中删除协议,所以它只显示“54.187.63.214/”吗?
标签: ios objective-c afnetworking