我正在编写一个iOS应用程序来显示来自BTLE设备(Polar H7)的实时心率。我找到了两种方法:
CBCentralManager
并手动编织Heart Rate Measurement Characteristic HKObserverQuery
正如我所看到的,每种方法都有利弊。
使用CBCentralManager
可以实现更多控制(例如,您可以存储传感器位置)和更快的设置(即,您可以立即开始显示值)。但是,据我所知,如果BTLE设备已与HealthKit配对,则BTLE设备 <{1}}
使用HealthKit似乎是首选方法(并且实现起来要简单得多),但需要额外访问Health应用程序才能打开“更新健康数据”开关。
我应该同时实施吗?有人处理过这个问题吗?
答案 0 :(得分:0)
我还没有具体处理你的问题,但我也在研究HealthKit集成。根据你在这里概述的内容,我会采用HealthKit方法,只采用那种方法,除非有一些要求真正推动你做到这两点。如果你必须同时实现这两个,我可能会在那里放一些抽象,所以控制器不必知道源是什么。
我不确定你提到的Health应用程序的额外旅行。您可以使用requestAuthorizationToShareTypes:readTypes:completion:从应用内请求获得心率数据的许可。这是一个有教程的教程,如果有帮助的话:HealthKit Tutorial with Swift: Getting Started。