【问题标题】:AVPlayerItem externalMetadata unrecognized selectorAVPlayerItem externalMetadata 无法识别的选择器
【发布时间】:2020-06-05 09:20:10
【问题描述】:

这段代码在 iOS 12 上因无法识别的选择器异常而崩溃:

[AVPlayerItem externalMetadata]: unrecognized selector sent to instance

但是,此代码在 iOS 13 上不会崩溃。

Apple documentation 声明 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)

您能帮我理解为什么会这样吗?

【问题讨论】:

  • 您应该向 Apple 提交错误报告。
  • @matt 刚刚做到了。谢谢

标签: ios crash ios12 unrecognized-selector avplayeritem


【解决方案1】:

externalMetadata 是在 iOS 13 中引入的。相关的 WWDC 2019 视频中明确指出了这一事实。简而言之,文档(或可用性标签)是错误的——错误的结果是允许您在实际不存在的上下文(iOS 12)中使用externalMetadata,因此您崩溃了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多