CFNetwork内部错误:URLConnectionLoader.cpp:289
一段时间后我打开我的应用程序,我收到日志:
440:CFNetwork内部错误(0xc01a:/BuildRoot/Library/Caches/com.apple.xbs/Sources/CFNetwork/CFNetwork-758.4.3/Loading/URLConnectionLoader.cpp:289)
它从来没有过去。 我的项目使用networking库AFNetworking和CocoaAsyncSocket。
为什么会发生以及如何解决?
我解决了我的情况,这不是AFNetwork的问题,我使用无效的SSLauthentication和SDWebImage,当在SDWebImage中使用选项“SDWebImageAllowInvalidSSLCertificates”并得到一个http镜像(不是https镜像)时,你会得到这个错误。 协议(http或https)不能被SDWebImage自动识别。
我的解决scheme:我不改变SDWebImage的代码,我只是写一个识别协议(HTTP或HTTPS)的包装。 我为http图像使用'0'选项,https图像使用'SDWebImageAllowInvalidSSLCertificates'选项(我的httpsauthentication是自签名或无效的)。 如果你的cer是有效的,我认为SDWebImage运作良好。
我通过在info.plist
添加下面的属性来解决这个问题
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>http://mydomain</key> <dict> <key>NSExceptionRequiresForwardSecrecy</key> <false/> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSIncludesSubdomains</key> <true/> </dict> </dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>