【问题标题】:Detox build is failing by throwing YogaKit.modulemap' fatal error not found排毒构建因抛出 YogaKit.modulemap' 未找到致命错误而失败
【发布时间】:2020-08-01 12:00:29
【问题描述】:

Detox 构建失败,抛出 YogaKit.modulemap' fatal error not found

Xcode 版本:- 11.3 “反应”:“16.11.0”, “反应原生”:“0.62.2” "detox": "13.3.0",也试过最新的 16 版本

但是通过以下配置构建成功

“依赖”:{ “反应”:“^16.3.0-alpha.1”, “反应原生”:“0.59.9” }, “开发依赖”:{ "babel-jest": "22.4.1", “babel-preset-react-native”:“4.0.0”, “排毒”:“13.3.0”, “笑话”:“22.4.2”, "摩卡": "^5.0.4", "react-test-renderer": "^16.3.0-alpha.1"

** 构建成功 **

我认为最新版本的 react-native 与 detox 不兼容。我试图为 Yogakit 解决问题,但没有成功。

如果有什么需要请告诉我。如果有人与最新的 react-native 共享工作配置,我将不胜感激。

`致命错误:模块映射文件....../ios/build/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap' 未找到 产生 1 个错误。 产生 20 个错误。 致命错误:模块映射文件'...../ios/build/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap' 未找到 产生 1 个错误。 产生 22 个错误。

** 构建失败 **

以下构建命令失败: CompileC /....../ios/build/Build/Intermediates.noindex/King.build/Debug-iphonesimulator/King.build/Objects-normal/x86_64/AppDelegate.o /....../ios/ King/AppDelegate.m 正常 x86_64 目标-c com.apple.compilers.llvm.clang.1_0.compiler (1 次失败) detox[29631] 错误:[cli.js] 错误:命令失败:xcodebuild -project ios/King.xcodeproj -scheme King -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build`

【问题讨论】:

  • 这与排毒无关。你的构建失败了。已在 CI 中使用 0.62.2 进行了排毒测试。

标签: react-native detox


【解决方案1】:

看看 package.json 中的这个配置

"detox": {
  "configurations": {
    "ios.sim.debug": {
      "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/example.app",
      "build": "xcodebuild -project ios/example.xcodeproj -scheme example -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
      "type": "ios.simulator",
      "device": {
        "type": "iPhone 11 Pro"
      }
    }
  }
}

然后看看

对于 React Native 0.60 或更高版本,或工作区中的任何其他 iOS 应用程序(例如:CocoaPods),请使用 -workspace ios/example.xcworkspace 而不是 -project。

【讨论】:

  • 谢谢!在你注意到使用工作空间而不是项目之前,我一直在发疯!
  • 我是这方面的初学者。您能告诉我需要更新哪些文件才能完成这项工作吗?
【解决方案2】:

这就是我的工作方式:

  1. 打开 xcworkspace 文件
  2. 点击这个: http://files.simformsolutions.com.s3.amazonaws.com/simformscreen/ReactN.xcworkspace_2020-09-17_12-48-42.png
  3. 您将看到项目/应用程序的可用选项如更新 推荐的项目设置: http://files.simformsolutions.com.s3.amazonaws.com/simformscreen/ReactN.xcworkspace_2020-09-17_12-49-43.png
  4. 单击警告并将项目更新为推荐设置,以获取所有警告。
  5. Convert to swift 5 可用,如果你点击它,它会专门向你显示 YogaKit 模块,点击转换。
  6. 这需要时间,瞧!!
  7. 这次构建应该会成功。

【讨论】:

    【解决方案3】:

    Xcode 菜单 -> 文件 -> 另存为工作区 -> (未命名的名称) 然后在 Xcode 中打开该工作区文件, 它会工作

    • 进入ios文件夹
    • 打开终端
    • pod 更新

    然后

    https://www.youtube.com/watch?v=U30qHiEQWU8

    【讨论】:

      【解决方案4】:

      我不确定这个排毒是什么,所以希望这不是题外话

      我通过研究一个缺失的 YogaKit.modulemap not found 类型的错误(抱歉我没有确切的错误)发现了这个问题,这是我在执行pod install 之后得到的。

      我通过打开 [project].xcworkspace 然后在顶部 Product > Clean Build Folder 修复它

      shift + command + k

      在再次尝试运行项目之前,确保 Xcode 已完成清理构建。

      【讨论】:

        【解决方案5】:

        在 Podfile 目标安装后 ...

        post_install do |installer|
            flipper_post_install(installer)
            installer.pods_project.targets.each do |target|
                if target.name == 'YogaKit'
                  target.build_configurations.each do |config|
                    config.build_settings['SWIFT_VERSION'] = '4.1'
                  end
                end
            end
          end
        

        【讨论】:

          猜你喜欢
          • 2022-07-07
          • 2021-09-26
          • 2020-06-18
          • 2017-07-28
          • 2020-03-16
          • 1970-01-01
          • 2021-03-06
          • 2021-03-31
          • 1970-01-01
          相关资源
          最近更新 更多