如何在我的iOS应用程序中显示HealthKit数据?

时间:2015-10-15 03:41:02

标签: ios swift health-kit

我正在使用HealthKit,我只是想创建一个非常简单的应用程序,只需从HealthKit中读取ActiveCaloriesBurned的数量并将其打印到ViewController上。我不确定我是否在HealthManager类中正确访问数据,我也不确定如何正确调用healthKit数据以在我的viewController中打印。

我知道我必须创建一个类,我验证用户是否允许该应用访问healthKit数据。所以首先我创建了一个名为HealthManager的类来解决我的第一个验证问题,我确信它可以正常工作:

class HealthManager {

    let storage = HKHealthStore()

    init()
    {
        checkAuthorization()
    }

    func checkAuthorization() -> Bool {
        var isEnabled = true

        if HKHealthStore.isHealthDataAvailable() {

            // Explicitly requests calorie data
            let calories = NSSet(object: HKQuantityType.quantityTypeForIdentifier(HKQuantityTypeIdentifierActiveEnergyBurned)!)

            // Requests authorization for calorie data
            storage.requestAuthorizationToShareTypes(nil, readTypes: calories as? Set<HKObjectType>) { (success, error) -> Void in
                isEnabled = success
            }
        }

        else {
            isEnabled = false
        }

        return isEnabled

    }

}

但我不知道接下来该做什么。我在哪里以及如何阅读当前课程中的ActiveCaloriesBurned?我将把值作为字符串返回到何处以及如何将所有这些信息传递给我的viewController?

感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用Health Kit访问以下信息。  - 出生日期  - 血型   - BiologicalSex  - 身体质量   - 身高   - WorkoutType

我认为最好创建新的独立“HelathKitHelper”单例类并在此类中编写所有逻辑。

通过它,您可以使用不同的2控制器类调用相同的代码。

一些教程链接http://natashatherobot.com/healthkit-getting-fitness-data/

http://www.raywenderlich.com/86336/ios-8-healthkit-swift-getting-started

希望这对你有帮助!

答案 1 :(得分:0)

我们在为个人数据中间件Pryv构建的HealthKit桥中实现了类似的功能。 我们已经在示例应用程序中对其进行了测试,该应用程序允许用户授权其他应用程序向Apple HealthKit读取/写入数据并显示数据。 您可以在这里找到代码:https://github.com/pryv/app-ios-swift-example。 我们用于个人数据收集和同意管理的中间件是开源的,请随时使用它以及示例应用程序:https://github.com/pryv/open-pryv.io