CFNetwork internal error : URLConnectionLoader.cpp:289

CFNetwork internal error : URLConnectionLoader.cpp:289

一段时间后,当我打开我的应用程序时,我收到了日志:

440: CFNetwork internal error (0xc01a:/BuildRoot/Library/Caches/com.apple.xbs/Sources/CFNetwork/CFNetwork-758.4.3/Loading/URLConnectionLoader.cpp:289)

过去从未出现过。 我的项目使用网络库 AFNetworking 和 CocoaAsyncSocket。

为什么会发生,如何解决?

我解决了我的情况,这不是 AFNetwork 的问题,我使用了无效的 SSL 证书和 SDWebImage,当在 SDWebImage 中使用选项 'SDWebImageAllowInvalidSSLCertificates' 并获取 http 图像(不是 https 图像)时,你会得到这个错误。 SDWebImage 无法自动识别协议(http 或 https)。

我的解决方法: 我没有更改 SDWebImage 的代码,我只是为可识别的协议(http 或 https)编写了一个包装器。 我对 http 图像使用“0”选项,对 https 图像使用 'SDWebImageAllowInvalidSSLCertificates' 选项(我的 https 证书是自签名的或无效的)。如果你的 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>