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)