首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Url删除AVAsset

使用Url删除AVAsset
EN

Stack Overflow用户
提问于 2017-07-19 15:15:27
回答 1查看 519关注 0票数 0

我找到了很多关于从Photos应用程序中删除视频的例子。但它们似乎都不起作用。我想知道我是不是做错了什么?这是一小段-

代码语言:javascript
复制
            PHPhotoLibrary.shared().performChanges({

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

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


                }
            }
EN

回答 1

Stack Overflow用户

发布于 2017-07-19 15:30:43

我知道一些关于PHPhotoLibrary framework的事情。

一旦你将资产中的任何照片或视频保存到设备PHPhotoLibrary中,你的应用程序就不再是该资产的所有者,因此设备在删除此类数据之前必须确保该应用程序获得了用户的许可。

未经许可,您不能从您的应用程序中删除任何照片或视频。

您需要将该assets URL存储在数据库中,然后可以尝试此方法。

代码语言:javascript
复制
PHPhotoLibrary.sharedPhotoLibrary().performChanges( {
    let imageAssetToDelete = PHAsset.fetchAssetsWithALAssetURLs(**imageUrl**, options: nil)
    PHAssetChangeRequest.deleteAssets(imageAssetToDelete)
},
    completionHandler: { success, error in
        NSLog("Finished deleting asset. %@", (success ? "Success" : error))
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45183423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档