2016-11-22 22 views
1

私は健康のキットからユーザーのリアルタイムのカロリーと心拍数を表示する必要があるフィットネスの健康アプリを作成しています。私は許可を得る。しかし、私はカロリーと心拍数を取り出す方法を知らない。SwiftのHealth Kit Sdkからカロリーと心拍数を取得するには?

ここにコードの許可があります。

static let healthKitStore = HKHealthStore() 

// MARK:- Health Kit Permissions :- 
static func authorizeHealthKit() { 

    // HKQuantityTypeIdentifierBodyMass - For Weight 

    var shareTypes = Set<HKSampleType>() 
    shareTypes.insert(HKSampleType.workoutType()) 
    shareTypes.insert(HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeartRate)!) 
    shareTypes.insert(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning)!) 
    shareTypes.insert(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierActiveEnergyBurned)!) 


    var readTypes = Set<HKObjectType>() 
    readTypes.insert(HKObjectType.workoutType()) 
    readTypes.insert(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeartRate)!) 
    readTypes.insert(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning)!) 
    readTypes.insert(HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierActiveEnergyBurned)!) 

    healthKitStore.requestAuthorizationToShareTypes(shareTypes, readTypes: readTypes) { (success, error) -> Void in 
     if success { 
      print("success") 

     } else { 
      print("failure") 

     } 

     if let error = error { 

      print(error) 
     } 
    } 

} 

成功した後は、機能するカロリーと心拍数、または使用するコードが必要です。同じようにFitbit Apisデータを返すか、Apple Apiのがデータを返しますか?

+0

チェックこの - https://forums.developer.apple.com/thread/6153 – Rajat

答えて

0

チェックこのコード:

let tHeartRate = HKSampleType.quantityTypeForIdentifier(HKQuantityTypeIdentifierHeartRate) 
      let tHeartRateQuery = HKSampleQuery(sampleType: tHeartRate!, predicate:.None, limit: 0, sortDescriptors: nil) { query, results, error in 

       if results?.count > 0 
       { 
        var string:String = "" 
        for result in results as! [HKQuantitySample] 
        { 
         let HeartRate = result.quantity 
         string = "\(HeartRate)" 
         print(string) 
        } 
       } 
} 
self.healthKitStore.executeQuery(tHeartRateQuery) 
+0

は私が許可を取得した後、このメソッドを呼び出す必要があり、私に右 –

+0

はい後にしています許可 – VJVJ

+0

このようなデータは、このようなデータを返します:1.73333カウント/秒、1.65カウント/秒、2.48333カウント/秒。しかし、心拍数はこの形式では98,81,103のようにすべきです。 –

関連する問題