ios - 确保在 Info.plist 新 GoogleSignIn IOS 版本中设置 GIDClientID

标签 ios swift firebase google-signin

我只是尝试配置新的 GoogleSignIn IOS,但不断收到错误消息。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'No active configuration.  Make sure GIDClientID is set in Info.plist.'

我已经在网上搜索了这里的一两个问题以寻求解决方案,但是无论如何我似乎都无法清除此错误。这是在我的 URL 方案中:

URL Schemes

这是我的 Info.plist

info.plist

有人有任何关于我的 info.plist 应该是什么样子的例子吗?

干杯。

最佳答案

我刚刚在使用 GoogleSignIn 实现 Firebase 身份验证时遇到了类似的问题。

如果您认为要将新属性“GIDClientID”添加到目标项目的 Info.plist 中,请不要这样做。

以下是 Firebase 通过 Google 进行身份验证的指南,此代码修复了上述问题,但它显示如何使用登录方法的方式目前无效:

guard let clientID = FirebaseApp.app()?.options.clientID else { return }

// Create Google Sign In configuration object.
let config = GIDConfiguration(clientID: clientID)

// Start the sign in flow!
GIDSignIn.sharedInstance.signIn(with: config, presenting: self) { [unowned self] user, error in
  // ...
}

有一个解决方案是在调用signIn方法之前将配置设置为GIDSignIn.sharedInstance,如下:

guard let clientID = FirebaseApp.app()?.options.clientID else { return }

// Create Google Sign In configuration object.
let config = GIDConfiguration(clientID: clientID)

GIDSignIn.sharedInstance.configuration = config

let scenes = UIApplication.shared.connectedScenes
let windowScenes = scenes.first as? UIWindowScene
let window = windowScenes?.windows.first
guard let rootViewController = window?.rootViewController else { return }

GIDSignIn.sharedInstance.signIn(withPresenting: rootViewController) { signInResult, error in
    // ...
}

关于ios - 确保在 Info.plist 新 GoogleSignIn IOS 版本中设置 GIDClientID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74498117/

相关文章:

iphone - 多任务处理和 SKPaymentQueue 我得到一个 "stuck"SKPaymentTransaction,交易状态为 SKPaymentTransactionStatePurchasing

ios - 无法分配给 searchResultsTableView 自定义单元格的 UILabel

swift - 如何获得 slider 来更改 Swift 中的背景颜色?

ios - 如何防止单元格在另一个单元格中镜像按钮按下操作?

ruby-on-rails - 将 Rails 应用程序连接到 Firebase Cloud Firestore

ios - SKPhysicsJoint 使旋转无法正常工作

ios - 单击后退按钮返回 2 segue

ios - 以编程方式将自定义 View 添加到另一个 View

java - 我可以使用客户端登录中的 Firebase ID token 对使用 Java SDK 的 Java 桌面应用进行身份验证吗?

javascript - 错误类型错误 : Cannot set property 'product' of null