어떤 Package 관리자를 사용하시나요? 아마 iOS 개발자라면 SPM, CocoaPods, Carthage 3개중에 하나는 사용해보셨을 것 같은데요. 옛날에는 외부 라이브러리를 사용할 때 소스를 받거나 컴파일된 것을 프로젝트에 직접 추가해서 사용했죠 하지만 점점 추가해야 되는 라이브러리가 많아지고 버전 관리등 여러 문제에 부딪혀서 도구를 만든 것 같아요. 제가 CocoaPods에 대해 알게된 건 2017년 이었던 것 같네요. 공고에서 봐서 였는지 사용할 라이브러리가 그것으로 제공 되어서인지는 생각나지 않지만... 2018년에 iOS 개발자로 재취업 후에는 Player를 Private Pod으로 분리하기도 했죠. 그후에 SPM이나 Carthage를 라이브러리 설치 방법 같은데서 봤던 것 같지만 CocoaPods이 일단 잘되니 관심 없었고 다른 패키지 관리자를 지원하지 않는 라이브러리들도 있어서 사용할 수 없었습니다. 최근에는 CocoaPods을 지원하지 않겠다는 라이브러리가 점점 늘고 있습니다. Apple의 SPM은 공식 도구이기도하고 CocoaPods은 큰 Xcode 업데이트 마다 호환성 문제가 발생해서 인 것 같네요. 이름에서 알 수 있듯이 Swift 만 패키지에 포함할 수 있다는 얘기가 있었는데 최근에는 설정을 통해 Objective-C도 포함할 수 있는 것으로 보이네요. 제조사가 공식 도구를 제공하지 않아서 외부에 힘을 빌리다가 공식 도구가 나와서 그것으로 점점 넘어가는 것 같네요. 처음에는 Reference나 지원하는 라이브러리가 적어서 안쓰다가 도구도 점점 발전하고 사용하면서 자연스럽게 넘어가는. 마치 RxSwift를 대신할 Combine이라는 공식 도구가 나온것 처럼 말이죠. 제가 만든 앱 중에 게임도우미라는 앱이 있는데 말 그대로 게임을 도와주는 게임 자체에서 지원하지 않는 기능을 담은 것 인데 게임사에서 게임 내에 기능을 넣어버린 후에 제 앱 사용량이 점점 줄었던 경험이 있네요 :) #직독직해 #medium #ios #swift #dependencymanager #dependency #packagemanager
로그인 후 모든 글을 볼 수 있습니다.