Ich erstelle eine App, in der ich Daten aus dem health-Kit lese. Ich bin in der Lage, die Anzahl der Schritte zu lesen, Running + Walking usw. Jetzt versuche ich das Datum und die Dauer des Radfahrens zu lesen. Das ist, was ich mit für das Ausführen + GehenSo erhalten Sie die Dauer des Radfahrens von HealthKit für die ios app mit Swift
func readDistanceWalkingRunning(completion: (([AnyObject]!, NSError!) -> Void)!) {
let runningWalking = HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning)
let predicate = HKQuery.predicateForSamplesWithStartDate(NSDate().dateByAddingTimeInterval(-86400.0), endDate: NSDate(), options: HKQueryOptions.None)
let stepsSampleQuery = HKSampleQuery(sampleType: runningWalking!,
predicate: predicate,
limit: 100,
sortDescriptors: nil)
{ [weak self] (query, results, error) in
if let results = results as? [HKQuantitySample] {
for result in results {
print(" Distance was " + " \(result.quantity.doubleValueForUnit(HKUnit.mileUnit())) ")
print("Date was " + "\(result.startDate)")
}
}
}
// Don't forget to execute the Query!
executeQuery(stepsSampleQuery)
}
Und alles ist in Ordnung, aber wenn ich versuche, Distanz zu lesen zum Radfahren des Code unten verwenden, erhalte ich null Ergebnis. Radfahrdaten werden in der App "appleHealth" angezeigt, aber warum erhalte ich das Ergebnis als "null"? Bitte helfen
func readDistanceCycling(completion: (([AnyObject]!, NSError!) -> Void)!) {
let distanceCycling = HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceCycling)
let predicate = HKQuery.predicateForSamplesWithStartDate(NSDate(), endDate: NSDate(), options: HKQueryOptions.None)
let query = HKSampleQuery(sampleType: distanceCycling!, predicate: predicate, limit: 100, sortDescriptors: nil, resultsHandler: { query, result, error in
if result != nil
{
print("We have some Data")
}
else
{
print("Result is nil")
}
if let results = result as? [HKQuantitySample] {
for result in results {
print(" Quantity type " + " \(result.quantityType) ")
print("Date was " + "\(result.startDate)")
}
}
})
executeQuery(query)
}
}
wird es mir radfahren Aufzeichnungen? : -o – Byte
Diese Methode geben Sie alles, was Sie wollen. – iMHitesh
Aber Sie müssen Methode richtig aufrufen – iMHitesh