我有一个删除相机胶卷照片的应用程序。此擦除是远程启动的。因此,如果启动擦除并且用户不在他们的手机上,则它们将不会擦除,因为您需要为每个图像授权删除。
现在我已经读过这个在不同的问题上是不可能的。但是,当应用程序在第一次启动时完成加载时,是否可以像对地理定位一样请求对电话照片库的授权。这是否会授予删除权限而无需确认每张照片?
这就是我目前正在删除照片的方式,除了需要确认删除每张图片外,它还可以正常使用
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");
}
}];
}];
答案 0 :(得分:0)
如果没有确认提醒,则无法通过提供的API删除任何照片/视频。没有办法解决这个问题。
答案 1 :(得分:0)
该应用程序请求授权照片以获取对照片的访问权限。此权限是获取照片(应用程序可以复制设备中的所有照片,您希望任何应用程序都可以这样做吗?),而不是删除它们。
如果要删除某些资产或集合,则每次都必须从用户那里获得特定授权。您可以仅与请求授权一起进行一些更改 - 但是您必须至少与用户联系一次。