gpt4 book ai didi

ios - 首次未确定授权状态如何处理

转载 作者:行者123 更新时间:2023-12-01 19:00:34 24 4
gpt4 key购买 nike

实用程序.m

+(AVAuthorizationStatus)getAuthorizationStatus {
NSString *mediaType = AVMediaTypeAudio;
__block AVAuthorizationStatus AuthStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
if(AuthStatus == AVAuthorizationStatusNotDetermined) {
[AVCaptureDevice requestAccessForMediaType:mediaType completionHandler:^(BOOL granted) {
AuthStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];
}];
}
NSLog(@"%d",AuthStatus);
return AuthStatus;
}

+(ALAuthorizationStatus)getALAssetAuthorizationStatus {
ALAssetsLibrary *aLib = [[ALAssetsLibrary alloc]init];

ALAuthorizationStatus alAuthStatus;

[aLib enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:nil failureBlock:nil];

alAuthStatus = [ALAssetsLibrary authorizationStatus];

NSLog(@"Status=>%d", [ALAssetsLibrary authorizationStatus]);

return alAuthStatus;
}

在我的实用程序类中,我编写了这两种方法,目的只是为了告诉授权状态是什么。

如果用户已经拥有 allowed,这些方法将可以正常工作或 denied权限,但这些方法第一次请求用户权限,授权状态为 not determined .如果是第一次如果用户 allowdeny我没有得到更新的授权状态。如何处理?

最佳答案

在 requestAccessForMediaType 的完成处理程序中,而不是重新调用 authorizationStatusForMediaType,您只需要引用传递给 block 的“授予” bool 值(您当前未使用)。

我知道这是一个老问题,但我在寻找相关内容时偶然发现了这个问题,并认为我会为可能找到它的其他人回答这个问题。

关于ios - 首次未确定授权状态如何处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23180566/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com