【问题标题】:How to differentiate code based on iOS version during compile time如何在编译时根据 iOS 版本区分代码
【发布时间】:2020-04-26 01:55:58
【问题描述】:

我一直在为 iOS 12+ 版本使用 'UIKit.UIUserInterfaceStyle UIKit.UITraitCollection::get_UserInterfaceStyle()' API。我需要在 iOS 版本 9+ 上编译源代码,我需要使用条件编译来区分上述 API 的用法。有没有可能完成它。

【问题讨论】:

  • 您知道,如果您将其确定为编译时间,则生成的应用程序将仅在编译时定义的 iOS 版本上运行。
  • 嗨 rckoenes,我不明白你的意思
  • 我的意思是,您应该在运行时而不是编译时检测到这一点。因为在编译时你不知道你的代码将在什么设备上运行。

标签: ios xamarin xamarin.ios ios9


【解决方案1】:

您可以在运行时查看设备版本并选择是否使用API​​:

if (UIDevice.CurrentDevice.CheckSystemVersion(12, 0))
{
    //use api in iOS 12
}
else
{
    //...
} 

【讨论】:

    猜你喜欢
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 2011-10-19
    • 2014-10-07
    • 2022-07-13
    • 1970-01-01
    相关资源
    最近更新 更多