【问题标题】:How can I choose Swift compiler version如何选择 Swift 编译器版本
【发布时间】:2016-07-12 19:17:30
【问题描述】:

我使用的是 Xcode 7.3,但我的项目使用的是 Swift 2.1。我现在不想更新我的代码。那么如何选择或下载旧版本的 Swift 编译器呢?非常感谢!

【问题讨论】:

  • 如果你不想升级 Swift,就不要升级 Xcode。
  • @rmaddy 有没有其他办法?
  • 如果您正在为应用商店构建应用,您唯一的选择是使用 Xcode 7.2 或将您的代码更新到 Swift 2.2。
  • 请注意,您可以安装多个版本的 Xcode,因此您可以在现有项目上使用 Xcode 7.2,并在需要时在新项目上使用 Xcode 7.3。

标签: ios xcode swift


【解决方案1】:

Xcode 9 - Xcode 10

选择你的目标,然后在你的Build Settings,搜索“swift language”然后你会找到Swift Language Version

【讨论】:

    【解决方案2】:

    如果您关注涉及a .xctoolchainXcode 9 测试版的答案,您将遇到类似以下的错误: <unknown>:0: error: unknown argument: '-index-store-path' Command /Library/Developer/Toolchains/swift-3.1.1-RELEASE.xctoolchai‌​n/usr/bin/swiftc failed with exit code 1

    原因是 Apple 添加了一个新功能/参数,但它还没有进入 Swift 开源。您可以通过从命令行启动 Xcode 并禁用该功能来解决此问题,如下所示: /path/to/Xcode-beta.app/Contents/MacOS/Xcode -IDEIndexEnableBoltIndex NO

    感谢the Swift team

    【讨论】:

      【解决方案3】:

      以下示例在 Xcode 8.3 和 swift 3.1 上测试

      如果您使用的是 Xcode 8,您可以下载所需 Swift 版本的工具链

      1) 打开此链接: https://swift.org/download/#releases

      2) 下载您需要的 swift 版本的工具链。例如我有 3.1 版本的 swift 并下载了 swift 3.0.2

      3) 打开 .pkg 文件并安装它。

      4) 打开 Xcode 并在菜单中选择:

      Xcode -> 工具链 -> 选择你需要的 Swift 版本。

      大家都这样

      【讨论】:

      • 谢谢。不过,在 Xcode 9-Beta 中,我得到了 &lt;unknown&gt;:0: error: unknown argument: '-index-store-path' Command /Library/Developer/Toolchains/swift-3.1.1-RELEASE.xctoolchain/usr/bin/swiftc failed with exit code 1。知道为什么吗?
      • @Guy Daher 您能否提供更多信息,您何时收到此错误?你的项目中有 cocoapods 或其他依赖项吗?也许这有帮助?
      • @GuyDaher 我相信 Xcode 8.3 修复了它。尝试清理您的构建,清理 pod 并再次运行“pod install”
      【解决方案4】:

      最初我发布了这是一条评论,但我应该只是将其发布为答案:

      如果您正在为 App Store 编写应用程序,则只能使用 Xcode (see “Submitting Apps to the App Store using Xcode”) 的发布(非测试版)版本以及随该版本 Xcode (see “Using Downloads / Apple Platforms”) 提供的工具链。因此,您可以使用 Xcode 7.2 并继续使用 Swift 2.1,也可以使用 Xcode 7.3 并将代码更新到 Swift 2.2。

      您可以安装多个版本的 Xcode。 您可以保持安装 Xcode 7.2 并将其用于未更新的 Swift 2.1 项目,并将 Xcode 7.3 用于新项目。请注意,您必须在适当版本的 Xcode 中手动打开每个项目。 You can download old versions of Xcode here.

      如果您不打算将您的应用放入 App Store,那么也许您可以从 Xcode 7.2 捆绑包中提取 Swift 2.1 工具链并将其转换为 a .xctoolchain for use with Xcode 7.3,但是您'如果你走那条路,就真的处于未探索、不受支持的领域。

      【讨论】:

      • 这些脚本对于同时管理多个版本的 Xcode 非常方便:github.com/neonichu/xcode-install 就我个人而言,我绝不会将它留给 Mac App Store 来为您管理 Xcode。
      • 天哪,我没想到这么糟糕
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      相关资源
      最近更新 更多