처음 네이버 Map SDK를 사용해 보았다.
먼저 공식 홈페이지에 설명히 자세하게 나와있으니, 같이 참고하는게 좋다!
그러면 설명 시작~
먼저 네이버 클라우드 플랫폼에 들어가서 아이디를 만든다
AI·NAVER API를 찾아 들어가서 Application 등록을 한다. 이때 빨간색 체크 2가지를 넣어준다
등록을 완료 했으면 인증정보를 Xcode에 등록하기 위해 Client ID가 필요하다
이제 cocoapods를 통해 네이버 지도 SDK를 추가해줘야 한다.
cocoapods 설치하는 방법은 아래 공식 홈페이지를 참고하자.
쉽게 설명하면 터미널에서 $ sudo gem install cocoapods
입력해주면 된다.
하지만, 나는 brew를 활용하여 brew install cocoapods
설치를 했다.
설치를 완료 후 터미널로 해당 프로젝트로 이동후 pod init을 입력하면 Podfile이 생성된다.
Podfile을 통해 네이버지도 라이브러리를 다운로드 받아서 프로젝트에 사용하는 개념이다.
Podfile 생성 후 들어가서 사진의 빨간 밑줄처럼 똑같이 입력 후 저장해주면 완료.
어떻게 쓸지 모르겠다면 Cocoapods 공홈에서 NMapsMap을 검색하면 알려준다!
이후 이렇게 추가하고 pod install을 해줍시다.
완료하면 새롭게 SeoulGo.xcworkspace 파일이 생성된다.
이제 여기서 info.plist 아래처럼 코드와 같이 수정해주면 준비 완료다.
<?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> 1번
<string>YOUR_CLIENT_ID_HERE</string> 2번
1번과 2번을 그대로 넣어주고, 2번에 발급받은 clientId를 그대로 넣어주자
...
<dict>
<plist>
하지만, 빠지지 않는 에러발생 😇
Error (Xcode): Sandbox: rsync(13885) deny(1) 이런 에러가 발생했다.
열심히 검색하며 찾은 해결방법은 Script Sandboxing을 No로 변경하면 된다.
마지막으로 이러한 고생을 통해 어떻게 네이버 지도를 View에 보이게 하냐?!
override func viewDidLoad() {
super.viewDidLoad()
let mapView = NMFMapView(frame: view.frame)
view.addSubview(mapView)
}
이후 마커 보여주기, 내 위치 사용 등은 공홈을 참고하자(쓰기 귀찮은거 아...님🤫)
끄읕~
참고
[SwiftUI] Naver Map API 연동 (오류 해결)
왕 초보를 위한 CocoaPods(코코아팟) 사용법 (Xcode와 연동)
swift - 네이버맵 연동하기 (지도 띄우기)