(iOS)自定义Google登录按钮

在本文中,我将向您介绍如何使用情节提要上的UIButton实现自定义设计的Google登录按钮。


使用Cocoapods创建Pod文件,然后安装Pod进行Google身份验证。

  pod'GoogleSignIn' 

转到https://developers.google.com/identity/sign-in/ios/start-integrating获取AuthO ID。 如果尚未创建Firebase项目,请在此步骤之前创建它。

在项目导航栏中单击您的项目名称,然后转到“目标”->“信息”->“ URL类型”。 然后,点击“ +”按钮,并将您反向的客户ID添加到“ URL方案”。 您可以从“ GoogleService-Info.plist”中REVERSED_CLIENT_ID的列表名称中获取反向客户ID。

为了实现实际的登录功能,您可以像下面的代码那样编写。

AppDelegate.swift

  func application(_ application:UIApplication,didFinishLaunchingWithOptions launchOptions:[UIApplicationLaunchOptionsKey:Any]?)->布尔{ 
FirebaseApp.configure()
返回真
} func application(_应用:UIApplication,打开url:URL,选项:[UIApplicationOpenURLOptionsKey:任意])->布尔{
让处理= GIDSignIn.sharedInstance()。handle(URL,sourceApplication:options [UIApplicationOpenURLOptionsKey.sourceApplication] as?字符串,注释:[:])
退货处理
}

ViewController.swift

 导入UIKit 
导入Firebase
导入GoogleSignIn类ViewController:UIViewController, GIDSignInDelegate,GIDSignInUIDelegate {覆盖func viewDidLoad(){
super.viewDidLoad()
GIDSignIn.sharedInstance()。delegate =自我
GIDSignIn.sharedInstance()。uiDelegate =自我
} //使用Google窗口 @IBAction func googleSignIn(sender:AnyObject){
GIDSignIn.sharedInstance()。signIn()
} func sign(_ signIn:GIDSignIn !, didSignInFor用户:GIDGoogleUser !, withError错误:Error!){
打印(“ Google Sing In didSignInForUser”)
如果让错误=错误{
打印(error.localizedDescription)
返回
}
保护让认证= user.authentication其他{返回}
let credential = GoogleAuthProvider.credential(withIDToken:(authentication.idToken)!, accessToken:(authentication.accessToken)!) //用户登录时
Auth.auth()。signIn(with:凭据,完成:{(用户,错误)在
如果让错误=错误{
打印(“登录错误:\(error.localizedDescription)”)
返回
} }) } //启动Google OAuth2身份验证
func sign(_ signIn:GIDSignIn ?,当前viewController:UIViewController?){

//显示OAuth2身份验证窗口
如果让aController = viewController {
present(aController,animation:true){()->无效在}
}
} //经过Google OAuth2身份验证
func sign(_ signIn:GIDSignIn ?,关闭viewController:UIViewController?){ //关闭OAuth2身份验证窗口
dismiss(animated:true){()->} } }中的虚空

在情节提要板上创建一个UIButton并将其与您创建的IBAction 关联(在上面的示例中,它是googleSignIn(sender 🙂动作。)。


而已。 现在,您应该有一个自定义设计的Google登录按钮。

参考:

适用于iOS的Google登录
https://developers.google.com/identity/sign-in/ios/

Firebase文档
https://firebase.google.com/docs/auth/ios/google-signin

适用于iOS的Google登录(日语)
https://qiita.com/shin1ogawa/items/0700c443262ba3d444a7