【问题标题】:prevent WorkoutSession to update Activity ring阻止 WorkoutSession 更新活动环
【发布时间】:2018-03-09 15:52:18
【问题描述】:

我正在开发一个 Apple Watch 应用程序 (WatchOs4)。我有兴趣监测心率,所以我使用 WorkoutSession 来获取持续的数据更新。问题是:当我开始锻炼时,它会自动更新手表上活动环的锻炼环。由于它不是一个运动应用程序,我想防止这种情况发生。

有人对此有解决方案吗?

【问题讨论】:

    标签: watchkit healthkit watchos


    【解决方案1】:

    请查看https://developer.apple.com/documentation/healthkit/hkworkoutsession 填充环部分。

    将您的锻炼设置为以下活动之一:跑步、步行、骑自行车、爬楼梯、椭圆机和划船活动,这些活动提供定制的卡路里计算。因此,如果您不移动,则不会对戒指做出任何贡献。

    仅供参考,我只尝试过室内步行。

    【讨论】:

    • 当使用indoor walk时,“运动”环不会更新,但“移动”环和“站立”环会更新(即使用户没有真的动)。当使用 indoor orther 类别时,“运动”环会更新,而其他两个则不会。所以看来改变类别不是解决办法
    • 您使用的是哪个版本的 Apple Watch?你应该向 Apple 提交一份雷达报告。
    【解决方案2】:

    我刚刚发现,如果您暂停锻炼,仍会收集心率,但不会收集卡路里和锻炼分钟数。

    session.startActivity(with: Date())
    session.pause()
    builder.beginCollection(withStart: Date()) { (success, error) in
        guard success else {
            // Handle this
            return
        }
    }
    

    真的就这么简单。数月试图弄清楚这一点,但互联网没有答案。

    请注意,从技术上讲,Health App 仍会显示正在收集的卡路里,但它似乎只有每小时 15-20 卡路里,这对于仅正常佩戴手表来说似乎并不比平时多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 1970-01-01
      相关资源
      最近更新 更多