我正在尝试用 Swift 重写 Apple 的 AVCam 示例。当我检查设备是否被授权时,我想将属性deviceAuthorized设置为 true 或 false。
我进入了块,因为我在输出中得到“访问被授予”。但是当我想检查我的财产是否被改变时,它仍然说它是假的。我也尝试过使用局部变量,但这也不起作用。
我究竟做错了什么?
var deviceAuthorized:Bool?
...
func checkDeviceAuthorizationStatus() -> Bool{
var mediaType = AVMediaTypeVideo
var localDeviceAuthorized:Bool = false
AVCaptureDevice.requestAccessForMediaType(mediaType, completionHandler: {
(granted:Bool) -> () in
if(granted){
println("Access is granted")
self.deviceAuthorized = true
localDeviceAuthorized = true
}else{
println("Access is not granted")
}
})
println("Acces is \(localDeviceAuthorized)")
return self.deviceAuthorized!
}