使用Url删除AVAsset

时间:2017-07-19 07:15:27

标签: ios iphone swift

我发现很多关于从照片应用删除视频的示例。但它们似乎都不起作用。我想知道我做错了什么?这是片段 -

            PHPhotoLibrary.shared().performChanges({

                let assetsToBeDeleted = PHAsset.fetchAssets(withLocalIdentifiers: ["video.mov"], options: nil) 

                PHAssetChangeRequest.deleteAssets(assetsToBeDeleted)
            }) { deleted, error in
                if deleted {
                    print("Deleted")


                }
            }

1 个答案:

答案 0 :(得分:0)

我知道PHPhotoLibrary framework

将资产中的所有照片或视频保存到设备PHPhotoLibrary后,您的应用不再是该资产的所有者,因此设备必须确保该应用具有用户的权限才能删除此类数据

未经许可,您无法从应用中删除任何照片或视频。

您需要将assets网址存储在数据库中,然后您可以尝试这种方式。

PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
    let imageAssetToDelete = PHAsset.fetchAssetsWithALAssetURLs(**imageUrl**, options: nil)
    PHAssetChangeRequest.deleteAssets(imageAssetToDelete)
},
    completionHandler: { success, error in
        NSLog("Finished deleting asset. %@", (success ? "Success" : error))
})