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

Xcode 9.3-beta中Google登录按钮点击无响应问题求助

解决Xcode 9.3-beta中Google登录按钮无响应的问题

首先帮你拆解下控制台的两条警告,它们和你的Google登录问题完全无关:

  • Unknown class _TtC4LEAF14ViewController in Interface Builder file.:这是因为你的Storyboard/XIB里引用了一个已被删除或重命名的ViewController类(_TtC4LEAF14ViewController是Swift类的混淆名称)。你可以打开Storyboard检查所有控制器的自定义类设置,找到引用这个类的地方修正即可,不影响登录功能。
  • Status bar could not find cached time string image. Rendering in-process.:这是iOS系统状态栏的渲染缓存警告,属于系统级问题,完全不需要处理。

接下来是核心问题:Google登录按钮点击无响应的原因和修复方案:

问题根源

你的代码里存在两个关键冲突点:

  1. 提前触发登录流程:在registerViewController的viewDidLoad中,你主动调用了GIDSignIn.sharedInstance().signIn(),这会直接发起Google登录请求,导致按钮的默认点击事件被干扰(比如登录流程已经处于发起状态,后续点击按钮就不会有反应)。
  2. 重复实现代理方法:你同时在AppDelegate和registerViewController里都实现了sign(_:didSignInFor:withError:)代理方法,这会导致登录回调逻辑混乱,甚至可能让正确的回调无法触发。

修复步骤

  1. 移除提前触发的登录调用
    打开registerViewController的viewDidLoad方法,删掉GIDSignIn.sharedInstance().signIn()这一行:

    override func viewDidLoad() {
        super.viewDidLoad()
        GIDSignIn.sharedInstance().uiDelegate = self
        // 删掉下面这行
        // GIDSignIn.sharedInstance().signIn()
        // Do any additional setup after loading the view.
    }
    
  2. 统一代理实现
    删掉registerViewController里的sign(_:didSignInFor:withError:)方法,因为AppDelegate已经实现了这个代理。如果需要在registerViewController里处理登录成功后的逻辑,可以用以下方式:

    • 通过NotificationCenter发送通知,在AppDelegate的回调里通知registerViewController;
    • 或者把登录成功后的逻辑统一放在AppDelegate里处理(比如跳转页面)。
  3. 验证按钮绑定(可选)
    如果你还是不确定按钮是否能接收点击事件,可以给按钮添加一个自定义点击事件测试:

    @IBAction func googleSignInTapped(_ sender: GIDSignInButton) {
        print("Google登录按钮被点击了!")
        GIDSignIn.sharedInstance().signIn()
    }
    

    然后在Storyboard里把按钮的Touch Up Inside事件关联到这个方法,运行后点击按钮,如果控制台打印了日志,说明按钮没问题,问题已经解决。

  4. 再次确认URL Types配置
    虽然你说配置正确,但再核对一下:URL Types里的URL Scheme必须是com.googleusercontent.apps.你的ClientID,这个值可以从Firebase控制台的项目设置里获取,确保和FirebaseApp.app()?.options.clientID完全一致。

做完这些修改后,重新运行项目,Google登录按钮应该就能正常响应点击,弹出Google登录界面了。

内容的提问来源于stack exchange,提问作者Matthew Cheung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:51:23