You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开启NSAllowsArbitraryLoadsInWebContent后AVPlayer无法播放视频的原因

哈哈,这个ATS配置的坑我之前也踩过!让我给你拆解一下原因和解决办法:

问题原因分析

当你添加NSAllowsArbitraryLoadsInWebContent = true后,AVPlayer无法播放HTTP视频的核心原因是ATS配置的优先级和范围规则:

  • 最初你设置NSAllowsArbitraryLoads = true是全局禁用ATS限制,所有网络请求(包括AVPlayer的媒体请求)都能绕过HTTPS要求,所以播放正常。
  • 但NSAllowsArbitraryLoadsInWebContent是专门针对WKWebView/UIWebView的ATS例外配置——它只会放宽WebView内的HTTP加载限制,完全不影响AVPlayer这类非WebView的媒体请求。
  • 更关键的是:当存在这类特定场景的ATS例外键时,苹果会默认忽略NSAllowsArbitraryLoads的全局宽松设置,转而对非WebView的请求严格执行ATS规则(即要求HTTPS)。你的视频是HTTP协议,自然就被ATS拦截了。
解决办法

根据你的需求,有几个可行的方案:

方案1:针对媒体请求添加ATS例外

如果你需要保留NSAllowsArbitraryLoadsInWebContent(比如未来可能会加入WebView),只需在NSAppTransportSecurity字典中添加NSAllowsArbitraryLoadsForMedia = true——这个键专门用来放宽媒体播放的ATS限制,完美适配AVPlayer的场景:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
    <key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>
    <!-- 这里可以把NSAllowsArbitraryLoads设为false,更符合苹果的推荐规范 -->
    <key>NSAllowsArbitraryLoads</key>
    <false/>
</dict>

方案2:移除多余的WebView配置

既然你的应用目前没有任何WebView实例,NSAllowsArbitraryLoadsInWebContent对你来说完全没用,直接删掉这个键,恢复原来的ATS配置即可:

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

方案3:更安全的域名级例外(推荐)

全局禁用ATS(NSAllowsArbitraryLoads = true)其实不符合苹果的安全规范,更稳妥的做法是针对你的视频域名单独设置ATS例外,这样既不会影响其他请求的安全性,也能正常播放视频:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <!-- 替换成你的视频实际域名 -->
        <key>some-video-domain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
    <!-- 如果之后需要WebView支持,再添加这个键 -->
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

内容的提问来源于stack exchange,提问作者Roman Podymov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:05:35