如何在 iOS/macOS 云共享相册中为照片附加短数据?
Posted
技术标签:
【中文标题】如何在 iOS/macOS 云共享相册中为照片附加短数据?【英文标题】:How to attach a short data to a photo in iOS/macOS cloud shared album? 【发布时间】:2019-08-19 18:39:54 【问题描述】:我正在构建一个应用程序,通过 Photos 应用程序的云共享相册在 ios/macOS 用户之间共享照片。我需要用一些带有特定应用参数的数字来描述每张照片。
我正在研究几个想法,但都没有奏效:
将数字(或字符串)写入 EXIF 或 IPTC 元数据字段
很遗憾,Apple 云共享相册不包含用户可写的元数据字段在照片文件名中插入数字,例如IMG_1234-i1-i2-...-iN.JPEG
将整数与照片标识符一起并行保存在 iCloud 中,以便可以使用照片标识符在每台设备上检索数据
我假设PHObject.localIdentifier
在不同设备上读取的云共享相册中不是持久的。我没有检查这个,但是为什么 identifier
会被称为 local
?
iOS/macOS Photos 应用的云端共享相册中,有什么方法可以将少量数据绑定到照片上?
【问题讨论】:
发表此评论的空间可能有误-但由于您似乎正在将照片添加到云共享相册-您认为您可以查看this related question,因为文档不清楚关于如何上传到 iCloud 共享相册? 【参考方案1】:根据我在 this answer 中找到的私有 API 的描述,我为 PHAsset 创建了以下扩展:
extension PHAsset
var cloudIdentifier: String
return (self.value(forKey: "cloudIdentifier") as? String) ?? "?"
您现在可以从PHAsset
实例中获得的cloudIdentifier
在共享同一相册的任何设备上的整个云中都是持久的。使用持久的 PHAsset 标识符,可以从最初的问题实施解决方案 #3。
【讨论】:
以上是关于如何在 iOS/macOS 云共享相册中为照片附加短数据?的主要内容,如果未能解决你的问题,请参考以下文章