React Native iOS构建失败:重复模拟器实例与clang编译错误
React Native iOS构建失败:React-Codegen编译错误
错误日志
2023-04-10 12:54:39.743 xcodebuild[37229:209830] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled) --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:iOS Simulator, id:F74E3465-A58E-4B17-BF2B-1CB79F225F2F, OS:16.4, name:iPhone 14 } { platform:iOS Simulator, id:F74E3465-A58E-4B17-BF2B-1CB79F225F2F, OS:16.4, name:iPhone 14 } ** BUILD FAILED ** The following build commands failed: CompileC /Users/devansh/Library/Developer/Xcode/DerivedData/RN_App-eibylxcwymbqneczxtsodzlvaqxg/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/React-Codegen.build/Objects-normal/arm64/FBReactNativeSpec-generated.o /Users/devansh/Desktop/rn-temp-engin2.0/ios/build/generated/ios/FBReactNativeSpec/FBReactNativeSpec-generated.mm normal arm64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'React-Codegen' from project 'Pods') (1 failure)
已尝试的无效操作
- 卸载并重装Xcode 14.3
- 清理npm缓存
- 删除Pods并重新安装
- 清理Xcode的Derived Data
- 删除重复的模拟器设备
可行解决方案
- 确认React Native版本兼容性:Xcode 14.3要求React Native版本至少为0.70.7或0.71.5,若项目RN版本低于此,直接升级到兼容版本。
- 调整React-Codegen的架构设置:
- 打开Xcode项目,导航到
Pods项目下的React-Codegentarget - 进入
Build Settings,搜索Architectures - 设置
Architectures为Standard Architectures (arm64, x86_64) - 找到
Excluded Architectures,在Debug-iphonesimulator配置下移除arm64(Intel芯片Mac适用;M系列芯片可保留)
- 打开Xcode项目,导航到
- 重新生成Codegen相关文件:
- 删除项目根目录下的
ios/build文件夹 - 执行命令清理RN缓存:
npx react-native clean - 重新安装npm依赖:
npm install - 进入ios目录更新Pods:
cd ios && pod install --repo-update
- 删除项目根目录下的
- 启用CoreDevice:在终端执行命令
defaults write com.apple.dt.Xcode DVTEnableCoreDevice YES,重启Xcode后再尝试构建 - 调整C++编译库设置:
- 在
React-Codegentarget的Build Settings中搜索C++ Standard Library - 设置为
libc++ (LLVM C++ standard library with C++11 support)
- 在
内容的提问来源于stack exchange,提问作者Devansh Nigam
相关产品推荐
相关产品推荐

