새로운 패키지를 가져다 쓸 때마다 프레임워크를 추가해 줘야하는 번거로움이 존재한다(추가할 때 시간이 많이 걸린다.)
설치하려면 Ruby gem 필요 (맥은 ruby가 내장되어 필요x)
Swift Package Manager (SPM)
Dynamic, Static 라이브러리를 모두 지원
애플에서 지원해주는 first-party
아직 지원하지 않는 라이브러리가 있다.
Swift 3부터 언어에 빌트인 → 설치할 필요 없음 XCode 11.0부터 엑코GUI환경에서 바로 관리할 수 있음 (starting with Xcode 11, the Swift Package Manager is finally becoming a true first class citizen within Apple’s suite of developer tools)
왜 의존성관리 도구를 써야될까?
프로젝트에서 사용되는 다양한 외부 라이브러리들을 일일이 관리(업데이트)하는 게 아니라 손쉽게 일괄 관리할 수 있기에
외부라이브러리가의존하고 있는다른 라이브러리의 버전 업데이트를 한번에 관리할 수 있다.
Git과 의존성관리 도구를 사용할 때 조심해야될 점은?
라이브러리의 업데이트가 현재 해당 라이브러리를 사용하고 있는 나의 프로젝트에서도 변경된 것으로 나온다!따라서.gitignore에 라이브러리를 넣어서, 라이브러리의 업데이트(변경)은 내 프로젝트의 커밋에는 반영되지 않게 한다!