我正在更新我的应用程序以适应苹果的新
ATS.没有对Plist-Info的任何更改,以下代码在vanilla iOS 9模拟器中的sendSynchronousRequest()中引发错误.
NSURL *url =[NSURL URLWithString:@"https://Google.com"]; NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init]; [request setHTTPMethod:@"GET"]; [request setURL:url]; NSURLResponse *urlResponse = nil; NSError *error = nil; NSData *reponse = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
错误:
NSURLSession / NSURLConnection HTTP加载失败(kcfStreamErrorDomainSSL,-9802)
对这个问题可能背后有什么想法?
Ps:据了解,NSURLConnection已被弃用.但是,如果我在Plist中添加了AllowArbitraryLoads,那么这个调用可以找到.
解决方法
NSURLSession / NSURLConnection HTTP加载失败(kcfStreamErrorDomainSSL,-9802)
对应于服务器不支持“Forward Secrecy”.
对应于服务器不支持“Forward Secrecy”.
要解决此问题,请将域异常添加到.plist文件中,如下所示:
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>test.testdomain.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSTemporaryExceptionRequiresForwardSecrecy</key> <false/> </dict>
…