PHImageManager requestImageDataForAsset ведет себя иначе на iOS 9.3

Я использую requestImageDataForAsset, чтобы определить, полностью ли загружен видео PHAsset из iCloud.

Я избегал использования 'PHImageResultIsInCloudKey' из параметра 'info' результата requestImageDataForAsset resultHandler, поскольку он был/ненадежен (возвращает 1, хотя фильм уже был загружен, ссылка).

Я также обнаружил, что после того, как видео PHAsset был на устройстве, «PHImageFileURLKey» возвращается с URL-адресом файла с суффиксом *.MOV через параметр «info».

Это работало для iOS8-9.2.1, но, похоже, не работает на iOS9.3b3 (предыдущие бета-версии не проверялись).

Теперь для любого файла фильма, который был захвачен на устройстве, PHImageFileURLKey указывает на файл с суффиксом *.JPG (вероятно, миниатюра фильма)

Примечание. Я пытался использовать другие API видео:

  1. requestPlayerItemForVideo
  2. запросэкспортсессионфорвидео
  3. запросAVAssetForVideo

Однако у них есть штраф за производительность, который был неприемлем. requestImageDataForAsset намного быстрее.

Это ошибка, которую Apple исправила в requestImageDataForAsset, которая не должна была возвращать PHImageFileURLKey в фильм, или ошибка в iOS9.3b3, которая теперь возвращает путь к изображению (JPG)?


person Amir Aharon    schedule 17.02.2016    source источник