这段代码在iOS 12上崩溃,只有未识别的选择器例外:
[AVPlayerItem externalMetadata]: unrecognized selector sent to instance
但是,这段代码不会在iOS 13上崩溃。
苹果文档指出,AVPlayerItem从iOS 12开始就有externalMetadata getter和setter。
let item = AVPlayerItem(url: videoURL)
let mutableMetadataItem = AVMutableMetadataItem()
mutableMetadataItem.identifier = AVMetadataIdentifier.commonIdentifierDescription
mutableMetadataItem.value = 1
item.externalMetadata.append(mutableMetadataItem)你能帮我理解一下为什么会这样吗?
发布于 2020-02-21 00:09:51
externalMetadata是在iOS 13中引入的,相关的WWDC 2019年视频中明确指出了这一事实。简单地说,文档(或可用性标记)是错误的--错误的结果是允许您在上下文(iOS 12)中使用它,而它实际上是不存在的,所以您就崩溃了。
https://stackoverflow.com/questions/60330275
复制相似问题