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>