环境:node6.10.1 cordova 6.x, ionic 2.2.1
用cordova/ionic 建立的app我们的api 地址要用https,做了安全加密之后,按照正常的流程,打包,然后跑到iOS真机上.
然后请求登录,会发现报错:
NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)
解决思路:
检查app的根目录下的config.xml文件。
有一项配置:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400 }
span.s1 { }
<access origin="*" />
该项配置允许app接入所有的链接。这项配置在工程编译成iOS项目之后会变成info.plist里的配置:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #bb2ca2 }
span.s1 { color: #bb2ca2 }
span.s2 { }
span.s3 { color: #000000 }
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
也就是允许所有的链接接入。一般包括http,https两种接入方式。
正常情况下,如果不是提交到App Store,而是企业内部使用,不用审核,对安全性要求不高,可以
原文地址:https://www.cnblogs.com/wjw-blog/p/6594131.html