Уникальный доступ к фотографиям iCloud на нескольких устройствах с использованием PHAsset
Есть ли способ доступа к конкретному PHAsset
в альбоме iCloud уникально на нескольких устройствах?
Я написал простое приложение, в котором перечислены эскизы и .localIdentifier
s из общего альбома 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