Open dlrjswns opened 2 months ago
Google
Apple
Kakao
private func loginWithGoogle() { guard let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene, let rootViewController = windowScene.windows.first?.rootViewController as? UINavigationController, let presentingViewController = rootViewController.topViewController as? LoginViewController else { return } GIDSignIn.sharedInstance.signIn(withPresenting: presentingViewController) { result, error in guard error == nil else { LogHelper.error("Google SocialLogin Failed: \(error!)") return } } } private func loginWithKakao() { let loginClosure: (OAuthToken?, Error?) -> Void = { oauthToken, error in guard error == nil else { // TODO: 건준 - 카카오톡 로그인 실패 Alert 띄우기 LogHelper.error("Kakao SocialLogin Failed: \(error!)") return } } if UserApi.isKakaoTalkLoginAvailable() { // 카카오톡 로그인 api 호출 결과를 클로저로 전달 UserApi.shared.loginWithKakaoTalk(completion: loginClosure) } else { // 웹으로 로그인 호출 UserApi.shared.loginWithKakaoAccount(completion: loginClosure) } } private func loginWithApple() { guard let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene, let rootViewController = windowScene.windows.first?.rootViewController as? UINavigationController, let presentingViewController = rootViewController.topViewController as? LoginViewController else { return } let provider = ASAuthorizationAppleIDProvider() let request = provider.createRequest() request.requestedScopes = [.fullName, .email] let controller = ASAuthorizationController(authorizationRequests: [request]) controller.delegate = presentingViewController controller.presentationContextProvider = presentingViewController controller.performRequests() }
@dlrjswns 건준님~ 이슈 생성하실때 오른쪽 탭에서 Project에 추가해주세요
아 지금 바로 제가 생성했던 이슈들에 Project추가하겠습니다 !!
Describe
Google
Apple
Kakao
각각에 대한 로직이 반드시 필요Existing
Benefits
Reference