2014-10-06 73 views

回答

7

不,現在沒有。從HealthKit Framework Reference

HealthKit框架旨在以有意義的方式共享應用程序之間的數據。爲此,該框架將數據和單元的類型限制爲預定義的列表。這些限制可確保其他應用程序能夠理解數據的含義及如何使用。 因此,開發人員無法創建自定義數據類型或單位。相反,HealthKit試圖提供一個合理完整的數據類型和單位列表。

如果我是你,我會提交一份雷達(http://bugreport.apple.com),詳細說明您希望添加的健康數據的類型。

4

是的,你可以。只需將其定義爲NSDictionary並將其傳遞到元數據字段。請注意以下自定義字段:push_upssit_upsstatus

let end = NSDate() 
let start = NSCalendar.currentCalendar().dateByAddingUnit(.CalendarUnitMinute, 
    value: -2, toDate: end, options: nil) 

let energyBurned = HKQuantity(unit: HKUnit.kilocalorieUnit(), 
    doubleValue: 425.0) 

let distance = HKQuantity(unit: HKUnit.mileUnit(), 
    doubleValue: 0) 

let status = "felt okay...could have done more" 
let push_ups = 40 
let sit_ups = 50 

let s = ["push_ups": push_ups, 
    "sit_ups": sit_ups, 
    "notes": status 
    ] as NSDictionary 

// Provide summary information when creating the workout. 
let wrkOut = HKWorkout(activityType: HKWorkoutActivityType.FunctionalStrengthTraining, 
    startDate: start, endDate: end, duration: 0, 
    totalEnergyBurned: energyBurned, totalDistance: distance, metadata: s as! [NSObject : AnyObject]) 
+0

它在技術上是元數據 - 與其他觀察收集系統(具有不同的擴展機制)不同,元數據不用於存儲可編碼值。這可能或可能不重要。 – user2864740 2016-03-04 00:51:14

+1

因此,使用這種方法還可以將數據存儲在HealthStore中,並將它作爲圖形中的自定義HKUnit顯示在Apple Health應用程序中? – tymac 2016-08-12 02:05:53

相關問題