현재 회사에서 앱을 여러개 관리하며
프로젝트 전역에서 사용되는 로직들을 모아둔 Util 클래스 뿐만 아니라
공통적인 모듈을 좀 더 쉽게 관리하기 위해 SPM을 사용하고 있다.
개인적으로도 SPM을 만들면 추후 내가 사용하기에도 좋을 것 같고
SPM으로 정리해 놓으면 깔끔할 것 같아 정리를 해보려고 한다.
1. Swift Package Manager?
Cocoapods이나 Carthage와 같은 써드파티 툴이 아닌 퍼스트파티 툴(1st party tool)로
Apple에서 제공하는 종속성 관리를 위한 공식 도구 입니다.
패키지와 종속성을 관리할 수 있는 간단하고 효율적인 방법을 제공하여
서로 다른 프로젝트에서 코드를 쉽게 공유하고 재사용할 수 있습니다.
2. SPM 생성
Xcode>New>Package를 눌러서 생성을 해주거나 Swift Package를 찾아서 만들어준다.

만들고 나면 구조는 이렇다.

depenencies는 Alamofire나 Snapkit같은 이 BongStorage 라이브러리가 의존하게 되는 라이브러리를 명시해 줄 수 있다.
이 부분들은 나중에 따로 포스팅 해야겠다.
3. Git과 연결시켜주기
나는 Git에 Repository를 만들어 준 후 SPM과 연결했다.

이렇게 Github에서 만든 레포지토리에 연결 후 Push를 해준다.

이렇게 푸쉬를 해주고 Git에 새로고침을 해주면?

옥케이 제대로 들어갔다... 시작이 반이라고 했으니 이제 반을 했다.
4. SPM 사용해보기
SPM을 사용해보기 위해 Constants 클래스를 생성하여 간단한 텍스트를 입력해보자

이런식으로 작성을 해준다음 커밋푸쉬를 해준다. 깃에 제대로 푸쉬됐으면 이제 사용을 해보자!
아 추가적으로 태그를 발행해 줬다..
뭔가 브랜치를 따라가는 것보다 태그 발행 후 그 태그만 바라보게 하는게 안전할 것 같았다!

이렇게 클래스를 만들고 Package Dependencies에 들어가서 +를 눌러준다.

눌러준 후 오른쪽 위 검색창에 나의 레포지토리 URL을 적어준다!
그리고 나는 태그를 1.0.1 발행하였으니 Exact Version으로 바꿔준다.
그리고 Add Package를 누르면...

이렇게 Package Dependencies 에 잘 추가되고 아까 만들었던 애들을 잘 불러온다!
이제 빌드를 해보자!
5. 이제 마지막, 빌드 해보기

SPM을 import 해주고 아까 불러온 Constants.test를 넣어보자.

이 글씨가 뜨면 성공!!!!!!!!!!!
생각보다 어려울 줄 알았는데 간단하게 성공해버렸다...
접근지정자를 일일히 명시해줘야되는 귀찮음?이 있지만 그 점을 제외한다면 잘 사용할 수 있을 것 같다.
앞으로 공통 및 커스텀 UI를 이곳에서 작업 후 붙이는 작업을 해봐야겠다 !
https://github.com/bongbong9708/BongStorage
GitHub - bongbong9708/BongStorage
Contribute to bongbong9708/BongStorage development by creating an account on GitHub.
github.com
그럼 이만~!
'Xcode > 1. 기초세팅' 카테고리의 다른 글
| [iOS] Storyboard 없이 코드로 UI 구현하기 (2) | 2023.04.26 |
|---|