개요
분리된 여러 프로젝트에서 사용하는 공통 코드들을 SPM(Swift Package Manager)으로 모듈화를 해서 관리하는 중이다.
특정 API를 호출하는 서비스 레이어나 유틸리티성 코드들은 한번 분리를 해놓으니 확실히 유지보수 하기 편하다.
- SPM 생성에 참고한 블로그 : https://0urtrees.tistory.com/387
위 블로그에 SPM 패키지 생성부터 적용하는 방법까지 잘 나와있어서 참고하였다.
그런데 내 맥에서는 SPM을 처음 생성할 때 에러가 발생했었다. 알고 보면 별건 아닌데, 해결 방법 찾는데에 시간이 꽤 걸렸었다.
발생한 에러
터미널로 test
라는 폴더를 만들고 swift package init
명령어를 실행하면 기본 SPM 프로젝트가 생성된다.
그다음, swift build
명령어를 입력하면 패키지 빌드가 잘 되는지 확인해 볼 수 있다.
이때, 나는 Invalid manifest 라는 에러가 발생하며 빌드에 실패했었다.
해결
swift build
명령어는 mac에 설치되어 있는 Swift 컴파일러에 의존한다.
Xcode 설치 과정에 Swift 컴파일러 설치도 포함되어 있기 때문에, 컴파일러를 직접 설치해 본 적은 없다. 그런데 이 이유 때문에 Xcode를 여러번 설치하게 되면 기본 컴파일러 버전이 꼬일 가능성이 생기게 된다.
나의 경우는 Xcode 15.0 버전을 한번 설치했다가, 15.0.1 RC 버전으로 업그레이드를 해서 사용 중인 상태였다.
아마도, 이 과정에서 컴파일러 선택 옵션값이 새로 설치한 버전으로 변경이 되지 않았던 것 같다. (추측)
그래서 다음 명령어를 입력해주었다.
$ sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Xcode 경로는 각자 다를 수 있다.
어쨌든 내가 사용하고 있는 Xcode 설치 경로 아래의 /Contents/Developer
경로를 찾아서 지정해 주면 된다.
명령어를 입력해서 Swift 컴파일러 경로(버전)를 수정해 주었고, 다시 swift build
명령어를 입력해서 잘 되는 것을 확인했다.
- 출처 : https://stackoverflow.com/questions/39795455/no-such-module-packagedescription
'iOS(macOS)' 카테고리의 다른 글
[iOS/macOS] FCM을 사용한 Remote Push Notification 구현 방법과 문제 해결 기록 (1) | 2024.02.09 |
---|---|
[Xcode/SPM] Swift 새 파일 생성시 파일명 설정 (Swift Package Manager) (2) | 2023.11.25 |
[App Store/심사] 심사 요청이 "심사 대기중"에서 안넘어간다? (0) | 2023.11.13 |
[Xcode] SVG 활용과 “clip: empty path.” 에러 해결하기 (0) | 2023.06.21 |