简体   繁体   English

无法调用非函数类型“GIDSignIn”的值

[英]Cannot call value of non-function type 'GIDSignIn'

I'm trying to implement google sign in into my app.我正在尝试在我的应用中实现谷歌登录。 But the problem is when i add this line of code to my App.swift file i'm getting an error.但问题是当我将这行代码添加到我的 App.swift 文件时,我遇到了一个错误。 I tried to remove the () from the sharedInstance but if i do this i'm getting another error ( Value of type 'GIDSignIn' has no member 'clientID' ).我试图从sharedInstance中删除()但如果我这样做,我会收到另一个错误( Value of type 'GIDSignIn' has no member 'clientID' )。 I'm beginner on swift and swiftUI我是 swift 和 swiftUI 的初学者

The error:错误:

Cannot call value of non-function type 'GIDSignIn'

Line of code:代码行:

GIDSignIn.sharedInstance.clientID = FirebaseApp.app()?.options.clientID

My App.swift File:我的 App.swift 文件:

//
//  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 }
        
    }
    
}

在使用此版本的 GoogleSignIn 之前,我遇到了同样的问题

pod 'GoogleSignIn', '~> 4.4.0'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM