Всем доброго времени суток.
Прошу помочь с решением такой задачи, либо подскажите направление, в котором следует копать:
Суть программы такова, что она должна следить за изменением статуса зарядки телефона (стоит на зарядке/ отключен от зарядки).
Как сделать так, чтобы эти изменения отслеживались и я мог эти изменения выводить.
Сейчас приложение может показать статус зарядки телефона, но если телефона отключается от зарядки, то статус не меняется…он меняется, только после перезапуска приложения.
Отслеживание изменений
Все предельно просто! Вам нужно подписаться на на изменение :
NotificationCenter.default.addObserver(self, selector: "yourFunc:", name: .UIDeviceBatteryStateDidChange, object: nil)
Вставите это в код, нажмете кнопку command и нажмете на UIDeviceBatteryStateDidChange и увидите какие еще вам доступны события!
возникает новая проблема в том, что при изменения статуса зарядки (отключаю зарядку/ подкачаю зарядку) - приложение сворачивается
Этого можно избежать?
Вот сейчас не понял… а какие действия у вас прописаны в функции которая вызывается при нотификации?
Я начинающий…прошу прощения за такие вопросы, но я, к сожалению, не понял Вашего вопроса. Я приложил скрин, если у Вас будет время, взгляните в чем тут ошибка моя…
Давайте тогда я вам укажу в какую сторону двигаться!
Значит вам нужно сейчас почитать как работает селектор в swift!это есть в документации!
Теперь по поводу той строчки что я скинул, она дословно будет звучать как-то так
Мы обращаемся к дефолтному нотификейшен центру, вызываем у него метод добавит слушателя(self говорит о том, что этим слушателем будет тот контроллер в котором мы это указали),когда произойдёт событие то будет вызвана функция которую мы укажем в селекторе, а в параметре имя мы указываем имя вот как раз той нотифифкации которая нам нужна!