【问题标题】:Xcode error: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9814)Xcode 错误:NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9814)
【发布时间】:2017-01-26 08:55:48
【问题描述】:

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

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

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

我需要这个,因为我在 Vungle 和 AdColony 中使用 AdMob 激励视频中介 - 两者都需要禁用 ATS。我意识到我可以修改该代码以在启用 ATS 时使这些站点异常,但它似乎没有改变任何东西,除了广告网络在控制台中向我发出警告,告诉我需要启用 ATS。

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

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

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

NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9814)

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

我是否遗漏了什么重要的东西,或者我做错了什么?是否有解决方案,还是我必须等待广告网络符合 ATS 标准?任何帮助表示赞赏。

PS:我知道所有应用都应如何符合 ATS,并且可能/可能会被应用商店拒绝...

【问题讨论】:

  • 每当它尝试加载视频广告时,我都会在控制台中多次收到此警告:,这只发生在模拟器中吗?
  • @DanielStorm 不,它发生在我的设备上
  • 您使用的是最新版本的 AdMob 吗?当前 7.11.0:firebase.google.com/docs/admob/ios/download
  • @DanielStorm 抱歉回复晚了。我实际上在最新版本上。我不认为这直接是 AdMob 问题,因为其他不需要禁用 ATS 的中介网络仍然可以正常工作

标签: ios swift xcode admob app-transport-security


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-12-19
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 1970-01-01
    相关资源
    最近更新 更多