更改 Carthage Swift 版本

Change Carthage Swift version

是否可以更改用于构建框架的 Carthage Swift 版本?

我正在尝试将我的项目迁移到 swift 3(在 Xcode 8 beta 上),而第三方库是唯一阻止我的项目编译的东西。 在为 swift 3 使用特定分支时,Carthage 会抛出有关新 Swift 语法的错误。

任何帮助将不胜感激!

Carthage 使用命令行工具 xcodebuild 构建框架。命令行系统使用的Xcode版本由工具选择的值决定xcode-select

Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path

它需要指向 Developer SDK 目录,因此您可以使用 --print-path 检查它当前指向的位置。

xcode-select --print-path
/Applications/Xcode.app/Contents/Developer

然后改变它 运行 sudo xcode-select --switch <path-to-beta-xcode>/Contents/Developer

Carthage 的 GitHub 上有一个关于 XCode 8 和破坏的兼容性的错误报告。您可能想在他们的 repo 上关注该问题的主题:

https://github.com/Carthage/Carthage/issues/1440

Carthage 回购中的另一个相关报告问题是:https://github.com/Carthage/Carthage/issues/1445