ios - 如何在编译时基于 ios 版本以 swift 代码导入类(不在 Xcode 中设置标志或使用弱链接)?

标签 ios swift3

基于ios版本,我想将一个特定的类导入到我的类中。我必须纯粹通过代码来做到这一点(Xcode 和任何其他手动设置在我的情况下不起作用)。关于如何做到这一点的任何指示?

例如

#import classA

//code to ensure if ios version > 3.0 then import classB

public class myClass{
...
}

最佳答案

这是不可能的。导入的内容必须在编译时确定,因为导入是一个编译时操作。 iOS 版本在运行前是未知的。在编译时您只知道部署目标和 SDK 版本。

我建议在必要时使用常用的 Swift 可用性检查 ( Apple docs ) 和弱链接。或者您可以提高部署目标(如果可以的话)。或者你找到一个库,即使对于较低的 iOS 版本也可以解决问题。

关于ios - 如何在编译时基于 ios 版本以 swift 代码导入类(不在 Xcode 中设置标志或使用弱链接)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44365649/

相关文章:

ios - 扫描二维码并打开 URL – Swift AVFoundation 库

ios - 调用可以抛出,但是没有标记 'try' 错误没有处理: NSRegularExpression

ios - TabBar 和导航 Controller

ios - 核心数据中带有表别名的 SQL SELECT

ios - CAShapeLayer 线条的圆角

ios - 如何在另一个自定义表格 View 中快速创建自定义表格 View

swift3 - 如何在 Swift 3.0 中的后 View Controller 的 View 处于事件状态时禁用前 View Controller 的 View SWRevealViewController

iphone - 可以在没有真实设备的情况下测试 iPhone 应用程序吗?

ios - UICollectionView 单元格的 "Lazy Drawing"

ios - X 位置约束未以编程方式更新 - Xcode 中的 Swift