PromleeBlog
sitemapaboutMe

posting thumbnail
Xcode 다운그레이드 방법
How I Downgraded Xcode

📅

🚀

들어가기 전에🔗

최근 React Native + Expo 기반 앱을 개발하던 중, Xcode를 16.3으로 업데이트한 직후부터 예상치 못한 빌드 오류가 발생하기 시작했습니다. 콘솔에는 std::char_traits<unsigned char> 관련 템플릿 에러 메시지가 반복되어 출력되었고, 일부 포드(Pod)에서 컴파일이 멈추는 현상이 나타났습니다.
결국 문제를 빠르게 해결하기 위해 Xcode를 16.2로
다운그레이드
하기로 결정하였습니다. 이 글에서는 제가 직접 겪은 상황과 함께, Xcode를 안전하게 다운그레이드하는 방법을 단계별로 정리해 보았습니다.

Xcode 16.3 업데이트 후 발생한 오류🔗

Xcode 16.3 업데이트 이후, 아래와 같은 오류 메시지가 출력되며 빌드가 중단되었습니다.
static_assert(is_same<_CharT, typename traits_type::char_type>::value,
              ^ implicit instantiation of undefined template 'std::char_traits<unsigned char>'
이 오류는 string_view와 관련된 C++ 표준 라이브러리 내부에서 발생하며, RCT-Folly, React-perflogger 등 React Native 내부 Pod 컴포넌트들과의 호환성 문제로 보였습니다.
간단히 말해,
새로운 Xcode 버전과 기존의 일부 C++ 기반 네이티브 코드가 맞지 않는 것
입니다. Expo 환경에서는 직접 C++ 코드를 다루지 않기 때문에, 근본적인 해결책보다는 안정적인 이전 버전으로 되돌리는 것이 더 빠른 방법이었습니다.

🚀

Xcode 다운그레이드하는 방법 (16.3 → 16.2)🔗

Xcode를 다운그레이드하는 방법은 크게 4단계로 나눌 수 있습니다.

1. 기존 Xcode 16.3 삭제 또는 이름 변경🔗

Mac에는 Xcode.app이라는 이름의 앱이 한 번에 하나만 존재할 수 있기 때문에, 기존 버전을 삭제하거나 이름을 변경해야 합니다.
삭제하는 방법:
sudo rm -rf /Applications/Xcode.app
혹은 이름을 바꿔 보관할 수도 있습니다:
sudo mv /Applications/Xcode.app /Applications/Xcode-16.3.app
이 방법은 나중에 16.3을 다시 사용할 수도 있도록 백업해 두는 용도로 좋습니다.

2. Xcode 16.2 다운로드🔗

아래 링크에서 Xcode 16.2 버전을 다운로드할 수 있습니다.
🔗 Apple Developer Downloads
image

3. Xcode 16.2 설치🔗

다운로드가 완료되면 .xip 파일을 더블 클릭해 압축을 풀고, /Applications 폴더로 이동시킵니다.
혹은 드래그 앤 드롭으로 이동할 수도 있습니다.
sudo mv ~/Downloads/Xcode.app /Applications/
응용 프로그램 확인
응용 프로그램 확인

4. Xcode 16.2 활성화🔗

마지막으로 xcode-select 명령어를 통해 시스템에서 사용할 Xcode 버전을 지정해 줍니다.
sudo xcode-select -s /Applications/Xcode.app
버전이 제대로 적용되었는지 확인하려면 다음 명령어를 사용합니다.
xcodebuild -version
예상 출력:
Xcode 16.2
Build version 16Cxxx
이제 다시 프로젝트를 빌드하면 오류 없이 정상적으로 작동하는 것을 확인할 수 있습니다.

🚀

결론🔗

이번 경험을 통해
최신 버전이 항상 안정적인 것은 아니다
라는 점을 다시 한번 느꼈습니다. 특히 React Native와 같이 네이티브 컴포넌트와 연결되어 있는 프레임워크의 경우, Xcode 또는 Android Studio의 버전 호환성에 항상 유의해야 합니다.
앞으로는 주요 버전 업데이트 전에 GitHub 이슈나 Expo Release Notes를 꼭 확인한 뒤 결정하려고 합니다.

참고🔗