Я сделал это приложение дремал, который помогает вам медитировать, регулируя факел на вашем телефоне.Это происходит от низкого уровня яркости до высокого уровня родимости за определенный период времени.
Он отлично работал на iPhone 6gen, 7gen, 8gen и X. Я только что получил XS max, и по какой-то причине вместо регулировки яркости он просто остается включенным на максимальной яркости.
Он все еще работает на iPhone 7 с iOS 12. Странно то, что ИНОГДА он СЛУЧАЙНО работает на XS Max, я просто не могу понять, что заставляет его корректно настраиваться, а иногда -застрял на максимальной яркости.
func updateTorch() {
guard let device = AVCaptureDevice.default(for: AVMediaType.video)
else {
return
}
if device.hasTorch && device.isTorchAvailable {
do {
try device.lockForConfiguration()
if torchMode == 0 {
device.torchMode = .off
} else {
try device.setTorchModeOn(level: torchMode) // HERE
}
device.unlockForConfiguration()
} catch {
print("Torch is not working.")
}
} else {
print("Torch not compatible with device.")
}
}
Это мой основной метод обновления факела.Если я печатаю «torchMode», где я пометил «// ЗДЕСЬ», это дает корректирующее значение Float между 0 и 1. Также не возникает никаких ошибок из метода setTorchModeOn (level :).