从 Swift 中的相机胶卷连拍中删除单张照片

Posted

技术标签:

【中文标题】从 Swift 中的相机胶卷连拍中删除单张照片【英文标题】:Delete a single photo from a burst from the camera roll in Swift 【发布时间】:2015-09-19 01:36:50 【问题描述】:

所以我有代码可以从相机胶卷中删除图像。它工作正常,并且可以从连拍中删除单个图像,但是其中一个图像如果被删除,将删除整个批次,我不知道如何阻止它。它通常似乎是连拍组中的最后一张图像。在我的请求选项中,我打开了includeAllBurstAssets

func deletePhotos(assetsToDelete: [PHAsset])
   phphotoLibrary.sharedPhotoLibrary().performChanges(
        PHAssetChangeRequest.deleteAssets(assetsToDelete)
            return
        , completionHandler:  success, error in

            guard let error = error else 
             return
            

            print(error)
         
    )

【问题讨论】:

做了一些进一步的挖掘,如果representsBurst 为真并且您尝试删除它,它将删除整个爆发。有谁知道解决这个问题的方法吗? 【参考方案1】:

我可以确认这种行为。如果删除了一张连拍照片,我猜该 API 旨在删除整个批次。 请注意,Apple Photos 应用程序也无法删除单张连拍照片。 使该行为可自定义是有意义的,我建议您填写错误报告/增强请求。

【讨论】:

以上是关于从 Swift 中的相机胶卷连拍中删除单张照片的主要内容,如果未能解决你的问题,请参考以下文章

从代码 iOS 中删除相机胶卷中的图像

Swift fetchAssetsInAssetCollection:从相机胶卷范围内加载照片

使用照片框架删除相机胶卷资产

存储对相机胶卷图像的引用 - Swift 4

Phonegap:显示相机胶卷中的照片列表?

iOS:控制访问相机胶卷新出现