M1芯片Mac上React Native iOS构建失败:KakaoSDKAuth编译错误
解决M1 Mac上React Native iOS模拟器构建KakaoSDKAuth失败问题
先处理版本冲突警告
- 修复
react-dom与react-native-web的版本冲突:- 执行命令查看依赖树,明确冲突版本:
npm ls react-dom react-native-web - 在
package.json中锁定两者兼容的版本,随后重装依赖:rm -rf node_modules package-lock.json npm install cd ios && pod install
- 执行命令查看依赖树,明确冲突版本:
针对KakaoSDKAuth的Swift编译问题(M1芯片适配)
方案1:修改Podfile强制架构适配
- 打开iOS目录下的
Podfile,在文件末尾添加以下配置,让KakaoSDK系列组件适配模拟器x86_64架构:post_install do |installer| installer.pods_project.targets.each do |target| if target.name.start_with?('KakaoSDK') target.build_configurations.each do |config| config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'x86_64' config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO' end end end end - 执行
pod install更新Pods,用Cmd+Shift+K清理Xcode缓存后重新构建。
方案2:用Rosetta运行Xcode
- 找到应用程序中的Xcode图标,右键选择「显示简介」,勾选「使用Rosetta打开」。
- 重启Xcode,清理项目缓存后重新构建模拟器版本。
方案3:更新KakaoSDK相关依赖
- 更新项目中Kakao相关的React Native包(如
react-native-kakao-login)到最新兼容M1的版本:npm update [你的Kakao依赖包名] cd ios && pod install - 若自动更新无效,可在
Podfile中手动指定KakaoSDK稳定版本:
执行pod 'KakaoSDKAuth', '~> 2.15.0' # 替换为最新兼容版本pod install完成更新。
额外排查步骤
- 确保Xcode已更新至最新版本,旧版Xcode对M1芯片兼容性较差。
- 检查Xcode项目「Build Settings」中,Debug模式下的「Build Active Architecture Only」设置为
NO。
内容的提问来源于stack exchange,提问作者coco
相关产品推荐
相关产品推荐

