시작하기 전에 링크 복사
요구 사항 링크 복사
iOS 길찾기 SDK에서 사용하는 프로그래밍 언어와 필요한 최소 요구 사항을 확인하세요.
Swift는 추후 지원 예정입니다.
- 프로그래밍 언어: Objective-C
- iOS 버전 15 이상
- iOS Deployment Target 버전 15 이상
앱 등록 및 네이티브 앱 키 확인하기 링크 복사
iOS 길찾기 SDK를 사용하려면 반드시 앱 등록과 SDK 초기화를 위한 네이티브 앱 키를 발급 받아야 합니다.
1. 앱 등록하기 링크 복사
[카카오디벨로퍼스에서 진행]
로그인 후, 화면 오른쪽 상단에서 앱 → 앱 생성을 클릭하세요.
아래 각 항목에 추가할 내용을 확인하여 앱을 추가하세요.
앱 아이콘: 앱 아이콘으로 사용할 이미지를 추가합니다. 권장하는 이미지의 사이즈는 128 px * 128 px이며 최대 250 KB 크기의 파일을 등록할 수 있습니다. 지원하는 파일 포맷은 JPG, GIF, PNG입니다.
앱 이름: 내 앱(서비스)의 이름을 설정합니다. * 필수 입력 사항
회사명: 사업자명을 입력합니다. 사업자 정보와 동일한 이름을 사용해야 합니다. * 필수 입력 사항
주의: 앱(서비스) 이름은 공백 포함 30자까지 입력할 수 있습니다.
카테고리: 서비스의 카테고리를 선택합니다. * 필수 입력 사항
앱 대표 도메인: 서비스의 대표 도메인을 입력합니다.
각 항목을 입력하고, 운영 정책에서 제한하는 사항에 해당하지 않은지 확인 후, 저장을 눌러 앱을 생성하세요.
생성된 앱은 앱에서 확인할 수 있습니다.
2. 서비스 정보 등록하기 링크 복사
[카카오디벨로퍼스에서 진행]
SDK 초기화에는 네이티브 앱 키가 필요하며, 사용 전 서비스 정보를 카카오디벨로퍼스에 등록해야 합니다.
앱 → 앱 키를 발급할 앱 선택 → 앱 → 플랫폼 키을 클릭하세요.
네이티브 앱 키 추가 또는 생성된 기본 키를 선택하세요.
필요한 서비스 정보 항목을 등록하세요.
- 네이티브 앱 키: 발급된 키 값과 상태를 확인하고 복사할 수 있습니다.
- 키 이름: 키를 식별하기 위한 이름을 지정합니다. * 필수 입력 사항
- (iOS) 번들 ID: iOS 앱의 고유 식별자로, Xcode의 Target → General → Identity에서 확인할 수 있습니다.
- (iOS) 스토어 URL: 앱이 설치되지 않은 경우 이동할 App Store URL을 등록합니다. iPhone/iPad용 URL을 각각 추가할 수 있습니다.
- 스킴: 해당 키에 발급된 앱 스킴 정보를 확인할 수 있습니다.
- 추가 정보: 키의 활성화 상태와 생성일, 수정일 정보를 확인할 수 있습니다.
3. 네이티브 앱 키 확인하기 링크 복사
[카카오디벨로퍼스에서 진행]
- 앱 → 앱 키를 발급할 앱 선택 → 앱 → 플랫폼 키을 클릭하세요.
- 네이티브 앱 키 값을 복사하여 사용하세요.
프로젝트 시작하기 링크 복사
1. 신규 프로젝트 생성하기 링크 복사
아래의 절차에 따라 프로젝트를 생성하세요.
이 문서는 Xcode 버전 13을 기준으로 작성되었습니다. 사용하는 버전에 따라 화면 및 세부 내용은 문서 내 설명과 다를 수 있습니다.
Xcode를 실행한 후 Create a new Xcode project를 클릭하세요.
원하는 Application을 선택한 후 Next를 클릭하세요.
프로젝트의 이름을 설정합니다. 설정이 완료되면 Next를 클릭하세요.
Language는 Objective-C로 설정합니다.
프로젝트를 저장할 경로를 선택한 다음 Create를 클릭하세요.
2. 프레임워크 추가하기 링크 복사
iOS 길찾기 SDK 1.6.0 버전부터 CocoaPods를 사용하여 레파지토리를 설정할 수 있으며, 1.6.7 버전부터는 Swift Package Manager도 지원합니다. 사용하고 있는 SDK의 버전에 따라 적절한 방법으로 프레임워크를 추가하세요.
[iOS 길찾기 SDK 버전에 따른 레파지토리 설정 방법]
- 1.6.7 버전 이상: Swift Package Manager
- 1.6.0 버전 이상: CocoaPods
CocoaPods를 통한 레파지토리 설정 링크 복사
CocoaPods를 이용하여 iOS 길찾기 SDK의 프레임워크를 추가합니다. CocoaPods는 Ruby 프로그래밍 언어로 작성되어 맥북에서 설치 후 바로 사용할 수 있습니다.
- 터미널을 실행한 후 아래의 명령어를 입력하여 Ruby를 설치하세요.
$ brew install ruby
$ brew install ruby
$ sudo gem install cocoapods
$ sudo gem install cocoapods
$ cd /Users/KakaoNavi
$ cd /Users/KakaoNavi
$ pod init
$ pod init
5. 생성된 Podfile을 텍스트 편집기로 열어 아래와 같이 수정한 다음 저장하세요.
# Uncomment the next line to define a global platform for your project
# platform :ios, '12.0'
source '<https://github.com/CocoaPods/Specs.git>'
target 'KakaoNavi' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for KakaoNavi
pod 'KNSDK'
end
# Uncomment the next line to define a global platform for your project
# platform :ios, '12.0'
source '<https://github.com/CocoaPods/Specs.git>'
target 'KakaoNavi' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for KakaoNavi
pod 'KNSDK'
end
$ pod cache clean --all
$ pod install --repo-update
$ pod cache clean --all
$ pod install --repo-update
Swift Package Manager를 통한 레파지토리 설정 링크 복사
Swift Package Manager를 이용하여 iOS 길찾기 SDK의 프레임워크를 추가합니다.
- Xcode에서 아래의 경로를 따라 클릭하세요.
경로: TARGETS 내 KNSample → General → Framewokrs, Libraries, and Embedded Content → + - Add Other... → Add Package Dependency를 클릭하세요.
- 우측 상단 입력창에 아래의 깃허브(GitHub) 주소를 입력한 다음 Dependency Rule에서 원하는 버전을 선택하고 Add Package를 클릭하여 프레임워크를 설치하세요.
주소: https://github.com/kakaomob/KNSDK.git
3. SDK 불러오기 링크 복사
iOS 앱에서 iOS 길찾기 SDK를 사용하려면 iOS 길찾기 SDK 파일을 아래와 같이 임포트(import) 해야 합니다.
#import <KNSDK/KNSDK.h> // 인증 및 경로 탐색 SDK
#import <KNSDK/KNSDK.h> // 인증 및 경로 탐색 SDK
4. info.plist 설정하기 링크 복사
앱 실행 허용 목록(Allowlist) 등록하기 링크 복사
iOS 길찾기 SDK를 통해 앱을 실행시키는 기능을 이용하려면 Info.plist 파일에 설정을 추가해야 합니다. 이 설정은 사용자 정보 보호를 위한 OS 정책에 따라 필요한 것으로, 자세한 내용은 Privacy and Your App을 참고하세요.
프로젝트 하위의 info.plist 파일을 클릭하고 Information Property List에서 + 눌러 info.plist의 키 값을 추가하세요.
| Key | Type |
|---|---|
| Privacy - Location When In Use Usage Description | String |
| App Transport Security Settings | Dictionary |
App Transport Security (ATS) 설정하기 링크 복사
앱과 웹 서비스 사이에 통신 시 보안 향상을 위해 App Transport Security (이하 ATS)를 설정해야 합니다. 세부 정보는 다음과 같습니다. App Transport Security에서 + 눌러 ATS와 도메인의 키 값과 타입을 추가하세요.
| Key | Type | Value |
|---|---|---|
| Allow Arbitrary Loads | Boolean | YES |
| Exception Domains | Dictionary | (1 items) |
| Key | Type | Value |
|---|---|---|
| kakao.com | Dictionary | (4 items) |
| Key | Type | Value |
|---|---|---|
| NSExceptionAllowsInsecureHTTPLoads | Boolean | YES |
| NSExceptionRequiresForwardSecrecy | Boolean | NO |
| NSIncludesSubdomains | Boolean | YES |
| NSTemporaryExceptionMinimumTLSVersion | String | TLSv1.0 |
다음과 같이 ATS가 설정됩니다.
5. 초기화하기 링크 복사
iOS 길찾기 SDK를 사용하려면 네이티브 앱 키를 사용하여 초기화해야 합니다.
초기화에 실패할 경우 문제 해결하기에서 인증 오류에 대한 상세 내용을 확인하세요.
사용할 수 있는 키 값에 대한 정보는 아래와 같습니다.
- AppKey:
StringiOS 길찾기 SDK를 사용하기 위해 필요한 네이티브 앱 키로 카카오디벨로퍼스에서 발급받을 수 있습니다. 이를 통해 SDK를 초기화하고 길찾기 기능을 사용할 수 있습니다. - UserKey:
String사용자의 구분이 필요한 경우 임의로 값을 지정하여 사용할 수 있는 키로 사용 환경에 맞게 자유롭게 설정 가능합니다. 예를 들어, 기존에 사용하고 있던 회원 번호를 키 값으로 부여하여 사용할 수 있습니다. - ClientVersion: iOS 길찾기 SDK를 적용할 클라이언트의 버전명입니다.
[[KNSDK sharedInstance] initializeWithAppKey:AppKey clientVersion:ClientVersion userKey:UserKey completion:^(KNError *error) {
if (error)
{
NSLog(@"KNSDK Init Failed(%@, %@)", error.code, error.msg);
}
else
{
NSLog(@"인증 성공");
}
}];
[[KNSDK sharedInstance] initializeWithAppKey:AppKey clientVersion:ClientVersion userKey:UserKey completion:^(KNError *error) {
if (error)
{
NSLog(@"KNSDK Init Failed(%@, %@)", error.code, error.msg);
}
else
{
NSLog(@"인증 성공");
}
}];
6. AVAudioSession 추가하기 링크 복사
AVAudioSession을 추가하지 않을 시 내비게이션의 음성 안내가 중단될 수 있습니다.
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *error = nil;
[session setActive:NO error:&error];
AVAudioSessionCategoryOptions category = AVAudioSessionCategoryOptionMixWithOthers;
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:category error:&error];
[session setActive:YES error:&error];
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *error = nil;
[session setActive:NO error:&error];
AVAudioSessionCategoryOptions category = AVAudioSessionCategoryOptionMixWithOthers;
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:category error:&error];
[session setActive:YES error:&error];
Swift 프로젝트에서 Objective-C 연동하기 링크 복사
브릿징 헤더(Bridging Header)를 활용하면 Swift 프로젝트에서 Objective-C를 연동하여 iOS 길찾기 SDK에서 제공하는 클래스와 함수를 활용할 수 있습니다.
Xcode에서 File → New → File... 을 클릭하세요.
iOS → Source 하위의 Header File을 선택하고 Next를 클릭하세요.
헤더의 이름, 저장할 위치 등을 설정한 다음 Create를 클릭하세요.
다음과 같이 브릿징 헤더 파일이 생성됩니다.
TARGETS 내 Build Settings → Swift Compiler - General → Objective-C Bridging Header 항목에서 3번에 추가한 헤더의 위치를 입력하세요.
Packaging → Defines Module 항목을 YES로 설정하세요.
생성한 헤더 파일을 클릭하고 아래와 같이 추가하세요. Swift 프로젝트 연동이 완료됩니다.
#import <KNSDK/KNSDK.h> // 인증 및 경로 탐색 SDK
#import <KNSDK/KNSDK.h> // 인증 및 경로 탐색 SDK