2015-11-03 90 views
1

这里是日志从NSCURL:NSCurl ATS工作,IOS 9不

Default ATS Secure Connection 
--- 
ATS Default Connection 
ATS Dictionary: 
{ 
} 
Result : PASS 
--- 

而且从IOS 9模拟器:

2015-11-02 20:52:29.928 energyvue[1137:17754] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 

的URL是在端口9445,虽然。无论如何要做到这一点,而不是压倒运输安全?

+0

你可以分享你正在看的URL吗?你在使用'nscurl --ats-diagnostics --verbose'吗? –

+0

我有同样的问题。 nscurl --ats-diagnostics传入所有测试,但我的应用程序无法与我的api通信(SURLSession/NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9802)。我的应用程序是一个Ionic混合应用程序。 –

回答

1

我有同样的问题,并且通信在模拟器iOS9.2上工作,但没有进入设备。

我修复了我的问题,检查设备上的CFNetwork日志(http://jonathanblog2000.blogspot.com.br/2015/07/using-cfnetworkdiagnostics-for-network.html),并使用Cordova ATS混合应用程序演示作为示例(http://moduscreate.com/cordova-5-ios-9-security-policy-changes/)。

我的最后ATS配置:

<key>NSAppTransportSecurity</key> 
    <dict> 
     <key>NSExceptionDomains</key> 
     <dict> 
     <key>mydomain.com</key> 
     <dict> 
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> 
      <true/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
      <key>NSIncludesSubdomains</key> 
      <true/> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

我的环境:

  • API使用HTTPS TLSv1.2工作与SNI(亚马逊AWS云前,S3和Elasticbeanstalk)
  • iPhone 5S的iOS 9.2和Mac OS X El Capitan
  • 带有Ionic Framework和AngularJS的Hibrid应用程序