엑스코드

**엑스코드**(Xcode)는 애플 기기용 앱을 제작하기 위한 제품군이자 애플 개발자 도구이다. 여기에는 macOS, iOS, iPadOS, watchOS, tvOS, visionOS용 소프트웨어를 개발하는 데 사용되는 같은 이름의 macOS용 통합 개발 환경(IDE)이 포함되어 있다. 2003년 말에 처음 출시되었으며, 최신 안정화 버전은 2026년 2월 26일에 출시된 26.3 버전이다. 맥 앱 스토어와 애플 개발자 웹사이트를 통해 무료로 이용할 수 있다. 등록된 개발자는 애플 개발자 웹사이트를 통해 프리뷰 릴리스와 이전 버전들을 다운로드할 수도 있다. 엑스코드에는 macOS의 터미널 앱을 통해 유닉스 스타일의 개발을 가능하게 하는 명령줄 도구가 포함되어 있다. 이 도구들은 GUI 없이도 다운로드하여 설치할 수 있다.

엑스코드 이전에는 애플이 맥 OS X 애플리케이션 개발을 위해 개발자들에게 프로젝트 빌더와 인터페이스 빌더를 제공했다.

## 주요 기능
엑스코드의 소스 코드 편집기는 스위프트, C++, 오브젝티브-C, 오브젝티브-C++, 자바, 애플스크립트, 파이썬, 루비, ResEdit (Rez), C 등의 프로그래밍 언어를 지원하며, 코코아, 카본, 자바를 포함한 다양한 프로그래밍 모델을 지원한다. 제3자 개발자들은 GNU 파스칼, 프리 파스칼, 에이다, C 샤프, Go, 펄, D에 대한 지원을 추가했다.

엑스코드는 Mach-O 실행 파일 형식을 사용하여 여러 아키텍처용 코드를 포함하는 유니버설 바이너리(fat binary) 파일을 빌드할 수 있다. 이는 32비트 파워PC에서 64비트 파워PC로, 파워PC에서 인텔 X86으로, 32비트에서 64비트 인텔로, 그리고 가장 최근에는 인텔 X86에서 애플 실리콘으로의 전환을 원활하게 도왔다. 개발자는 단일 애플리케이션만 배포하면 운영체제가 런타임에 적절한 아키텍처를 자동으로 선택한다. 또한 iOS SDK, tvOS SDK, watchOS SDK를 사용하여 iOS, iPadOS, tvOS, watchOS용 애플리케이션을 컴파일하고 디버깅할 수 있다.

엑스코드에는 썬 마이크로시스템즈가 개발하여 오픈솔라리스의 일부로 공개한 동적 추적 프레임워크인 DTrace 위에서 작동하는 GUI 도구 Instruments가 포함되어 있다.

또한 엑스코드는 깃 버전 관리 시스템 및 프로토콜을 사용한 소스 코드 관리 지원 기능을 통합하고 있다. 사용자는 깃허브, 빗버킷, Perforce와 같은 호스팅 사이트나 깃랩 같은 자체 호스팅 서버의 깃 저장소를 생성하고 복제(clone)할 수 있다. 또한 커밋, 푸시(push), 풀(pull) 등의 작업을 엑스코드 내에서 모두 수행할 수 있어, 기존에 명령줄에서 수행하던 작업을 자동화할 수 있다.

### 구성
제품군의 주요 애플리케이션은 엑스코드라는 이름의 통합 개발 환경(IDE)이다. 제품군에는 대부분의 애플 개발자 문서와 그래픽 사용자 인터페이스를 구축하는 데 사용되는 애플리케이션인 인터페이스 빌더가 내장되어 있다.
엑스코드 4.1까지는 수정된 버전의 GNU 컴파일러 모음이 포함되었다. 엑스코드 3.1부터 4.6.3까지는 GNU 컴파일러 모음의 프런트엔드와 LLVM 기반의 코드 생성기를 사용하는 LLVM-GCC 컴파일러가 포함되었다. 엑스코드 3.2부터는 새로 작성된 프런트엔드와 LLVM 기반 코드 생성기를 갖춘 클랭 C/C++/오브젝티브-C 컴파일러와 클랭 정적 분석기가 포함되었다. 엑스코드 4.2부터 클랭이 기본 컴파일러가 되었으며, 엑스코드 5.0부터는 클랭이 유일하게 제공되는 컴파일러가 되었다.

엑스코드 4.6.3까지는 IDE 디버거의 백엔드로 GNU 디버거(GDB)를 사용했다. 엑스코드 4.3부터 LLDB 디버거가 함께 제공되기 시작했으며, 엑스코드 4.5부터 LLDB가 GDB를 대신하여 기본 디버거 백엔드가 되었다. 엑스코드 5.0부터는 GDB가 더 이상 제공되지 않는다.

### 플레이그라운드
엑스코드의 플레이그라운드(Playgrounds) 기능은 스위프트 프로그래밍 언어를 신속하게 실험하고 개발할 수 있는 환경을 제공한다. 이 기능의 초기 버전은 2014년 6월 2일 WWDC 2014 기간 동안 애플에 의해 발표 및 출시되었다.

플레이그라운드는 개발자의 코드를 실시간으로 렌더링하는 테스트 공간을 제공한다. 코딩과 동시에 개별 표현식의 결과를 평가하고 표시(코드 옆이나 사이드바)하여 프로그래머에게 신속한 피드백을 제공한다. read-eval-print loop(REPL)로 알려진 이러한 유형의 개발 환경은 학습, 실험 및 빠른 프로토타이핑에 유용하다. 플레이그라운드는 애플이 REPL의 장점이 뚜렷한 스위프트 튜토리얼 및 가이드를 게시하는 데 사용되었다.

플레이그라운드 기능은 애플의 개발자 도구 부서에서 개발했다. 스위프트의 창시자이자 개발자 도구 부서의 시니어 디렉터 겸 아키텍트인 크리스 라트너에 따르면, 플레이그라운드는 "Bret Victor의 아이디어, 라이트 테이블 및 여러 다른 대화형 시스템의 영향을 크게 받았다". 플레이그라운드는 WWDC 2014에서 엑스코드 6의 일부로 처음 발표되어 그해 9월에 출시되었다.

2016년 9월에는 아이패드용 Swift Playgrounds 애플리케이션(2020년 2월부터 macOS에서도 사용 가능)이 출시되어 이러한 아이디어를 교육용 도구로 통합했다. 엑스코드의 플레이그라운드 기능도 계속 발전하여, WWDC 2018에서 발표된 엑스코드 10에서는 새로운 단계별 실행 기능이 도입되었다.

### 제거된 기능
이전에 엑스코드는 여러 시스템에 제품 빌드 프로세스를 분산하는 기능을 지원했다. 여기에는 Bonjour protocol을 사용하여 컴파일러 서비스를 제공하는 시스템을 자동 검색하는 Shared Workgroup Build 기술과 부하 분산을 용이하게 하기 위해 수정된 자유 소프트웨어 제품인 distcc가 포함되었다. 이전 버전의 엑스코드에서는 Dedicated Network Builds라는 시스템도 제공했다. 이러한 기능들은 현재 지원되는 엑스코드 버전에서는 삭제되었다.

또한 엑스코드에는 자바 웹 애플리케이션 및 웹 서비스를 구축하기 위한 애플의 WebObjects 도구와 프레임워크가 포함되어 있었다(이전에는 별도 제품으로 판매됨). 엑스코드 3.0부터 애플은 엑스코드 내부에서의 WebObjects 개발 지원을 중단했으며, 대신 WOLips를 사용해야 한다. 엑스코드 3에는 여전히 WebObjects 프레임워크가 포함되어 있다.

## 버전 역사

### 1.x 시리즈
엑스코드 1.0은 2003년 가을에 출시되었다. 엑스코드 1.0은 프로젝트 빌더를 기반으로 했으나, 업데이트된 사용자 인터페이스(UI), ZeroLink, Fix & Continue, 분산 빌드 지원 및 Code Sense 인덱싱 기능을 갖추고 있었다.

다음 주요 릴리스인 엑스코드 1.5는 더 나은 코드 완성 기능과 개선된 디버거를 제공했다.

### 2.x 시리즈
엑스코드 2.0은 맥 OS X 10.4 "타이거"와 함께 출시되었다. 여기에는 쿼츠 컴포저 시각적 프로그래밍 언어, 자바를 위한 개선된 Code Sense 인덱싱, 아파치 앤트 지원이 포함되었다. 또한 애플 웹사이트의 온라인 문서와 로컬 컴퓨터에 설치된 문서를 검색하고 읽을 수 있는 Apple Reference Library 도구가 포함되었다.

엑스코드 2.1은 유니버설 바이너리 파일을 생성할 수 있게 되었다. 공유 precompiled header, 유닛 테스트 타겟, 조건부 중단점 및 조사식(watchpoints)을 지원했다. 또한 종속성 분석 기능이 개선되었다.

맥 OS X 10.4를 지원하는 마지막 버전은 2.5였다.

### 3.x 시리즈
엑스코드 3.0은 맥 OS X 10.5 "레퍼드"와 함께 출시되었다. 2.1 이후의 주목할 만한 변경 사항으로는 DTrace 디버깅 도구(현재 이름 Instruments), 리팩터링 지원, 문맥 인식 문서, 쓰레기 수집 기능이 포함된 오브젝티브-C 2.0 등이 있다. 또한 기본 버전 관리 형태인 Project Snapshots, 빌드 오류와 디버그 값을 코드 옆에 보여주는 Message Bubbles, 4개 아키텍처(32/64비트 인텔 및 파워PC)용 유니버설 바이너리 빌드 기능을 지원했다.

엑스코드 3.1은 맥 OS X용 개발자 도구의 업데이트 버전으로, 아이폰 SDK와 함께 포함된 것과 동일한 버전이었다. 아이폰 OS 2.0을 포함하여 맥 OS X 이외의 플랫폼을 타겟으로 할 수 있게 되었다. GCC 4.2 및 LLVM GCC 4.2 컴파일러가 포함되었다. 엑스코드 3.0 이후의 또 다른 새로운 기능은 SCM 지원에 서브버전 1.5가 포함된 것이다.

엑스코드 3.2는 맥 OS X 10.6 "스노 레퍼드"와 함께 출시되었으며 이전 버전의 OS X에는 설치되지 않는다. 정적 프로그램 분석 등의 기능을 지원한다. 또한 아이폰 OS 3.0 이전 버전에 대한 공식적인 타겟 지원을 중단했다. 그러나 여전히 이전 버전을 타겟팅하는 것은 가능하며, 시뮬레이터는 아이폰 OS 2.0부터 3.1까지 지원한다. 또한 자바 지원은 3.2에서 오거나이저로 "추방"되었다.

엑스코드 3.2.6은 맥 OS X 스노 레퍼드 사용자가 무료로 다운로드할 수 있는 마지막 버전이다(스노 레퍼드를 지원하는 마지막 버전은 4.2이다). 엑스코드 3.2.6을 다운로드하려면 애플 개발자 사이트에서 무료 등록이 필요하다.

### 4.x 시리즈
2010년 6월, 세계 개발자 회의의 'Developer Tools State of the Union' 발표에서 엑스코드 버전 4가 공개되었다. 버전 4는 엑스코드 편집 도구와 인터페이스 빌더를 하나의 애플리케이션으로 통합하는 등 여러 개선 사항을 담았다. 애플은 2011년 3월 9일에 엑스코드 4.0의 최종 버전을 출시했다. 이 소프트웨어는 연회비 99달러인 맥 개발자 프로그램과 iOS 개발자 프로그램의 모든 등록 회원에게 무료로 제공되었다. 또한 비회원에게는 맥 앱 스토어에서 4.99달러에 판매되었다(현재는 제공되지 않음). 엑스코드 4.0은 모든 파워PC 개발 및 맥 OS X 10.4, 10.5용 소프트웨어 개발 키트(SDK), 4.3 이전의 모든 iOS SDK를 포함한 많은 구형 시스템에 대한 지원을 중단했다. 배포 타겟은 여전히 구형 플랫폼용 바이너리를 생성하도록 설정할 수 있지만, 맥 OS 플랫폼의 경우 X86 및 X86-64 바이너리 생성으로 제한된다. 나중에 엑스코드는 일반 대중에게 무료로 공개되었다. 버전 4.1 이전까지 엑스코드는 4.99달러였다.

엑스코드 4.1은 2011년 7월 20일(맥 OS X 라이언 출시일)에 맥 앱 스토어에서 모든 라이언 사용자에게 무료로 제공되었다. 2011년 8월 29일에는 유료 맥 또는 iOS 개발자 프로그램 회원들을 위해 맥 OS X 스노 레퍼드용 엑스코드 4.1이 제공되었다. 엑스코드 4.1은 오직 LLVM GCC나 클랭만을 사용하는 대신 GNU 컴파일러 모음(GCC)을 포함한 마지막 버전이었다.

2011년 10월 12일, iOS 5.0 출시와 동시에 엑스코드 4.2가 출시되었으며, 스토리보드 및 자동 참조 카운팅(ARC)과 같은 많은 개선된 기능이 포함되었다. 엑스코드 4.2는 맥 OS X 10.6 "스노 레퍼드"를 지원하는 마지막 버전이지만, 유료 계정을 가진 등록된 개발자에게만 제공되었다. 유료 계정이 없는 경우 스노 레퍼드용 최신 다운로드 버전은 3.2.6으로 나타난다.

2012년 2월 16일에 출시된 엑스코드 4.3은 맥 앱 스토어에서 설치되는 Xcode.app이라는 단일 애플리케이션 번들로 배포된다. 엑스코드 4.3은 개발자 도구를 포함하도록 엑스코드 메뉴를 재구성했다. 2012년 3월 7일에 출시된 엑스코드 4.3.1은 iOS 5.1에 대한 지원을 추가했다. 2012년 3월 22일에 출시된 엑스코드 4.3.2는 iOS 시뮬레이터 개선 사항을 담았으며 GDB 대신 LLDB 디버거 사용을 권장했다. 2012년 5월에 출시된 엑스코드 4.3.3은 맥 OS X 10.7.4 "라이언"을 위한 업데이트된 SDK와 몇 가지 버그 수정을 포함했다.

엑스코드 4.4는 2012년 7월 25일에 출시되었다.
이는 맥 OS X 라이언(10.7)과 OS X 마운틴 라이언(10.8) 모두에서 실행되며, OS X 10.8 "마운틴 라이언" SDK를 포함한 첫 번째 버전이다. 엑스코드 4.4는 선언된 프로퍼티의 자동 합성, 리터럴 구문 및 서브스크립팅과 같은 새로운 오브젝티브-C 기능, 개선된 지역화 기능 등을 포함했다. 2012년 8월 7일에는 몇 가지 버그를 수정한 엑스코드 4.4.1이 출시되었다.

2012년 9월 19일, iOS 6와 엑스코드 4.5가 출시되었다. 엑스코드는 아이폰 5와 아이팟 터치 5세대의 4인치 레티나 디스플레이 및 iOS 6에 대한 지원을 추가했다. 또한 iOS에 몇 가지 새로운 오브젝티브-C 기능을 도입했고, 지역화를 단순화했으며, iOS용 오토 레이아웃(auto-layout) 지원을 추가했다. 2012년 10월 3일에는 버그 수정과 안정성이 개선된 엑스코드 4.5.1이 출시되었다. 한 달 뒤에는 아이패드 미니와 레티나 디스플레이 아이패드를 지원하는 엑스코드 4.5.2가 출시되었다.

2013년 1월 28일, iOS 6.1과 엑스코드 4.6이 출시되었다.

### 5.x 시리즈
2013년 6월 10일, 세계 개발자 회의에서 엑스코드 버전 5가 발표되었다.
2013년 9월 18일, 엑스코드 5.0이 출시되었다. iOS 7 및 OS X 10.8 마운틴 라이언 SDK와 함께 제공되었다. 그러나 OS X 10.9 매버릭스에 대한 지원은 베타 버전에서만 가능했다. 엑스코드 5.0은 또한 iOS 7용 64비트 ARM 코드를 생성하는 클랭 버전을 추가했다. 애플은 엑스코드 5.1에서 쓰레기 수집 기능이 포함된 코코아 바이너리 빌드 지원을 제거했다.

### 6.x 시리즈
2014년 6월 2일, 세계 개발자 회의에서 애플은 엑스코드 버전 6을 발표했다. 가장 주목할 만한 특징 중 하나는 애플이 개발한 완전히 새로운 프로그래밍 언어인 스위프트 지원이었다. 엑스코드 6에는 플레이그라운드 및 라이브 디버깅 도구와 같은 기능도 포함되었다. 2014년 9월 17일, IOS 8 출시와 동시에 엑스코드 6이 출시되었다. 엑스코드는 맥 앱 스토어에서 다운로드할 수 있었다.

### 7.x 시리즈
2015년 6월 8일, 세계 개발자 회의에서 엑스코드 버전 7이 발표되었다. 스위프트 2 및 OS X용 메탈 지원을 도입했으며, 애플 개발자 계정 없이도 iOS 기기에 앱을 배포할 수 있는 기능을 추가했다. 엑스코드 7은 2015년 9월 16일에 출시되었다.

### 8.x 시리즈
2016년 6월 13일, 세계 개발자 회의에서 엑스코드 버전 8이 발표되었으며, 당일 베타 버전이 출시되었다. 스위프트 3 지원을 도입했다. 엑스코드 8은 2016년 9월 13일에 출시되었다.

### 9.x 시리즈
2017년 6월 5일, 세계 개발자 회의에서 엑스코드 버전 9가 발표되었으며, 당일 베타 버전이 출시되었다. 스위프트 4 및 메탈 2 지원을 도입했다. 또한 와이파이를 통해 IOS 및 TvOS 기기에서 원격으로 무선 디버깅을 할 수 있는 기능을 도입했다.

엑스코드 9는 2017년 9월 19일에 정식 출시되었다.

### 10.x 시리즈
2018년 6월 4일, 세계 개발자 회의에서 엑스코드 버전 10이 발표되었으며, 당일 베타 버전이 출시되었다. 엑스코드 10은 MacOS 모하비에서 발표된 다크 모드, 기존의 깃허브 외에도 빗버킷 및 깃랩 협업 플랫폼 지원, 플레이그라운드에서의 머신 러닝 모델 학습 기능, 스위프트 4.2 및 메탈 2.1의 새로운 기능을 도입했으며 편집기와 프로젝트 빌드 시스템을 개선했다. 엑스코드 10은 또한 32비트 MacOS 앱 빌드 지원을 중단했으며 더 이상 서브버전 통합을 지원하지 않는다.

엑스코드 10은 2018년 9월 17일에 정식 출시되었다.

### 11.x 시리즈
2019년 6월 3일, 세계 개발자 회의에서 엑스코드 버전 11이 발표되었으며, 당일 베타 버전이 출시되었다. 엑스코드 11은 스위프트 5.1의 새로운 기능과 새로운 SwiftUI 프레임워크를 도입했다(단, 대화형 UI 도구는 macOS 10.15 이상에서만 사용 가능함). 또한 macOS에서 실행되는 아이패드 애플리케이션 빌드를 지원하며, 스위프트 패키지 매니저 지원을 통합했고, 소스 코드 파일의 전체 구조를 보여주고 빠른 이동을 돕는 "미니맵" 기능을 포함하여 편집기를 대폭 개선했다. 엑스코드 11은 macOS 10.14 이상을 요구하며, 엑스코드 11.4부터는 10.15 이상이 필요하다.

엑스코드 11은 2019년 9월 20일에 정식 출시되었다.

### 12.x 시리즈
2020년 6월 22일, 세계 개발자 회의에서 엑스코드 버전 12가 발표되었으며 당일 베타 버전이 출시되었다. 엑스코드 12는 스위프트 5.3 지원을 도입했으며 macOS 10.15.4 이상이 필요하다. 엑스코드 12는 iOS 8용 앱 빌드 지원을 중단했으며, 엑스코드 12로 빌드된 앱이 지원하는 최저 버전은 iOS 9이다. 엑스코드 12.1은 또한 맥 OS X 10.6 스노 레퍼드용 앱 빌드 지원을 중단했다. 엑스코드 12.1로 빌드된 앱이 지원하는 최저 macOS 버전은 OS X 10.9 매버릭스이다.

엑스코드 12는 2020년 9월 16일에 정식 출시되었다.

### 13.x 시리즈
2021년 6월 7일, 세계 개발자 회의에서 엑스코드 버전 13이 발표되었으며 당일 베타 버전이 출시되었다. 새 버전은 스위프트 5.5 지원을 도입했으며 macOS 11.3 이상이 필요하다. 엑스코드 13은 iOS / iPadOS 15, macOS 12, watchOS 8, tvOS 15용 SDK를 포함한다. 엑스코드 13의 주요 기능으로는 스위프트 프로젝트의 새로운 병행성 모델, 깃허브와 같은 버전 관리 제공업체 지원 개선(앱 인터페이스에서 직접 pull request를 탐색, 확인, 댓글 작성 가능), 그리고 애플의 새로운 mobile CI/CD 서비스인 Xcode Cloud(웹 버전도 존재) 지원 등이 있다.

엑스코드 13은 2021년 9월 20일에 정식 출시되었다.

### 14.x 시리즈
2022년 6월 6일, 세계 개발자 회의에서 엑스코드 버전 14가 발표되었으며 당일 베타 버전이 출시되었다. 엑스코드 14는 32비트 IOS 앱 빌드 지원을 중단했다. 엑스코드 14는 iOS 9 및 10(32비트 iOS 앱을 지원하던 버전)용 빌드 지원을 중단했으며, 지원하는 최저 iOS 버전은 iOS 11이다. 또한 macOS 10.12 시에라용 빌드 지원도 중단하여, 최저 macOS 버전은 macOS 10.13 하이 시에라가 되었다.

엑스코드 14은 2022년 9월 12일에 정식 출시되었다.

### 15.x 시리즈
2023년 6월 5일, 세계 개발자 회의에서 엑스코드 버전 15가 발표되었으며 당일 베타 버전이 출시되었다. 엑스코드 15는 iOS 11용 앱 빌드 지원을 중단했으며, 지원하는 최저 iOS 버전은 iOS 12가 되었다.

엑스코드 15는 2023년 9월 18일에 정식 출시되었다.

### 16.x 시리즈
2024년 6월 10일, 세계 개발자 회의에서 엑스코드 버전 16이 발표되었으며 당일 베타 버전이 출시되었다. 엑스코드 16은 애플 실리콘 맥에서 예측 코드 완성 기능을 도입했으며, Swift Testing 프레임워크를 추가했다.

엑스코드 16은 2024년 9월 16일에 정식 출시되었다.

### 26.x series
2025년 6월 9일, 애플 세계 개발자 회의에서 엑스코드 버전 26이 발표되었으며 당일 베타 버전이 출시되었다. 버전 번호의 변화는 애플의 다른 모든 플랫폼과 버전 번호를 통일하기 위한 조치이다. 엑스코드 26은 깃허브 코파일럿과 유사한 자동 프로그래밍 및 채팅 쿼리 도구를 제공하며, 코드베이스 어디서나 AI 보조 작업을 사용할 수 있다. 이러한 도구들은 기본적으로 챗GPT를 통해 구동되지만, API 키를 통해 로컬 모델이나 다른 업체의 클라우드 모델도 지원한다.

엑스코드 26은 2025년 9월 15일에 정식 출시되었다.

## 버전 비교표

### 엑스코드 1.0 - 엑스코드 2.x (iOS 지원 이전)

### 엑스코드 3.0 - 엑스코드 4.x

### 엑스코드 5.0 - 6.x (arm64 지원 이후)

### 엑스코드 7.0 - 10.x (기기 무료 개발 지원 이후)

### 엑스코드 11.0 - 14.x (SwiftUI 프레임워크 이후)

### 엑스코드 15.0 - 16.x (visionOS 지원 이후)

### 엑스코드 26.0 (버전 번호 체계 변경 이후)

## 툴체인 버전

### 엑스코드 1.0 - 엑스코드 2.x (iOS 지원 이전)

### 엑스코드 3.0 - 엑스코드 4.x

### 엑스코드 5.0 - 6.x (arm64 지원 이후)

### 엑스코드 7.0  - 10.x (기기 무료 개발 지원 이후)

### 엑스코드 11.0 - 14.x (SwiftUI 프레임워크 이후)

### 엑스코드 15.0 - 16.x (visionOS 지원 이후)

### 엑스코드 26.0 (버전 번호 체계 변경 이후)

## 같이 보기
* 코드워리어
* 오브젝티브-C
* 스위프트 (프로그래밍 언어)
## 참고 문헌


## 외부 링크

* Xcode – 맥 앱 스토어
* What’s New in Xcode 

분류:통합 개발 환경
분류:MacOS
분류:2003년 소프트웨어
분류:MacOS 소프트웨어