运行IOS模拟器后找不到YogaKit.modulemap

问题描述 投票:0回答:15

我在 XCode 中运行 IOS 模拟器时遇到问题,每次我尝试运行模拟器时,都会收到一条错误消息:

"fatal error: module map file '/Users/maurice/Library/Developer/Xcode/DerivedData/feedIt-etmfdpwrwadziocunpypqhkwucsd/Build/Products/Debug-iphonesimulator/YogaKit/YogaKit.modulemap' not found"

预期行为: XCode 运行模拟器。

实际行为: 构建失败,我收到所描述的错误消息。

我已经尝试更新 Pod 并删除派生数据,但显然这不起作用。

如何解决这个问题?

我在 MacOS 10.15.5 和 XCode 11.6 上运行

Error Message

ios xcode
15个回答
112
投票

根据此issue中的评论,问题可能是您打开了

.xcodeproj
而不是
.xcworkspace
。其他一些建议的修复包括:

  1. 确保您的 cocoapods 构建目标与您的项目构建目标版本相同。 链接
  2. 尝试重新启动您的机器。 链接
  3. 检查您的 podfile 以确保您的构建方案包含在其中。 链接

在尝试从命令行构建项目时,我遇到了类似的问题,根本问题是我使用的是

.xcodeproj
而不是
.xcworkspace
。据我所知,这个错误可能是由多种不同因素引起的。


26
投票

如果您使用的是M1芯片

  1. 排除架构
    中添加arm64

  2. podfile 中添加以下行

  3. 从根目录中删除node_modules,从ios文件夹中删除Podfile.lock和Pods

  4. 在根终端运行

    yarn install && cd ios && pod install && pod update

  5. 清理您的项目并再次打开

  6. 等待索引项目

  7. 运行项目


16
投票

如果您使用的是 M1 芯片 Mac,请将其添加到您的 Podfile 中

    installer.pods_project.build_configurations.each do |config|
      config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
    end

14
投票

所描述的解决方案将在 Apple 芯片上 100% 工作,并且在没有 Rosetta 的情况下运行 Xcode。

请仅尝试必要的步骤,但如果仍然不起作用,请尝试一切,包括必要和不必要的步骤。

1 - 不重要(Package.json)

"dependencies": {
 "react": "17.0.1",
 "react-native": "0.64.2"
}

2 - 必要

  use_flipper!()
  post_install do |installer|
    react_native_post_install(installer)
        installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] =  "arm64"
        end
  end

  use_flipper!()

  post_install do |installer|
    react_native_post_install(installer)
      installer.pods_project.targets.each do |target|
          target.build_configurations.each do |config|
            config.build_settings["ONLY_ACTIVE_ARCH"] = "NO"
          end
      end
  end

3 - 在架构 -> 排除架构下添加

arm64


4 - 在你的项目下添加一个 swift 文件,可以是空的,可以是 BridgingFile.swift(没什么特别的),这将触发一个桥接标头。 Wallah,给你。


11
投票

收到此错误时我面临的问题是,我在 Xcode 中打开了错误的文件。我没有打开“.xcworkspace”文件,而是打开“.xcodeproj”文件。

此问题的解决方案是在 Xcode 中打开“.xcworkspace”文件,而不是“.xcodeproj”文件。


2
投票

我有一个 M1 mac 设置。上述方法对我来说不起作用。 然而,这有效:运行 XCode Rosetta

Finder -> 应用程序文件夹中的 Xcode -> 获取信息 -> 设置打开方式 罗塞塔到真实

Xcode 现在位于 Rosetta 下。


1
投票

我已经解决了这个问题,通过添加到 Debug Any iOS Simulator SDK 并使用值 arm64 来排除 Pods 项目中的架构(苹果 MacBook 临m1)


1
投票

就我而言,这是通过改变来解决的 仅构建活动架构>发布>是在构建设置中


1
投票

确保 podfile、项目和目标中的部署目标应相同。


0
投票

我的问题是没有设置 VALID_ARCHS = "arm64 arm64e armv7 armv7s x86_64";像这样在 xyzApp/ios/xyzApp.xcodeproj/project.pbxproj


0
投票

尝试使用以下命令在终端上运行项目: npx 反应本机运行 ios 然后再次在 Xcode 上运行它


0
投票

可悲的是,上述所有答案都没有解决问题。 我花了2天的时间寻找,现在已经解决了。

Podfile

pod 'YogaKit', '~> 1.7'


pod 分解 && pod 设置 && pod 安装


-1
投票

一旦原因可以导出此错误设置为

User-Defined
。最近,我拉了一个项目来继续开发。我无法在模拟器上构建它。总是这样的错误。

找不到模块图

对于所有库。我花了很多次才解决这个问题。我检查了所有配置并发现问题是以前的开发集

VALID_ARCHS
仅:
arm64e armv7s arm64

我将其更改为ios设备和模拟器:

arm64 arm64e armv7 armv7s x86_64
或简单地从
VALID_ARCHS
中删除
User-Defined

现在可以工作了。希望这有帮助:-)


-1
投票
  • 奔跑
    brew uninstall watchman
  • 运行
    brew install watchman
    arch arm64 brew install watchman
    (如果您使用的是 M1)
  • 关闭当前终端(控制台)会话
  • 再次打开,进入项目目录
  • cd ios && rm -rf Pods Podfile.lock && pod install --repo-update
  • 奔跑
    watchman watch-del-all
  • 如果您打开了 iOS 模拟器,请将其关闭
  • 奔跑
    yarn react-native run-los

-2
投票

我在不同的包和 React Native 设置中看到了这个错误,但找不到任何有关如何修复它的信息。经过多次尝试和错误,我找到了解决方案:

  1. 在XCode中打开
    ios/Pods/Pods.xcodeproj
  2. 这在 Pods 项目中显示了许多警告,XCode 建议可以修复这些警告
  3. 要求 XCode 修复警告

此后,我能够通过 XCode 和使用 React Native 工具再次构建项目。

© www.soinside.com 2019 - 2024. All rights reserved.