HKStatisticsCollectionQuery не возвращает новые данные

Я использую HKStatisticsCollectionQuery получить данные о шагах от Healthkit. Он прекрасно работает до тех пор, пока мое приложение больше не возвращает новые данные о работоспособности. Он начинает работать снова, как только я переустановил приложение. Кто-нибудь знает, почему это происходит?

1 ответ

Не знаю этого неожиданного поведения, но это работает для меня каждый раз.

Попробуйте этот код

func readAllSample(sampleType:HKSampleType , limit : Double, completion: (([HKSample], NSError) -> Void)!)
{
    let now   = Date()
    let past = now.addingTimeInterval(-10*24*60*60) as Date
    let mostRecentPredicate = HKQuery.predicateForSamples(withStart: past, end:now, options: [])
    let sortDescriptor = NSSortDescriptor(key:HKSampleSortIdentifierStartDate, ascending: false)
    let sampleQuery = HKSampleQuery(sampleType: sampleType, predicate: mostRecentPredicate, limit: Int(limit), sortDescriptors: [sortDescriptor])
    { (sampleQuery, results, error ) -> Void in

        if(error == nil)
        {
         for data in results as! [HKQuantitySample] {
             self.yourArr.append(data.quantity.doubleValue(for: HKUnit.count()))
            }
        }

    }
    self.healthStore.execute(sampleQuery)
}

Используйте это так

Лимит: если вы хотите массив результатов, увеличьте лимит. В основном это максимальные значения, которые вы запрашиваете в массиве.

let stepsQuantityType = HKQuantityType.quantityType(forIdentifier: .stepCount)!

self.readAllSample(sampleType:stairsQuantityType, limit: 1, completion: nil)
Другие вопросы по тегам