【问题标题】:How can I use Swift 2.3 in XCode 8 Playgrounds?如何在 XCode 8 Playgrounds 中使用 Swift 2.3?
【发布时间】:2016-06-15 22:41:12
【问题描述】:

我的 Playground 项目是用 Swift 2.2 编写的,我想利用时间线视觉效果并尝试 Xcode 8 beta 中引入的新调试功能。默认情况下,Xcode 8 beta 在 Playgrounds 中使用 Swift 3,我找不到改变它的方法。不幸的是,将我的代码更新到 Swift 3 不是一种选择,因为我的代码将在具有 Swift 2.2 环境的服务器上编译。

【问题讨论】:

  • 当你说游乐场项目时,你是指.playground 还是.xcodeproj
  • 我的意思是.playground

标签: swift swift-playground xcode8


【解决方案1】:

不幸的是,根据 Apple 的说法,这是不可能的:

例如,Xcode 中的 Playgrounds 仅适用于 Swift 3,尤其是适用于 iPad 的 Swift Playgrounds 应用程序也使用 Swift 3。Xcode 项目模板都使用 Swift 3,并且所有文档都以适合 Swift 3 的格式呈现。

更多here.

【讨论】:

    【解决方案2】:

    您可以将 Swift 2.2 转换为 Swift 2.3 以在 Xcode-beta 8 中使用。

    是的,Swift 3 是默认设置,但是当您在 Xcode 中执行 Edit > Convert > To Current Swift Syntax... 时,您会看到以下对话框。

    这也在我的 project.pbxproj 中为SWIFT_VERSION = 2.3 创建了一个条目

    【讨论】:

    • 不回答如何更改 Playgrounds 正在使用的 swift 版本的问题。
    • @RobLabs 这对我不起作用。如果我将 Playground 保存为工作区,Edit > Convert > To Current Swift Syntax... 将变为可用,但它会挂起并显示消息 "Generating preview..."
    • 我认为这是另一种情况,因为 Playgrounds 不包含 *.pbxproj 包,因此没有项目设置,因此无法设置 SWIFT_VERSION = 2.3
    • 这绝对行不通,在尝试了许多不同的事情之后,除了 Xcode 中最新版本的 Swift 之外,没有办法告诉 Playground 使用任何东西。
    【解决方案3】:

    我在一个项目中有一个遗留的 Playground(使用 xcode 7 创建),我已经在 XCode 8 上迁移到 Swift 2.3 语法,即使它仍然使用 Swift 2.3 语法,我的 Playground 也可以工作,所以我想有一种方法。

    【讨论】:

      猜你喜欢
      • 2017-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 2023-03-17
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多