我感兴趣的是,是否有一些HealthKit或其他数据源可以查询,以了解苹果手表是否在给定的时间间隔内磨损/与手腕接触。目前,我依赖HealthKit查询心率,似乎如果在某个窗口内没有心率读数,那么手表很可能是从手腕上脱落或充电。
有没有更好的方法来检测苹果手表是否戴在手腕上?
这种方法的问题在于它不太具有描述性——如果用户在最后一分钟戴上手表并得到一个测量值,这种逻辑会认为整个周期都是手表“打开”的。有更好的吗?
// obtain heartRateSamples from HealthKit and filter them
let hrFilterStart = startDate.addingTimeInterval(startSecondsOffset)
let hrFilterEnd = hrFilterStart.addingTimeInterval(Double(30 * 60) )
let heartRateDuringTimeSlice = heartRateSamples.filter{ sample -> Bool in
let fallsBetween = (hrFilterStart ... hrFilterEnd).contains(sample.startDate)
return fallsBetween
}
if heartRateDuringTimeSlice.count == 0 {
//watch is not on the wrist - probably charging, ignore this interval
}
最佳答案
HealthKit不公开任何可以用来可靠确定苹果手表是否在手腕上的信息。使用心率或其他自动采集的样本对大多数用户来说已经足够好了,但请记住,有些情况下,即使手表在手腕上,心率样本也可能无法以一致的频率采集。
关于swift - iOS WatchOS5-如何在特定时间间隔以编程方式检测Apple Watch是否戴在手腕上(磨损)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55077716/