시작하기 전에 링크 복사

요구 사항 링크 복사

iOS 길찾기 SDK에서 사용하는 프로그래밍 언어와 필요한 최소 요구 사항을 확인하세요.

Swift는 추후 지원 예정입니다.

  • 프로그래밍 언어: Objective-C
  • iOS 버전 15 이상
  • iOS Deployment Target 버전 15 이상

앱 등록 및 네이티브 앱 키 확인하기 링크 복사

iOS 길찾기 SDK를 사용하려면 반드시 앱 등록과 SDK 초기화를 위한 네이티브 앱 키를 발급 받아야 합니다.

1. 앱 등록하기 링크 복사

[카카오디벨로퍼스에서 진행]

  1. 카카오디벨로퍼스에 로그인하세요. 계정이 없을 경우, 회원 가입을 한 후 다음 단계를 진행하세요.

  2. 로그인 후, 화면 오른쪽 상단에서 앱 생성을 클릭하세요.

  3. 아래 각 항목에 추가할 내용을 확인하여 앱을 추가하세요.


    • 앱 아이콘: 앱 아이콘으로 사용할 이미지를 추가합니다. 권장하는 이미지의 사이즈는 128 px * 128 px이며 최대 250 KB 크기의 파일을 등록할 수 있습니다. 지원하는 파일 포맷은 JPG, GIF, PNG입니다.

    • 앱 이름: 내 앱(서비스)의 이름을 설정합니다. * 필수 입력 사항

    • 회사명: 사업자명을 입력합니다. 사업자 정보와 동일한 이름을 사용해야 합니다. * 필수 입력 사항

      주의: 앱(서비스) 이름은 공백 포함 30자까지 입력할 수 있습니다.

    • 카테고리: 서비스의 카테고리를 선택합니다. * 필수 입력 사항

    • 앱 대표 도메인: 서비스의 대표 도메인을 입력합니다.

  4. 각 항목을 입력하고, 운영 정책에서 제한하는 사항에 해당하지 않은지 확인 후, 저장을 눌러 앱을 생성하세요.

    생성된 앱은 에서 확인할 수 있습니다.

2. 서비스 정보 등록하기 링크 복사

[카카오디벨로퍼스에서 진행]

SDK 초기화에는 네이티브 앱 키가 필요하며, 사용 전 서비스 정보를 카카오디벨로퍼스에 등록해야 합니다.

  1. → 앱 키를 발급할 앱 선택 → 플랫폼 키을 클릭하세요.

  2. 네이티브 앱 키 추가 또는 생성된 기본 키를 선택하세요.

  3. 필요한 서비스 정보 항목을 등록하세요.

  • 네이티브 앱 키: 발급된 키 값과 상태를 확인하고 복사할 수 있습니다.
  • 키 이름: 키를 식별하기 위한 이름을 지정합니다. * 필수 입력 사항
  • (iOS) 번들 ID: iOS 앱의 고유 식별자로, Xcode의 TargetGeneralIdentity에서 확인할 수 있습니다.
  • (iOS) 스토어 URL: 앱이 설치되지 않은 경우 이동할 App Store URL을 등록합니다. iPhone/iPad용 URL을 각각 추가할 수 있습니다.
  • 스킴: 해당 키에 발급된 앱 스킴 정보를 확인할 수 있습니다.
  • 추가 정보: 키의 활성화 상태와 생성일, 수정일 정보를 확인할 수 있습니다.

3. 네이티브 앱 키 확인하기 링크 복사

[카카오디벨로퍼스에서 진행]

  1. → 앱 키를 발급할 앱 선택 → 플랫폼 키을 클릭하세요.
  2. 네이티브 앱 키 값을 복사하여 사용하세요.

자세한 내용은 카카오디벨로퍼스앱 설정을 참고하세요.

프로젝트 시작하기 링크 복사

1. 신규 프로젝트 생성하기 링크 복사

아래의 절차에 따라 프로젝트를 생성하세요.

이 문서는 Xcode 버전 13을 기준으로 작성되었습니다. 사용하는 버전에 따라 화면 및 세부 내용은 문서 내 설명과 다를 수 있습니다.

  1. Xcode를 실행한 후 Create a new Xcode project를 클릭하세요.

  2. 원하는 Application을 선택한 후 Next를 클릭하세요.



  3. 프로젝트의 이름을 설정합니다. 설정이 완료되면 Next를 클릭하세요.

    Language는 Objective-C로 설정합니다.



  4. 프로젝트를 저장할 경로를 선택한 다음 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 프로그래밍 언어로 작성되어 맥북에서 설치 후 바로 사용할 수 있습니다.

  1. 터미널을 실행한 후 아래의 명령어를 입력하여 Ruby를 설치하세요.
$ brew install ruby
$ brew install ruby
코드가 숨겨졌습니다.
 2. 아래의 명령어를 입력하여 CocoaPods를 설치하세요.
$ sudo gem install cocoapods
$ sudo gem install cocoapods
코드가 숨겨졌습니다.
 3. 작업할 프로젝트 폴더의 경로를 지정하세요.
$ cd /Users/KakaoNavi
$ cd /Users/KakaoNavi
코드가 숨겨졌습니다.
 4. 아래의 명령어를 입력하여 Podfile을 생성하세요.
$ pod init
$ pod init
코드가 숨겨졌습니다.
 다음과 같이 Podfile이 추가됩니다.


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
코드가 숨겨졌습니다.
 6. 아래의 명령어를 입력하여 프레임워크를 설치하세요.
$ pod cache clean --all
$ pod install --repo-update
$ pod cache clean --all
$ pod install --repo-update
코드가 숨겨졌습니다.

Swift Package Manager를 통한 레파지토리 설정 링크 복사

Swift Package Manager를 이용하여 iOS 길찾기 SDK의 프레임워크를 추가합니다.

  1. Xcode에서 아래의 경로를 따라 클릭하세요.

    경로: TARGETSKNSampleGeneralFramewokrs, Libraries, and Embedded Content+

  2. Add Other...Add Package Dependency를 클릭하세요.

  3. 우측 상단 입력창에 아래의 깃허브(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의 키 값을 추가하세요.

표 1 info.plist
Key Type
Privacy - Location When In Use Usage Description String
App Transport Security Settings Dictionary
다음과 같이 info.plist가 추가됩니다.

App Transport Security (ATS) 설정하기 링크 복사

앱과 웹 서비스 사이에 통신 시 보안 향상을 위해 App Transport Security (이하 ATS)를 설정해야 합니다. 세부 정보는 다음과 같습니다. App Transport Security에서 + 눌러 ATS와 도메인의 키 값과 타입을 추가하세요.

표 2 ATS
Key Type Value
Allow Arbitrary Loads Boolean YES
Exception Domains Dictionary (1 items)
표 3 Exception Domains
Key Type Value
kakao.com Dictionary (4 items)
표 4 Domains 세부 정보
Key Type Value
NSExceptionAllowsInsecureHTTPLoads Boolean YES
NSExceptionRequiresForwardSecrecy Boolean NO
NSIncludesSubdomains Boolean YES
NSTemporaryExceptionMinimumTLSVersion String TLSv1.0

다음과 같이 ATS가 설정됩니다.

5. 초기화하기 링크 복사

iOS 길찾기 SDK를 사용하려면 네이티브 앱 키를 사용하여 초기화해야 합니다.

초기화에 실패할 경우 문제 해결하기에서 인증 오류에 대한 상세 내용을 확인하세요.

사용할 수 있는 키 값에 대한 정보는 아래와 같습니다.

  • AppKey: String iOS 길찾기 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에서 제공하는 클래스와 함수를 활용할 수 있습니다.

  1. Xcode에서 FileNewFile... 을 클릭하세요.

  2. iOSSource 하위의 Header File을 선택하고 Next를 클릭하세요.



  3. 헤더의 이름, 저장할 위치 등을 설정한 다음 Create를 클릭하세요.



  4. 다음과 같이 브릿징 헤더 파일이 생성됩니다.



  5. TARGETSBuild SettingsSwift Compiler - GeneralObjective-C Bridging Header 항목에서 3번에 추가한 헤더의 위치를 입력하세요.



  6. PackagingDefines Module 항목을 YES로 설정하세요.



  7. 생성한 헤더 파일을 클릭하고 아래와 같이 추가하세요. Swift 프로젝트 연동이 완료됩니다.

#import <KNSDK/KNSDK.h> // 인증 및 경로 탐색 SDK
#import <KNSDK/KNSDK.h> // 인증 및 경로 탐색 SDK
코드가 숨겨졌습니다.