以编程方式创建 AVPlayer 会导致不断的 CUIDatalog 警告
Posted
技术标签:
【中文标题】以编程方式创建 AVPlayer 会导致不断的 CUIDatalog 警告【英文标题】:Programmatically creating AVPlayer results in constant CUICatalog warnings 【发布时间】:2020-06-04 18:50:21 【问题描述】:我在 IGListKit 驱动列表的集合视图单元格中显示视频。 这是单元格:
import AVKit
class ContentCell: UICollectionViewCell
static var vc: UIViewController?
func setup()
if media.fileType.starts(with: "video/")
return setupVideo()
var videoVC: AVPlayerViewController?
func setupVideo()
guard let vc = ContentCell.vc else
return
guard let videoVC = videoVC else
let videoVC = AVPlayerViewController()
self.videoVC = videoVC
vc.addChild(videoVC)
self.addSubview(videoVC.view)
setupVideo()
return
videoVC.view.frame = bounds
videoVC.player = AVPlayer(url: URL(string: media.originalSource!)!)
一旦我开始播放视频(它确实可以播放!)并稍微滚动列表,我就会不断收到此错误:
2020-06-04 14:44:01.171138-0400 App[90104:5433754] [framework] CUICatalog: Invalid asset name supplied: '(null)'
在运行时问题上设置断点并不能说明问题:
有什么想法吗?
【问题讨论】:
此警告的其他问题指向缺少图像的图像视图,但我没有图像视图。 URL 也不是 nil,否则,我会得到一个异常而不是警告。 我也尝试了多个视频,每次都出现同样的错误。 【参考方案1】:我不敢相信我没有测试过这个。但该错误确实只发生在模拟器上。在设备上它很好。解决了。
更新: 再次遇到同样的问题。也许我从来没有真正解决过它?时间太长了,无法确定。但是要解决错误
Invalid asset name supplied: '(null)'
你可以找到答案here:
这是由在情节提要的标签栏项目上设置选定的图像字段引起的。清除此字段会清除错误。
【讨论】:
以上是关于以编程方式创建 AVPlayer 会导致不断的 CUIDatalog 警告的主要内容,如果未能解决你的问题,请参考以下文章
AVPlayer - 如何以编程方式打开/关闭来自 HTTP Live Streaming 视频的 CC?
Swift 3:以编程方式调整 UICollectionViewCell 的大小会导致单元格重叠