我想知道如何复制PHAsset并保存照片的上下文。例如,如果照片位于特定的相册中,我希望副本位于原版旁边的同一张相册中。如果可能的话,编辑历史将被保留下来,允许用户在需要的情况下将该复制还原为原始的。
您可以实现共享表并共享映像,这将提供保存映像的选项,但这不是真正的复制。保存图像将其放置在所有照片的末尾。如果我创建了一个新的资产,通过creationRequestForAssetFromImage从我现有的资产中提供图像,那么它也会放在所有照片的末尾。
如何以编程方式复制给定的PHAsset,保持其在照片相册层次结构中的位置?
发布于 2015-08-09 14:10:23
来自ref/doc/uid/TP40014384-CH1-SW8
若要设置新创建的资产的元数据属性,请使用更改请求的相应属性(在修改资产中列出)。若要引用稍后在同一个更改块中或在更改块完成后新建的资产,请使用placeholderForCreatedAsset属性检索占位符对象。
然后调用creationRequestForAssetFromImage,使用要复制的PHAsset在PHAssetChangeRequest上设置适当的元数据。
let request = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
request.creationDate = copiedAsset.creationDate
request.location = copiedAsset.locationhttps://stackoverflow.com/questions/31901744
复制相似问题