我刚刚下载了最新版本的xCode(9.0 beta(9M136h))。
但是,当我尝试在iOS 11模拟器中向我的服务器发出请求时(使用NSURLConnection sendAsynchronousRequest),收到错误:
NSURLSession / NSURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9807) NSURLConnection完成错误 - 代码-1202
NSError对象包含消息 - @“NSLocalizedDescription”:@“此服务器的证书无效。您可能连接到假装为”***“的服务器,这可能会使您的机密信息面临风险。 “
plist包含:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
所以这不是问题(我猜)
毋庸置疑,它在iOS 10/9/8中工作
有什么建议吗?
提前致谢!
答案 0 :(得分:6)
您需要允许应用程序运行HTTP(无S)连接。默认情况下,Apple仅允许HTTPS:
转到您的info.plist
答案 1 :(得分:1)
对于在 iOS 11 中出现此错误的所有人,请确保您正在使用服务器中的有效(安全)证书。
在我们的案例中,证书不够严格。
一旦我们的服务器人员集成了新的有效证书,问题就消失了。
检查证书是否安全的一种方法是通过浏览器中有问题的链接。
因此,您可能会发现连接不安全:
答案 2 :(得分:0)
由于您的证书错误无效,我将根据我的个人安全措施提出以下建议。
如果您仍然在与CA签订服务条款,请让他们为您颁发新的有效证书。
检查您的钥匙串设置,确保没有缺少CA证书。
或者,您可以发布自己的自签名证书以进行测试,并将其作为信任锚添加到本地Keychain。搜索&#34;如何创建自签名x509证书&#34;将返回你可能会发现有用的东西。