ios - iOS 12 中的相机在没有相机权限的情况下工作对话框
问题描述
在 iOS 11 中,当应用程序第一次启动时,我将单击相机的按钮,然后它将显示相机权限对话框。
但是在 iOS 12 中,当我单击相机按钮时,它会在未经任何许可的情况下直接打开相机。
我已经Privacy - Camera Usage Description
在我的Info.plist
文件中添加了。
我很困惑该怎么办?请给我一些解决方案。
+(void)checkPermissionForCameraWithSuccess:(void (^) (void))successHandler failure:(void (^) (void))failureHandler
{
AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
switch (status)
{
case AVAuthorizationStatusRestricted:
case AVAuthorizationStatusDenied:{
if (failureHandler)
dispatch_async (dispatch_get_main_queue (), ^{ failureHandler (); });
}; break;
case AVAuthorizationStatusAuthorized:{
if (successHandler)
dispatch_async (dispatch_get_main_queue (), ^{ successHandler (); });
}; break;
case AVAuthorizationStatusNotDetermined:
{
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
if (!granted)
{
if (failureHandler) {
dispatch_async (dispatch_get_main_queue (), ^{ failureHandler (); });
}
} else {
if (successHandler) {
dispatch_async (dispatch_get_main_queue (), ^{ successHandler (); });
}
}
}];
break;
}
default:
break;
}
}
注意:默认情况下会返回status = AVAuthorizationStatusAuthorized
无权限对话框。
解决方案
推荐阅读
- python - 当我尝试在 pygame 中发射子弹时,我的游戏崩溃了
- python - 如何使用“?” (这是什么小部件)在 PyQT 对话框的标题栏上
- python - 无法在简单数据集上训练 Tensorflow
- elixir - 带有函数头和默认值的 Elixir 装饰器
- c++ - 每个顶点的正向路径
- r - 垂直中心线
- javascript - 使用 Javascript 为 JSON 中的每个对象获取一个子对象
- c - 我可以将一个结构放在另一个结构中吗?
- java - 启动 RabbitMQ 服务器后仍然无法访问 localhost:5762
- ssh - Azure Devops 管道 SSH 错误连接