#學習筆記 實作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 的圖案了!

--

--