광어네 맛집

[Xcode] 버전별 설치 및 사용법 (Pods & SPM 동적, 정적 설치 에러) 본문

Xcode/Xcode

[Xcode] 버전별 설치 및 사용법 (Pods & SPM 동적, 정적 설치 에러)

Lautner Jacob 2022. 10. 10. 14:39
728x90
반응형

프로젝트를 진행하다 보니 Xcode 버전 별로 확인할 코드가 생기더라구요

그래서 이번 포스팅은 많은 분들이 알고 있겠지만 Xcode 를 버전별로 설치하는 방법을 알아보고자 합니다

 


 

사용방법은 간단함!

1. Xcode 종료 

2. https://developer.apple.com/download/all/ 여기에서 원하는 Xcode 설치

3. 압축 풀기 및 이름 변경

4. 이름까지 변경한 Xcode를 응용프로그램으로 드래그앤 드롭

 


 

이후 터미널 CLI를 통하여 설정할 수 있음

// 현재 Xcode 확인
$ xcode-select -p

// Xcode 버전 변경하기
$ sudo xcode-select -s /Applications/[Xcode 버전 선택].app/Contents/Developer

// 또는 
$ sudo xcode-select --switch /Applications/[Xcode 버전 선택].app/Contents/Developer

Tip. -s 나 --switch 같은 거라 단축어쓰는게 아무래도 편하긴 하쥐...

Tip2. Xcode 버전 선택에서 어떤 이름으로 한지 기억이 나지 않는다면 Tab 을 이용해서 확인할 수도 있음!

 

너무 다 알고 있으려나 ..

그래서 여기서 끝나면 허무하니 하나 더 추가함

 


 

1인 개발에서는 잘 안보일 수도 있는 Error 인데 

회사에서 만약 외주를 통해서 여러 3rd party Library를 사용하고 있을 때 발생할 수 있는 이슈임!

모두가 다 발생하는 이슈는 아니고 특정 조건일 때 발생함

 

아따 길다... 

 this SDK is not supported by the compiler 
 (the SDK is built with 'Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6)',
 while this compiler is 'Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)'). 
 Please select a toolchain which matches the SDK.

 이런 오류를 볼 수 있는데 이건 동적이나 정적으로 설치하는 방법에 제약을 받으면 발생함

(쉽게 말해서 다른 3rd party Library는 pod 정적으로 설치하고 'Alamofire'는 동적으로 설치해야할 때)

간단한 해결 방법은 SPM으로 'Alamofire'를 설치하면 해결은 된다

 

그렇지만 보안 라이브러리 같은 경우 예외인 상황임. 경로가 정해져있는 것들이 있어서 Xcode 이름을 바꾸면 빌드가 되지 않더라..

파일을 복사 한뒤 Xcode 새로운 버전 폴더에 복붙해주는 방법도 있는데

그럼 바꿔줄 때 마다 파일을 복사해주면 하나의 맥북에서 여러 Xcode를 쓰는 이점이 없을 거 같다는 생각이 들었음

그래서 지금 당장은 보안이 적용된 프로젝트의 경우에는 그냥 한 컴퓨터에 하나만 쓰기로 함

 

이 부분은 추후 해결 되면 추가 수정하도록 하겠심!

다른 해결 방법을 알고 계신 분들은 언제나 댓글 환영입니다!

 

오늘도 화이팅!

 


 

++ 내용 추가

SPM으로 할 필요는 없었다!

왜냐면 설치할 때 부터 use_frameworks! 를 설정해주면 됩니다!

즉, 동적으로 설치한다! 설정해주는 거에요

 

그리고 부수적으로  platform 이 필요하면 이거까지 설정해주면 좋겠죠?

어떤 걸 써야할지 모르겠다 하면 일단 #으로 주석 처리 해줍니다!

 

이 후 확인할 부분은 

Build Setting -> Linking -> Other Linker Flags -> $(inherited)를 제외한 나머지를 삭제해줍니다!

알고 보니 제 프로젝트에는 정적으로 설정해준다고 Flag 를 다 명시해줬더라구요

그래서 에러가 난거였음...

 

무튼 다음과 같이 설정해주면 해결!

 

조금 시간 지났어도 깔끔하게 원인찾아서 기분은 좋네 ㅎㅎ

그럼 오늘도 화이팅!

728x90
반응형

'Xcode > Xcode' 카테고리의 다른 글

[Xcode 15] Build Error  (1) 2023.11.13
[Xcode Error] Undefined Symbol  (0) 2022.11.03
[Xcode Error] Library not loaded  (0) 2022.10.17
[Xcode] 바이너리 서명  (1) 2022.09.03