Xcode 26.6 iOS Simulator 다운로드 실패: 2026 원격 Mac 해결

공식 문서는 Xcode에서 Simulator 구성 요소를 내려받고, 내보내고, 가져오는 경로를 지원합니다. Xcode 추가 구성 요소 공식 문서를 기준으로 보면, Xcode 26.6 iOS Simulator 다운로드 실패가 발생했을 때 Xcode를 먼저 재설치하면 안 됩니다. SDK와 Simulator runtime을 분리하고, 활동 중인 Xcode와 CoreSimulator 상태를 확인한 뒤 복구해야 합니다. 끝까지 재현되지 않으면 손상된 노드를 계속 지우기보다 깨끗한 원격 Mac으로 교체하는 편이 안전합니다.

이 글은 Xcode 26.6 업데이트 후 Simulator를 내려받거나 실행하지 못하는 iOS 개발자와 테스트 엔지니어를 위한 글입니다. 여러 원격 Mac에 같은 runtime을 준비하는 DevOps 엔지니어, 빌드는 되지만 Simulator 테스트가 실행되지 않는 배포 엔지니어도 대상입니다.

마지막 확인: 2026년 9월 5일. Xcode 26.6 릴리스 노트, 추가 구성 요소 문서와 최신 개발자 포럼 상태를 기준으로 확인했습니다. 포럼의 Preparing 정지 사례는 사용자 보고이며, 전체 사용자에게 발생하는 공식 장애로 확정된 내용은 아닙니다. Xcode 26.6 릴리스 노트도 함께 대조해야 합니다.

01 SDK가 보이는 것과 Simulator runtime이 설치된 것은 다릅니다

가장 먼저 확인할 것은 다음 세 가지입니다.

  • 프로젝트가 현재 Xcode에서 컴파일되는가
  • simctl이 필요한 iOS Simulator runtime을 출력하는가
  • 등록된 Simulator 기기가 실제로 부팅되는가

SDK가 보인다는 것은 프로젝트를 컴파일할 수 있는 플랫폼 구성 요소가 있다는 뜻입니다. 이것만으로 해당 iOS Simulator runtime이 설치되었다고 판단할 수는 없습니다. 반대로 runtime이 목록에 있어도 CoreSimulator 서비스나 기기 상태가 깨졌다면 부팅은 실패할 수 있습니다.

터미널에서 활동 중인 개발자 디렉터리와 runtime 목록을 먼저 기록합니다.

xcode-select -p
xcodebuild -version
xcrun simctl list runtimes
xcrun simctl list devices

그래픽 화면에서 연 Xcode 26.6과 xcode-select -p가 가리키는 경로가 다르면, 터미널 명령이 다른 Xcode를 사용하고 있을 수 있습니다. 이 상태에서는 다운로드를 반복해도 엉뚱한 개발자 디렉터리에 구성 요소가 설치될 수 있습니다.

02 활동 중인 Xcode와 초기화 상태를 먼저 고정합니다

Xcode가 여러 개 설치된 원격 Mac에서는 전역 선택을 바로 바꾸지 마십시오. 공유 CI 노드의 다른 작업까지 영향을 받을 수 있습니다. 먼저 현재 경로를 저장하고, GUI에서 연 앱의 경로와 비교합니다.

xcode-select -p
sudo xcode-select --switch /경로/대상/Xcode.app/Contents/Developer
xcodebuild -runFirstLaunch

--switch는 경로가 실제로 어긋났을 때만 사용합니다. 변경 후에는 다음을 다시 실행해 결과를 기록합니다.

xcodebuild -version
xcrun --find simctl
xcrun simctl list runtimes

첫 실행 구성 요소가 끝나지 않은 상태에서는 라이선스, 플랫폼 서비스 또는 명령줄 도구 초기화가 완료되지 않을 수 있습니다. Xcode 구성 요소 다운로드 및 설치 안내의 현재 화면 경로와 명령을 대조하십시오.

여기서 중단 조건은 명확합니다. 활동 중인 Xcode와 명령줄 경로가 일치하고, 첫 실행 초기화가 끝났는데도 runtime이 없다면 CoreSimulator 데이터를 지우지 말고 다운로드 경로로 이동합니다.

03 Preparing 정지는 네트워크와 구성 요소 문제를 분리해야 합니다

Xcode Components 화면에서 다운로드가 Preparing에 머문다고 해서 곧바로 Xcode 파일이 손상된 것은 아닙니다. 다음 증거를 한 번에 수집하십시오.

  • 화면에 표시된 구성 요소 이름과 플랫폼 버전
  • 터미널 명령의 전체 출력과 오류 코드
  • 문제가 발생한 시각과 반복 여부
  • DNS 응답 결과
  • 프록시와 방화벽 적용 여부
  • /etc/hosts에 관련 도메인 재정의가 있는지
  • 원격 Mac이 외부 다운로드 경로에 접근하는지

같은 노드에서 브라우저만 연결되는 경우도 있습니다. 브라우저 인증, 시스템 프록시, 명령줄 네트워크 경로가 서로 다를 수 있기 때문입니다. 반대로 모든 노드에서 같은 시간대에 실패한다면 일시적인 구성 요소 서비스 문제 가능성도 남겨 두어야 합니다. 특정 포럼 사례를 공식 장애로 확대하지 마십시오. 개발자 포럼의 관련 사용자 보고는 현상 비교용 자료로만 사용합니다.

명령줄 다운로드는 설치된 Xcode가 지원하는 인자를 먼저 확인한 뒤 실행합니다.

xcodebuild -help | grep -i platform
xcodebuild -downloadPlatform iOS

명령이 실패하면 오류 문자열을 잘라서 남기지 마십시오. 도메인, 오류 코드, 요청한 플랫폼과 시각이 있어야 다른 노드와 비교할 수 있습니다. 네트워크 변경 후에는 같은 명령을 재실행하고, 결과가 달라졌는지 확인합니다.

04 CoreSimulator가 runtime을 인식하지 못할 때의 저위험 확인

다운로드 파일이 있는 것과 runtime 등록이 끝난 것은 다릅니다. 다음 비교로 상태를 나눕니다.

확인 대상 관찰 결과 판단 다음 조치
Xcode Components 설치 완료 표시 화면상 다운로드 완료 simctl 목록 확인
simctl list runtimes 필요한 runtime 없음 등록 전 또는 잘못된 Xcode 활동 경로와 공식 가져오기 확인
runtime 목록 필요한 항목 존재 플랫폼 등록 가능성 있음 기기 생성 또는 부팅 확인
기기 부팅 부팅 실패 CoreSimulator 또는 기기 상태 문제 로그 수집 후 재시작 검증
최소 앱 테스트 실행 실패 실제 개발 환경 미완료 프로젝트 설정과 서명 조건 분리 확인

기기 부팅과 앱 실행은 별도의 검증입니다. 앱 빌드 및 실행 공식 안내를 기준으로 최소 프로젝트를 실행하십시오. 실제 프로젝트만 사용하면 의존성, 서명, 빌드 스크립트 오류가 Simulator 문제처럼 보일 수 있습니다.

다음 순서로 검증합니다.

xcrun simctl list runtimes
xcrun simctl list devices available
xcrun simctl boot "<기기 이름 또는 식별자>"
xcrun simctl bootstatus "<기기 식별자>" -b

이미 다운로드와 등록이 확인된 뒤에도 부팅이 반복 실패하면 Mac을 재시작하고 Xcode를 다시 실행합니다. 그래도 동일하면 로그와 기기 식별자를 보관합니다. CoreSimulator 폴더, 시스템 리소스 디렉터리, 전체 Developer 데이터 삭제는 백업과 복구 계획이 있을 때만 마지막으로 검토하십시오. 삭제하면 다른 프로젝트의 기기와 캐시가 함께 사라질 수 있습니다.

05 공식 내보내기와 가져오기로 제한된 네트워크를 우회합니다

여러 노드에 같은 iOS Simulator runtime을 준비해야 한다면, 정상적으로 다운로드되는 Mac을 기준 노드로 삼습니다. 임의의 runtime 디렉터리를 복사하지 말고 공식 내보내기와 가져오기 흐름을 사용하십시오. 추가 Simulator 구성 요소 안내는 구성 요소를 다른 Mac에 준비할 때 확인할 기준을 제공합니다.

권장 절차는 다음과 같습니다.

  1. 기준 Mac에서 Xcode 버전과 활동 중인 Developer 경로를 기록합니다.
  2. 필요한 iOS 플랫폼 구성 요소만 공식 명령으로 다운로드합니다.
  3. xcodebuild의 현재 도움말에 표시된 내보내기 인자로 패키지를 생성합니다.
  4. 패키지의 생성 로그, 파일 크기, 전송 결과와 체크섬을 저장합니다.
  5. 원격 Mac에서 같은 Xcode 계열과 대상 플랫폼을 확인합니다.
  6. 공식 가져오기 인자로 패키지를 등록하고 전체 로그를 보관합니다.
  7. simctl list runtimes와 기기 부팅으로 등록 결과를 확인합니다.

명령 인자는 Xcode 릴리스에 따라 달라질 수 있으므로 블로그의 복사 명령보다 대상 노드의 xcodebuild -help와 공식 문서를 우선해야 합니다. Apple Silicon 원격 Mac과 다른 아키텍처 변형을 섞을 때는 패키지가 대상 환경을 지원하는지도 확인해야 합니다. 가져오기 성공 메시지만 보고 끝내지 말고 runtime 목록과 실제 기기 부팅까지 확인하십시오.

이 방식은 원격 Mac의 Xcode 개발 환경 검증처럼 노드 기준선을 먼저 세우는 운영 방식과 잘 맞습니다. 여러 대를 배포한다면 노드별 Xcode 경로, runtime 식별자, 가져오기 로그와 마지막 재부팅 시각을 함께 기록하십시오.

06 복구와 노드 교체를 가르는 최종 점검

수정 후에는 다음 체크리스트를 순서대로 완료하십시오.

  • [ ] GUI에서 연 Xcode와 xcode-select 경로가 일치합니다.
  • [ ] 첫 실행 초기화가 완료되었습니다.
  • [ ] 필요한 runtime이 simctl 목록에 나타납니다.
  • [ ] 사용 가능한 기기를 생성하거나 확인할 수 있습니다.
  • [ ] 기기가 부팅되고 bootstatus가 완료됩니다.
  • [ ] 최소 프로젝트가 Simulator에서 실행됩니다.
  • [ ] 실제 프로젝트의 Simulator 테스트가 통과합니다.
  • [ ] SSH 연결을 끊었다가 다시 연결해도 작업 상태를 확인할 수 있습니다.
  • [ ] 원격 Mac을 재시작한 뒤 Xcode와 기기가 다시 정상 동작합니다.
  • [ ] 다운로드, 가져오기, 오류 로그가 저장되어 있습니다.

다운로드 경로가 정상화되고 runtime이 반복해서 인식되면 기존 노드를 계속 사용해도 됩니다. 반대로 다른 Mac에서는 성공하지만 해당 노드에서만 등록이 깨지고, 재시작 뒤에도 상태가 달라지지 않는다면 손상된 기준선을 의심해야 합니다. 이미 여러 번 재설치하거나 시스템 데이터를 삭제했다면 복구보다 격리 재구축이 빠르고 안전합니다.

이때 현재 사용 중인 방식이 사내 Mac이나 개인 Mac 한 대에 의존한다면, 재부팅 때 접근이 끊기고 저장 공간과 권한 상태를 직접 관리해야 하며 여러 테스트 노드에 같은 runtime을 반복 준비해야 하는 부담이 생깁니다. 반면 CALMVPS의 원격 Mac은 임시 개발 환경이나 깨끗한 검증 노드를 먼저 확보하는 선택지가 될 수 있습니다. 장기간 고정 부하를 처리하거나 물리 장치 연결이 필요한 경우에는 실물 Mac이 더 적합하지만, Xcode 26.6의 다운로드·가져오기·프로젝트 테스트를 분리해 재현해야 하는 상황이라면 CALMVPS 원격 Mac 요금과 이용 방식을 비교해 보는 편이 합리적입니다.

자주 확인하는 문제

FAQ 답변은 위의 복구 절차와 별도로, 검색 과정에서 자주 생기는 판단 오류를 정리한 것입니다. 포럼 보고는 공식 장애 판정이 아니라 현상 참고 자료로만 보십시오.

07 마무리

Xcode 26.6 iOS Simulator 다운로드 실패의 첫 대응은 재설치가 아닙니다. SDK, runtime, CoreSimulator와 다운로드 경로를 각각 증명하고, 공식 내보내기와 가져오기를 거친 뒤 실제 프로젝트와 재부팅 상태까지 확인해야 합니다. 기준선을 만들 수 없는 노드라면 추가 삭제보다 깨끗한 원격 Mac에서 같은 흐름을 재현하는 것이 다음 판단에 필요한 증거를 더 빨리 제공합니다.