• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 当 NSAllowsArbitraryLoadsInWebContent 为真时,无法使用 AVPlayer 播放视频

[复制链接]
菜鸟教程小白 发表于 2022-12-11 20:11:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个带有 AVPlayer 的非常小的应用程序。我正在使用以下代码播放视频:

if let urlToPlay = URL(string: "http://some_video.m3u8") {

    self.player = AVPlayer.init(url: urlToPlay)
    self.player!.play()
}

我还在“Info.plist”文件中添加了一些行,以便能够播放带有 HTTP 架构的视频:

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

而且效果很好。但后来我发现了一个名为 NSAllowsArbitraryLoadsInWebContent 的标志。我的应用程序中没有任何 WKWebViewUIWebView 实例,因此我认为使用此标志不会导致我的应用程序出现任何崩溃或错误。现在我的文件“Info.plist”有这个片段:

<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>

播放器不工作。有人能解释一下为什么会这样吗?



Best Answer-推荐答案


对于通过 AVFoundation 加载媒体,添加键 NSAllowsArbitraryLoadsForMedia 并将其设置为 true。

根据文档:

In iOS 10 and later, and macOS 10.12 and later, the value of this key is ignored—resulting in an effective value for this key of its default value of NO—if any of the following keys are present in your app’s Info.plist file:

NSAllowsArbitraryLoadsForMedia, NSAllowsArbitraryLoadsInWebContent, NSAllowsLocalNetworking

请注意,不鼓励在生产环境中设置任意负载,这些标志会触发 AppStore 审核,并且需要证明这样做的理由。

如需进一步阅读,请访问 ATS Documentation

关于ios - 当 NSAllowsArbitraryLoadsInWebContent 为真时,无法使用 AVPlayer 播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50506308/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap