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

问题描述 投票:0回答:3

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

PHAsset

我编写了一个简单的应用程序,列出了 iCloud 共享相册中的缩略图和

.localIdentifier
,并且(自然地)它在不同设备上显示相同的图像,但是,不同设备上相同图像的 localIdentifiers 不同(不是这样)意外,因为它是“本地”标识符)。

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

icloud photosframework phasset
3个回答
7
投票

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


4
投票

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


0
投票

要更新旧问题/答案,PHCloudIdentifier 自 iOS 15 以来一直是用于此目的的公共 API。

© www.soinside.com 2019 - 2024. All rights reserved.