Tag: 健康工具包

HealthKit(iOS)不会在后台传递数据(objC)

我们目前正在尝试让HealthKit在后台工作,以便在应用程序closures时将步骤数据传递到我们的服务器。 为了实验目的,我们在XCode中创build了一个全新的iOS项目,启用了HealhtKit和兼容性中的所有背景模式。 之后,我们几乎可以运行代码(详见下文)。 那么首先会发生的事情是,应用程序要求我们授予的权限。 我们期望的是,应用程序应该每隔一小时向服务器传送步骤数据。 但它不这样做,似乎应用程序无法做任何事情,当它不活跃。 应用程序只能在恢复或启动时传递数据,但完全不会从背景(软closures/硬closures) appdelegate.m: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self setTypes]; return YES; } -(void) setTypes { self.healthStore = [[HKHealthStore alloc] init]; NSMutableSet* types = [[NSMutableSet alloc]init]; [types addObject:[HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount]]; [self.healthStore requestAuthorizationToShareTypes: types readTypes: types completion:^(BOOL success, NSError *error) { dispatch_async(dispatch_get_main_queue(), ^{ [self observeQuantityType]; [self enableBackgroundDeliveryForQuantityType]; }); }]; } -(void)enableBackgroundDeliveryForQuantityType{ […]

HKAnchoredQuery更新处理程序无法正常工作

我写了一个代码来从Health kit获取心率值。 该代码工作正常,但是当新的心脏值在Health kit中更新时。 我必须来到主屏幕,然后多任务我的应用程序来获取更新的结果。 我的目标是在没有重新开放或多任务处理的情况下获取应用程序的更新结果,请帮助我,因为我是iOS开发新手。 我的代码: – -(void)get_heartRates { //code to get the updated heart beats HKSampleType *sampleType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]; HKObserverQuery *query = [[HKObserverQuery alloc] initWithSampleType:sampleType predicate:nil updateHandler:^(HKObserverQuery *query, HKObserverQueryCompletionHandler completionHandler, NSError *error) { if (error) { NSLog(@"error occured while setting observer. %@ ", error.localizedDescription); abort(); } // Take whatever steps are necessary […]

忽略来自Apple Health应用程序的手动条目作为数据源

嗨,我正在写一个健身应用程序,从苹果健康应用程序获取其数据。 到现在为止还挺好。 问题:在健康应用程序中,可以手动input数据,从而可以作弊。 问题:我如何排除或忽略这个特定的数据条目。 只是数据与“来源:健康”,所以我仍然有可能从一个随机的健身追踪器读取数据。

iOS HealthKit如何保存心率(bpm)值? 迅速

如何使用:HKUnit 样本types单位types单位名称单位string心率计数/时间每分钟节拍“计数/分钟”

如何强制一个HKQuery加载最新的步骤计数?

目前我正在尝试使用HKStatisticsQuery来获取特定时间间隔内的步数。 我正在通过自己shaking手机进行testing。 但是,我得到的结果似乎不是最近的结果,除非: 我打开Health.app ,保持它在后台运行,然后在我的应用程序中再次testing; 我打开UP app ,让它在后台运行,并在我的应用程序中再次做testing。 如果我强制退出Health.app或UP app ,我的应用程序将无法再获取最新的数据。 因此,UP必须做我缺less的东西,但我找不到任何“重新加载”像HKHealthStore方法,或HKQuery/HKStatisticsQuery任何相关选项。 我使用的代码非常简单,如下所示。 我想知道是否有任何权限或我错过了什么。 let predicate = HKQuery.predicateForSamplesWithStartDate(date_start, endDate: NSDate(), options: HKQueryOptions.StrictStartDate) var type = HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierDistanceWalkingRunning) var query = HKStatisticsQuery(quantityType: type, quantitySamplePredicate: predicate, options: .CumulativeSum | .SeparateBySource, completionHandler: { query, stats, error in ( /*logs here*/ ) }) let healthStore = HKHealthStore() healthStore.executeQuery(query) 编辑:我也试图写一些数据到HealthKit但查询不会得到更新。 编辑2:当我说“最近的步骤计数”我的意思是这样的:1.执行HKQuery; […]

当应用程序未运行时的Healthkit后台传送

如果HealthKit后台交付没有运行,可以启动应用程序吗? 特别是在终止状态?