AVPlayerItem externalMetadata нераспознанный селектор - PullRequest
2 голосов
/ 21 февраля 2020

Этот фрагмент кода падает на iOS 12 с нераспознанным исключением селектора:

[AVPlayerItem externalMetadata]: unrecognized selector sent to instance

Однако этот код не падает на iOS 13.

В документации Apple говорится, что AVPlayerItem имеет externalMetadata метод получения и установки с iOS 12.


    let item = AVPlayerItem(url: videoURL)

    let mutableMetadataItem = AVMutableMetadataItem()
    mutableMetadataItem.identifier = AVMetadataIdentifier.commonIdentifierDescription
    mutableMetadataItem.value = 1
    item.externalMetadata.append(mutableMetadataItem)

Не могли бы вы помочь мне понять, почему это происходит?

1 Ответ

1 голос
/ 21 февраля 2020

externalMetadata был представлен в iOS 13. Этот факт явно упоминается в соответствующем видео WWD C 2019. Проще говоря, документы (или теги доступности) неверны - и результатом ошибки является то, что вам разрешено использовать externalMetadata в контексте (iOS 12), где он на самом деле отсутствует, и поэтому вы создаете sh.

...