首页 > 解决方案 > #if canImport(module) 仍然无法解决 Swift 4.1 中的条件导入语句?

问题描述

我的应用程序支持 iOS 9 版本。我添加 Icecream 框架以同步领域对象的框架之一需要 iOS 10 或更高版本。

如何使框架的导入有条件?

我尝试在项目常规选项卡下的链接框架和库下将 IceCream 框架设置为可选

在 Swift 4.1 中,您可以使用canImport指令进行条件导入,就像我尝试过的那样。

#if canImport(IceCream)
  import IceCream
#endif

上面的import语句还是会抛出构建错误:Modules deployment target is iOS10

我缺少什么配置?

标签: iosswiftswift4

解决方案


您还需要在该宏中包含 IceCream 框架的调用功能,例如

#if canImport(IceCream)
  let iceCream = IceCream()
  let text = ceCream.toString()
#else
  // and now?
#endif

你应该考虑一下 else 代码。


推荐阅读