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

标签 icloud photosframework phasset

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

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

但是,我真正想做的是将云共享 CoreData 数据库中的记录与云中的图像相关联,而不是将图像嵌入到 CoreData 中(它是一个家谱应用程序,可能包含数千张图像) - 为此我无论设备如何,都需要一个唯一的标识符。有没有办法做到这一点?

最佳答案

PHAsset.cloudIdentifier可作为私有(private) API 使用。

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

引用 iOS 运行时 header :https://github.com/JaviSoto/iOS10-Runtime-Headers/blob/master/Frameworks/Photos.framework/PHAsset.h

关于icloud - 使用 PHAsset 在多个设备上唯一地访问 iCloud 照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083654/

相关文章:

macos - URLForUbiquityContainerIdentifier (iCloud) 的路径不正确

objective-c - NSMetaDataQuery 从不使用 NSMetadataQueryDidFinishGatheringNotification 回调

iOS 8 从 PHAsset 快速加载图像

iOS : How to convert a video PHAsset to NSData

ios - 如何复制 PHAsset?

ios - SQLITE 数据库与 iOS 和 ICloud

iOS PHAssetCollection localizedTitle 总是返回英文名称

ios - 使用照片框架仅获取实时照片不起作用

ios - 如何获取 Moment 相册以及我的 collectionView 中的所有个人相册?

ios - 无法从在第一台设备上写入的第二台设备读取iCloud文件