iOS 14. PHAccessLevelAddOnly的requestAuthorizationForAccessLevel仍显示“选择照片...”以在照片中保存图像

问题描述

我想将图像保存到照片而不显示“选择照片...”,然后通过指定 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)

解决方法

简单的答案,我只是忘了在info.plist-NSPhotoLibraryAddUsageDescription中设置密钥。