2016-11-22 178 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 count/s,1.65 count/s,2.48333 count/s。但是這種格式的心率應該是98,81,103。 –

相關問題