До сих пор в моем коде я могу включить факел, когда включен датчик приближения, но у меня возникают проблемы с настройкой моего кода, чтобы сделать так, чтобы при отключенной близости фонарь погас.Как переключить факел с помощью датчика приближения?
func proximityChanged(notification: NSNotification) {
if let device = notification.object as? UIDevice {
print("\(device) detected!")
toggleTorch(on: true)
} else {
//This is the line of code I need help with specifically.
toggleTorch(on: false)
}
}
func activateProximitySensor() {
let device = UIDevice.currentDevice()
device.proximityMonitoringEnabled = true
if device.proximityMonitoringEnabled {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "proximityChanged:", name: "UIDeviceProximityStateDidChangeNotification", object: device)
}
}
func toggleTorch(on on: Bool) {
let device = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
if device.hasTorch {
do {
try device.lockForConfiguration()
if on == true {
device.torchMode = .On
} else {
device.torchMode = .Off
}
device.unlockForConfiguration()
} catch {
print("Torch could not be used")
}
} else {
print("Torch is not available")
}
}
Как проверить свойство proximityState. Могу ли я заменить свою функцию на toggleTorch на свойство check proximityState? Яблочная литература не слишком конкретна. Спасибо за помощь. –
Я не знаю, что вы подразумеваете под «яблочной литературой». Просто прочитайте документацию по классу UIDevice. Я не собираюсь писать ваш код для вас. – matt