-
회사 코드 private 라이브러리화 회상 (2) - SPMSwift 2022. 10. 27. 01:01
2022.10.27 - [Swift] - 회사 코드 private 라이브러리화 회상 (1) - CocoaPod
회사 코드 private 라이브러리화 회상 (1) - CocoaPod
회사 코드를 라이브러리화 시켜야하는 일이 생겨서 진행했다. 선택지는 두 가지였다 cocoapod, spm 라이브러리를 private하게 해포해야 했다. 우선 cocoapod으로 진행한 것부터 적어본다. (public으로 할
garlic-onion.tistory.com
이전글에서 시도한 CocoaPod에 이어 SPM으로 시도하기로 했다.
CocoaPod에 비해 spm은 훨씬 쉬웠다.
일반 public으로 배포하는 것처럼 소스추가하고 dependency 추가하고 하면 되는데, git repo를 private하게만 만들면 접근이 private 해졌다. 모든 면에서 cocoapod보다 간단했다.
다만, 애를 먹었던 부분이 있어 설명을 해보고자 한다.
1. 기존에 cocoapod에서 만들어둔 소스를 한 번에 복붙했는데, 자꾸 에러가 난다. 그럴땐 일단 기다려보자 :) -> 기다림이 없어서인지 기다리면 되는 것을 안기다려서 1시간 정도 헤맸다
2. package -> target에 dependencies를 추가할때 Firebase와 Kakao SDK를 추가하는데 시간을 좀 오래썼다.
package - dependencies에서 name으로 해당 sdk를 명명해주고, 원하는 타겟의 dependencies에서 import 시키는 이름으로 명명해주면 된다. 이러고! 기다리면 된다 :) 안기다렸더니 자꾸 not found module 에러가 떴다.. (인내심을 길러야 합니다..)
이것을 한 번만 해주고 나면 아주 잘 된다.
이번 처럼 대량의 소스를 한 번에 라이브러리화 할 때 디버깅 팁(?) 이라고 하기보단 필자는 어떤 방식으로 했냐면, 프로젝트 하나 파서 바로 spm 추가해서 거기서 뜨는 오류들을 보면서 package 소스를 수정했다. 대량의 소스를 테스트를 할 수도, 컴파일이 다 되기를 기다리기에는 너무도 많은 시간이 걸렸기에 그냥 프로젝트 하나 파서 바로바로 에러보면서 수정하니 하루도 안되서 마무리 지을 수 있었다 :)
이번 기회에 spm의 편리함을 알게 되었고, 역시 서드파티보다는 애플이 지원하는 것 쓰는게 짱이라는.. 생각이 들었다.
'Swift' 카테고리의 다른 글
SPM에서 asset 파일 사용 방법 (0) 2022.10.28 회사 코드 private 라이브러리 회상 (3) - 새로 알게된 점 (0) 2022.10.27 회사 코드 private 라이브러리화 회상 (1) - CocoaPod (0) 2022.10.27 Swift 상수, 구조체가 좋을까 Enum이 좋을까? (1) 2021.02.13 MVC 패턴이란? (0) 2020.12.22