【发布时间】:2020-12-31 04:23:37
【问题描述】:
我想将图像保存到照片而不显示“选择照片...”,并通过指定 PHAccessLevelAddOnly 选择保存方法。但我仍然在选择选项中看到“选择照片...”。为什么会发生这种情况?
PHAuthorizationStatus prevStatus = [PHPhotoLibrary authorizationStatus];
if (@available(iOS 14, *)) {
prevStatus = [PHPhotoLibrary authorizationStatusForAccessLevel:PHAccessLevelAddOnly];
if (prevStatus == PHAuthorizationStatusNotDetermined) {
__weak typeof(self) weakSelf = self;
[PHPhotoLibrary requestAuthorizationForAccessLevel:(PHAccessLevelAddOnly) handler:^(PHAuthorizationStatus status) {
if (status == PHAuthorizationStatusAuthorized) {
dispatch_async(dispatch_get_main_queue(), ^{
...
});
}
}];
return;
}
}
Xcode 版本 12.0 beta 6 (12A8189n)
【问题讨论】:
-
requestAuthorizationForAccessLevel 会显示一条消息以获得访问权限,接下来发生的事情无关紧要。
-
我在使用
UIImageWriteToSavedPhotosAlbum(_:_:_:_)时遇到了同样的问题,所以我改用PHAssetChangeRequest.creationRequestForAsset(from:),但仍然遇到同样的问题。据我所知,这是一个错误,因为requestAuthorizationForAccessLevel块/闭包实际上被执行了两次。这也在 GM 种子中:/
标签: ios objective-c image photo ios14