草庐IT

HKObserverQuery

全部标签

ios - HKObserverQueryCompletionHandler 超时?

我使用HKObserverQuery和backgrounddelivery在我的iOS应用程序中。在HKObserverQuery的updateHandler中,我执行查询(HKAnchoredObjectQuery)并通过https将结果发送到远程服务器。但是在慢速连接(例如EDGE)和大量数据(例如steps)的情况下,数据发送可能需要长达一分钟的时间。来自documentation到HKObserverQueryCompletionHandler:WhenHealthKitwakesyourapp,itcallstheupdatehandleronanyobserverqueri

ios - HKObserverQuery后台转换的逻辑是什么?

我需要我的应用在后台同步HealthKit和我们的数据库。我只是无法理解确定HKObserverQueries如何以及何时运行其updateHandlers的逻辑。我需要各种不同样本类型的数据,所以我假设我需要针对每个样本类型进行观察者查询。正确的?根据Apple关于函数enableBackgroundDeliveryForType的说法,“只要指定类型的新样本保存到商店,HealthKit就会唤醒您的应用。”但是,如果我启用后台传输并执行观察者查询(例如,血糖和体重),那么每当我在Health应用程序中的任何一个中输入数据时,它们两者似乎都会运行它们的更新处理程序。即使我只为其中一种

ios - 如何使用 HKObserverquery 读取 iOS Healthkit 血压(收缩压,舒张压)?

通过使用以下代码,当healthkit中有可用数据时,我可以使用观察者查询自动读取心率数据。HKSampleType*readGlucoseType;readGlucoseType=[HKSampleTypequantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate];query=[[HKObserverQueryalloc]initWithSampleType:readGlucoseTypepredicate:nilupdateHandler:^(HKObserverQuery*query,HKObserverQueryCo

ios - HKObserverQuery 连续两次随机调用

我有一个问题要解决,我设置了一个HKObserveryQuery,它运行良好并为我收集了新数据。但问题是,有时当我返回健康应用程序并在手动将其添加到健康应用程序后删除项目时,我注意到HKObserverQuery我已经设置了火灾两次非常接近,我试图解决这个问题,因为我使用这个观察者稍后上传一些数据,我不想重复。如果能提供任何帮助,我将不胜感激。代码:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{[selfsetup];ret

ios - disableBackgroundDeliveryForType 是否删除对应的 HKObserverQuery?

在HealthKit中,您创建一个HKObserverQuery,执行它,然后启用BackgroundDeliveryForType。letbackgroundQuery:HKObserverQuery=HKObserverQuery(sampleType:quantityType,predicate:nil){(query,complete,error)->Voidin}self.healthKitStore.executeQuery(backgroundQuery)self.healthKitStore.enableBackgroundDeliveryForType(quantit