ios接入Google登录的object-c 代码

在iOS应用中接入Google登录,通常使用Objective-C编写的步骤如下。接入Google登录需要使用Google Sign-In SDK,并配置你的项目以及处理登录和用户信息的逻辑。

步骤一:设置项目

  1. 导入Google Sign-In SDK

    • 使用CocoaPods添加Google Sign-In SDK依赖。在Podfile中添加以下行:
      arduino
      pod 'GoogleSignIn'
    • 执行 pod install 安装依赖。
  2. 配置Info.plist

    • 在Info.plist文件中添加以下内容,替换 REVERSED_CLIENT_ID 为你的应用的反向客户端ID(可以在Google开发者控制台获取):
      xml
      <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>com.googleusercontent.apps.REVERSED_CLIENT_ID</string> </array> </dict> </array> <key>LSApplicationQueriesSchemes</key> <array> <string>googlechrome</string> <string>googlechromes</string> <string>com.googleusercontent.apps.REVERSED_CLIENT_ID</string> </array>
    • 替换 REVERSED_CLIENT_ID 为你的应用的反向客户端ID。

步骤二:实现Google登录逻辑

在你的Objective-C代码中实现Google登录的逻辑。

在你的视图控制器中添加登录按钮和处理方法:

objective
#import <GoogleSignIn/GoogleSignIn.h> @interface YourViewController () <GIDSignInDelegate, GIDSignInUIDelegate> @end @implementation YourViewController - (void)viewDidLoad { [super viewDidLoad]; // 设置Google登录代理 [GIDSignIn sharedInstance].clientID = @"YOUR_CLIENT_ID"; [GIDSignIn sharedInstance].delegate = self; [GIDSignIn sharedInstance].uiDelegate = self; // 添加Google登录按钮 UIButton *googleSignInButton = [UIButton buttonWithType:UIButtonTypeCustom]; [googleSignInButton setFrame:CGRectMake(100, 100, 200, 40)]; [googleSignInButton setTitle:@"Sign in with Google" forState:UIControlStateNormal]; [googleSignInButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; [googleSignInButton addTarget:self action:@selector(didTapGoogleSignInButton) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:googleSignInButton]; } - (void)didTapGoogleSignInButton { [[GIDSignIn sharedInstance] signIn]; } // Google登录成功回调 - (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error { if (error == nil) { // 处理成功登录的逻辑,例如获取用户信息 NSString *userId = user.userID; NSString *idToken = user.authentication.idToken; NSString *fullName = user.profile.name; NSString *email = user.profile.email; // 进行你的业务逻辑 } else { NSLog(@"Google sign in error: %@", error.localizedDescription); } } // 退出Google账号回调 - (void)signOut { [[GIDSignIn sharedInstance] signOut]; } @end

注意事项

  • 确保在Google开发者控制台配置了正确的OAuth 2.0客户端ID,并在项目中使用该ID。
  • 处理用户登录成功后的逻辑,包括获取用户的基本信息如ID、姓名、邮箱等。
  • 根据需要处理用户退出登录的逻辑。

这些步骤和代码片段提供了基本的实现Google登录的框架,可以根据实际需求进行调整和扩展。