티스토리 뷰
developers.kakao.com/docs/latest/ko/kakaologin/ios
* 간편 로그인 버튼은 크기, 영문/한글 선택해서 psd랑 png로 뽑을 수 있는데 1x~3x 사이즈로는 제공이 안된다. 디자이너분께 말씀드려서 iOS 에셋 크기로 맞춰달라고 해야 할 것 같다....
-> 수정) iOS SDK 안에 있을것같다...
** 앱 등록을 하고 NATIVE_APP_KEY를 전달 받아야한다. 외주회사에서 미리 받자!
1. pod으로 SDK 설치
target '' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# 카카오
pod 'KakaoSDKCommon' # 필수 요소를 담은 공통 모듈
pod 'KakaoSDKAuth' # 카카오 로그인
pod 'KakaoSDKUser' # 사용자 관리
pod 'KakaoSDKTalk' # 친구, 메시지(카카오톡)
pod 'KakaoSDKStory' # 카카오스토리
pod 'KakaoSDKLink' # 메시지(카카오링크)
pod 'KakaoSDKTemplate' # 메시지 템플릿
pod 'KakaoSDKNavi' # 카카오내비
end
2. Info.plist에 LSApplicationQueriesSchemes 추가해주기.
kakaokompassauth - 카카오톡으로 로그인
kakaolink - 카카오링크
3. URL Schemes 설정
kakao{NATIVE_APP_KEY}로 등록해준다.
+ ) 코드
AppDelegate에는...
import KakaoSDKCommon
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
KakaoSDKCommon.initSDK(appKey: "NATIVE_APP_KEY")
...
}
SceneDelegate에는...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
if let url = URLContexts.first?.url {
if AuthApi.isKakaoTalkLoginUrl(url) {
_ = AuthController.handleOpenUrl(url: url)
}
}
}
함수는...
func didTapKakaoLogin() {
/// 카카오 간편 로그인
// 카카오톡 설치 여부 확인
if AuthApi.isKakaoTalkLoginAvailable() {
AuthApi.shared.loginWithKakaoTalk { oauthToken, error in
if let error = error {
print(error)
} else {
print("loginWithKakaoTalk() success.")
// do something
// TODO: SNSRegisterScene으로 넘어가기.
isKakaoTalkActive = true
_ = oauthToken
UserApi.shared.me { user, error in
if let error = error {
print(error)
} else {
print(user?.kakaoAccount?.email ?? "basdopaskdlasj")
snsAccount = user?.kakaoAccount?.email ?? ""
}
}
}
}
} else {
// 카카오 계정으로 로그이
AuthApi.shared.loginWithKakaoAccount { oauthToken, error in
if let error = error {
print(error)
} else {
print("loginWithKakaoAccount() success.")
// do something
_ = oauthToken
}
}
}
}
'macOS, iOS' 카테고리의 다른 글
[iOS] URLRequest 만드는법 (0) | 2021.02.10 |
---|---|
[iOS] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. (0) | 2021.02.10 |
[iOS] 네이버지도 SDK 사용시 주의사항 (0) | 2021.02.09 |
[iOS] 겹치는 원형 이미지 만들기 (0) | 2021.01.26 |
[macOS] UIStackView에 addSubview했을 때 width, height 0 되는 문제 해결하기 (0) | 2021.01.13 |