2015-05-27 58 views
0

我正在寫一個iOS應用程序以顯示來自BTLE設備(極地H7)的實時心率。我發現2種方法來做到這一點:在iOS HealthKit應用程序中獲得心率的最佳方法?

  1. 使用CBCentralManager,用手位變換的Heart Rate Measurement Characteristic
  2. 使用HealthKit的HKObserverQuery

在我看來,有優點/缺點每個做法。

使用CBCentralManager可實現更多控制(例如,您可以存儲傳感器位置)和更快的設置(即可以立即開始顯示數值)。但是,從我所知道的情況來看,如果BTLE設備已經與HealthKit配對,那麼BTLE設備將會而不是CBCentralManager看到。

使用HealthKit似乎是首選方法(並且實現起來要簡單得多),但需要額外安裝Health應用程序才能打開「更新健康數據」開關。

我是否應該同時實施?有沒有人處理過這個問題?

回答

0

我沒有專門處理您的問題,但我也在處理HealthKit集成。根據你在這裏概述的內容,我會採用HealthKit方法,只有這種方法,除非有一些要求真的推動你對兩者都做。如果你必須實現這兩者,我可能會在那裏放置一些抽象,以便控制器不必知道源是什麼。

我不知道你提到的健康應用程序的額外旅程。您可以使用requestAuthorizationToShareTypes:readTypes:completion:從您的應用內請求獲取心率數據的權限。這裏有一個教程,可以幫助你完成:HealthKit Tutorial with Swift: Getting Started

相關問題