- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在以前的 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 做同样的事情,但我找不到正确的 NSFoundationVersionNumber
。 The 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/
这个问题在这里已经有了答案: How to check iOS version? (36 个答案) 关闭 7 年前。
好吧,我想我的问题真的很简单。 我使用 NSFoundationVersionNumber 来检查我的应用程序的版本,并使其与 iOS6 和 iOS7 兼容。 if (NSFoundationVers
在以前的 iOS 版本中,我使用 NSFoundationVersionNumber 来检测 iOS 版本: #define IS_IOS10orHIGHER (floor(NSFoundationV
我是一名优秀的程序员,十分优秀!