iOS: каковы разные PHAssetResources в PHAsset?
Что касается моего образования, я хотел бы понять ресурсы, содержащиеся в PHAsset.
Установка
Мое тестовое устройство - iPhone 7 с iOS 13.7. Фотографии синхронизируются с iCloud. Хранилище iCloud было заполнено какое-то время, что я проигнорировал, потому что это тестовое устройство.
PHAsset
В качестве конкретного примера рассмотрим самую старую фотографию на моем тестовом устройстве. Это живая фотография. Имеет 5 ресурсов ()
- тип = настройка, uti = com.apple.property-list, имя файла = Adjustments.plist
- type = video_cmpl, uti = com.apple.quicktime-movie, filename=IMG_0005.MOV, size=980x1308
- type=video_cmpl_full, uti=com.apple.quicktime-movie, filename=FullSizeRender.mov, size=308x370
- type=photo, uti=public.heic, filename=IMG_0005.HEIC, size=3024x4032
- type=photo_full, uti=public.jpeg, filename=FullSizeRender.jpg, size=863x1036
Документация Apple
Вот что Apple говорит о ресурсах в PHAsset https://developer.apple.com/documentation/photokit/phassetresource.
- Фоторесурс может содержать файлы JPEG и RAW, представляющие одну и ту же фотографию.
- Ресурс Live Photo содержит как фото, так и видео ресурсы.
- Отредактированный актив содержит ресурсы, представляющие содержимое актива до и после редактирования, а также ресурс, соответствующий объекту PHAdjustmentData, который описывает редактирование.
Глядя на мой пример PHAsset, документация не объясняет:
В: Зачем мне нужны именно эти ресурсы?
Ресурс HEIC должен быть исходным неподвижным изображением. Я говорю это, потому что HEIC - это собственный формат хранения, и потому что размер 3024x4032 совпадает с разрешением камеры.
Какие еще 4 ресурса и почему у меня есть именно эти ресурсы?
Кроме того, поскольку это Live Photo, я бы ожидал увидеть ресурс для оригинального фильма. Один из двух ресурсов фильмов с низким разрешением - это оригинальный фильм?
За исключением 3024x4032 для изображения HEIC (которое соответствует разрешению камеры iPhone 7), я не могу понять никаких размеров. Откуда берутся 980x1308, 308x370, 863x1036?
Если хранилище iPhone заполнено, но в iCloud все еще есть место (это противоположность моей ситуации), iOS должна хранить на устройстве только фотографии более низкого качества и загружать исходные фотографии из iCloud по мере необходимости. Как это влияет на
PHAssetResource
сборник для
PHAsset
?