我正在更新我的应用以适应Apple的新ATS.如果没有对Plist-Info进行任何更改,以下代码会在vanilla`iOS sendSynchronousRequest()9模拟器中引发错误.
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];
Run Code Online (Sandbox Code Playgroud)
错误:
NSURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)
有关这个问题可能背后的想法吗?
Ps:据我所知,NSURLConnection已被弃用.但是如果我加入AllowArbitraryLoads,这个调用就可以找到Plist.
Vig*_*san 14
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>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
小智 6
我在info.plist中添加了此代码以允许任何请求http:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
本文列出了Apple for iOS 9及其实现所做的所有更改:
http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/
| 归档时间: |
|
| 查看次数: |
30374 次 |
| 最近记录: |