首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HealthKit: HKObserverQuery未触发

HealthKit: HKObserverQuery未触发
EN

Stack Overflow用户
提问于 2015-03-23 04:37:14
回答 2查看 1.9K关注 0票数 1

我正在尝试做一件非常基本的事情:设置一个HKObserverQuery,这样我就可以知道各种数据点何时发生变化(我已经确保用户已经授权应用程序使用相关的数据点)。无论出于什么原因,我都可以在每次启动应用程序时触发查询,但当我关闭应用程序、进入Health应用程序并手动更新数据点时,它不会触发。我已经做了相当多的搜索,但还没能成功地使用别人发布的代码,他们说这些代码对他们有效。

我已经进行了两周的Cocoa/Objective C开发,所以我确信我遗漏了一些明显的东西,但我看不到它是什么。这里的任何指导都是很棒的,即使它只是关于调试的建议。由于应用程序本身是关闭的,并且我没有收到任何可能会在控制台中注销的内容,因此我对发生的事情没有任何可见性。

我用于观察者查询的代码如下:

代码语言:javascript
复制
   HKQuantityType *heartRate = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate];
    [self.healthStore enableBackgroundDeliveryForType:heartRate frequency:HKUpdateFrequencyImmediate withCompletion:^(BOOL success, NSError *error) {
        if (success) {
            NSLog(@"observing heart rate");
            NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.bodbot.com/Scripts/wearable_heartrate_changed.php"]];
        }else{
            NSLog(@"FAILED observing heart rate");
        }
    }];
    HKObserverQuery *query = [[HKObserverQuery alloc] initWithSampleType:heartRate predicate:nil updateHandler:^(HKObserverQuery *query, HKObserverQueryCompletionHandler completionHandler, NSError *error) {
        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.bodbot.com/Scripts/wearable_heartrate_changed.php"]];
    }];

    [self.healthStore executeQuery:query];

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-09-25 22:43:47

我发现,根据经验(不是从文档中),观察者查询在模拟器中运行时不会触发,但在设备上运行时会触发。而且我没有打开后台模式功能。

票数 3
EN

Stack Overflow用户

发布于 2015-03-24 01:27:00

当你在iOS上挂起一个应用程序时,默认情况下,它会停止运行,除非它使用了background task assertion或具有background mode entitlement。应用程序不运行时无法接收通知。不过,HealthKit有一个功能,当有特定类型的新样本时,可以在后台唤醒你的应用程序。请参阅HKHealthStore的Managing Background Delivery文档。将其与HKObserverQuery结合使用,当有新数据时,即使您的应用程序尚未运行,也会收到通知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29199558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档