React Native Google Signin iOS真机运行报错求助
我之前踩过这个坑,这是因为react-native-google-signin依赖的Google Sign-In SDK在ARM架构的iOS真机上存在兼容性问题,尤其是使用旧版本库的时候。下面是几个亲测有效的解决步骤:
升级react-native-google-signin到最新稳定版
旧版本的库往往没做好ARM64真机的适配,先把库更新到最新版:# npm用户 npm install @react-native-google-signin/google-signin@latest # yarn用户 yarn add @react-native-google-signin/google-signin@latest更新完成后,进入iOS目录重新安装依赖:
cd ios && pod install --repo-update手动指定GoogleSignIn SDK版本
如果升级库后问题依然存在,可以直接在Podfile里锁定最新的GoogleSignIn SDK版本,避免自动安装兼容性差的旧版本。在ios/Podfile中添加以下代码:pod 'GoogleSignIn', '~> 7.0.0' # 可替换为当前官方最新的稳定版本号然后再次执行
pod install --repo-update。调整Xcode架构配置
打开Xcode,选中你的项目,进入Build Settings:- 找到
Architectures,设置为Standard Architectures (ARM64, x86_64) - 找到
Excluded Architectures,针对真机配置(Debug/Release下的iOS),移除其中的arm64选项 - 确认
Build Active Architecture Only在Debug模式下为YES,Release模式下为NO
- 找到
清理缓存并重新构建
缓存问题也可能导致这类奇怪的报错,按顺序执行以下操作:# 清理React Native缓存 npx react-native clean然后在Xcode中执行
Product -> Clean Build Folder(快捷键Cmd+Shift+K),删除ios/Pods文件夹和Podfile.lock,重新执行pod install,最后重启Xcode和你的真机设备再重新编译。验证谷歌登录配置正确性
确保你在Google Cloud Console中已经为iOS应用配置了正确的Bundle ID,并且下载的GoogleService-Info.plist文件是通过Xcode的Add Files to...功能添加到项目中的(不是直接复制到文件夹里),避免配置文件没有被正确识别。
内容的提问来源于stack exchange,提问作者Sunil M.

