使用PHAsset在多个设备上唯一访问iCloud照片

时间:2016-01-29 11:40:37

标签: icloud photosframework phasset

有没有办法在多个设备上唯一地访问iCloud相册中的特定PHAsset

我写了一个简单的应用程序,它从iCloud共享相册中列出缩略图和.localIdentifier,并且(自然地)它在不同的设备上显示相同的图像,但是,localIdentifier对于不同的相同图像是不同的设备(没有意外,因为它是“本地”标识符)。

然而,我真正想做的是将云共享CoreData数据库中的记录与云中的图像相关联,而不是将图像嵌入CoreData(它是一个家谱应用程序,可能有数千张图像) - 为此我需要一个独特的标识符,无论设备如何。反正有吗?

2 个答案:

答案 0 :(得分:2)

不幸的是没有。在早期的iOS 8测试版中,有一个云标识符(这正是您所寻找的),但它稍后从照片API中删除。

答案 1 :(得分:1)

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