iOS 9中的HTTPS请求:NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)

我正在更新我的应用程序以适应苹果的新 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”.

解决此问题,请将域异常添加到.plist文件中,如下所示:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>test.testdomain.com</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NstemporaryExceptionRequiresForwardSecrecy</key>
      <false/>
    </dict>

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...