试图让 HeartbeatSeries 工作,但不确定如何获得 HkHeartbeatSeriesSample。这是我的代码
我有这个查询,它将从 HeartbeatSeries 返回数据,但我不确定如何获取 HKHeartbeatSeriesSample
从这里构建查询
-(void)fetchHeartSeries:(HKHeartbeatSeriesSample *)sample
timeSinceStart: (NSTimeInterval *)timeSinceStart
completion:(void (^)(NSArray *, NSError *))completionHandler API_AVAILABLE(ios(13.0)){
HKHeartbeatSeriesSample *sampleSeries = sample;
NSTimeInterval *timeSince = timeSinceStart;
if (@available(iOS 13.0, *)) {
HKHeartbeatSeriesQuery *query = [
[HKHeartbeatSeriesQuery alloc]
initWithHeartbeatSeries:(HKHeartbeatSeriesSample *)sampleSeries
dataHandler:^(HKHeartbeatSeriesQuery *query,
NSTimeInterval timeSince,
BOOL precededByGap,
BOOL done,
NSError * error){
if (error) {
// Perform proper error handling here
NSLog(@"*** An error occurred while getting the heart beat series: %@ ***", error.localizedDescription);
completionHandler(nil, error);
}
if(done){
NSArray *data = query.accessibilityElements;
NSLog(@"Successfully retrieved heart beat data");
completionHandler(data, nil);
}
}];
[self.healthStore executeQuery:query];
} else {
// Fallback on earlier versions
}
}