如何在我的 iOS 应用中显示 HealthKit 数据?
Posted
技术标签:
【中文标题】如何在我的 iOS 应用中显示 HealthKit 数据?【英文标题】:How would I display HealthKit Data in my iOS app? 【发布时间】:2015-10-15 03:41:01 【问题描述】:我正在搞乱 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 中?
感谢任何帮助!
【问题讨论】:
【参考方案1】:您可以使用 Health Kit 访问以下信息。 - 出生日期 - 血型 - 生物性 - 身体质量 - 高度 - 锻炼类型
我认为最好创建新的独立“HelathKitHelper”单例类并在该类中编写所有逻辑。
通过它,您可以使用不同的 2 个控制器类调用相同的代码。
一些教程链接http://natashatherobot.com/healthkit-getting-fitness-data/
http://www.raywenderlich.com/86336/ios-8-healthkit-swift-getting-started
希望对您有所帮助!
【讨论】:
谢谢,我一定会试试的!我如何在我的 viewController 中调用这个单例类来让它打印到屏幕上? 您可以为数据创建模型类,并将所有必需的健康相关信息存储在模型类中。您可以创建一些方法,例如 - (ModelClass*) getData;在单例类中并从视图控制器调用此方法。【参考方案2】:我们在为个人数据中间件 Pryv 构建的 HealthKit 桥中实现了类似的功能。 我们已经在一个示例应用程序中对其进行了测试,它允许用户授权其他应用程序读取/写入数据到 Apple HealthKit 并显示它。 你可以在这里找到代码:https://github.com/pryv/app-ios-swift-example。 我们用于个人数据收集和同意管理的中间件是开源的,因此请随意使用它以及我们的示例应用程序:https://github.com/pryv/open-pryv.io
【讨论】:
以上是关于如何在我的 iOS 应用中显示 HealthKit 数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 在 iOS 中显示从 HealthKit 中检索到的 HKDocumentSample?