먼저 카카오톡 개발자 등록을 해야한다.
아래의 주소로 들어간다.
로그인한다.
앱 만들기를 누르면 키가 발급된다.
여기서 설정을 누른다.
플랫폼 추가를 누른다.
먼저 스위프트 프로젝트로 들어가서 Bundle Identifier를 확인한다.
iOS를 선택 후 아까 확인한 번들을 입력하고 추가를 누른다.
왼쪽 설정에서 사용자 관리로 들어간 후 ON으로 바꿔준다.
그리고 수집할 정보를 선택하고 저장을 누른다.
다음으로 아래의 URL을 눌러서 SDK를 다운받는다.
https://developers.kakao.com/sdk/latest-ios-sdk
압축을 풀고 KakaoOpenSDK.framework 를 내 프로젝트로 끌어온다.
Linking - Other Linker Flags에 -all_load를 입력해준다.
info.plist에 KAKAO_APP_KEY라는 키를 만들고
이전에 발급받은 네이티브 앱 키를 값으로 넣어준다.
URL Schemes를 추가해준다.
네이티브앱 키 앞에 kakao를 붙여서 넣어줘야한다.
그리고 info.plist를 Open As - Source Code로 열고 아래의 코드를 추가한다.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>kakao네이티브앱키</string>
<string>kakaokompassauth</string>
<string>storykompassauth</string>
<string>kakaolink</string>
<string>kakaotalk-4.5.0</string>
<string>kakaostory-2.9.0</string>
<string>storylink</string>
</array>
다음으로 브릿지 헤더를 만들어줘야 한다.
브라우저 창에서 오른쪽 클릭 - New File을 누르고
C++ File을 선택한 후 Next를 누른다.
임의로 이름을 정하고 Next를 누른다.
Create Bridging Header를 누른다.
#import <KakaoOpenSDK/KakaoOpenSDK.h>를 입력해준다.
다음으로 AppDelegate.swift 파일을 연다.
아래의 소스를 추가해준다.
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
//firebase
FIRApp.configure()
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions:launchOptions)
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
//kakao
if KOSession.isKakaoAccountLoginCallback(url) {
return KOSession.handleOpenURL(url)
}
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool {
//kakao
if KOSession.isKakaoAccountLoginCallback(url) {
return KOSession.handleOpenURL(url)
}
return false
}
'Coding > Etc' 카테고리의 다른 글
Homebrew /usr/local/sbin is not writable. 오류해결 (0) | 2018.01.04 |
---|---|
TypeError: __init__() missing 1 required positional argument: 'on_delete' 에러 해결방법 (0) | 2018.01.03 |
iOS 스위프트(Swift) HTTP 연결 권한 설정하는법 (0) | 2018.01.02 |
Swift Cocoapods 사용해서 Alamofire 설치하는법 (0) | 2018.01.02 |
Swift 옵셔널 타입(Optional Type) (0) | 2018.01.01 |