【问题标题】:How to add image in PHAsset and delete it from photo library?如何在 PHAsset 中添加图像并将其从照片库中删除?
【发布时间】:2015-07-16 09:21:49
【问题描述】:

我正在开发一个像隐藏照片这样的应用程序,我想将图像移动到我的应用程序中,因此我必须从照片库中导入图像并从库中删除该图像,但我不明白如何使用 PHAssets以及在哪里实施。

我使用 UIPickerview 选择图像,然后从库中删除它,请任何人都可以帮助我

这是我获取图片的选择器:

UIImage *chosenImage = info[UIImagePickerControllerEditedImage];

这是删除但什么是资产:

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

【问题讨论】:

    标签: objective-c uipickerview photo photokit phasset


    【解决方案1】:

    试试这个代码。它对我有用。

    PHFetchResult *asset = [PHAsset fetchAssetsWithALAssetURLs:@“Your asset url” options:nil];
    
     [asset enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
     NSLog(@"%@",[obj class]);
     [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
         BOOL req = [obj canPerformEditOperation:PHAssetEditOperationDelete];
         if (req) {
             NSLog(@"true");
             [PHAssetChangeRequest deleteAssets:@[obj]];
         }
     } completionHandler:^(BOOL success, NSError *error) {
         NSLog(@"Finished Delete asset. %@", (success ? @"Success." : error));
         if (success) {
            NSLog(@“delete successfully”);  
        }
    }];
    }];
    

    【讨论】:

    • 但是如何获取图片的url
    • 为此,您必须使用 ALAssetsLibrary 而不是 UIImagePicker 导入图像
    • 这项工作并且不能使用 AlAssets 您可以使用 NSURL *imageurl = info[UIImagePickerControllerReferenceURL] 直接从 uiimagepicker 获取 url;然后将其添加到 nsmutablearray 并解决问题
    • andthanx keyur 你救了我很多thanx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多