【问题标题】:How to detect iPhone OS version in the app?如何在应用程序中检测 iPhone OS 版本?
【发布时间】:2010-12-23 15:40:13
【问题描述】:

我想在应用程序中检测 iPhone OS 版本,您也可以发布示例代码。我尝试使用没有帮助的宏。

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    如果要条件编译,则需要使用宏:

     #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 上编译并导致崩溃。
    【解决方案2】:

    除了其他答案中给出的编译时检查之外,您还可以使用 Swift 的 @available 属性来添加从特定操作系统版本开始的新功能。

    if (@available(iOS 13.4, *)) {
        // Only executes above version 13.4.
    }
    

    Here 是对操作系统版本检查和使用演变的一个不错的总结。

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 2010-12-15
      • 2011-12-16
      • 1970-01-01
      • 2012-09-09
      • 2013-06-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      相关资源
      最近更新 更多