Шагомер Core Motion Сохранить данные таймера, когда в фоновом режиме - PullRequest
0 голосов
/ 27 августа 2018

Я начал играть с шагомером, и он работает просто отлично.Я сделал тиммер, который покажет мне время тренировки, и он отлично отслеживает активность.Шагомер будет обновляться в фоновом режиме автоматически, однако, Тиммер не будет.Я знаю, что должен использовать Уведомление для applicationDidEnterBackground.Я могу узнать, сколько времени прошло с тех пор, как приложение ушло в фоновый режим до сих пор, поэтому я могу изменить время.

Моя проблема в том, как узнать, сколько из этого времени ХОДИТ И РАБОТАЕТ?Потому что это даст время для всех событий.Кто-нибудь знает решение для достижения этой цели?

1 Ответ

0 голосов
/ 27 августа 2018

удалось решить проблему.Каждый раз, когда эта функция запускается, это означает, что у пользователя есть активность:

//START GETTING UPDATES
private func startUpdating() {
    if CMMotionActivityManager.isActivityAvailable() {
        startTrackingActivityType()
    }

    if CMPedometer.isStepCountingAvailable() {
        startCountingSteps()
    }
}

В этой функции startCountingSteps () я поместил массив, который будет добавлять один элемент при каждом запуске, если число шагов больше 1,за каждую секунду.Это означает, что это «Ходьба» или «Бег».

Я сохранил время в секундах, когда пользователь входит в фоновый режим, и получаю текущее время, когда пользователь снова открывает приложение.Текущее количество секунд + array.count = Текущее время работы.

...