【发布时间】:2017-09-22 19:03:25
【问题描述】:
我正在尝试使用 URLSession 执行数据任务,当我在 iOS11 设备 (iPhone 5S) 上运行它时出现控制台错误:
2017-09-22 15:22:17.942015-0300 app[1355:283536] TIC TCP Conn Failed [3:0x1c417af40]: 1:61 Err(61)
2017-09-22 15:22:17.943698-0300 app[1355:283536] Task <A32F0275-75C3-4F64-AB92-2E37527AB813>.<0> HTTP load failed (error code: -1004 [1:61])
2017-09-22 15:22:17.945265-0300 app[1355:283676] NSURLConnection finished with error - code -1004
在模拟器上运行它不会发生。
是什么原因造成的或如何解决?
这就是我正在做的事情
#define kEcardURL @"https://example.com/mobile/services/ecard/"
- (void)doSomething {
//Params Configuration
NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:
[oauth.userData valueForKey:@"wsuserid"], @"token",
nil];
NSString *path = @"fotoCartao";
NSData* params = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@", kEcardURL, path]];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[urlRequest setHTTPBody:params];
NSURLSessionDataTask *dataTask = [[self session] dataTaskWithRequest:urlRequest completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;
if ([data length] > 0 && error == nil) {
if ([httpResponse statusCode] == 200) {
//do stuff
}
}
}];
[dataTask resume];
}
}
- (NSURLSession *)session {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
// Session Configuration
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
// Initialize Session
_session = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]];
});
return _session;
}
【问题讨论】:
-
你需要显示一些代码。
-
编辑您的问题以将其添加到那里,否则它不是很可读。还要添加所有相关代码。据我所知,问题可能出在您的网址上,但我们看不到。