我有一些问题询问用户有关相机的许可. authorizationStatus始终是NotDetermined.当我试图询问用户是否允许时,AVCaptureDevice.requestAccessForMediaType永远不会弹出一个对话框并且被授予总是返回fals
任何人都可以帮助我吗?非常感谢
let availableCameraDevices = AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo) for device in availableCameraDevices{ if (device.position == .Back){ backCameraDevice = device }else{ if (device.position == .Front){ frontCameraDevice = device } } } let authorizationStatus = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo) switch authorizationStatus { case .NotDetermined: // permission dialog not yet presented, request authorization AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo, completionHandler: { (granted:Bool) -> Void in if (granted == false) { print(granted) } else { print(granted) } }) case .Authorized: break // go ahead case .Denied, .Restricted: break // the user explicitly denied camera usage or is not allowed to access the camera devices }问题解决了.似乎当我们从iOS 8升级到iOS 9时,它在info.plist中有一个新属性,即Bundle Display Name.如果名称为null,则将名称设置为您的产品名称,否则系统将永远不知道应用程序要求获取权限