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

时间:2018-05-30 16:53:31

标签: ios swift swift4

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

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

我尝试在项目常规标签

下的链接框架和库下将IceCream框架设为可选框架

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

#if canImport(IceCream)
  import IceCream
#endif

上面的import语句仍然会引发构建错误:模块部署目标是iOS10

我缺少什么配置?

2 个答案:

答案 0 :(得分:1)

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

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

您应该考虑else代码。

答案 1 :(得分:0)

为了使其工作。您可以在-weak_framework IceCream

中设置Other Linker Flags

不需要canImport