티스토리 뷰

개발/iOS

[Swift] 카카오 로그인 v2 사용하기!

DeveloperFury 2020. 8. 19. 14:22

안녕하세요 :]

 

항상 개발 문서를 보면서 느꼈습니다.

 

왜!!!!

Swift 문서가 없냐...ㅠㅠ

 

왜!!!!

CocoaPod이 없냐..ㅠㅠ

 

드디어!!!

카카오 로그인이 코코아팟을 통해서

모듈을 추가할 수 있게 되었습니다!!! (짝짝짝)

 

https://developers.kakao.com/docs/latest/ko/getting-started/sdk-ios

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

문서를 봤는데

정말 정리가 너무너무너무

깔끔하게 되어있더라고요..

 

담당하시는 분에게 엄지 척!!

 

얼마나 쉬운지

제가 한 번

따라서 구현해보도록 하겠습니다 :)

 

1. 카카오 로그인 API v2 사용하기

 

기본적으로 애플리케이션을 등록을 해야 하는 건 동일합니다.

그래야 Key를 받겠죠?

이 부분은 설명을 생략하도록 하겠습니다.

 

 

요구사항은 다음과 같습니다.

요즘 다 Xcode 11.0 이상 쓰잖아요?

개발 타겟 11.0 미만 없죠??

 

있으면 죄송합니당...🙏🏼

 

 

kakaoSDK 전체를 설치하시려면

pod 'KakaoSDK'를 추가하시고요.

 

필요한 모듈만 추가하시려면

아래 4개 중 선택해서 추가하시면 됩니다.

 

[출처 : kakao 개발자 사이트]

 

카카오톡 로그인을 사용하기 위해서

'KakaoSDKAuth''KakaoSDKUser'를 추가하겠습니다.

 

그리고 kakaoSDK init을 위해서

'KakaoSDKCommon'도 추가하겠습니다.

 

뭐 결국 다 필요하네...ㅎㅎ

 

그리고 info.plist 추가할게요~

 

[출처 : kakao 개발자 사이트]

 

URL Schemes도 설정합니다~

URL Schemes에 값으로는

네이티브 앱 키(Native App Key)

kakao{KAKAO_APP_KEY} 형식으로 등록합니다.

 

[출처 : kakao 개발자 사이트]

 

이제 AppDelegate.swift에 코드를 작성하도록 할게요!

먼저 "import KakaoSDKCommon" 해주시고

didFinishLaunchingWithOptions 쪽에 코드 한 줄 추가할게요.

[아래 참조]

 

 

한 번 더! AppDelegate.swift

"import KakaoSDKAuth" 해주시고

open url 쪽에 코드 3줄을 작성해주세요.

[아래 참조]

 

 

만약, target이 iOS 13 이상이면서 SceneDelegate를 사용하신다면

AppDelegate에 작성하지 마시고

SceneDelegate.swift에 아래 코드를 작성해주세요.

[아래 참조]

 

 

자 이제 로그인만 구현하면 끝나네요!

먼저 로그인을 구현할 곳에

"KakaoSDKAuth", "KakaoSDKUser" 두 개 import 해주세요~

 

[출처 : kakao 개발자 사이트]

로그인에 관련된 API는 AuthApi Class에 전부 구현이 되어 있어요.

간편하게 API를 호출할 수 있도록 싱글톤으로 제공되네요!

 

 

isKakaoTalkLoginAvailable() 메서드를 통해서 카카오톡 설치 여부를 확인할 수 있고요.

loginWithKakaoTalk() 메서드를 통해서 로그인을 하실 수 있습니다.

 

[출처 : kakao 개발자 사이트]

사용자 엑세스 토큰 정보가 필요하다면??

AuthApi Class가 아닌 UserApi Class를 통해서 가져오실 수 있습니다.

 

클래스 안에 주석으로 설명이 잘 되어 있네요.

 

그러면 사용자 정보는?

UserApi 클래스에 me라는 메서드를 통해서 확인할 수 있습니다.

 

 

기타 자세한 내용들은

카카오 개발자 사이트 문서에 잘 설명되어 있습니다.

 

진짜 문서만 봐도 다 할 수 있을 정도로

쉽게 설명해놨습니다.

 

모두 정독하세요~ㅎㅎㅎ

 

 

 

댓글