そのため、カメラが起動するたびに表示されるオーバーレイ用の UISwitch があります。オンボタンを切り替えるか、スイッチを右(オンモード)にスライドさせると、懐中電灯がオンになります。しかし、左に切り替えても消えません。私は何を間違っていますか?
- (void)mySwitchPressed {
if (self.mySwitch.on) {
AVCaptureDevice *flashLight = [AVCaptureDevice
defaultDeviceWithMediaType:AVMediaTypeVideo];
if([flashLight isTorchAvailable] && [flashLight
isTorchModeSupported:AVCaptureTorchModeOn]) {
BOOL success = [flashLight lockForConfiguration:nil];
if(success) {
[flashLight setTorchMode:AVCaptureTorchModeOn];
[flashLight unlockForConfiguration];
}
} else {
AVCaptureDevice *flashLight = [AVCaptureDevice
defaultDeviceWithMediaType:AVMediaTypeVideo];
if([flashLight isTorchAvailable] && [flashLight
isTorchModeSupported:AVCaptureTorchModeOn]) {
BOOL success = [flashLight lockForConfiguration:nil];
if(success) {
[flashLight setTorchMode:AVCaptureTorchModeOff];
[flashLight unlockForConfiguration];
}
}
}
}
}