如何在Swift中有选择地导入框架?

时间:2017-10-02 22:55:49

标签: ios swift import frameworks

我有一个需要iOS和tvOS使用的共享框架,但我想有选择地导入仅适用于iOS的框架(CoreTelephony)。快速的语法说你可以添加一个属性,但这不起作用:

@available(iOS 10.0, *) import CoreTelephony

这根本不受支持吗?我是否需要继承子类才能导入iOS特定的框架?

1 个答案:

答案 0 :(得分:6)

对于Swift< = 4.0,您可以使用os()配置测试功能:

#if os(iOS)
  import CoreTelephony
#endif

您还必须打包使用CoreTelephony的代码。

os()的所有可用测试均为:macOSiOSwatchOStvOSLinuxWindows,和FreeBSD

对于Swift> = 4.1,您还可以使用canImport()

#if canImport(CoreTelephony)
  import CoreTelephony
#endif