bdv*_*bdv 6 ios swift healthkit apple-watch watchkit
我正在研究如何获得单独心跳间隔的逐搏间隔.
我戴着Apple Watch,目前我可以出口
<Record type=“HKQuantityTypeIdentifierHeartRateVariabilitySDNN” sourceName=“Apple Watch” sourceVersion=“4.0” device=“<<HKDevice: 0x1c489da10>, name:Apple Watch, manufacturer:Apple, model:Watch, hardware:Watch3,4, software:4.0>” unit=“ms” creationDate=“2017-10-31 13:41:54 +0000" startDate=“2017-10-31 13:40:43 +0000” endDate=“2017-10-31 13:41:54 +0000" value=“92.7156”>
<HeartRateVariabilityMetadataList>
<InstantaneousBeatsPerMinute bpm=“69" time=“13:40:45.22”/>
<InstantaneousBeatsPerMinute bpm=“74" time=“13:40:46.02”/>
<InstantaneousBeatsPerMinute bpm=“71" time=“13:40:46.87”/>
<InstantaneousBeatsPerMinute bpm=“64" time=“13:40:47.81”/>
<InstantaneousBeatsPerMinute bpm=“54" time=“13:40:48.92”/>
<InstantaneousBeatsPerMinute bpm=“57" time=“13:40:49.97”/>
<InstantaneousBeatsPerMinute bpm=“65" time=“13:40:50.90”/>
<InstantaneousBeatsPerMinute bpm=“63" time=“13:40:51.86”/>
<InstantaneousBeatsPerMinute bpm=“60" time=“13:40:52.86”/>
<InstantaneousBeatsPerMinute bpm=“57" time=“13:40:53.92”/>
<InstantaneousBeatsPerMinute bpm=“57" time=“13:40:54.98”/>
<InstantaneousBeatsPerMinute bpm=“61" time=“13:40:55.97”/>
<InstantaneousBeatsPerMinute bpm=“70" time=“13:40:56.83”/>
<InstantaneousBeatsPerMinute bpm=“72" time=“13:40:57.66”/>
<InstantaneousBeatsPerMinute bpm=“69" time=“13:40:58.54”/>
<InstantaneousBeatsPerMinute bpm=“58" time=“13:40:59.58”/>
<InstantaneousBeatsPerMinute bpm=“58" time=“13:41:02.75”/>
<InstantaneousBeatsPerMinute bpm=“63" time=“13:41:03.70”/>
<InstantaneousBeatsPerMinute bpm=“70" time=“13:41:04.56”/>
<InstantaneousBeatsPerMinute bpm=“70" time=“13:41:05.41”/>
<InstantaneousBeatsPerMinute bpm=“69" time=“13:41:13.15”/>
<InstantaneousBeatsPerMinute bpm=“71" time=“13:41:13.99”/>
<InstantaneousBeatsPerMinute bpm=“63" time=“13:41:21.11”/>
<InstantaneousBeatsPerMinute bpm=“69" time=“13:41:21.98”/>
<InstantaneousBeatsPerMinute bpm=“73" time=“13:41:22.79”/>
<InstantaneousBeatsPerMinute bpm=“65" time=“13:41:35.27”/>
<InstantaneousBeatsPerMinute bpm=“67" time=“13:41:36.17”/>
<InstantaneousBeatsPerMinute bpm=“71" time=“13:41:37.01”/>
<InstantaneousBeatsPerMinute bpm=“77" time=“13:41:37.79”/>
<InstantaneousBeatsPerMinute bpm=“79" time=“13:41:38.55”/>
</HeartRateVariabilityMetadataList>
</Record>
Run Code Online (Sandbox Code Playgroud)
但是,当我得到一个样本时heartRateVariabilitySDNN,我只得到2个值.
这是我用来获取样本的代码
let healthStore = HKHealthStore()
var typeHeart = HKQuantityType.quantityType(forIdentifier: .heartRateVariabilitySDNN)
var startDate = Date() - 7 * 24 * 60 * 60 // start date is a week
var predicate: NSPredicate? = HKQuery.predicateForSamples(withStart: startDate, end: Date(), options: HKQueryOptions.strictEndDate)
let sampleType = HKSampleType.quantityType(forIdentifier: HKQuantityTypeIdentifier.heartRateVariabilitySDNN)
let sortDescriptor = NSSortDescriptor(key:HKSampleSortIdentifierStartDate, ascending: false)
let sampleQuery = HKSampleQuery(sampleType: sampleType!, predicate: predicate, limit: 30, sortDescriptors: [sortDescriptor])
{ (sampleQuery, results, error ) -> Void in
if(error == nil) {
print(results)
}
}
Run Code Online (Sandbox Code Playgroud)
这就是它输出的全部内容:
Optional([92.3536 ms D7627860-F87C-4316-9943-522BC1D6734B "Apple Watch" (4.0), "Watch3,4" (4.0)"Apple Watch" (2017-10-31 13:48:19 +0000 - 2017-10-31 13:53:30 +0000), 92.7156 ms EB0DBCB1-164A-4D50-9103-270F3F9FBCD1 "Apple Watch" (4.0), "Watch3,4" (4.0)"Apple Watch" (2017-10-31 13:40:43 +0000 - 2017-10-31 13:41:54 +0000)])
Run Code Online (Sandbox Code Playgroud)
基本上是2个值:92.7ms和92.3ms.这些是Watch上"呼吸"应用期间2次训练的平均值.
有谁知道我怎么能得到InstantaneousBeatsPerMinute和/或HRV元数据?
编辑:似乎有一些有趣的事情,输出值看起来非常像RecordXML中类型的print语句.
在向 Apple 提交了有关此问题的技术支持事件 (TSI) 后,他们表示目前无法做到这一点。
感谢您联系 Apple 开发者技术支持 (DTS)。我们的工程师已审查了您的请求,并得出结论:鉴于当前的运输系统配置,没有支持的方法来实现所需的功能。
如果您希望 Apple 考虑将来添加对此类功能的支持,请通过 Bug Reporter 工具提交增强请求,网址为:https://developer.apple.com/bug-reporting/。
如果您想看到此功能,请提交错误报告!
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |