如何在应用程序中检测iPhone操作系统版本?

9

我希望在应用程序中检测iPhone操作系统的版本号,你能提供示例代码吗?我尝试使用宏来实现,但没有成功。

2个回答

35

如果您想进行条件编译,您需要使用宏:

 #if __IPHONE_8_0
 // Works on >= version 8.0
 #else
 // Works on < version 8.0
 #endif

或者,作为替代方案,在运行时使用以下方式进行检查:

float ver = [[[UIDevice currentDevice] systemVersion] floatValue];
if (ver >= 8.0) {
    // Only executes on version 8 or above.
}

你确定 #ifdef 起作用了吗?我刚试了一下 __IPHONE_8_0,代码在 7.0 上编译并导致崩溃。 - Albert Renshaw

0
除了其他答案中提供的编译时检查之外,您还可以使用Swift的@available属性,在特定的操作系统版本上添加新功能。
if (@available(iOS 13.4, *)) {
    // Only executes above version 13.4.
}

这里有一个不错的操作系统版本检查和使用演变的摘要。


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