You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Unity iOS端GIDSignIn报错You must specify |clientID|的问题

解决方案

  • 首先确认你导入Xcode项目的GoogleService-Info.plist(你提到的list为拼写误差)是否正确加入到主Target的构建资源中:
    拖动文件到Xcode项目时必须勾选「Copy items if needed」,同时进入主Target的Build Phases > Copy Bundle Resources,确认GoogleService-Info.plist在列表内,没有的话手动添加,否则运行时无法读取配置文件内的clientID参数。
  • 针对你使用的GoogleSignIn ~> 4.0版本,需手动触发clientID赋值:
    打开Xcode项目内的AppDelegate.m文件,在didFinishLaunchingWithOptions方法中添加如下代码:
    #import <GoogleSignIn/GoogleSignIn.h>
    #import <Firebase/Firebase.h>
    
    // 在didFinishLaunchingWithOptions方法内添加以下行
    [GIDSignIn sharedInstance].clientID = [[FIRApp defaultApp] options].clientID;
    
    4.x版本的GoogleSignIn不会自动从Firebase配置中读取clientID,必须手动赋值才会生效。
  • 检查Info.plist的URL Scheme配置:
    从GoogleService-Info.plist中复制REVERSED_CLIENT_ID对应的值,进入主Target的Info > URL Types,添加一个新的URL Type,Identifier留空,URL Schemes填写刚才复制的反向客户端ID,缺失该配置也会触发clientID识别异常。
  • 确认Pod依赖版本正确:
    打开Podfile.lock文件检查GoogleSignIn的实际安装版本,确认是4.x分支,如果自动安装了5.x及以上版本,执行pod deintegrate清理现有依赖后重新执行pod install即可。高版本GoogleSignIn的初始化逻辑与4.x不兼容,会导致原有配置失效。
  • 检查Unity侧插件配置:
    如果你使用的是第三方Google登录Unity插件,需在插件的iOS配置项中手动填写你从Firebase控制台获取的iOS端clientID,部分插件不会自动读取GoogleService-Info.plist的参数,需要在Unity构建前预先配置。

内容的提问来源于stack exchange,提问作者karthik keyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:45:00