【问题标题】:Value for SWIFT_VERSION cannot be emptySWIFT_VERSION 的值不能为空
【发布时间】:2019-03-27 18:40:29
【问题描述】:

我已经为 obj c 项目安装了 swift pod。我在尝试构建它时遇到了这个错误。

我已经完成了所有解决方案,例如删除派生数据、清理构建文件夹。 XCode 10 中也缺少 Swift Compiler_Language。 还添加了自定义设置,虽然没用。

【问题讨论】:

标签: swift xcode10


【解决方案1】:

选择您的应用目标,然后转到构建设置,搜索 swift 从下拉列表中设置 swift 语言版本。

【讨论】:

  • Xcode 10 中没有 SWIFT COMPILER -LANGUAGE 选项。这就是问题所在。有什么解决办法吗?
  • 我认为你是对的,xcode 10 删除了Swift Language Version 选项,这仅适用于旧版本。所以我创建了一个新的 iOS 项目,但在该项目中找到了 Swift Language Version。确保选择正确的目标并转到Build settings 选项卡并搜索swift lan,它会显示出来。
  • 它没有用。我创建了一个新项目并遵循了其余的过程。尽管如此,没有选择......:(
  • 在打开一个新项目并搜索swift lan 时,您能否分享一下您在Build Setting 中获得的屏幕截图。请分享确切的 xcode 10 版本。
  • 选择母项目的目标,而不是Pods目标。母项目是指包含此 pod 作为依赖项的项目
【解决方案2】:

如果有其他人在阅读此线程时遇到同样的问题但无法使用上述答案解决问题,这可能会有所帮助:

如果你有一个数据模型,你需要检查当你点击数据模型时,点击一个实体,然后打开文件检查器,“代码生成”语言设置是否正确。就我而言,我的整个应用程序都是用 Objective-C 编写的,但由于某种原因在这里设置为 Swift。这是错误将显示在问题导航器中的另一个原因。

更改代码生成语言后清除构建文件夹非常重要。这可以通过按 Command-Shift-K单击 Product->Clean Build Folder 来完成屏幕顶部的菜单。

查看此链接,了解在哪里可以找到我所说的“代码生成”选项。

Model.xcdatamodeld->File Inspector->Code Generation

【讨论】:

  • 谢谢你,@bmpatterson 这就是我的答案:)
  • 完美,谢谢:这发生在我向 Objective-C 项目添加新模型之后,甚至在为实体对象生成代码之前。失去的时间。很高兴我读到这里。
  • tyvm!这就是我遇到构建错误的原因!
  • 这证明 Swift 破坏了 Apple 开发的乐趣和连贯性。 Swift 的引入带来了大量的 Xcode 新问题、不连贯性和需要的调整。感谢这个,我自己永远也找不到这个!
  • 很高兴看到它帮助了一些人!
【解决方案3】:

Xcode 10.2 更新

  1. 转到 --> 构建设置

  2. 在 Build Settings 下选择 All + CombinedAll + Levels

  3. 最后在搜索栏的右侧搜索“Swift Language Version

【讨论】:

    【解决方案4】:

    不过,毕竟,如果你仍然迷茫,你可以直接在项目文件中添加一个 SWIFT_VERSION:

            80B11AAAAAAAAAAAAAAAC3E5D8 /* Debug */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = DF5...040;
            buildSettings = {
                ...
                PRODUCT_MODULE_NAME = react-native-some-module;
                ...
                SWIFT_VERSION = "4.2";
            };
            name = Debug;
        };
    

    对 Debug 和 Release 目标重复。这让我跳过了这个问题。

    【讨论】:

      【解决方案5】:

      您需要搜索每个“PRODUCT_NAME =” 每个人后面都需要一个“ SWIFT_VERSION = "4.2"; "。 例如。还有PRODUCT_NAME = "$(TARGET_NAME)";enter code here

      【讨论】:

      • 请阅读How to answer 并根据指南中的指南更新您的答案。
      猜你喜欢
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 2017-06-04
      • 2021-08-01
      相关资源
      最近更新 更多