Objective c 从目标C中的健康工具包读取训练路线数据时出错
在health kit中,当我尝试从训练样本中收集路线数据时,我得到错误: Domain=nscocaerorrordomain Code=4099“与名为com.apple.healthd.server的pid 0上的服务的连接被中断,但消息是通过其他代理发送的,因此此代理已无效。”UserInfo={NSDebugDescription=与名为com.apple.healthd.server的pid 0上的服务的连接被中断,但该消息是通过其他代理发送的,因此该代理无效 我已经获得了锻炼和锻炼路线许可,并且导入了核心位置并获得了“使用时”位置许可。我使用的是真正的iPhone 8,而不是模拟器 我的代码如下。任何帮助都将不胜感激Objective c 从目标C中的健康工具包读取训练路线数据时出错,objective-c,xcode,healthkit,Objective C,Xcode,Healthkit,在health kit中,当我尝试从训练样本中收集路线数据时,我得到错误: Domain=nscocaerorrordomain Code=4099“与名为com.apple.healthd.server的pid 0上的服务的连接被中断,但消息是通过其他代理发送的,因此此代理已无效。”UserInfo={NSDebugDescription=与名为com.apple.healthd.server的pid 0上的服务的连接被中断,但该消息是通过其他代理发送的,因此该代理无效 我已经获得了锻炼和锻炼
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *someDate = [cal dateByAddingUnit:NSCalendarUnitDay value:(-3) toDate:[NSDate date]
options:0];
NSDate *startOfDay = [[NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]
startOfDayForDate:someDate];
NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:startOfDay endDate:
[NSDate date] options:HKQueryOptionStrictStartDate];
HKAnchoredObjectQuery *query = [[HKAnchoredObjectQuery alloc] initWithType:[HKWorkoutType
workoutType] predicate:predicate anchor:nil limit:HKObjectQueryNoLimit
resultsHandler:^(HKAnchoredObjectQuery * _Nonnull query, NSArray * _Nullable samples,
NSArray * _Nullable deletedObjects, HKQueryAnchor* anchor, NSError * _Nullable error) {
if (error != nil) {
NSLog(@" %@",error);
} else {
HKWorkoutRoute * myRoute=samples[0];
HKWorkoutRouteQuery * queryroute= [[HKWorkoutRouteQuery alloc]
initWithRoute:myRoute
dataHandler:^(HKWorkoutRouteQuery * _Nonnull
query, NSArray<CLLocation *> * _Nullable
routeData, BOOL done, NSError *
_Nullable error) {
NSLog(@" GETTING ROUTE 1 ");
if (error != nil) {
NSLog(@" %@“,error);
} else {
}
if(done){
NSLog(@"route data %@",routeData);
}else{
}
}];
[self.healthStore executeQuery:queryroute];
}}];//end anchor
[self.healthStore executeQuery:query];
NSCalendar*cal=[NSCalendar当前日历];
NSDate*someDate=[cal dateByAddingUnit:NSCalendarUnitDay值:(-3)toDate:[NSDate date]
选项:0];
NSDate*startOfDay=[[NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian]
startOfDayForDate:someDate];
NSPredicate*谓词=[HKQuery谓词ForSampleSwithStartDate:startOfDay endDate:
[NSDate date]选项:HKQueryOptionStrictStartDate];
HKAnchoredObjectQuery*query=[[HKAnchoredObjectQuery alloc]initWithType:[HKWorkoutType]
workoutType]谓词:谓词锚点:零限制:HKObjectQueryOnlimit
结果处理程序:^(HKAnchoredObjectQuery*\非空查询,NSArray*\可空样本,
NSArray*_可空删除对象,HKQueryAnchor*锚,NSError*_可空错误){
如果(错误!=nil){
NSLog(@“%@”,错误);
}否则{
HKWorkoutRoute*myRoute=样本[0];
HKWorkoutRouteQuery*queryroute=[[HKWorkoutRouteQuery alloc]
initWithRoute:myRoute
dataHandler:^(HKWorkoutRouteQuery*_非空
查询,NSArray*\u可为空
routeData,BOOL done,n错误*
_可为空的错误){
NSLog(“获取路线1”);
如果(错误!=nil){
NSLog(@“%@”,错误);
}否则{
}
如果(完成){
NSLog(@“路由数据%@”,路由数据);
}否则{
}
}];
[self.healthStore执行器:queryroute];
}}];//端锚
[self.healthStore executeQuery:query];