공식문서에 따르면 NAVER MAP API를 사용하기 위해서는 iOS Target 버전
9.0 이상에서만 사용할 수 있다고 나와 있다.
프로젝트의 Minimum Deployments 앱 Target 버전을 미리 확인해야 한다.
NAVER MAP API 공식문서 - iOS Platform
공식 문서에 적용 방법이 자세하게 나와 있다.
프로젝트에 NAVER MAP API를 설치해 주어야 하는데, 공식 문서에 따르면 CocoaPods을 사용하여 설치하라고 나와 있다.
$ sudo gem install cocoapods
$ brew install cocoapods
어떤 방법을 사용하여 설치하던 무관하다.
만약 패키지 관리자 설치가 되어 있지 않다면 Homebrew를 통한 설치를 권장한다.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
터미널에서 위 명령어를 실행하면 자동으로 Homebrew가 최신 버전으로 설치된다.
위의 명령어를 통해 버전이 확인된다면 설치가 정상적으로 완료된 것이다.
$ brew install git-lfs
대용량 파일을 git에 올리기 위해 git-lfs 설치가 필요하다. 컴파일 오류를 방지한다.
$ Pod init
.xcodeproj 프로젝트가 위치한 최상위 디렉터리에서 위의 명령어를 실행하면 프로젝트 디렉토리 내에 Podfile이 정상적으로 생성된다.
$ git-lfs install
반드시 프로젝트 최상위 디렉토리에서 명령어를 수행해야 한다.
Podfile을 열고 다음과 같이 NAVER MAP SDK에 대한 의존성을 추가해 준다.
// Podfile이 위치한 경로에서
$ vi Podfile
$ i 를 눌러 텍스트 입력 모드로 진입
$ pod 'NMapsMap' 추가
$ esc + :wq로 텍스트 입력 모드 후 저장하고 종료
필요에 따라 프로젝트 Target 버전도 지정해 주어야 한다.
위의 과정을 수행하면 Podfile은 다음과 같은 형태를 갖는다.
# Uncomment the next line to define a global platform for your project
# platform :ios, '13.0'
target '내 프로젝트 이름' do
# Comment the next line if you don't want to use dynamic frameworks
pod 'NMapsMap'
# Pods for 내 프로젝트 이름
end
$ pod install --repo-update
위의 명령어를 실행하여 선언한 의존성을 설치한다.
pod install을 마치면 .xcworkspace 파일이 생성된다.
이제부터 프로젝트를 Xcode로 열고 작업을 진행하기 위해 .xcworkspace 파일로 진입해야 한다.
프로젝트 내 Info.plist 파일을 열고 이전에 생성한 Application에서 발급받은 Client ID를 추가한다.
프로젝트 네비게이터 내에 있는 Info.plist를 우클릭하고 Open As Source Code를 클릭한다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
...
<key>NMFClientId</key>
<string>YOUR_CLIENT_ID_HERE</string>
...
<dict>
<plist>
key 값에는 NMFClientId을 입력하고, value 값에는 발급받은 Client ID를 입력한다.
만약 공공기관용 클라이언트를 개발 중이라면 key 값에 NMFGovClientId를 입력한다.
모든 과정을 수행했다면 이제 ViewController에서 작업을 수행하면 된다.
import UIKit
import NMapsMap
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let mapView = NMFMapView(frame: view.frame)
view.addSubview(mapView)
}
}
ViewController에서 NMapsMap을 import해주고 viewDidLoad에 다음과 같이 NMFMapView를 추가하면
네이버 지도 화면을 확인할 수 있다.