gpt4 book ai didi

ios - 来自appDelegate performSegue的Swift 3在谷歌登录后无法正常工作

转载 作者:行者123 更新时间:2023-11-28 10:54:27 25 4
gpt4 key购买 nike

我正在尝试实现 Google 登录 及其与登录过程的配合,但在我的应用程序委托(delegate)文件中,我有 didSignInFor 函数,成功登录后在内部关闭,我发送用户从 loginVCfeedVc

然后它转到那一行并打印下一行中的内容但不执行 Segue。
这是代码:

func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
print("Successfully logged into google", user)

guard let idToken = user.authentication.idToken else {return}
guard let accessToken = user.authentication.accessToken else {return}

let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: accessToken)

Auth.auth().signIn(with: credential) { (user, error) in
if error != nil{
print("ANKIT : Unable to authenticate with firebase")
} else{
guard let uid = user?.uid else { return }

KeychainWrapper.standard.set(uid, forKey: KEY_UID)

self.window?.rootViewController?.performSegue(withIdentifier: "goToFeed", sender: nil)

print("ANKIT : Successfully authenticated with firebase for google")
}
}
}

谁能帮我解决这个错误?
无法弄清楚为什么 segue 不起作用..或者如果有人遇到这个问题并且他们弄清楚了请分享解决方案。任何帮助将不胜感激。

最佳答案

From the AppDelegate class you can not perform segue. So this line will never work from your AppDelegate class.

self.window?.rootViewController?.performSegue(withIdentifier: "goToFeed", sender: nil)

你需要简单

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let scheduleController = storyboard.instantiateViewController(withIdentifier: "yourIdentiFier")
self.window!.rootViewController = scheduleController
self.window!.makeKeyAndVisible()

您可以从 Main.storyboard 向您的 Controller 提供标识符,请按照以下步骤操作。

打开主 Storyboard

  1. 单击要打开的 View
  2. 从该 Controller 顶部选择黄色/向左按钮
  3. 现在打开位于右侧的实用工具箱
  4. 现在点击 Show the Identical Inspector
  5. 现在您可以将您的身份作为 StoryBoard Id 提供

Check this answer for more details

关于ios - 来自appDelegate performSegue的Swift 3在谷歌登录后无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com