#18 — 飲料訂購APP_Part3|Facebook&Google登入
呈現畫面:
安裝 Facebook iOS SDK 、GoogleSignIn-iOS套件的方法很多,由於 Xcode 原生支援 SPM,且兩種登入方法都有提供,所以這裡我直接使用SPM下載,方便又快速。
Facebook iOS SDK套件網址
https://github.com/facebook/facebook-ios-sdk
GoogleSignIn-iOS套件網址
https://github.com/google/GoogleSignIn-iOS
再來就是到Google、Facebook 開發網站申請建立一個對應的APP,跟著官方說明一步步操作就可以完成,我就不再贅述。
( 需在AppDelegate、SceneDelegate定義使用方法,請參考官方方法)
寫登入程式不外乎登入、登出、使用者的登入狀態、讀取使用者想關資訊
登入
Facebook:
生成 LoginManager 物件,透過它的 function logIn 登入,當 closure 參數 result 等於 success 時表示登入成功,再從 Profile 呼叫 function loadCurrentProfile 下載登入者的 profile 資訊,如登入者的名字、圖片網址
Google:
拉IBAction搭配呼叫func signIn(with configuration: GIDConfiguration, presenting presentingViewController: UIViewController, callback: GIDSignInCallback? = nil),在closure內user參數可取的登入者基本資訊,例如Email、性名、使用者圖片網址
登出
檢查登入狀態
Facebook:
當 AccessToken.current 有值時即代表使用者已登入過Facebook
Google:
呼叫func restorePreviousSignIn(callback: GIDSignInCallback? = nil)來還原已登入 Google 的使用者登入狀態
結果:
成功取得FB、Google姓名以及大頭貼圖片(我google帳號沒設定頭貼圖片)
參考資料: