#學習筆記 實作Google登入
一、準備登入畫面
注意:圖中的黃色方塊是View元件,而灰色的登出是Button元件
二、看看官方範例,安裝所需套件
首先需安裝CocoaPods,教學如下👇🏻👇🏻👇🏻
根據以下的官方說明文件,按下command+空白鍵,輸入termimal打開終端機
輸入以下指令(不包含$字號):
$ pod try GoogleSignIn
按下Enter鍵等個幾秒鐘(?),會出現這一行字:
Press return to run these command, or press `ctrl + c` to stop trying this pod.
這時只要再按下Enter鍵,就會開始下載官方範例。
return鍵就是Enter鍵。return鍵就是Enter鍵。return鍵就是Enter鍵。笨蛋如我差點就在這裡放棄(一直按backspace沒反應😂)
安裝完後,Google的官方範例會自動用Xcode打開,但還需要搭配自己申請ID才能使用。
接下來嘗試安裝套件到自己的專案,從終端機進入到專案資料夾,輸入以下指令(不包含$字號):
$ pod init
按下Enter後資料夾會多一個叫做 Podfile 的檔案,打開它,將這行文字加進去:
pod 'GoogleSignIn'
存檔後關閉,再次回到終端機輸入以下指令(不包含$字號):
$ pod install
這時可以先把專案關掉,用Finder來到專案資料夾看看,裡面多了很多東西
從現在開始要改用xcworkspace開啟專案囉~
三、申請clientID
上面提到的專方說明文件,點進去有一個快速申請ID的連結
可以先把bundle ID複製下來,然後點選藍色框框Create an OAuth client ID。
輸入Project與Product name之後,會來到這個畫面,選擇iOS並貼上bundle ID:
成功拿到client ID了!趕快把它複製起來
四、設定ID、寫程式
class AppDelegate 要先 import GoogleSignIn,並實作 GIDSignInDelegate
點 FIX
跑出func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!)這時就可以把官方範例的複製貼過去啦~(一整個偷懶🤣)
再更偷懶可以直接把官方範例的AppDelegate.swift整個複製貼過去🤭
只是記得 YOUR_CLIENT_ID 要換成剛剛取得的 client ID
再到 info.plist 隨便一行點選+ 號
接著這三個步驟
注意,這邊要填的是 YOUR_REVERSED_CLIENT_ID,也就是你的client ID倒過來填寫,假如是123456.apps.googleusercontent.com,倒過來就會變成com.googleusercontent.apps.123456
正常在Info -> URL Types 會出現這個畫面,沒有的話可以把Xcode關掉重開試試。
回到 Main.storyboard,View 這邊的 class 要選 GIDSignInButton
import GoogleSignIn、拉好 IBOutlet,一樣可以參考官方範例的寫法,我這裡先簡化如下:
之後啟動模擬器,可以看到剛才黃色的View已經變成 GIDSignInButton 的圖案了!