🧑💻 숙련 주차 팀 프로젝트
오늘은 팀 프로젝트 3일 차이다.
오늘 구현할 내용으로는 AddViewController에 Kakao map API를 사용하여 지도 띄워보기,
킥보드 등록 로직 구현이다.
⚠️ Kakao MAP API
먼저 카카오 맵 API를 사용하기 위해서는 준비 과정이 필요하다.
카카오계정
accounts.kakao.com
[ 1. kakao developers에서 애플리케이션 추가하기 ]
아래 부분에 앱 이름, 회사명, 카테고리를 선택하고 저장을 눌러준다.
앱 아이콘은 생략 가능하다.
[ 2. 애플리케이션 선택 → 앱설정 → 플랫폼에서 번들 ID 등록하기 ]
- 내 프로젝트의 번들 ID는 Xcode내 General → Identity에서 확인할 수 있다.
[ 3. Xcode에 앱 키 등록하기 ]
- 앱 키 확인은 앱설정 → 앱 키에서 확인 가능하다
확인한 앱 키를 Xcode의 Info.plist에 추가한다.
Key는 KAKAO_APP_KEY이고 Value에 본인의 네이티브 앱 키 부분의 값을 입력하면 된다.
[ 4. SDK 설치하기 ]
SDK는 2가지 방법이 있는데 Cocoapods과 SwiftPackage Manager 방법이 있다.
나는 그중 SwiftPackage Manager 방법으로 설치하였다.
Xcode 프로젝트에서 File > Add Package Dependencies 메뉴를 선택하고
검색창에 https://github.com/kakao-mapsSDK/KakaoMapsSDK-SPM.git을 입력한 뒤 Add Package를 클릭한다.
GitHub - kakao-mapsSDK/KakaoMapsSDK-SPM: KakaoMaps SDK for iOS
KakaoMaps SDK for iOS. Contribute to kakao-mapsSDK/KakaoMapsSDK-SPM development by creating an account on GitHub.
github.com
설치하면 위와 같이 Package DEpendencies에 추가되고, MAP API를 사용할 VC에서
import KakaoMapsSDK
가 뜬다면 준비 과정은 완료이다.
여기까지 작성하고 카카오 API를 사용해서 지도를 구현해 보려고 코드를 작성해보고 있었는데
정말 거짓말 안 하고 1시간 문서를 읽어도 모르겠어서
튜터님께 찾아가서 또 1시간을 같이 구현해 본 결과
카카오 API 대신 네이버 API를 이용하기로 했다.
카카오 API는 지도를 ViewController로 응답을 주고 네이버 API는 View로 응답을 주기 때문에
네이버 API가 훨씬 사용성이 좋아서 변경하기로 했다.
♻️ 네이버 API
[ 1. 네이버 클라우드 플랫폼 가입하기 ]
해당 화면에서 Application 등록 버튼을 눌러준다.
[ 2. Application 등록하기 ]
Application 이름을 작성하고, API를 Dynamic Map 선택해준다.
IOS Bundle ID를 내 프로젝트의 Bundle ID 를 작성해주고 등록 버튼을 눌러준다.
[ 3. API KEY 확인하기 ]
[ 4. Swift Package Manager를 사용한 의존성 추가 ]
앱 프로젝트의 Package Dependencies에서 + 버튼을 누릅니다.
패키지 관리 창의 URL 검색란에 https://github.com/navermaps/SPM-NMapsMap을 입력하면
나타나는 spm-nmapsmap 패키지를 추가합니다.
3.16.1 이하 버전은 CocoaPods를 이용하면 된다.
[ 5. 의존성 추가 확인 ]
사진과 같이 NMapsGeometry와 NMapsMap가 추가되고,
구현할 코드에서 import NMapMap이 작성되면 잘 추가된 것이다.
import NMapsMap
[ 6. Info.plist에 지정 ]
Info.plist에 Client ID를 작성하고 나면 준비가 완료된다.
♻️ 네이버 API를 사용해서 화면에 지도 표시하기
네이버 API를 이용하니까 카카오 API를 사용했을 때보다 훨씬 빠르게 지도를 화면에 표시할 수 있었다.
사용한 코드는 아래와 같다.
import NMapsMap
override func viewDidLoad() {
super.viewDidLoad()
let mapView = NMFMapView(frame: view.frame)
view.addSubview(mapView)
}
NMFMapView를 생성하고
view에 addSubview(mapView) 를 추가하면 끝이다.
'스파르타 코딩 클럽 - iOS 스타터 6기 > 본 캠프' 카테고리의 다른 글
43. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (5) (0) | 2025.05.01 |
---|---|
42. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (4) (2) | 2025.04.30 |
40. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (2) (0) | 2025.04.28 |
39. 스파르타 코딩 클럽 - 킥보드 대여 앱 만들기 (1) (1) | 2025.04.25 |
38. 스파르타 코딩 클럽 - 포켓몬 연락처 앱 만들기 (5) (0) | 2025.04.24 |