AVAssetReader не инициализируется?

Я пытаюсь экспортировать активы iCloud через AVAssetReader и AVAssetWriter, но AVAssetReader не может инициализировать этот актив. Все остальные видео работают нормально. Проблемы вызывают только видео из общих альбомов iCloud. Ошибка, которую выдает мне AVAssetReader, находится под:

Ошибка домена = AVFoundationErrorDomain Code = -11800 Операция не может быть завершена UserInfo = {NSLocalizedFailureReason = Произошла неизвестная ошибка (-17507), NSLocalizedDescription = Операция не может быть завершена, NSUnderlyingError = 0x2812d8ae0 {Error Domain = NSOSStatusError750 Code = NSOSStatusError750 нулевой)}}

Есть ли зачем это исправлять или есть другая альтернатива?


person Adeel Tahir    schedule 05.03.2021    source источник
comment
Я только что понял, что это происходит только в версии ios выше 12. Вероятно, Apple внесла изменения в ios 13.   -  person Adeel Tahir    schedule 10.03.2021


Ответы (1)


При запросе ресурса с использованием PHImageManager установка для свойства deliveryMode экземпляра PHVideoRequestOptions значения mediumQualityFormat или fastFormat может быть причиной возникшей проблемы. Попробуйте использовать авто или высокое качество, потому что, согласно документации, это единственные режимы, поддерживаемые при экспорте.

let videoRequestOptions = PHVideoRequestOptions()
videoRequestOptions.deliveryMode = .highQualityFormat
videoRequestOptions.isNetworkAccessAllowed = true

PHImageManager.default().requestAVAsset(forVideo: asset, options: videoRequestOptions) { (asset, audioMix, info) in
            // Use the returned asset 
        }
person Cihan Tek    schedule 26.03.2021
comment
Я уже использую высококачественный формат, и мой доступ к сети разрешен, но все еще сталкиваюсь с той же проблемой с активами iCloud. - person Adeel Tahir; 17.04.2021
comment
Это интересно. Я столкнулся с той же проблемой, и это решило эту проблему. Для меня это не было жизнеспособным решением, потому что я не хотел скачивать версию в высоком качестве. Вы можете узнать больше, если посмотрите мой вопрос - person Cihan Tek; 17.04.2021