本頁面由 Cloud Translation API 翻譯而成。
Switch to English

嘗試登錄iOS

使用我們的iOS示例應用程序查看登錄的工作方式,或將“登錄”添加到您現有的應用程序中

要使用此示例,請確保您具有XcodeCocoaPods

獲得項目

從終端使用以下命令從示例開始:

pod try GoogleSignIn

CocoaPods將從GitHub克隆示例項目,並在Xcode中打開它。

獲取OAuth客戶端ID

點擊下面的按鈕創建一個新的Google API項目,並獲取該項目的iOS客戶端ID。出現提示時,將com .google .samples .quickstart .SignInExample指定為捆綁包ID。

創建一個OAuth客戶端ID

創建OAuth客戶端ID後,將其複製到AppDelegate.m的佔位符文本上:

[GIDSignIn sharedInstance].clientID = @"YOUR_CLIENT_ID";

設置回調URL類型

在登錄可以運行之前,您需要設置一個URL類型來處理回調。在Xcode項目的“信息”選項卡的“ URL類型”部分下,找到包含字符串YOUR_REVERSED_CLIENT_ID的“ URL方案”框。將此字符串替換為您反向的客戶ID,即您的客戶ID帶有以點分隔的字段的順序反轉。例如:

com.googleusercontent.apps.1234567890-abcdefg

運行應用程序

現在,您已經準備好從Xcode構建和運行示例應用程序。

選擇 SignInExample 目標,然後通過單擊工作區的運行按鈕在設備或iOS模擬器中啟動示例應用程序。

這個怎麼運作

在情節GIDSignInButton ,XIB文件或通過編程將GIDSignInButton視圖添加到您的應用程序。在應用程序委託中,實現signIn:didSignInForUser:withError委託方法,該方法將在用戶點擊登錄按鈕並完成登錄流程時調用。

- (void)signIn:(GIDSignIn *)signIn
didSignInForUser:(GIDGoogleUser *)user
     withError:(NSError *)error {
  if (error != nil) {
    if (error.code == kGIDSignInErrorCodeHasNoAuthInKeychain) {
      NSLog(@"The user has not signed in before or they have since signed out.");
    } else {
      NSLog(@"%@", error.localizedDescription);
    }
    return;
  }
  // Perform any operations on signed in user here.
  NSString *userId = user.userID;                  // For client-side use only!
  NSString *idToken = user.authentication.idToken; // Safe to send to the server
  NSString *fullName = user.profile.name;
  NSString *givenName = user.profile.givenName;
  NSString *familyName = user.profile.familyName;
  NSString *email = user.profile.email;
  // ...
}
      

下一步

如果您想了解如何在自己的應用中實施Google登錄,請查看我們的實施指南。

將登錄添加到您的應用

你有很好的經驗嗎?遇到麻煩了嗎? 讓我們知道!