@@ -30,23 +30,45 @@ final public class SocialLoginManager: NSObject {
3030
3131 public func tryKakaoLogin( completionHandler: @escaping ( Bool ) -> Void ,
3232 failedHandler: @escaping ( Error ) -> Void ) {
33- guard isKakaoLoginAvailable ( ) else {
34- failedHandler ( SocialLoginError . loginFail)
35- return
33+ if isKakaoLoginAvailable ( ) {
34+ loginWithKakaoAccount ( completionHandler: completionHandler,
35+ failedHandler: failedHandler)
36+ } else {
37+ loginWithKakaoTalk ( completionHandler: completionHandler,
38+ failedHandler: failedHandler)
3639 }
37-
40+ }
41+
42+ public func initailizeKakaoLoginSDK( ) {
43+ KakaoSDK . initSDK ( appKey: APIKey . kakaoAppKeyForLogin)
44+ }
45+
46+ private func loginWithKakaoTalk( completionHandler: @escaping ( Bool ) -> Void ,
47+ failedHandler: @escaping ( Error ) -> Void ) {
3848 UserApi . shared. loginWithKakaoTalk { [ weak self] ( oauthToken, _) in
3949 if let accessToken = oauthToken? . accessToken {
4050 self ? . saveKakaoUserInfo ( )
41- self ? . requestKakaoLogin ( accessToken, completionHandler: completionHandler, failedHandler: failedHandler)
51+ self ? . requestKakaoLogin ( accessToken,
52+ completionHandler: completionHandler,
53+ failedHandler: failedHandler)
4254 } else {
43- failedHandler ( SocialLoginError . loginFail )
55+ failedHandler ( SocialLoginError . noKakaoAvailable )
4456 }
4557 }
4658 }
4759
48- public func initailizeKakaoLoginSDK( ) {
49- KakaoSDK . initSDK ( appKey: APIKey . kakaoAppKeyForLogin)
60+ private func loginWithKakaoAccount( completionHandler: @escaping ( Bool ) -> Void ,
61+ failedHandler: @escaping ( Error ) -> Void ) {
62+ UserApi . shared. loginWithKakaoAccount { [ weak self] ( oauthToken, _) in
63+ if let accessToken = oauthToken? . accessToken {
64+ self ? . saveKakaoUserInfo ( )
65+ self ? . requestKakaoLogin ( accessToken,
66+ completionHandler: completionHandler,
67+ failedHandler: failedHandler)
68+ } else {
69+ failedHandler ( SocialLoginError . noKakaoAvailable)
70+ }
71+ }
5072 }
5173
5274 private func requestKakaoLogin( _ accessToken: String ,
0 commit comments