1

我有一个从相机胶卷中删除照片的应用程序。此擦除是远程启动的。因此,如果启动擦除并且用户不在他们的手机上,他们将不会擦除,因为您需要授权删除每个图像。

现在我已经读过这在不同的问题中是不可能的。但是,当应用程序在第一次启动时完成加载时,是否可以像使用地理定位一样请求对手机照片库的授权。这是否会授予删除授权而无需对每张照片进行确认?

这就是我目前删除照片的方式,除了需要确认删除每张图片外,它工作正常

         PHFetchResult *asset = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage 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(@"WIPE SUCCESSFUL");
            }
        }];
    }];
4

2 回答 2

0

如果没有确认警报,则无法通过提供的 API 删除任何照片/视频。没有办法解决这个问题。

于 2016-01-05T17:35:22.840 回答
0

该应用程序请求照片授权以获取对照片的访问权限。此权限是获取照片(应用程序可以复制设备中的所有照片,您希望任何应用程序都可以这样做吗?),而不是删除它们。

如果您想删除某些资产或收藏品,您必须每次都获得用户的特定授权。您只能与请求授权一起进行一些更改 - 但您必须至少与用户联系一次。

于 2018-03-25T14:06:15.960 回答