gpt4 book ai didi

ios - 健康工具包观察者查询总是在应用程序激活时调用

转载 作者:可可西里 更新时间:2023-11-01 01:38:06 26 4
gpt4 key购买 nike

HKObserverQueryresultHandler 总是在应用程序激活时(后台 -> 前台)调用

但是,我在 AppDelegate.swiftdidFinishLaunchingWithOptions 方法中编写了查询代码。我知道该方法是在应用程序启动时调用的,而不是应用程序激活时调用的。

func application(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
healthStore.authorizeHealthKit {
...
}
}
// other AppDelegate methods are empty

如何让查询的处理程序仅在我的应用程序启动时调用?

最佳答案

为什么要阻止 updateHandler 触发?

当查询运行时,您无法控制 HKObserverQuery 的 updateHandler 何时触发。您可以通过停止查询来阻止它被调用。它被设计为在可能有新的 HealthKit 数据与您的谓词匹配时被调用。您应该设计您的 updateHandler,使其在调用时无关紧要。

如果您真的希望当您的应用程序返回前台时不触发观察者查询,您需要在您的应用程序进入后台时使用 -[HKHealthStore stopQuery:] 完全停止查询,在暂停之前。

关于ios - 健康工具包观察者查询总是在应用程序激活时调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139181/

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