Как получить HKMetadataKeyHeartRateMotionContext для возврата значения, отличного от 0 - PullRequest
0 голосов
/ 24 апреля 2019

Я читаю HKMetadataKeyHeartRateMotionContext из яблочных часов серии 4, и единственное значение, которое я получаю, - 0.

Я запустил программу в режиме отладки и прошел выборочные значения, и все они также равны 0, чтобыисключить, если я читаю это неправильно.

Любые идеи, почему я не получаю значение, отличное от 0?

РЕДАКТИРОВАТЬ: Снова прочитав документацию и пытаясь понять это утверждение:

Вы можете добавить контекст движения к метаданным любых созданных вами образцов сердечного ритма.Это означает, что другие приложения могут также сохранять образцы частоты сердечных сокращений с (или без) ключом метаданных HKMetadataKeyHeartRateMotionContext.

Означает ли это, что при создании образца необходимо что-то сделать, чтобы включить эти данные вобразец?

if let samples = results as? [HKQuantitySample]
            {

                if let sample = samples.first
                {
                    let quantity = sample.quantity // heart rate

                    if let heartRateContext = sample.metadata?[HKMetadataKeyHeartRateMotionContext] as? NSNumber // context of heart rate i.e. active, notSet, sedentary
                    {

                    print("Heart Rate - \(quantity.doubleValue(for: self.heartRateUnit)) context - \(heartRateContext)") // Print the heart rate
                        self.analyticsManager.monitorHeartRate(heartRate:(quantity.doubleValue(for: self.heartRateUnit)), heartRateContext: heartRateContext)
                    }
                    else
                    {
                        print("Heart Rate Context Could Not be Read")
                    }

                    completionHandler() // call after processing background updates

                } //end if
            } //end if
...