Я пытаюсь получить PHAssets из Camera roll, iCloud и Photostream в том же порядке, в котором они были добавлены пользователем. В ios 11 я использую
PHFetchOptions *options = [[PHFetchOptions alloc] init];
PHFetchResult *fetchResults = [PHAsset fetchAssetsWithOptions:options];
Но это перестало работать в iOS 12. При использовании этого изображения iCloud и изображений с камеры появляются отдельно. Существует только 2 дескриптора сортировки, предоставленных creationDate иifiedDate.
Второе решение, которое я попробовал, состояло в том, чтобы получить фотографии из «пользовательской библиотеки», используя умный альбом. «Пользовательская библиотека» работает по-разному в зависимости от того, включил ли пользователь библиотеку iCloud. Если библиотека iCloud включена, то библиотека пользователя содержит все изображения с камеры и библиотеки iCloud. Если библиотека iCloud выключена, то пользовательская библиотека содержит только изображения с камеры. Это возвращает изображения из фотопленки и библиотеки iCloud в правильном порядке. Проблема в том, что он не может получить изображения из Фотопотока.
В другом решении фотографии были извлечены из пользовательской библиотеки, если библиотека iCloud включена, а если iCloud выключена, то они выбираются с использованием старого метода, что дает нам правильный порядок фотопотока и изображений с камеры.
Это решение также не сработало.
Пожалуйста, проверьте следующий сценарий:
- Библиотека iCloud выключена, а Photostream включен. Мы будем использовать fetchAssetsWithOption с параметрами по умолчанию. Порядок будет правильным.
- Пользователь включает iCloud. Фотопоток автоматически отключается. Мы будем загружать фотографии из «пользовательской библиотеки». Предоставляя нам все изображения из iCloud, а также снимок камеры, отсортированный по умолчанию. Порядок будет правильным.
- Теперь пользователь отключает библиотеку iCloud. Все изображения из iCloud должны быть удалены с устройства. Но некоторые изображения из iCloud остаются в рулоне камеры. Они не удаляются (возможно, из-за ошибки в iCloud). В результате эти неотображенные изображения всегда появляются сверху. Это также происходит, если пользователь загружает изображения из iCloud и не удаляет изображение при выключенном iCloud.
Так есть ли способ сделать это.