标签: swift-compiler

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

我正在构建一个 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 …
Run Code Online (Sandbox Code Playgroud)

xcode swift swift-framework swift-compiler

9
推荐指数
0
解决办法
4229
查看次数

为什么工具链中的 swift 5.7 找不到 Regex?

我相信我正在从命令行运行 Swift 5.7,并且 Swift 5.7 应该具有新的 Regex 类和 /.../ 语法。但似乎并非如此。

我有以下 Swift 源代码“parse.swift”。但 Swift 似乎不理解 Swift 5.7 /.../ 语法来指示 Regex (生成的错误不应该用于合法的 regex 模式),所以我尝试了一种不同的方法,发现它无法识别新的 Regex 类本身。

let pattern = #"^ ,([A-Z][A-Z])([0-9][0-9]),(.*?),(.*?) "#
let regex = try! Regex(pattern)
Run Code Online (Sandbox Code Playgroud)

$ swift parse.swift < somefile

parse.swift:3:18:错误:在范围内找不到“Regex”
让正则表达式 = 尝试!正则表达式(模式)
                 ^~~~~

有什么我需要导入或做不同的事情吗?

这是它说我正在运行的版本:

$ swift --version

Apple Swift 版本 5.7-dev(LLVM eecf02df5133efe、Swift ad06e7d7251311a)
目标:arm64-apple-macosx12.0

我通过从 ~/.zshrc 导出以下内容来选择 5.7 版本的 Swift

export TOOLCHAINS=org.swift.57202206261a
export TOOLCHAIN_DIR=/Library/Developer/Toolchains/swift-5.7-DEVELOPMENT-SNAPSHOT-2022-06-26-a.xctoolchain
Run Code Online (Sandbox Code Playgroud)

regex toolchain swift-compiler swift5.7

5
推荐指数
0
解决办法
271
查看次数