Swift 版本冲突:编译器不支持此 SDK - 使用 BUILD_LIBRARY_FOR_DISTRIBUTION 设置。可能是什么问题?

Seb*_*lin 9 xcode swift swift-framework swift-compiler

我正在构建一个 Swift 静态库:

  • Xcode 13.2(Swift 编译器 5.5.2)
  • iOS 部署目标 12.0
  • 构建用于分发的库
  • 跳过安装
  • Swift 语言版本 5 并尝试使用 CocoaPods 管理的 4.2 依赖项:
  • 日本3.0.0
  • 阿拉莫菲尔 5.2.2
  • 接收Swift

当我尝试使用此设置将其添加到 iOS 项目时:

  • Xcode 13.3(Swift 编译器 5.6)
  • iOS 部署目标 12.0
  • Swift 语言版本 5 并尝试使用 4.2 并构建我收到此错误:
Failed to build module 'LibraryX'; this SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 5.5.2 effective-4.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)', while this compiler is 'Apple Swift version 5.6 effective-4.2 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)'). Please select a toolchain which matches the SDK.
Run Code Online (Sandbox Code Playgroud)

这些是 .swift 接口中的标头

// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.5.2 effective-4.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
// swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 4.2 -enforce-exclusivity=checked -Onone -module-name LibraryX
Run Code Online (Sandbox Code Playgroud)

显然,如果我使用相同的编译器版本构建项目或使用 iOS 项目构建库,一切都会正常。但这里的目的是发布预编译库而不是它的源代码。

每次我在线查找此错误时,我都会发现“您必须将用于分发的构建库设置为是”

我尝试将静态库的源代码添加到新的框架项目中,但得到了相同的结果。