팀과 SPM으로 깃을 통해 형상관리를 하고있는데,
이 develope 브렌치와 병합하면서 , originHash 값이 달라진 문제가 발생하였습니다.
그래서 Package.resolved 파일이 무엇인지, 이 originHash가 무엇인지 찾아보게 되었습니다.
Package.resolved 파일이란?
의존성 관리 툴로 SPM을 사용할 때, XCode가 만드는 파일로,
프로젝트 공동 작업 시 모든 팀원이 같은 버전의 패키지 의존성을 사용해야된다고 함.
originHash에 대해서 설명이 잘 안보여서, 구글링하여, 2주 전에 따끈따끈한 글이 올라와있었다.
https://forums.developer.apple.com/forums/thread/755995
단순히 SHA-256 체크섬, 가지고 있는 패키지들이 정확한지 체크를 하는데, git 브랜치 전환을 할때 잠깐 패키지들이 사라졋다가 다시 생기는 현상이 발생해서 체크섬의 값이 바뀐게 아닌가, 라는 추측이다. (이게맞나 ? )
아래처럼 패키지화할때 체크섬 값을 미리 정의할 수 있는데
https://developer.apple.com/documentation/xcode/distributing-binary-frameworks-as-swift-packages
이 체크섬 값으로 패키지가 가지고있는 패키지와 일치하는지 체크하는 것 같다 ! (정확하진 않음)
그런데 또 Package.resolved 가 존재하는 경우 안에 일치하는지 여부는 신경쓰지 않는다고한다.. (코드를 까서 확인한게 신기하다)
결론은 브렌치를 바꿀때마다 hash값이 바뀌는 버그인데 일단 Commit을 해도 의미는 없는 것 같다.