使用 M1 升级 React Native 后。经常出现 CompileC clang 错误。 Intermediates.noindex/Pods.build/Debug

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

在将 React Native 升级到 68.6 并切换回任何分支之后。经常出现 CompileC clang 错误。在使用我的包锁安装新包或使用本机反应从一个版本升级到另一个版本时,我经常看到这个错误。

有些 pod 使用了错误的目标版本,但构建时并非如此。

我试过的步骤:

  1. 在 xcode 和 visual studio 中切换目标版本。它 似乎某些东西被缓存在 xcode 或模拟器中
  2. 使用我的干净启动命令的各个部分,别名为
watchman watch-del-all && killall -9 node && rm -rf yarn.lock package-lock.json node_modules ios/Pods ios/Podfile.lock android/app/build && npm install && cd ios && pod update && cd .. && npm start -- --reset-cache"
  1. 使用 pod deintegrate、pod setup、pod init 命令。各种pod缓存清除命令
  2. 完全删除 expo 模块,因为它在过去似乎是相关的。 Xcode 似乎仍然保留着一些与 expo 模块相关的代码。
  3. 等待索引 |构建前处理完成
  4. 清理 xcode 中的构建,xcodebuild clean,rm -rf ios/build
  5. 关闭模拟器,重启mac,使用kill模拟器命令如
    xcrun simctl shutdown all xcrun simctl erase all
    或者
    sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
  6. 使用补丁包
  7. 在 xcode 中将排除的架构更改为 arm64 并再次返回
  8. 使用 Rosetta 打开 xcode 或终端,Xcode 14.3 似乎在内部使用模拟器设置执行此操作。
2023-04-04 09:19:19.164 xcodebuild[87551:1680692] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
--- xcodebuild: WARNING: Using the first of multiple matching destinations:
{ platform:iOS Simulator, id:BE127B8C-C1DA-4AE9-B3DB-101C76E645FE, OS:16.4, name:iPhone 13 }
{ platform:iOS Simulator, id:BE127B8C-C1DA-4AE9-B3DB-101C76E645FE, OS:16.4, name:iPhone 13 }
** BUILD FAILED **


The following build commands failed:
        CompileC /Users/me/repositories/MyMobileApp/ios/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/Yoga.build/Objects-normal/arm64/Yoga.o /Users/me/repositories/MyMobileApp/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp normal arm64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'Yoga' from project 'Pods')
(1 failure)

这不是这个 Yoga.cpp 独有的,无论包如何,这种情况都会继续发生。我在 Xcode 14.3 上。 Android 构建得很好,我通常可以非常轻松地解决任何与 Android 相关的问题。 它似乎确实与模拟器/pods/xcode 相关,但在所有这些故障排除之后我还没有找到确切的罪魁祸首。 过去,我关闭了一些东西,有时它只是在运行一些步骤后才起作用。我不记得是哪一步解决了这个问题。这个分支的主人在管道中构建,我以前有过这个分支构建,但是从一个不同的升级分支切换到不同的包或版本的反应或涉及任何本机 ios 更改或 pod 更新的包并切换回来似乎完全混乱启动我的模拟器。

这似乎是相关的瑜伽帖子,但仅当从较新的 React Native 项目移动并返回 master 时才会出现 -> 出现上述错误 按位“|”的使用带有布尔操作数

ios xcode react-native cocoapods ios-simulator
2个回答

0
投票

在所有故障排除之后,这似乎解决了它。只是改变并保存它。不需要补丁包。至少在当地。似乎与 Xcode 14.3 相关。 按位“|”的使用带有布尔操作数

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