xCode 9 - iOS 11: NSURLConnection - sendAsynchronousRequest 失败
xCode 9 - iOS 11: NSURLConnection - sendAsynchronousRequest fails
我刚刚下载了最新版本的 xCode (9.0 beta (9M136h))。
但是,当我尝试在 iOS 11 模拟器中向我的服务器发出请求时(使用 NSURLConnection sendAsynchronousRequest),收到一个错误:
NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9807)
NSURLConnection 完成错误 - 代码 -1202
NSError 对象包含消息 - @"NSLocalizedDescription" : @"The certificate for this server is invalid. You might be connecting to a server that is pretending to be “***” which could put your confidential information at risk."
plist 包含:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
所以这不是本例的问题(我猜)
不用说它在iOS 10/9/8
有什么建议吗?
提前致谢!
对于在 iOS11 中遇到此错误的所有人,请确保您使用的是服务器中的有效(安全)证书。
在我们的案例中,证书不够严格。
一旦我们的服务器人员集成了新的有效证书,问题就解决了。
检查证书是否安全的一种方法是在浏览器中跳过有问题的 link。
因此,您可能会看到连接不安全:
您需要允许您的应用程序 运行 HTTP(无 S)连接。默认情况下,Apple 仅允许 HTTPS:
转到您的 info.plist
然后按任意一个上的加号图标
搜索“应用程序传输安全设置”
点击左边的小箭头,找到“允许任意加载”,默认设置为“否”,将其改为“是”
由于您遇到了无效证书错误,我将根据我个人的安全实践提出以下建议。
如果您与 CA 的服务条款仍然有效,请要求他们为您颁发新的有效证书。
检查您的钥匙串设置并确保没有遗漏任何 CA 证书。
或者,您可以出于测试目的颁发自己的自签名证书,并将其作为信任锚添加到本地钥匙串中。搜索 "how to create self-signed x509 certificate" 会 return 一些你可能会觉得有用的东西。
我刚刚下载了最新版本的 xCode (9.0 beta (9M136h))。
但是,当我尝试在 iOS 11 模拟器中向我的服务器发出请求时(使用 NSURLConnection sendAsynchronousRequest),收到一个错误:
NSURLSession/NSURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9807) NSURLConnection 完成错误 - 代码 -1202
NSError 对象包含消息 - @"NSLocalizedDescription" : @"The certificate for this server is invalid. You might be connecting to a server that is pretending to be “***” which could put your confidential information at risk."
plist 包含:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
所以这不是本例的问题(我猜)
不用说它在iOS 10/9/8
有什么建议吗?
提前致谢!
对于在 iOS11 中遇到此错误的所有人,请确保您使用的是服务器中的有效(安全)证书。
在我们的案例中,证书不够严格。
一旦我们的服务器人员集成了新的有效证书,问题就解决了。
检查证书是否安全的一种方法是在浏览器中跳过有问题的 link。
因此,您可能会看到连接不安全:
您需要允许您的应用程序 运行 HTTP(无 S)连接。默认情况下,Apple 仅允许 HTTPS:
转到您的 info.plist
然后按任意一个上的加号图标
搜索“应用程序传输安全设置”
点击左边的小箭头,找到“允许任意加载”,默认设置为“否”,将其改为“是”
由于您遇到了无效证书错误,我将根据我个人的安全实践提出以下建议。
如果您与 CA 的服务条款仍然有效,请要求他们为您颁发新的有效证书。
检查您的钥匙串设置并确保没有遗漏任何 CA 证书。
或者,您可以出于测试目的颁发自己的自签名证书,并将其作为信任锚添加到本地钥匙串中。搜索 "how to create self-signed x509 certificate" 会 return 一些你可能会觉得有用的东西。