PHImageManager requestImageDataForAsset ведет себя по-разному на iOS 9.3
Я использую requestImageDataForAsset, чтобы определить, полностью ли загружен видео PHAsset из iCloud.
Я избегал использования 'PHImageResultIsInCloudKey' из параметра requestImageDataForAsset resultHandler 'info', поскольку он был / не является надежным (возврат 1, хотя фильм уже был загружен, ссылка).
Я также обнаружил, что после того, как видео PHAsset было на устройстве, PHImageFileURLKey возвращается с URL-адресом файла с суффиксом *.MOV через параметр "info".
Это работало для iOS8-9.2.1, но, похоже, не работает на iOS9.3b3 (не проверял предыдущие бета-версии)
Теперь для любого файла фильма, который был захвачен на устройстве, PHImageFileURLKey указывает на файл с суффиксом *.JPG (вероятно, большой палец фильма)
Примечание: я пытался использовать другие видео API:
- requestPlayerItemForVideo
- requestExportSessionForVideo
- requestAVAssetForVideo
Однако у них есть штраф за производительность, который был неприемлемым. requestImageDataForAsset намного быстрее.
Это ошибка, которую яблоко исправило в requestImageDataForAsset, которая не должна была возвращать PHImageFileURLKey к фильму, или ошибка в iOS9.3b3, которая теперь возвращает путь к изображению (JPG)?