仅在iOS 9.3.5中发生(不确定其他9或以下),不会发生在iOS 10.x中。
当我使用AFNetworking连接到API网址时,它会遇到故障回调,错误如下所示:
日志:错误域= NSURLErrorDomain代码= -1004“无法连接到 服务器。“UserInfo = {NSErrorFailingURLStringKey = APIURL, _kCFStreamErrorCodeKey = -2200,NSErrorFailingURLKey = APIURL,NSLocalizedDescription =无法连接到服务器。, _kCFStreamErrorDomainKey = 4,NSUnderlyingError = 0x16146990 {错误域= kCFErrorDomainCFNetwork代码= -1004“(null)” UserInfo = {_ kCFStreamErrorDomainKey = 4,NSErrorPeerAddressKey = {length = 16,capacity = 16,bytes = 0x100201bb253ce7160000000000000000}, _kCFStreamErrorCodeKey = -2200}}}
当我将API粘贴到safari浏览器(同一设备)时,它要求我信任证书或类似的东西,所以我担心应用程序中的配置有问题。
我对网址的要求:
self.sessionManager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseUrl sessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
self.sessionManager.securityPolicy.allowInvalidCertificates = YES;
self.sessionManager.securityPolicy.validatesDomainName = NO;
self.sessionManager.requestSerializer.timeoutInterval = timeout;
self.sessionManager.requestSerializer = [AFJSONRequestSerializer serializer];
// Call API:
[self.sessionManager POST:path parameters:dictParams progress:nil success:^(NSURLSessionTask *task, id responseObject) {
// success block
} failure:^(NSURLSessionTask *task, NSError *error) {
// failure block
}
我甚至在NSAllowsArbitraryLoads=true
内的App Transport Security Settings
内设置info.plist
。
如何解决这个问题?我发现这个question有类似的错误,但我不太确定。我无法访问API主机,在ios 10.x中它可以正常工作。使用邮递员时也可以。