Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从目标C中的健康工具包读取训练路线数据时出错_Objective C_Xcode_Healthkit - Fatal编程技术网

Objective c 从目标C中的健康工具包读取训练路线数据时出错

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上的服务的连接被中断,但该消息是通过其他代理发送的,因此该代理无效 我已经获得了锻炼和锻炼

在health kit中,当我尝试从训练样本中收集路线数据时,我得到错误:

Domain=nscocaerorrordomain Code=4099“与名为com.apple.healthd.server的pid 0上的服务的连接被中断,但消息是通过其他代理发送的,因此此代理已无效。”UserInfo={NSDebugDescription=与名为com.apple.healthd.server的pid 0上的服务的连接被中断,但该消息是通过其他代理发送的,因此该代理无效

我已经获得了锻炼和锻炼路线许可,并且导入了核心位置并获得了“使用时”位置许可。我使用的是真正的iPhone 8,而不是模拟器

我的代码如下。任何帮助都将不胜感激

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];