照片框架中创建的相册中图像的 iCloud 同步

Posted

技术标签:

【中文标题】照片框架中创建的相册中图像的 iCloud 同步【英文标题】:iCloud sync of images in Photos Framework created album 【发布时间】:2016-01-04 11:40:13 【问题描述】:

TL;DR - 使用 [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"ALBUM_TITLE"]; 创建的专辑是否会通过 iCloud 同步?同步的图像是否会在每个设备上具有相同的 localIdentifier

在我的应用程序中,我需要存储用户通过使用相机或从照片库添加现有照片添加的许多不同的相册/照片文件夹。理想情况下,我想要的是应用程序中的所有照片都位于照片应用程序中的同一个(特定于我的应用程序)相册中,以便此相册通过 iCloud 同步,并且我能够存储对特定文件的引用此相册中的照片,以便我可以将这些照片放到我的应用中的单独相册中。

我可以为图片创建一个相册,将图片的localIdentifier存储在一个数组中,然后使用fetchAssetsWithLocalIdentifiers:options:获取图片。

问题是让这些图像通过 iCloud 同步。我使用[PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"ALBUM_TITLE"]; 创建的专辑会通过 iCloud 同步吗?据我所知,如果用户没有启用 iCloud 照片库,那么它不会同步,但它会与 iCloud 照片库同步,对吗?

如果它将通过 iCloud 同步,相册中图像的 localIdentifier 是否相同,或者当它们下载到新设备时会获得新的标识符?如果他们确实获得了新的标识符,我如何存储对将跨设备持续存在的特定图像的引用?


注意:我暂时无法访问支持 iCloud 的设备来测试这个

【问题讨论】:

【参考方案1】:

经过测试,似乎创建的任何 PHAsset 都将通过 iCloud 同步。 (我只在 iCloud 照片库开启的情况下对此进行了测试,因此不能 100% 确定)

PHAssets 的localIdentifier 似乎也正是他们所说的:本地,并且不会跨设备持续存在。

【讨论】:

以上是关于照片框架中创建的相册中图像的 iCloud 同步的主要内容,如果未能解决你的问题,请参考以下文章

Swift导航栏中图像的动画变化

UIScrollView 或 UITableView 中图像的平铺排列

苹果13相册上传啥意思

如何在使用照片框架从照片中选择图像时在选择器中隐藏 iCloud 图像

Swift - 如何让所有照片的相册都包含 iCloud Library?

UICollectionViewCell 中图像的异步加载导致标签消失