quantityType(forIdentifier:) 在 iOS 的未来版本中被弃用?

quantityType(forIdentifier:) deprecated in a future version of iOS?

Xcode(我使用的是 v13.1)警告我,quantityType(forIdentifier:) 将在 iOS 的未来版本中弃用。

因此,我在 Apple's developer documentation 中查看了其他要使用的提示。令人惊讶的是,在文档中它没有被标记为在不久的将来弃用。

在这种情况下该相信哪个来源?如果将来 quantityType(forIdentifier:) 确实要删除,是否已经有已知的替代品?

代码完成对话框仅报告如果您查看与它正在查看的内容相同的 header 您自己可以看到的内容:

@available(iOS, introduced: 8.0, deprecated: 100000)
open class func quantityType(forIdentifier identifier: HKQuantityTypeIdentifier) -> HKQuantityType?

100000表示“未知的未来”。不用着急;这只是一个警告。

但您不妨现在就开始更新您的代码。替换将是这个初始值设定项:

https://developer.apple.com/documentation/healthkit/hkquantitytype/3778608-init

HK数量类型

尝试HKQuantityType.quantityType(...)

示例:

guard let activityEnergyType = HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.activeEnergyBurned) else { return }