Жест встряхивания устройства IOS

ios

#1

Всем доброго времени суток!

Прошу знатоков помочь разобраться с жестами встряхивания устройства…
Я разрабатываю металлокалькулятор, в нем более 20 видов расчета на отдельных View.
Я хочу реализовать возможность очищать поля от введенных данных при помощи жеста встряхивания телефона, но с возможностью отключения данной функции в настройках приложения.

Я реализовал switch в настройках, прикрутил к нему Settings.shared.defaults, switch запоминает положение (вкл/выкл)

Но есть проблема, я не знаю как правильно реализовать отслеживание жеста встряхивания на разных view…

для проверки я добавил следующий код в один из ViewController’ов:

override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?)
{
    switch Settings.shared.defaults.bool(forKey: "ShakeSwitch") {
    case true:
        print("On")
    default:
        print("Off")
    }
}

При загрузке приложения в первый раз и с включенным switch в консоль выводится текст “On”, но если я отключаю switch, то ничего не происходит, хотя в консоль должнен выводиться текст “Off”. Также, если я включаю switch обратно в положение On, то в консоль опять-же не выводится текст “On”

Кто может объяснить, почему так?
Заранее спасибо за ответ!