在IOS中从iPhone中删除资产(图片或视频)

Pau*_* A. 9 assets tableview ios alassetslibrary

我正在开发一个Iphone应用程序,我可以使用Assetslibrary枚举资产并将它们加载到表格视图中.用户可以删除应用程序中的行(图片/视频),但如何直接从我的应用程序更新Iphone相册?否则,在刷新时,tableview将重新加载以前删除的资产.

Ted*_*Ted 15

在ios8中可以使用照片框架删除照片

请查看Photos Framework的文档

要删除资产,请参阅PHAssetChangeRequest

+ (void)deleteAssets:(id<NSFastEnumeration>)assets
Run Code Online (Sandbox Code Playgroud)

where assetsPHAsset要删除的对象数组.

+

要删除集合,请参阅PHAssetCollectionChangeRequest

+ (void)deleteAssetCollections:(id<NSFastEnumeration>)assetCollections
Run Code Online (Sandbox Code Playgroud)

https://developer.apple.com/documentation/photos/phassetchangerequest/1624062-deleteassets
https://developer.apple.com/documentation/photos/phassetcollectionchangerequest/1619453-deleteassetcollections


小智 10

正如Ted所说,现在可以在iOS 8中使用Photos服务了.实际上它很干净.您需要向photolibrary提交更改请求.这是一个例子.

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    [PHAssetChangeRequest deleteAssets:arrayOfPHAssets];
} completionHandler:^(BOOL success, NSError *error) {
    NSLog(@"Finished deleting asset. %@", (success ? @"Success." : error));
}];
Run Code Online (Sandbox Code Playgroud)

确保您已导入照片,并获得用户的授权.(你可能已经做了以显示图像)

PHAssetchangeRequest - deleteAssets https://developer.apple.com/documentation/photos/phassetchangerequest/1624062-deleteassets PHPhotoLibrary类 - authorizationStatus https://developer.apple.com/documentation/photos/phphotolibrary/1620745-authorizationstatus


rss*_*tmr 0

可能重复/sf/answers/774125411/。简单的回答:你不能。照片应用程序是您可以删除资产的唯一地方。这可能是一件好事——您不会希望任何应用程序能够随意删除您的所有照片,不是吗?