【发布时间】:2015-06-09 07:29:42
【问题描述】:
我在我的应用程序中使用相机,我想请求其他所有应用程序都会提示的流行许可。我怎么能得到那个?
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == AVAuthorizationStatusAuthorized) {
// do your logic
authorized = YES;
[self actionLaunchAppCamera];
} else if(authStatus == AVAuthorizationStatusDenied){
// denied
authorized = NO;
} else if(authStatus == AVAuthorizationStatusRestricted){
// restricted, normally won't happen
} else if(authStatus == AVAuthorizationStatusNotDetermined){
// not determined?!
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
if(granted){
NSLog(@"Granted access to %@", AVMediaTypeVideo);
} else {
NSLog(@"Not granted access to %@", AVMediaTypeVideo);
}
}];
} else {
// impossible, unknown authorization status
}
我正在使用上面的代码来检查授权,但它总是进入授权状态条件,因为它已经拥有权限。我已经从隐私设置中检查了权限已经开启。但我从来没有征求过用户的许可。
谢谢大家。
【问题讨论】:
-
尝试在不同的模拟器上运行应用程序并检查是否请求许可
-
我直接在设备上运行它。
-
仅用于在模拟器上交叉检查运行应用程序并检查。
-
因为在您的真实设备中,如果您授予权限一次并删除应用程序并再次运行,它将自动授予权限,因为设备数据仍在缓存中
-
是的,我也是这么想的,这不是问题,而是一种行为。
标签: ios objective-c ios8 camera user-permissions