【发布时间】:2020-08-30 13:41:52
【问题描述】:
我们有一个聊天 API 框架。我们通过 cocoapods 提供 .framework 文件,因为我们不想显示代码。我们面临的问题是我们必须为每个 Xcode 版本创建 .framework 文件,因为每个 Xcode 都有不同的编译器版本
11.0 => 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)
11.1 => 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)
11.2 => 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9)
11.3 => 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
11.3.1 => 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
11.4 => 5.2 (swiftlang-1103.0.32.1 clang-1103.0.32.29)
11.4.1 => 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)
当我们尝试在 Xcode 11.0 中导入使用 Xcode 11.4 构建的框架时,它会给出错误“使用 Swift 5.2 编译器编译的模块无法在编译器 5.1 中导入”
任何解决方案,因为我们不能要求我们的客户更改 Xcode 版本。
【问题讨论】:
-
你为什么不找到你想要支持的最小 swift 版本(检查你的用户群,找到他们正在使用你的框架的最低 swift 版本)并坚持下去,直到你找到一些范式转变的变化在最新的 swift 版本中。万一您必须切换到最新的 swift 版本,而不是将其设为您支持的最小 swift 版本。
-
@SandeepBhandari 这与 Swift 版本无关。我们将 Swift 版本设置为 4.2。它是关于 Xcode 编译器版本来编译框架的。
标签: ios swift frameworks cocoapods xcode11