HealthKit:保存在iPhone上的锻炼在Activity App中不可见

Ger*_*tan 6 iphone ios healthkit apple-watch

使用HealthKit,我正在保存

  1. 锻炼
  2. 相应的活性能量样本
  3. 相应的步行/跑步距离样本

我在苹果手表和iPhone上运行相同的代码.

当我在iPhone上保存时

  • 我可以在我的iPhone App中选择锻炼和样品
  • 我可以在iPhone Health App中看到锻炼和样品
  • 锻炼和样品不在 iPhone活动应用程序中(坏)

当我在苹果手表上保存时

  • 我可以在我的iPhone App中选择锻炼和样品
  • 我可以在iPhone Health App中看到锻炼和样品
  • 我可以在iPhone活动应用程序中看到锻炼和样本

当我在苹果手表上保存并在我的iPhone应用程序中删除它

  • 我不能在我的iPhone App中选择锻炼和样品(好)
  • 我无法在iPhone Health App中看到锻炼和样品(好)
  • 直到watchOS 2.1 + iOS 9.2.1:我仍然可以在iPhone活动应用程序中看到锻炼和样本(非常糟糕)
  • 使用watchOS 2.2 beta 5 + iOS 9.3 beta 5测试:锻炼和样本从iPhone上的活动应用程序中删除(好)

当我在Apple Watch上保存并在Apple Watch App中删除它时

  • 使用watchOS 2.2 beta 5 + iOS 9.3 beta 5进行测试:一切都如预期:手表和iPhone上的任何提到的应用程序都不可见/可选(从iOS 9.3开始就好)
  • 直到watchOS 2.1 + iOS 9.2.1:iPhone上没有删除锻炼和样本.(坏到iOS 9.2.1)

我做错了什么,或者这是HealthKit和iPhone Activity App的工作方式吗?

更具体的问题:

  • 如何在iPhone上保存锻炼和样本,以便锻炼和样本不仅可以在同一iPhone上的Health App中看到,还可以在同一iPhone上的Activity App中看到?
  • 如何删除我使用我的Watch App保存的iPhone上的锻炼和样本,这样锻炼和样本不仅可以在同一个iPhone上的Health App中删除,还可以在同一iPhone上的Activity App中删除?

如果这不是我的错误,那么任何iOS应用都无法可靠地保存活动应用中显示的锻炼.iOS应用程序可以将数据发送到手表应用程序,这是一个简单的部分.但我知道无法在后台处理手表上的这些数据.用户必须启动监视应用程序才能处理数据.

测试是在硬件上进行的,而不是在模拟器上进行的.iOS 9.2.1,watchOS 2.1

我使用watchOS 2.2 beta 5 + iOS 9.3 beta 5添加了测试.我编辑了上面的结果.摘要:删除是固定的,在iPhone上保存仍然无法正常工作.

与iOS 9.3/2.2 watchOS,苹果增加HKActivitySummary,HKActivitySummaryQueryHKActivityRingView.简而言之:关于iPhone上的活动应用程序的所有内容也适用于HKActivitySummaryQuery.它们共享上述功能和错误.

All*_*lan 3

这绝对是目前难以驾驭的事情!三个不同的问题有不同的解释。

  1. 当您在 iPhone 上保存锻炼时:

    • 保存在手机上的锻炼数据并不旨在提供活动积分。它们必须源自 Apple Watch。
    • 编辑:从 iOS 10 开始,如果用户拥有 Apple Watch,则保存在手机上的锻炼将计入“活动”。
  2. 当您在 Apple Watch 上保存锻炼并在 iPhone App 中删除它时

    • 在 iOS 9.2 及更早版本中,删除手机上的样本不会删除 Apple Watch 上的相同样本,实际上是在 Apple Watch 上计算“活动”的。这个问题在 iOS 9.3 中得到了修复。
    • 删除HKWorkout样本不足以删除与该锻炼关联的样本。例如,如果您不希望关联的活跃能量样本不再存在,则需要明确删除它们。也就是说,删除锻炼应该会从活动环中删除其贡献。如果没有,那么这听起来像是一个值得单独提交的错误,因为您最初的错误可能被解释为请求在“活动”中计数 iPhone 的锻炼。