iOS近乎实时地从Apple Watch获得心率

我需要制作一个近乎实时记录心率数据的应用程序,并尽快将此数据发送到服务器.

首先我采用了这种方法:Watch os 2.0 beta: access heart beat rate

事实上,它工作正常. HealthKit每五秒钟会有一个新的心率数据.但现在我遇到了无法与服务器同步的问题.

我的第一个方法是Watch应用程序.手表正在向服务器发送数据.这不起作用,因为一旦手表上的屏幕变黑,它就会停止发送.

我的下一个方法是每隔五秒钟在iPhone上查询HealthKit以获取新数据.只要应用程序位于前台,这就有效.

然后我看到有一些背景功能可以监视HealthKit本身并从后台撤消应用程序,你可以做一些事情.(enableBackgroundDeliveryForType)这似乎不适用于心率(Apple文档说这样做的步骤这个不起作用,我猜心率是其中之一).

我现在被困住了.你知道怎么做吗?我需要在iPhone上每5-10秒执行一次后台任务.这似乎是不可能的

解决方法

UPDATE

正如@BootMaker所注意到的那样,Apple在WatchOS 3中为HKWorkout应用程序提供了后台模式,因此它现在正在运行.您必须运行HKWorkoutSession,即使应用程序处于后台(观看黑屏),这也会实时保持您的实时交付

The closest you are going to be is while the watch app is open.

我为什么说这个?

>有两个HealthKit的数据库(一个在iPhone上,另一个在Apple Watch上).当它们同步是任意的并且仅由O.S.决定.
>您最接近实时的是当您没有任何密码锁定iPhone或Apple Watch中的屏幕时.
无论哪种方式,都无法保证每次向Apple Watch的HealthKit添加新度量时都会发生同步
>强制心率传感器实时工作的唯一方法是在Apple Watch应用程序处于FOREGROUND时通过锻炼或观察者进行锻炼.
> Apple Watch应用程序不提供后台交付.
>观察OS 2请求传感器每10分钟自动测量(在后台).

There’s no other workaround,if you need real time for longer periods,or while the user is not using your app,you will need to use an specialized wearable.

以上是来客网为你收集整理的iOS近乎实时地从Apple Watch获得心率全部内容,希望文章能够帮你解决iOS近乎实时地从Apple Watch获得心率所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。