-
2021.02.25 - 패키지 프로젝트에 붙이기developing diary 2021. 2. 26. 13:31
캘린더 라이브러리를 커스텀해서 팀프로젝트에 붙이려면 커스텀이 필요했다.
그런데 커스텀한 후 어떻게 팀프로젝트에 붙이는지 방법을 고민.
*생각한 방법
1.SPM을 이용해 패키지를 만든 후 깃에 올림.->팀프로젝트에서는 라이브러리를 dependency로 추가하는 방식.
- 단점: 라이브러리 코드를 수정해야 할 경우 깃을 업데이트하고 팀프로젝트에서도 업데이트를 반영해야하는 것이 불편함.
2.쓰고 있는 달력 라이브러리에서 제공해주고 있는 예제 프로젝트 구조를 보니 패키지를 루트디렉토리 안에 포함하고 있는 구조였다. 이 방식을 사용하고 싶었는데 처음에는 잘 안됐었음 -> 오늘 구현됨.
- 이 방식을 사용하고 싶었던 이유 : 라이브러리 수정 후 프로젝트에 반영이 쉬움.
삽질과 고민
1. 위의 두 가지 방식 중 2번이 되지 않는다고 생각해서 1번으로 진행하다가 패키지, 라이브러리, 프레임워크라는 개념에 혼동 있었음.
2. 라이브러리와 프레임워크에도 종류가 다양했다. 그리고 그 안에 이어지는 개념들도 많았다. 내가 쓰는 것은 어떤 것인지 구현을 빨리 하기 위해 두 개념을 정확히 공부하지 않았다.
간략히 공부한 내용을 정리하자면
package
framework 또는 library같은 코드를 distribute하는 방식.
-방법: cocoa pads, swift package manager, carthage
-when: 다른 프로젝트들에서 piece of code들을 re-use 하고 싶을 때 사용.
라이브러리 vs 프레임워크
큰 차이점 : inversion of control = 제어의 역전
내 코드가 불려짐.
내가 코드를 호출함.
이렇게 이해하는 것이 지금으로서는 전부다.
추가로
static library, shared library
static framework, dynamic framework
mach-0 등.... 정리가 더 필요하다.
패키지 커스텀해서 사용하기
패키지 소스 그대로 가져와서 새로운 패키지 파일 만들기
다른 프로젝트에서 사용하기 위해 위에서 만든 새로운 패키지 파일 그대로 drag and drop
만약 import가 제대로 되지 않는다면 위에서 옮긴 패키지 파일에 코드 문제가 없지 않는지 확인. - build해서 에러 확인해서 고쳐나가기.
asset 파일 오류
- asset 파일이 두개였음.
참고 블로그
devmjun.github.io/archive/FrameworkVsLibrary
iOS, iOS에서 프레임워크와 라이브러리의 차이점을 알아보자!
devmjun.github.io
프레임워크와 라이브러리의 차이
프레임워크와 라이브러리라는 단어는 나에게 익숙한 단어다. 내가 필요할 때 가져다 쓰는 도구 정도로 생각하고 있었는데, 두 개념은 다른점이 있다. 오픈소스의 README를 살펴보면 딱히 두 용어
medium.com
'developing diary' 카테고리의 다른 글
if let (0) 2021.02.28 2021.02.25 프로젝트 폴더 안에 패키지 (0) 2021.02.26 2021.02.25 pacakge.swift에서 오류 (0) 2021.02.26 2021.02.24 패키지- 메모 기록 (0) 2021.02.24 2021.02.24 .첫번째 (0) 2021.02.24