반응형

🏁 학습할 내용
- 세팅
- 패키지 설치
- info.plist
- URL Scheme 등록
- 초기화
⚙️ 세팅
📦 패키지 설치
외부 의존성으로는 Alamofire가 있다.
https://github.com/kakao/kakao-ios-sdk
📋 Info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<!-- 카카오톡으로 로그인 -->
<string>kakaokompassauth</string>
<!-- 카카오톡 공유 -->
<string>kakaolink</string>
<!-- 카카오톡 채널 -->
<string>kakaoplus</string>
</array>
📝 URL Scheme 등록
로그인 이후 복귀를 위한 URL Scheme을 Target의 Info - URL Types에 등록해준다.
Identifer는 고유한 값을 , URL Schemes에는 위 kakao${NATIVE_APP_KEY}을 넣어준다.
NATIVE_APP_KEY 값은 MyApplication > App Keys 에서 확인할 수 있다.

⌨️ 코드
🏃 초기화
App Root의 생성자에서 NATIVE_APP_KET를 초기화 해준 후, onOpenURL을 통해 핸들링한다.
import SwiftUI
import KakaoSDKCommon
import KakaoSDKAuth
...
@main
struct SwiftUI_testApp: App {
...
init() {
// Kakao SDK 초기화
KakaoSDK.initSDK(appKey: "NATIVE_APP_KEY")
}
var body: some Scene {
WindowGroup {
// onOpenURL()을 사용해 커스텀 URL 스킴 처리
ContentView().onOpenURL(perform: { url in
if (AuthApi.isKakaoTalkLoginUrl(url)) {
AuthController.handleOpenUrl(url: url)
}
})
}
}
...
}
🧤 핸들링
.onOpenURL { url in
if (AuthApi.isKakaoTalkLoginUrl(url)) {
AuthController.handleOpenUrl(url: url)
}
}
🔑 로그인
카카오에서는 로그인 API를 2개를 알려준다.
- loginWithKakaoTalk: 카카오톡 계정 이용 (권장0
- loginWithKakaoAccount: 웹 브라우저를 통해 카카오 계정 로그인
isKakaoTalkLoginAvailable 함수를 통해 KakaTalk 실행 가능성 여부를 확인할 수 있다.

private func loginWithKakao() {
if UserApi.isKakaoTalkLoginAvailable() {
UserApi.shared.loginWithKakaoTalk { token, error in
print("KakaoTalk: \(token) \(error)")
}
} else {
UserApi.shared.loginWithKakaoAccount { token, error in
print("KakaoAccount: \(token) \(error)")
}
}
}
🔓 로그아웃
private func logoutWithKakao() {
UserApi.shared.logout { error in
}
}
✂ 연결 끊기
private func disconnectWithKakao() {
UserApi.shared.unlink { error in
}
}
출처
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
반응형
'iOS > Setting' 카테고리의 다른 글
| private SPM 설치하기 (0) | 2025.10.11 |
|---|---|
| OpenAPI Generator (2) | 2025.07.08 |
| Naver Login (0) | 2025.06.30 |
| Xcode 유용한 단축키 모음 (2) | 2025.06.12 |
| SwiftFormat (0) | 2025.06.10 |