删除 PHAsset 时禁用授权请求
Dsiable Authorization request when deleting PHAsset
我有一个应用程序可以从相机胶卷中删除照片。此擦除是远程启动的。因此,如果启动擦除并且用户不在他们的 phone 处,他们将不会擦除,因为您需要为每个图像授权删除。
现在我读到这在不同的问题中是不可能的。但是,当应用程序在第一次启动时完成加载时,是否可以请求对 phones 照片库的授权,就像使用地理定位所做的那样。这会授予删除权限而无需确认每张照片吗?
这就是我目前删除照片的方式,除了需要确认删除每张图片外,它工作正常
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");
}
}];
}];
如果没有确认提示,则无法通过提供的 API 删除任何 photos/videos。没有办法解决这个问题。
应用请求照片授权以获取照片的访问权限。此权限是获取照片(应用程序可以复制设备中的所有照片,你想让任何应用程序都可以这样做吗?),而不是删除它们。
如果你想删除一些资产或collections你每次都必须从用户那里获得特定的授权。您只能在请求授权的同时进行一些更改 - 但您必须至少就此与用户联系一次。
我有一个应用程序可以从相机胶卷中删除照片。此擦除是远程启动的。因此,如果启动擦除并且用户不在他们的 phone 处,他们将不会擦除,因为您需要为每个图像授权删除。
现在我读到这在不同的问题中是不可能的。但是,当应用程序在第一次启动时完成加载时,是否可以请求对 phones 照片库的授权,就像使用地理定位所做的那样。这会授予删除权限而无需确认每张照片吗?
这就是我目前删除照片的方式,除了需要确认删除每张图片外,它工作正常
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");
}
}];
}];
如果没有确认提示,则无法通过提供的 API 删除任何 photos/videos。没有办法解决这个问题。
应用请求照片授权以获取照片的访问权限。此权限是获取照片(应用程序可以复制设备中的所有照片,你想让任何应用程序都可以这样做吗?),而不是删除它们。
如果你想删除一些资产或collections你每次都必须从用户那里获得特定的授权。您只能在请求授权的同时进行一些更改 - 但您必须至少就此与用户联系一次。