Xcode error: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9814)

Xcode error: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9814)

我目前正在开发一款需要禁用 ATS 的游戏:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict/>
</dict>

(上面的代码中没有异常域)

我需要这个,因为我将 AdMob 奖励视频中介与 Vungle 和 AdColony 结合使用 - 两者都需要禁用 ATS。我意识到我可以修改该代码以使这些站点在启用 ATS 时成为例外,但它似乎没有任何改变,只是在控制台中从广告网络中给我警告,告诉我需要启用 ATS。

广告曾经在禁用 ATS 的情况下正常工作,直到我更新到 Xcode 8 才收到此警告(我之前使用的是 Swift 3 和 Xcode 8 beta ).

即使我禁用了 ATS,这些广告网络似乎也不起作用(我还设置了第三个广告网络,它不需要禁用 ATS 来检查它是否是 AdMob 问题,而且效果很好)。

每当它尝试加载视频广告时,我都会在控制台中多次收到此警告:

NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9814)

我不确定我应该怎么做。我几乎阅读了针对此类问题的所有其他类似答案,但 none 似乎可以解决问题。此外,由于我没有使用自己的服务器,我无法't/dont 知道如何将所需的广告网络站点列入白名单(我已经尝试将他们的 domains/subdomains 作为例外)

我是否遗漏了什么重要的东西或者我做的完全错了?是否有解决方案,还是我必须等待广告网络与 ATS 兼容?感谢任何帮助。

PS:我知道所有应用程序都应该符合 ATS,could/likely 会被应用程序商店拒绝...

看来这只是一个错误。将 AdMob、Xcode、macOS 和 iOS 更新到最新版本并重新启动 Xcode 和计算机后,问题似乎消失了。现在一切正常,包括广告,并且控制台中没有显示任何警告。我猜这是 Xcode 的错误,而不是我更新的任何其他内容。