Xcode 14.2中Firebase SPM集成Google登录真机运行报错求助
解决GoogleSignIn + Firebase在iOS真机上的Webkit架构冲突问题
优先升级Xcode版本
既然Xcode 14能正常运行项目,说明低版本Xcode和GoogleSignIn 7.0.0、Firebase 9.6.0存在架构兼容问题。直接升级到Xcode 14及以上版本是最省心的解决方案。调整SPM依赖的平台限制
- 打开项目的Package Dependencies,找到GoogleSignIn包,右键选择"Show in Finder"
- 打开GoogleSignIn的
Package.swift文件,修改平台配置,确保仅针对iOS构建:platforms: [ .iOS(.v13) ] - 返回Xcode,执行
Cmd+Shift+K清理项目,再重新构建。
设置项目架构排除规则
- 进入项目Build Settings,找到
Excluded Architectures - 分别为Debug和Release模式,给iOS真机添加
x86_64到排除列表(注意不要修改模拟器的配置) - 检查
Valid Architectures,确保真机模式只保留arm64,模拟器模式保留x86_64
- 进入项目Build Settings,找到
重置SPM依赖
- 删除Xcode的DerivedData文件夹(路径:
~/Library/Developer/Xcode/DerivedData) - 在Xcode中移除Firebase和GoogleSignIn的SPM依赖,重新添加指定版本(9.6.0和7.0.0)
- 重新构建项目
- 删除Xcode的DerivedData文件夹(路径:
检查初始化代码
确认GoogleSignIn的初始化逻辑中没有调用macOS专属API,比如仅在iOS项目中使用GIDSignIn.sharedInstance.signIn(withPresenting:)这类iOS适配的方法,避免链接macOS相关库文件。
内容的提问来源于stack exchange,提问作者Jenish
相关产品推荐
相关产品推荐

