Submodule

김동현·2022년 9월 11일
0

iOS

목록 보기
13/13


프로덕트 단계의 수정 작업이 아닌
외부 프레임워크를 작업해보는 좋은 경험을 실무에서 접하게 되었습니다.

그래서 오늘은 외부 프레임워크 세팅 방법에 대해서 다루어 볼까 하는데요.

일단 시작하기에 앞서
언제 외부 프레임워크를 작업하는게 좋을 것인지에 대해
생각을 해보고 넘어가면 좋을 것 같은데요.
왜 쓸까요?

A_Project와 B_Project가 존재하고 있다고 합시다.
심지어 각각의 프로젝트는
동일한 비즈니스 로직(플로우)을 가지고 있는 View를 가지고 있는 상태에요!

그리고 A_Project에서 디자인 수정 요청이 들어 왔는데
해당 작업은 B_Project에서도 동일하게 변경될 것을 요구한다고 합니다.

각 프로젝트에 개별적으로 변경사항 작업을 진행하여
따로따로 반영하는 방법이 있을수 있겠죠.

또는 해당 화면을 프레임워크화 하여 한번의 수정 작업을 통해
두개의 프로젝트에 바로 적용하게 만드는 방법도 있을수 있을 것입니다.

추후에 C_Project, D_Project, E_Project... 등
동일한 플로우를 가지고 있는 View를
다른 Project에서 동일하게 사용할수도 있기 때문에
범용적인 측면과 유지보수 측면에서 후자가 월등하게 이로울 것임을 예상 하셧겠지요.

즉 생산성을 증대시키는데에 많은 도움을 받을 수 있을것입니다.

그렇다면 이러한 개념으로 작업을 진행하기 위헤서
세팅은 어떤 방법이 있을까요?

다들 많이 사용하시고 계신 Cocoapods나 SPM, Carthage 등 여러가지 방법이 있을 텐데요.
이번 포스팅에서는 Github SubModule을 통해서 프레임워크를 적용시키는 방법에 대해서 알아보도록 하겠습니다.
먼저 Framework_Project가 될 프로젝트를 하나 생성 후 원격 저장소에 푸시를 해보도록 하겠습니다.

각각의 프로젝트 내에서 Framework_Project의 어떤 커밋 혹은 어떤 브렌치를 바라보고 있냐에 따라서
수정사항이 반영될지 말지 결정이 됩니다.


그다음 A_Project 내부에 Framework_Project가 위치할 SubModule 디렉토리를 하나 생성하고
해당 경로와 앞전에 생성했던 Framework_Project의 원격 저장소 url을 입력 후 확인을 누르면
Framework_Project를 클론시키고 해당 디렉토리 내부에
Framework_Project가 추가 되어있는 것을 확인할 수 있을 것입니다.
클론받은 Framework_Project를 Xcode에서 설정해서 사용하기 위해서는
Target - General에 진입해서 Framework_Project를 추가하면 됩니다.
이제 Framework_Project를 import 할 수 있게 되었습니다.
해당 Framework_Project 내에 있는 CommonView
가지고와서 사용할 수 있는것 또한 확인 하실 수 있습니다.🙌

profile
iOS 개발자 김동현입니다 :)

0개의 댓글