首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能调用非函数类型的值“GIDSignIn”

不能调用非函数类型的值“GIDSignIn”
EN

Stack Overflow用户
提问于 2021-09-07 15:58:50
回答 1查看 1.4K关注 0票数 4

我正在尝试在我的应用程序中实现google登录。但问题是,当我将这行代码添加到我的App.swift文件中时,我会得到一个错误。我试图从()中删除sharedInstance,但是如果我这样做,就会得到另一个错误(Value of type 'GIDSignIn' has no member 'clientID')。我是斯威夫特和swiftUI的初学者

错误:

代码语言:javascript
复制
Cannot call value of non-function type 'GIDSignIn'

代码行:

代码语言:javascript
复制
GIDSignIn.sharedInstance.clientID = FirebaseApp.app()?.options.clientID

我的App.swift文件:

代码语言:javascript
复制
//
//  iGrow_GoalsApp.swift
//  iGrow Goals
//
//  Created by George Sepetadelis on 3/8/21.
//

import SwiftUI
import Firebase
import FirebaseAuth
import GoogleSignIn
import UserNotifications


@main
struct iGrow_GoalsApp: App {
    
    @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
    
    var body: some Scene {
        WindowGroup {
            let viewModel = AppViewModel()
            ContentView()
                .environmentObject(viewModel)
        }
    }
    
}

extension iGrow_GoalsApp {
    
    func setUpAthetication() {
        FirebaseApp.configure()
    }
    
}

class AppDelegate : NSObject, UIApplicationDelegate {
    
    var window: UIWindow?
    
    func application(
        _ app: UIApplication,
        open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]
    ) -> Bool {
        var handled: Bool
        
        handled = GIDSignIn.sharedInstance.handle(url)
        if handled {
            return true
        }
        
        // Handle other custom URL types.
        
        // If not handled by this app, return false.
        return false
    }
    
    
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        
        window = UIWindow(frame: UIScreen.main.bounds)
        
        FirebaseApp.configure()
        
        GIDSignIn.sharedInstance.clientID = FirebaseApp.app()?.options.clientID
        
        return true
    }
    
    
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        
        (UIApplication.shared.delegate as? AppDelegate)?.self.window = window
        
        guard let _ = (scene as? UIWindowScene) else { return }
        
    }
    
}
EN

回答 1

Stack Overflow用户

发布于 2022-06-06 12:18:14

在使用这个版本的GoogleSignIn之前,我一直有同样的问题。

代码语言:javascript
复制
pod 'GoogleSignIn', '~> 4.4.0'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69091345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档