iOS的将来版本中,forIdentifier方法的quantityType已被弃用?

8

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

enter image description here

因此,我查阅了Apple的开发者文档以获取其他替代方案。令人惊讶的是,该文档中并未标记为即将被弃用。

在这种情况下应该相信哪个来源?如果quantityType(forIdentifier:)确实将在未来被移除,是否已经有了已知的替代方法?


2
不确定为什么这个问题被投票否决,所以我把它顶了起来。这样就省得我再发同样的问题了! - DavidS
1个回答

10
代码补全对话框只是报告了它所查看的头文件中可以自己看到的内容:
@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

extension HKQuantityType {
    @available(iOS 15.0, watchOS 8.0, macOS 13.0, *)
    public convenience init(_ identifier: HKQuantityTypeIdentifier)
}

1
我不知道如何解释100000。此外,苹果自己文档中几乎所有的示例代码都使用了“已弃用”的版本。又学到了一些东西!谢谢 ;) - Leo
2
对于那些只是匆匆浏览答案,寻找代码并意外跳过替换部分的人(就像我一样,我读了三遍才注意到),替换代码应该是:HKQuantityType(HKQuantityTypeIdentifier),适用于iOS 15。 - vicegax
@vauxhall 请随意编辑我的答案,添加对原始代码的重写。 - matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接