gpt4 book ai didi

ios - 将 HKSampleQuery 结果限制为来自您自己的应用程序的输入

转载 作者:行者123 更新时间:2023-11-29 10:23:34 24 4
gpt4 key购买 nike

我希望将 HealthKit HKSampleQuery 返回的结果限制为通过我自己的应用程序输入的结果。有没有一种方法可以仅使用我的应用程序包标识符指定结果,从而排除从其他应用程序返回的任何其他数据源?

有没有办法用 NSSortDescriptorNSPredicate 来指定它,正如我在下面尝试的那样?

func querySteps() {
// let sort = NSSortDescriptor(key: "bundleIdentifier", ascending: true, selector: "com.companyName.appName:")
// let resultPredicate = NSPredicate(format: "bundleIdentifier", "com.companyName.appName")

let sampleQuery = HKSampleQuery(sampleType: healthKitManager.stepsCount!,
predicate: nil,
limit: 100,
sortDescriptors: nil)
{ [unowned self] (query, results, error) in
if let results = results as? [HKQuantitySample] {
self.steps = results
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.tableView.reloadData()
});

}
}

healthStore?.executeQuery(sampleQuery)
}

最佳答案

上述问题的简单一行解决方案。使用 HKQuery 创建指定数据源的谓词对象:

let thePredicate = HKQuery.predicateForObjectsFromSource(HKSource.defaultSource())

然后用 thePredicate 替换掉 nil 谓词参数值,在这种情况下。然后, TableView 中的结果将仅显示您自己的应用程序的 HKQuery 结果。

关于ios - 将 HKSampleQuery 结果限制为来自您自己的应用程序的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com