新安装React Native执行pod install时报__apply_Xcode_12_5_M1_post_install_workaround错误
错误原因
该报错的核心是Podfile的post_install钩子中调用了__apply_Xcode_12_5_M1_post_install_workaround方法,但你当前使用的React Native版本未提供该内置方法。该方法是React Native 0.64版本专门为适配Xcode 12.5+版本、M1芯片设备编译问题新增的内置处理逻辑,低于该版本的React Native不自带该方法。
解决方案
可根据项目实际情况选择以下任意一种方案解决:
方案1:升级React Native版本
将项目的React Native依赖升级到0.64及以上稳定版本,升级完成后进入ios目录重新执行pod install即可。
方案2:删除Podfile中的方法调用
如果暂时无法升级React Native版本,可直接移除该方法的调用逻辑:
- 打开项目
ios目录下的Podfile文件 - 找到
post_install代码块中的__apply_Xcode_12_5_M1_post_install_workaround(installer)行,删除该行 - 保存文件后在ios目录执行以下命令重新安装依赖:
rm -rf Pods Podfile.lock pod install
方案3:手动补全方法实现
如果确实需要用到该方法的兼容能力,可直接在Podfile顶部手动添加该方法的实现代码:
def __apply_Xcode_12_5_M1_post_install_workaround(installer) # 排除模拟器arm64架构适配M1设备 installer.pods_project.build_configurations.each do |config| config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' end # 统一Pod库最低部署版本 installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' end end end
保存文件后重新执行pod install即可。
内容的提问来源于stack exchange,提问作者Haren Sarma
相关产品推荐
相关产品推荐

