1
私は健康キットからデータを読み取っているアプリケーションを作成しています。私はステップの数、ランニング+ウォーキングなどを読むことができるようになりました。今では、サイクリングの日時や時間を読み取ろうとしています。これは私がSwiftを使用してiOSアプリケーションのHealthKitからサイクリング時間を取得する方法
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)
}
ウォーキング+実行のために使用していたもので、すべてがうまくある、しかし、私は以下のコードを使用してサイクリングに距離を読み取ろうとするとき、私はゼロの結果を取得しています。 appleHealthアプリでサイクリングデータが表示されていますが、なぜ結果がゼロになるのですか?助けてください
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)
}
}
私にサイクリング記録がありますか? :-o – Byte
このメソッドは、必要なものすべてを与えます。 – iMHitesh
しかし、あなたは適切にメソッドを呼び出す必要があります – iMHitesh