-
Notifications
You must be signed in to change notification settings - Fork 0
Package 외부 모듈로 빼서 사용해보기
🏠 동네한입 팀에서는 호영님께서 Package를 이용한 모듈화 작업을 진행해주셔서(최고..👍) 편하게 package를 사용하고 있었습니다.
시뮬레이터로만 작업을 하다 실기기로 빌드를 한번 해보았는데
..? 기존에 잘 나오던 폰트와 컬러들이 출력이 되지 않는 상황이 발생했습니다..
그래서 뭐가 문제지 하면서 이것저것 찾아보다가
Target에는 Core, Network, UI package들이 들어가있는데, Project의 Dependencies 부분에 들어가있지 않은 모습을 하고 있었습니다.
이 부분을 해결하려면 기존에 추가한 package들을 배포를 해야합니다. 사실 이 작업이 하는게 맞나.. 진짜 문제가 이건가..
생각은 했지만 다른 방법은 도저히 찾을 수 없었고 이것 또한 경험이 될 수 있다고 생각이 들어 작업을 진행했습니다.
사실 이미 호영님께서 만든 package를 배포만 하면 돼서 생각보다 할 일은 많지 않았습니다.
자 배포용 패키지 프로젝트 하나 만들어주시고~
패키지들을 새로 만든 패키지 프로젝트에 복사해줍니다.
그 다음 깃허브 레포를 하나 만들어줍니다. 외부 라이브러리를 SPM으로 추가할 때 깃허브 주소를 많이 넣잖아요?? 우리도 그 주소 한번 가져봅시다.
public, private 둘 다 가능하다고 합니다. 저는 굳이 private 할 이유가 없으니 public으로 만들었습니다.
레포를 만들고 위에서 만든 배포용 패키지를 커밋해주고 push를 하면..
짠.. 이렇게 정상적으로 레포가 생성됐습니다!
자 이제 프로젝트에 패키지를 추가하러 가볼까요??
URL 부분에 방금 만든 레포 주소를 넣어주겠습니다..!
가보자 가보자 ㅋㅋ~
오오.. (박수세번) 이렇게 패키지를 추가해서 사용할 수 있게 됐습니다..!!
사실 패키지를 추가하고 나서는 속으로는 '절대 실패할리가 없다. 아니 실패해서는 안된다.'라고 생각했습니다..
근데.. 패키지를 추가했음에도 똑같은 문제가 발생했습니다.
자포자기하고 Assets 폴더를 보고 있었는데 '설마'하는 생각이 들었습니다.
네.. 제 폰은 다크모드 상태였고 Color Set의 모든 다크모드 color가 white로 세팅이 되어 있었습니다.
라이트모드로 바꿔보니 전부 다 정상적으로 출력이 되더군요.. 처음부터 문제가 없었던겁니다.. ㅎㅎㅎㅎㅎㅎㅎ;;
그래도 이것저것 삽질을 하면서 좋은 경험이었다고 생각이 드네요..
이 글을 빌려서 제 호들갑에 같이 고민해주신 우리 iOS 팀원분들 감사합니다~
[참고]
Swift Package 의존성 추가, 생성, 배포 방법
[SwiftPM] Swift Package Manager를 이용하여 패키지를 통합 관리하기 - Proxy Module