M2 MacBook Pro上React Native iOS构建失败求助(含DVTCoreDevice报错)
React Native 0.68.2 在M2 MacBook Pro上构建iOS失败(Yoga编译错误)解决方案
针对你遇到的React Native项目Android构建正常,但iOS构建时Yoga编译失败的问题,可尝试以下步骤解决:
1. 调整Xcode架构与编译设置
- 打开项目
ios目录下的.xcworkspace文件 - 选中项目主Target,进入Build Settings:
- 找到
Architectures,设置为Standard Architectures (arm64, x86_64) - 将
Build Active Architecture Only设置为NO(Debug模式下若仍有问题,可临时设为YES测试)
- 找到
- 找到Pods中的Yoga Target(在Pods项目下),同样检查上述架构设置,确保和主项目一致
2. 彻底清理缓存并重新安装依赖
执行以下命令:
# 清理RN缓存 npx react-native clean # 清理Xcode派生数据 rm -rf ~/Library/Developer/Xcode/DerivedData # 进入ios目录清理Pods cd ios pod deintegrate pod clean rm Podfile.lock # 重新安装Pods pod install
3. 修复Yoga编译配置
方式一:手动修改Yoga项目设置
- 在Xcode中找到
Pods/Yoga/Yoga.xcodeproj - 进入它的Build Settings,将
Compile Sources As设置为Objective-C++ - 同时确保
CLANG_CXX_LANGUAGE_STANDARD设为c++17,CLANG_CXX_LIBRARY设为libc++
方式二:通过Podfile自动配置
在ios/Podfile末尾添加以下代码:
post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'Yoga' target.build_configurations.each do |config| config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17' config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++' config.build_settings['COMPILE_SOURCES_AS'] = 'objective-c++' end end end end
添加后执行pod install生效
4. 检查版本兼容性
- React Native 0.68.2官方推荐的Xcode版本为13.x,你当前使用的Xcode14.3可能存在兼容性问题。可尝试降级Xcode到13.4.1,或升级React Native到0.69及以上版本(需评估项目升级成本)
- CocoaPods 1.10.0对M2芯片的支持有限,可尝试升级到1.11.x或1.12.x版本(若之前降级是因为其他问题,可先测试升级Pods是否能解决当前编译问题)
内容的提问来源于stack exchange,提问作者DONGNYEONG
相关产品推荐
相关产品推荐

