프로젝트를 진행하며 Naver Map을 사용해야 해서 SDK 설치를 알아보니 네이버 지도 SDK는 cocoapods를 통해서만 배포된다는 사실을 알게되었다. 관련 글을 열심히 찾아보던 중 네이버 지도 SDK를 SPM으로 설치할 수 있도록 Swift Package를 만드는 글을 발견하였다.
https://junbok97.tistory.com/314
[iOS] NaverMap SDK iOS SPM으로 추가하기
NaverMap SDK SPM 왜 지원안해줌 ?프로젝트에서 mapKit대신 navermap을 사용하기로 결정하였는데 Tuist를 사용하여 프로젝트를모둘화를 하게되어 cocoapods를 사용하지 못하게 되었다그런데 naverMap SDK는 cocoa
junbok97.tistory.com
평소 의존성 추가를 할 때 cocoapods 보다는 SPM을 선호해서 cocoapods는 거의 사용을 하지 않고 있었고, 이전에 지인이 본인이 만든 패키지를 보여주며 생각보다 간단하다고 말했던 것이 생각나서
어짜피 공식 지원이 되지 않는거라면 직접 만들어봐야지 하고 만들기로 결정했다.
SPM으로 설치 가능한 네이버 지도 iOS SDK
https://github.com/slr-09/Naver-Map-iOS-SPM
GitHub - slr-09/Naver-Map-iOS-SPM
Contribute to slr-09/Naver-Map-iOS-SPM development by creating an account on GitHub.
github.com
네이버 지도 SDK Swift Package 만들기
사실 위 블로그 글을 보면 방법이 다 나와있어서 따라하기만 하면 된다.
1. 패키지 생성
Xcode > File > New > Package 를 선택 후 Library를 선택하여 패키지를 만든다.
만들면 이런식으로 뜬다.
2. 프로젝트 생성 및 네이버 지도 SDK 설치
2.1 프로젝트 생성
네이버 지도 의존성 추가를 위해 앱 프로젝트를 만든다. Xcode > File > New > Project > App
2.2 코코아팟으로 네이버 지도 SDK 설치
이후 터미널에서 코코아팟으로 네이버 지도 SDK를 설치할건데,
만약 코코아팟이 설치되어있지 않다면 아래 명령어로 먼저 코코아팟을 설치해준다.
$ sudo gem install cocoapods
설치가 되었다면 프로젝트 경로로 이동 후 아래 명령어로 Podfile을 생성해준다.
$ pod init
Podfile이 생성되었다면 Podfile에 네이버 지도 SDK에 대한 의존성을 선언한다.
// Podfile 열기
$ vi Podfile
Podfile에 입력을 완료했다면 저장하고 다시 터미널 창으로 돌아온 뒤 아래 명령어를 입력하면 성공적으로 설치된다.
$ pod install
3. 패키지에 의존성 이동
이제 1번에서 만들어둔 패키지에 설치된 의존성을 옮겨줄거다.
2번에서 SDK를 정상적으로 설치했다면 프로젝트에 Pods 폴더가 생성되고 그 안에 `NMapsGeoMetry`와 `NMapsMap` 폴더가 생성되어있을 것이다.
그 안에서 `NMapsGeoMetry.xcframework` 폴더와 `NMapsMap.xcframework` 폴더를 옮겨주면 된다.
참고로 이미지의 Frameworks 폴더는 새로 만들어준 폴더이다.
패키지 파일 작성
이렇게까지 해주면 완성이다 !! 패키지 배포는 레포 만들고 코드 올리면 끝!
전에 패키지를 만들어보고싶다는 생각은 했었지만 어떤 컨텐츠를 가지고 만들어야 할지 감이 잘 오지 않았었는데, 이런식으로 만들어볼 수 있어서 재미있었다-!!
그 외 참고자료
https://junbok97.tistory.com/313
[Swift] Swift Package 만들기
Swift Package 만들기1. 프로젝트 생성Xcode > File > New > Package 를 선택하여 Swift Package 프로젝트를 만들자 Library를 선택하여 생성하면 아래와 같이 프로젝트가 생성된다. 2. 프로젝트 구조Package 파일
junbok97.tistory.com
https://zeddios.tistory.com/25
왕 초보를 위한 CocoaPods(코코아팟) 사용법 (Xcode와 연동)
안녕하세요! 오늘은 CocoaPod사용법에 대해 알려드릴려고해요 :)저는 CocoaPod 처음에 시작할 때 뭐가 뭔지 몰라서 정말 하나도 몰라서진짜 어려운거구나...라고 생각했었어요. 하지만 한번 배워 놓
zeddios.tistory.com
'iOS' 카테고리의 다른 글
[iOS] Thread와 GCD(Grand Central Dispatch) 기본 (1) | 2024.11.24 |
---|---|
동기(Sync)와 비동기(Async)에 대한 이해 (5) | 2024.11.07 |
[iOS] CMPedometer로 사용자의 걷기 데이터 받아오기 (이동 거리, 평균 페이스) (3) | 2024.10.13 |