gpt4 book ai didi

ios - iOS 11 中的 NSFoundationVersionNumber - 如何以编程方式检测 iOS 版本

转载 作者:IT王子 更新时间:2023-10-29 08:09:44 24 4
gpt4 key购买 nike

在以前的 iOS 版本中,我使用 NSFoundationVersionNumber 来检测 iOS 版本:

#define IS_IOS10orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max)
#define IS_IOS9orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_8_3)
#define IS_IOS8orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1)
#define IS_IOS7orHIGHER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
#define IS_IOS6orHIGHER (floor(NSFoundationVersionNumber) >= NSFoundationVersionNumber_iOS_6_0)
...

现在我想为 iOS 11 做同样的事情,但我找不到正确的 NSFoundationVersionNumberThe docs显示 NSFoundationVersionNumber_iOS_9_x_Max 是最新的。

那么,如何使用正确的 NSFoundationVersionNumber 来检测是否使用了 iOS 11?

最佳答案

如果您使用的是 Xcode 9 或更高版本,您可以使用 @available 属性:

if (@available(iOS 11.0, *)) {
NSLog(@"newest");
} else {
NSLog(@"not newest");
}

在 Swift 中,它是相同的,但拼写为 #available 而不是 @available

这是比其他方法更好的方法的原因是编译器知道它,并且会适本地抑制可用性警告。因此,在上面的示例中,您可以在 if block 中使用 iOS 11.0 中引入的 API,而不会收到关于这些 API 对您的项目部署目标不可用的警告。

关于ios - iOS 11 中的 NSFoundationVersionNumber - 如何以编程方式检测 iOS 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45842370/

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