use*_*173 9 ios swift healthkit watchkit watchos-2
我需要制作一个近乎实时记录心率数据的应用程序,并尽快将此数据发送到服务器.
首先我采用了这种方法:观看os 2.0 beta:访问心率
事实上,它工作正常.HealthKit每五秒钟会有一个新的心率数据.但现在我遇到了无法与服务器同步的问题.
我的第一个方法是Watch应用程序.手表正在向服务器发送数据.这不起作用,因为一旦手表上的屏幕变黑,它就会停止发送.
我的下一个方法是每隔5秒在iPhone上查询HealthKit以获取新数据.只要应用程序位于前台,这就有效.
然后我看到有一些背景功能可以监视HealthKit本身并从后台撤消应用程序,你可以做一些事情.(enableBackgroundDeliveryForType)这似乎不适用于心率(Apple文档说的这样的事情,如步骤这不起作用,我猜心率是其中之一).
我现在被困住了.你知道怎么做吗?我需要在iPhone上每5-10秒执行一次后台任务.这似乎是不可能的
Hug*_*nso 18
UPDATE
正如@BootMaker所注意到的,Apple 在WatchOS 3中为HKWorkout应用程序提供了后台模式,因此它现在正在运行.您必须运行HKWorkoutSession,即使应用程序处于后台(观看黑屏),这也会实时保持您的实时交付
在最接近你将要为当手表应用程序是开放的.
我为什么说这个?
有两个HealthKit的数据库(一个在iPhone上,另一个在Apple Watch上).当它们同步是任意的并且仅由OS决定时
您最接近实时的是当您没有任何密码锁定iPhone或Apple Watch中的屏幕时.无论哪种方式,都不能保证每次将新措施添加到Apple Watch的HealthKit时都会发生同步
给力的唯一方法心率传感器到实时的工作是通过锻炼或观察员,而你的Apple关注的应用是在FOREGROUND.
Apple Watch应用程序无法使用后台交付.
观察OS 2请求传感器每10分钟自动测量(在后台).
没有其他解决方法,如果您需要更长时间的实时,或者当用户不使用您的应用程序时,您将需要使用专门的可穿戴设备.
nha*_*thm 14
如果有人仍然需要实时获取心率或其他数据。使用此解决方案:
我测试过,即使应用程序终止,我们仍然可以获得心率(我使用本地通知发布心率数据以进行调试)
| 归档时间: |
|
| 查看次数: |
9407 次 |
| 最近记录: |