Уникальный доступ к фотографиям iCloud на нескольких устройствах с использованием PHAsset

Есть ли способ доступа к конкретному PHAsset в альбоме iCloud уникально на нескольких устройствах?

Я написал простое приложение, в котором перечислены эскизы и .localIdentifiers из общего альбома iCloud, и (естественно) он показывает одни и те же изображения на разных устройствах, однако localIdentifiers отличаются для одних и тех же изображений на разных устройствах (не так неожиданно, как "локальный" идентификатор).

Однако на самом деле я хочу связать запись в общей базе данных CoreData с облаком с изображением в облаке, а не вставлять изображение в CoreData (это генеалогическое приложение, потенциально с тысячами изображений) - для этого я потребуется идентификатор, который является уникальным независимо от устройства. Есть какой-либо способ сделать это?

2 ответа

Решение

К сожалению нет. В ранних бета-версиях iOS 8 был облачный идентификатор (именно это вы и искали), но позже он был удален из API Photos.

PHAsset.cloudIdentifier доступен как частный API.

let identifier = phAsset.value(forKey: "cloudIdentifier") as? String

Обратитесь к заголовку среды выполнения iOS: https://github.com/JaviSoto/iOS10-Runtime-Headers/blob/master/Frameworks/Photos.framework/PHAsset.h

Другие вопросы по тегам