0. Kakao Developers 접속
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
1. 앱 만들기
1–1. 내 애플리케이션 클릭
1–2. 애플리케이션 추가하기 클릭
1-3. 아이콘, 앱이름, 사업자명 채우고 저장 클릭
2. 플랫폼 등록
2–1. 생성된 앱 확인하고 클릭
2–2. 플랫폼 설정하기 클릭
2–3. iOS 플랫폼 등록 클릭
2–4. 번들 ID (필수) 및 앱스토어 등록되어있다면 해당 id까지 입력 후 저장
3. 카카오 로그인 설정
3–1. 왼쪽 메뉴창의 카카오 로그인 클릭 후 활성화 상태 클릭
3–2. 활성화 클릭
4. 동의 항목 설정
4–1. 왼쪽 메뉴창의 동의 항목 클릭 후 필요한 정보 설정 클릭
4–2. 동의 단계 선택 및 목적 입력 후 저장
프로젝트(XCode) 설정
0. 기본 요구 사항
- iOS 11.0 이상
- Xcode 11.0 이상
- Swift 4.2 이상
- Cocoapods 1.8 이상
- iOS Deployment Target 11.0 이상
1. Cocoapods를 이용한 SDK 설치
1–1. pod 파일이 없다면 해당 폴더에서 pod init 명령어를 통해 생성
1–2. 해당 폴더에 생긴 Podfile 클릭
1–3. Kakao SDK 중 로그인 관련 두개 모듈 설치
1–4. Command+S 로 Podfile 저장 후 해당 폴더에서 pod install 명령어 실행
2. info.plist에 앱 실행 허용 목록(Allowlist) 등록
방법 1. UI에서 설정하기
2–1. info.plist 클릭 후 나오는 목록에서 아무데나 마우스 올려 놓으면 나타나는 + 버튼 클릭
2–2. 새 항목으로 LSApplicationQueriesSchemes 입력 후 Type을 Array로 선택
2–3. 화살표가 ▼ (아래로 가게) 모양이 되도록 클릭한 후에 마우스를 올려 놓으면 나타나는 + 버튼 두번 클릭
2–4. kakaokompassauth, kakaolink를 각각 값으로 입력
3. URL Schemes 설정하기
3–1. URL Types에서 + 버튼 클릭
3–2. URL Schemes에 항목에 네이티브 앱 키(Native App Key)를 ‘kakao{NATIVE_APP_KEY}’ 형식으로 등록.
예를 들어 네이티브 앱 키가 '123456789'라면 'URL Schemes'에 'kakao123456789'를 입력
#카카오 네이티브 앱 키 확인하는 방법
4. 코드
4–1. AppDelegate.swift에 Kakao SDK를 초기화하는 코드를 추가
예를 들어 네이티브 앱 키가 ‘123456789’ 라면
KakaoSDKCommon.initSDK(appKey: "123456789")
AppDelegate 사용시
AppDelegate에서 카카오톡을 통한 사용자 인증에 필요한 함수 추가
SceneDelegate 사용시
테스트 코드
import KakaoSDKCommon
import KakaoSDKAuth
import KakaoSDKUser
@IBAction func kakaoLogin(_ sender: Any) {
startKakaoLogin()
}
private func startKakaoLogin() {
//카카오톡 설치된 경우 카톡 실행
if (UserApi.isKakaoTalkLoginAvailable()) {
UserApi.shared.loginWithKakaoTalk { oauthToken, error in
onKakaoLoginCompleted(oauthToken?.accessToken)
}
}
//카카오톡 설치되지 않은 경우 카카오 로그인 웹뷰를 띄운다.
else{
UserApi.shared.loginWithKakaoAccount(prompts:[.Login]) { oauthToken, error in
onKakaoLoginCompleted(oauthToken?.accessToken)
}
}
func onKakaoLoginCompleted(_ accessToken : String?){
getKakaoUserInfo(accessToken)
}
func getKakaoUserInfo(_ accessToken : String?){
UserApi.shared.me() { [weak self] user, error in
if error == nil {
let userId = String(describing: user?.id)
print("userID: ",userId)
}
}
}
}
'Swift' 카테고리의 다른 글
iOS 페이스북 로그인 (0) | 2022.02.26 |
---|---|
iOS 네이버 로그인 (0) | 2022.02.26 |
FCM, APNS 연동 방법 (3) | 2022.02.25 |
Firebase Dynamic Link (0) | 2022.02.25 |
URL Scheme 딥링크 (0) | 2022.02.25 |