环境: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文件。
有一项配置:
<access origin="*" />
该项配置允许app接入所有的链接。这项配置在工程编译成iOS项目之后会变成info.plist里的配置:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
也就是允许所有的链接接入。一般包括http,https两种接入方式。
正常情况下,如果不是提交到App Store,而是企业内部使用,不用审核,对安全性要求不高,可以