【问题标题】:Compile Swift on 10.9?在 10.9 上编译 Swift?
【发布时间】:2014-09-26 04:02:25
【问题描述】:

直到今天下午,当我下载最终的 Xcode 6 时,我才能够在我的 10.9 机器上使用 Swift。现在我得到这个错误:

OS X targets using Swift cannot be built against an SDK older than 10.10, but the effective SDK is 10.9.

我保存了我的 Xcode 6B7 副本,但现在在该版本中打开项目也会导致同样的错误。

有人解决了吗?我不想在这台机器上安装 10.10。

【问题讨论】:

  • 好的,所以第一个问题是他们忘记将 10.10 SDK 放在 Xcode 包中。好一个苹果。您可以通过下载 6.1 测试版并复制它来获得其中之一。该应用程序现在编译。不幸的是,即使目标设置为 10.9,它也不会运行应用程序,抱怨我的 10.9.2 机器比 10.9 旧。

标签: swift xcode6


【解决方案1】:

Xcode 6.0 仅支持在 iOS 中使用 Swift。此版本的 Xcode 不支持将 Swift 与 Mac OS X 一起使用,您需要为此获取 Xcode 6.1 beta。以前的 Xcode 6.0 测试版支持 Swift for OS X,但那是因为当时 Xcode 6.1 测试版还没有推出。

来自 Xcode 6.0 发行说明:

对 OS X 的 Swift 支持

*与 OS X Yosemite 一起发布的 Xcode 未来版本将添加对 OS X 的 Swift 支持,包括 Playgrounds 和 REPL。 Xcode 6.0 仅支持 iOS 项目和 Playground 的 Swift。 Xcode 的 Swift 测试版同时支持 OS X 和 iOS 在 developer.apple.com/xcode/downloads/

【讨论】:

    【解决方案2】:

    好的,这是独家新闻:

    下载 GM 后,您将拥有一个无法使用的 Xcode,Apple 忘记将 sdk 包含在应用程序包中。所以现在你还必须下载 6.1 beta,显示包内容,然后转到文件夹:

    /Volumes/Xcode/Xcode-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer
    

    注意我已经从磁盘映像打开了应用程序包,因此是卷名。在该 SDKs 文件夹中,您将找到 MacOSX10.9.sdk 和 MacOSX10.10.sdk。 GM 版本缺少后者。因此,请在方便的地方复制一份,例如您的桌面。

    好的,现在在GM版本中找到相同的路径。我的安装在我的应用程序文件夹中,所以它在这里:

    /Applications/Xcode 6.app/Contents/Developer/Platforms/MacOSX.platform/Develope
    

    您会注意到缺少 MacOSX10.10.sdk 文件夹。好的。好的,将测试版中的版本复制到此文件夹中。

    重启 Xcode,打开你的项目并清理。现在非常仔细地查看 SDK 或部署目标的 每个 设置。 SDK 必须是 10.10,部署目标必须是 10.9。这出现在多个屏幕上的很多地方,所以仔细查看

    编译并运行。并修复了我在 B6 和 B7 中的 Xcode 中看到的崩溃问题。

    【讨论】:

    • 苹果没有“忘记”。 Xcode 6 最终版本无法包含 10.10 SDK,因为它仍处于测试阶段。
    • 我对“为什么”的兴趣不如“如何解决”。
    • 这是一个黑客。很难说“修复”。它将处于修复和中断中间的某个地方。还有一个不了解“为什么”的黑客,主要是接近休息。
    猜你喜欢
    • 2013-06-23
    • 2014-09-25
    • 2014-06-20
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 2014-08-27
    相关资源
    最近更新 更多