了解 HKSourceQuery 或一般来源的结果

2023-12-20

我刚刚做了一个 HKSourceQuery 并得到了一些结果。当我做一个println结果,我得到了这个:<HKSource:0x156c1520 "Health" (com.apple.Health)>//description of the object

我如何使用它来使用HKQuery.predicateForObjectsFromSource(/* source goes here */)


这是 Obj-c 中的示例代码,

NSSortDescriptor *timeSortDesriptor = [[NSSortDescriptor alloc] initWithKey:HKSampleSortIdentifierEndDate ascending:NO];

        HKQuantityType *quantityType = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierActiveEnergyBurned];
        HKSourceQuery *sourceQuery = [[HKSourceQuery alloc] initWithSampleType:quantityType samplePredicate:nil completionHandler:^(HKSourceQuery *query, NSSet *sources, NSError *error) {

            //Here, sources is a set of all the HKSource objects available for "quantityTypeForIdentifier:HKQuantityTypeIdentifierActiveEnergyBurned"

            HKSource *targetedSource = [[sources allObjects] firstObject];//Assume this as your targeted source
            if(targetedSource)
            {
                NSPredicate *sourcePredicate = [HKQuery predicateForObjectsFromSource:targetedSource];
                HKSampleQuery *query = [[HKSampleQuery alloc] initWithSampleType:quantityType predicate:sourcePredicate limit:HKObjectQueryNoLimit sortDescriptors:[NSArray arrayWithObject:timeSortDesriptor] resultsHandler:^(HKSampleQuery *query, NSArray *results, NSError *error) {
                   //results array contains the HKSampleSample objects, whose source is "targetedSource".
                }];
                [self.healthStore executeQuery:query];
            }
        }];
        [self.healthStore executeQuery:sourceQuery];

更新1:

  1. 无法构建HKSource手动使用对象[HKSource alloc] init]。在 HealthKit 框架中,Apple 限制使用以下方式创建对象init对于大多数香港课程。
  2. 我相信你能找到你的HKSource对象从sources设置使用HKSource属性如name and bundleIdentifier.

这是示例代码,

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.source.bundleIdentifier = 'com.XXXX.XXXXX'"];
    NSArray  *tempResults = [[sources allObjects] filteredArrayUsingPredicate:predicate];

    HKSource *targetedSource = [tempResults firstObject];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 HKSourceQuery 或一般来源的结果 的相关文章

随机推荐

  • 是否可以声明具有无限上限的 Ada 范围?

    我想在 Ada 中声明记录类型的速度范围 下面的方法行不通 但是有没有办法让它工作呢 Speed in knots range 0 to unlimited Speed float Range 0 0 unlimited 我只想要这个数字的
  • 如何从加密字符串中提取加密方法生成的IV向量

    我在提取使用 生成的 IV 时遇到问题encrypt方法来自encrypted strings我提供的特定密码库 从文档中 我看到此方法使用 C 库根据密码生成密钥和 iv 该 C 库调用与 openssl 相同的方法来生成密钥和 iv E
  • AWS ElasticBeanstalk .ebextensions 未执行

    我正在尝试在 AWS EB 上部署后完成一些事情 我已经添加了我的 ebextensions到 git 存储库 我只有一个文件01 container commands config 当我跟踪时它似乎没有运行 var log eb acti
  • Google Firestore - 构建深度嵌套的有序数据

    我正在尝试弄清楚如何使用 Cloud Firestore 构建我的锻炼应用程序的数据 数据模型如下 该应用程序有很多组练习 每组练习都有一个有序的练习列表 每个练习都有一个练习部分的有序列表 每个练习部分都有一个有序的说明列表 每条指令都有
  • 为什么要池化无状态会话 Bean?

    Java 中的无状态 bean 不会在客户端的两次调用之间保留其状态 简而言之 我们可以将它们视为具有业务方法的对象 每个方法都接受参数并返回结果 调用该方法时 会在执行堆栈中创建一些局部变量 当该方法返回时 局部变量将从堆栈中删除 并且如
  • 正则表达式匹配特定位置的字符

    我需要想出一个正则表达式来仅查找给定文本位置 9 上的字母 A F 或 E 我对正则表达式非常陌生 做了一些搜索 但找不到任何类似的响应 到目前为止我所拥有的是 9 A 该命令似乎可以在空格九上找到字母 A 但如何将其他 2 个字母添加到正
  • 使用 ImageSharp 将 Image 转换为 Byte[]

    如何使用 ImageSharp 库将图像转换为字节数组 ImageSharp 库还可以建议 提供基于 EXIF 方向的 RotateMode 和 FlipMode 吗 如果您想将原始像素转换为byte 您执行以下操作 var bytes i
  • 如何在 Angular 中不返回数据的 http.post 请求上使用“toPromise()”?

    我最近开始学习 Angular 4 并遵循 Angular io 的教程 但现在我正在尝试构建自己的应用程序 但遇到了一些问题 我花了一整天的时间试图解决这个问题 但我失败了 我正在开发一个目前只有登录和注销功能的身份验证服务 The lo
  • “如果不存在则创建表” - 如何检查架构?

    是否有 或多或少 标准方法不仅检查名为mytable存在 而且其架构是否与应有的相似 我正在尝试H2数据库 http www h2database com and CREATE TABLE IF NOT EXISTS mytable 语句显
  • 如何从字符串中获取字符数组?

    在 JavaScript 中如何将字符串转换为字符数组 我想得到一个像这样的字符串 Hello world 到数组 H e l l o w o r l d 注意 这不兼容 unicode I U split 结果在 4个字符数组 I u 这
  • 包含仅具有静态方法的类的模块

    我有一个包含许多类的 Python 模块 每个类代表一种特定的物理材料及其属性 例如密度 比热 有些属性只是float该类的成员 但许多取决于某些参数 例如温度 我通过实现这个 staticmethods 即所有的类看起来像 class C
  • 使用 Tkinter 命令“iconbitmap”设置窗口图标

    我有一个带有 Tkinter 窗口的程序 我想为该窗口设置一个图标 我使用这段代码 window iconbitmap os path dirname os path abspath file icon png 但抛出以下错误 Traceb
  • 一起使用 javascript 和 php 进行验证

    如何同时使用 php 和 javascript 从我自己的研究来看 这似乎是不可能的 我知道他们是不同的 他们每个人都有自己独特的事情 但假设您正在验证表单 您使用 javascript 验证表单 然后如果没有错误 则运行 php 插入一条
  • 为什么我的线程在 iOS 上启动几个线程后似乎失败了?

    我有这个代码 UITableViewCell tableView UITableView tableView cellForRowAtIndexPath NSIndexPath indexPath代表电话 dispatch async di
  • 如何在 Windows 中远程编辑文本

    注意 这个问题也发布在technet https social technet microsoft com Forums scriptcenter en US 99ac267f a235 4a67 b733 4a2581f6728e rem
  • adb shell 命令在 bash 脚本中不起作用

    我正在尝试编写一个 bash 脚本 运行时可以找到通过 USB 连接的设备的 IP 地址 执行此操作的 bash 脚本 usr bin bash ip adb shell sudo ip f inet addr show 然后我将在稍后的脚
  • 使用 Preact + Typescript 的类型安全事件处理程序

    我正在用 Preact 编写一个简单的组件 它使用onChange处理程序
  • 插入到已排序的数组中

    我想将一个元素插入到排序列表中顺序保持的正确位置 我为数组分配了 2 n 大小 并用 999 填充其余部分 因为它们当前未使用 ordered insert int number int array int size int i 0 int
  • 灵活数字格式

    我想将数字格式化为印度格式 例如 x 123456 应格式化为 1 23 456 我怎样才能在Flex中做到这一点 Thanks 使用数字格式化程序
  • 了解 HKSourceQuery 或一般来源的结果

    我刚刚做了一个 HKSourceQuery 并得到了一些结果 当我做一个println结果 我得到了这个