我正在为Apple Watch创建一个独立的应用程序,每隔30分钟测量一次心率并将它们发送到服务器。 我指的是this项目来提取心率。该项目包含一个通过HealthKit提取此度量的类。
我需要做的是使此任务永久运行,即使该应用处于非活动状态。并且可以通过我的应用中的设置视图禁用它。
所以我的问题是:如何在Apple Watch应用程序的后台永久执行任务?
谢谢。
答案 0 :(得分:0)
看看他们在documentation中说了什么:
锻炼课程让应用程序继续在前台运行。
因此,您可以在应用处于非活动状态时收集心率信息。然后,您可以使用workoutSession(_:didChangeToState:fromState:date:)
方法,并根据日期属性将信息拆分为30分钟。
如果您的申请被暂停,代表会收到此电话 申请恢复后。这意味着你可能会收到 国家改变后很久就发出通知。检查日期参数 确定状态变化实际发生的时间。
最后,当应用程序变为活动状态时,您可以向服务器发送信息。
您还可以在openParentApplication:reply:
内拨打workoutSession(_:didChangeToState:fromState:date:)
,在后台(在iPhone上)向服务器发送统计信息。