【问题标题】:How can I compile Swift 2.3 Code in Xcode 8如何在 Xcode 8 中编译 Swift 2.3 代码
【发布时间】:2017-03-11 08:40:52
【问题描述】:

我在 Xcode8 中的项目 Swift 2.2 有很多问题,pod 库产生很多错误,我更新了 cocoapods 和库,但仍然有这些错误,我已将语法转换为 Swift 2.3,但错误仍然存​​在.我暂时不想转换swift 3。

这是错误的图片:

Socket Io Client Swift errors

提前感谢您,对于英文错误,我们深表歉意。

【问题讨论】:

    标签: ios swift xcode cocoapods xcode8


    【解决方案1】:

    好的,所以问题是the library you are using Swift 3。所以说“我不想转换为 Swift 3”是没有意义的。不管你喜欢与否,你已经转换到了 Swift 3。您不需要将此代码编译为 Swift 2.3。您需要将其编译为 Swift 3。

    【讨论】:

    • 是的,我认为这是问题所在,因为当我执行此命令时:xcrun swift -version => Apple Swift 3.0 版(swiftlang-800.0.46.2 clang-800.0.38)目标:x86_64-apple -macosx10.9,我不知道怎么办,我尝试了很多解决方案但我总是lib错误
    • 您展示了一些涉及 Socket-IO-Client-Swift 的构建错误的屏幕截图。您问为什么会遇到这些构建错误。我告诉你为什么。该代码是用 Swift 3 编写的。你需要编译 as Swift 3。您的错误是因为您试图编译为 Swift 2.2 或 Swift 2.3。停止尝试这样做。它是 Swift 3 代码。
    • 或者,您可以尝试在 Podfile 中指定旧版本的 Pod 依赖项。尝试查看他们的发行说明/文档,看看是否有为 Swift 2.x 编写的版本。
    • 我的代码不是 Swift3 因为我没有转换成 swift3 并且我的项目的语法是 Swift2.3
    • 我不在乎你的代码是什么。你的代码不是问题。未编译的代码是 Socket-IO-Client-Swift。它是 Swift 3。
    【解决方案2】:

    要在 Xcode8 中运行 Swift 2.3,请在您的项目、目标和 pod 框架的构建设置中将 Use Legacy Swift Language Version 设置为 YES

    【讨论】:

    • 感谢您的回复,我已经完成但总是出错
    • 发布一个错误。我假设您已经转换为 Swift3,因此您必须解决您的问题。或者:恢复到 Swift 2.3 版本并使用上述构建设置
    • 我的项目在 Swift2.3 中转换,因为当我在 Swift2.3 中转换时,我有一个警告:目标已经转换为 Swift2.3 语法。并且设置 Use Legacy Swift Language Version 是 Yes
    • 更新了答案。将相同的设置应用于您的 pod 框架目标,清理并构建。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    相关资源
    最近更新 更多