【问题标题】:Using Swift 3 in Xcode 10.2 - Command /Library/Developer/Toolchains/swift-3.0-RELEASE.xctoolchain/usr/bin/swiftc failed with exit code 1在 Xcode 10.2 中使用 Swift 3 - 命令 /Library/Developer/Toolchains/swift-3.0-RELEASE.xctoolchain/usr/bin/swiftc 失败,退出代码为 1
【发布时间】:2019-08-16 12:57:15
【问题描述】:

我的目标是让新的 Xcode 10.2 编译并运行我们使用 Swift 3 和 4.2(还有一些 cocoapods)构建的项目,并且由于 Xcode 10.2 附带 Swift 5,因此在尝试运行时出现了不受支持的 swift 错误开箱即用的项目(这是预期的):

这里的解决方案是使用像 this 这样的博客上所述的旧工具链,我这样做了。

到目前为止一切顺利。但是从Swift.org安装Swift 3工具链后,编译项目会出现如下错误:

命令 /Library/Developer/Toolchains/swift-3.0-RELEASE.xctoolchain/usr/bin/swiftc 退出代码 1 失败

我已经删除了 Derived Data 文件夹,清理了 pod (my podfile) 并重新安装了它们,多次重启了 Xcode 和 Mac。

运行 xcrun -f swift 和 swift --version 确实会打印正确的 swift 3.0 工具链

是的,我知道我可以继续使用 Xcode 10.1 而不会遇到这些问题。代码迁移到 Swift 4 也是一种选择,但我们现在手头没有时间,所以我正在尝试练习这个解决方法。

请帮我解决这个问题,我完全卡住了。提前致谢。

【问题讨论】:

  • 您必须更新 Xcode 10.2 并将您的 Swift 版本迁移到 4x 或 5
  • @GovindhaRaj 是的,这是显而易见的事情,但对于这样规模的项目,需要几个月的时间。与此同时,我正在寻找一个走动,如果它存在的话。谢谢!
  • 无论大小都不需要几个月的时间:要么它是一个大产品,周围有许多合格的开发人员来帮助迁移,要么它是一个中等大小的产品,你一个人,但是实验过。必须立即放弃 Swift 3。使用 Swift 迁移助手和 Stack Overflow,几天后就完成了。
  • @Cœur 需要更新的不仅是我们的代码,还有与使用过的 pod 的绑定。我们正在使用多个 pod(包括 almofire、realm 和 rxswift),它们发生了巨大的变化,因此甚至需要做很多工作才能编译项目。毫无疑问,我们总有一天会到达那里,但我正在努力赢得一些时间,因为我们的积压目前很重
  • 那么,Xcode 10.1 是最快的选择:我今天在服务器上遇到了同样的问题,我用 xcode-select 解决了旧版本的 Xcode 和 CI 服务器的问题。几分钟。

标签: ios swift xcode


【解决方案1】:

使用 Swift 4.2.1 工具链为我工作。

但是https://swift.org/download/#using-downloads提示:

要提交到 App Store,您必须使用 Xcode 中包含的 Swift 版本构建您的应用程序。

上传到苹果连接可能被苹果拒绝。

【讨论】:

    【解决方案2】:

    Xcode10.2 Release Notes

    Swift 5 不再支持 Swift 3 Package.swift 工具版本。 仍然在 Swift 3 Package.swift 工具版本上的包应该 更新到更新的工具版本。 (41974124)

    Swift 5.0

    源代码兼容性 与 Swift 4.2 一样,绝大多数源代码 使用 Swift 4.2 编译器构建的应该使用 Swift 编译 5.0 编译器。

    但是,Swift 3 兼容模式将不支持 斯威夫特 5 编译器。 Swift 4.2 是最后一个支持的 Swift 版本 斯威夫特 3 模式。两个表面都有重要的变化 语言及其在版本中的实现内部 遵循 Swift 3,这将是未来(和持久)的基础 源和二进制稳定性。

    【讨论】:

    • 确实,没有开箱即用的支持。但以同样的方式,你可以通过使用它的工具链在 xcode 10.1 中使用 swift 5,我在这里查看相同的方法,但向后(learningswift.brightdigit.com/swift-5-0-xcode-10-1)
    • 需要探索更多。不确定你在看什么是可能的
    猜你喜欢
    • 2016-12-10
    • 2018-05-10
    • 2019-03-30
    • 2018-05-06
    • 2012-05-09
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多