||<table width=450><table align=center><rowbgcolor=#ffffff> {{{#!wiki style="margin: -5px -10px" [[파일:xcode-logo.jpg|width=100%]]}}} || ||<-4><bgcolor=#333333> [[https://developer.apple.com/kr/xcode/|{{{#ffffff 애플 Xcode 공식 사이트}}}]] || ||<-4><bgcolor=#333333> [[https://developer.apple.com/download/release|{{{#ffffff 애플 Xcode 배포 사이트}}}]] || [목차] == 개요 == [[Apple]]의 [[macOS]], [[iOS]], [[watchOS]] 및 [[tvOS]] 개발 전용 [[통합 개발 환경|IDE]]. '''엑스코드'''라 읽는다. --딱 봐도 알겠지만-- [[macOS]]용만 존재한다. 2021년 02월 18일 기준 최신 버전은 12.4이다. 2003년에 출시되어, 무려 17년의 역사를 가지고 있는 장수 IDE이다. 만약 그 전신인 Project Builder까지 연대기에 넣는다면 1988년[* 혹은 그 이전. Project Builder가 [[NeXT]]STEP 운영 체제의 일부분으로 배포되었으므로 운영 체제 개발 기간까지 합치면 적어도 1986년까지는 거슬러간다.] 출시로, 무려 29년의 역사를 자랑하는 IDE가 된다. 그리고 Xcode보다 애플 제품에 깊숙이 관여하는 IDE는 존재하지 않는다. 오직 Xcode만이 Apple의 [[Cocoa API|Cocoa]] 프레임워크에 직접 접근할 수 있기 때문에, [[JetBrains]]의 AppCode나 [[안드로이드 스튜디오|Android Studio]], 또는 MS의 [[비주얼 스튜디오#s-5.1.5|Visual Studio for Mac]]도 iOS/macOS용 소프트웨어를 최종 컴파일하려면 Xcode가 설치되어 있어야 한다. [[게임메이커]]도 iOS 컴파일 하려면 이게 필요하다. ~~[[유니티(게임 엔진)|유니티]]도 iOS 컴파일 하려면 필요하다~~ 심지어는 크로스플랫폼인 [[리액트]] 네이티브의 iOS 앱을 컴파일 할 때도 이게 필요하다.[* JS로만 작성된 React Native 앱을 컴파일 없이(= Xcode 불필요) 구동시켜주는 Expo라는 앱이 있는데, 이게 예전에는 iOS에서도 작동되어서 개발자들이 앱을 돈 안들이고도 배포할 수 있는 방법이 있었지만, 결국 Apple이 이것마저 금지시켜버렸다(...)] == 상세 == [[Apple]] [[LLVM]]/[[Clang]][* 오픈 소스 컴파일러인 LLVM/Clang을 애플 내부에서 적당하게 변형한 버전. 해당 프로젝트의 PM인 Chris Lattner(크리스 래트너)가 Apple 직원이었던 만큼 Apple 플랫폼에 가장 이상적으로 달라붙도록 변형되었다.]을 주 [[컴파일러]]로 삼고 LLDB를 주 디버거로 이용한다. 공식적으로 지원하는 언어는 [[C언어|C]], [[C++]], [[Objective-C]], [[Swift(프로그래밍 언어)|Swift]], AppleScript, [[Java]], [[Python]], [[Ruby]]이며, 제3자 도구를 이용하면 [[파스칼]], [[에이다]], [[C\#]][* 현재 C# 개발은 Visual Studio for Mac에서 공식적으로 지원된다.], [[Perl]], [[D(프로그래밍 언어)|D]]도 사용 가능하다. Xcode에 내장된 Interface Builder는 OS X에서 [[Cocoa(API)|Cocoa]] 프레임워크를 가장 목적에 맞게, 그리고 가장 아름답게 디자인할 수 있는 유일한 도구로, [[Qt(프레임워크)|Qt]]나 [[SDL]], [[wxWidgets]], GTK+ 같은 크로스 플랫폼 UI 툴킷이 그 태생상 절대 따라갈 수 없는 디자인을 가능케 한다. 초창기의 Xcode는 버전 관리를 지원하지 않거나 SVN만 맛보기 형식으로 지원하는 수준이었지만 Xcode 4의 출시와 함께 [[Git]]을 내장하여 강력한 소스 코드 버전 관리가 가능하도록 하였다.[* 물론, Xcode 4의 베타는 저 Git 통합 때문에 거의 시망 수준이었다. 다른 것은 문제가 거의 없다시피 했는데 툭하면 Git과의 연동 실패로 IDE 자체가 뻗는 일이 다반사였다. 그것도 Golden Master 버전에서! 이 Git 연동은 Xcode 4.2에 들어서야 완벽해졌다.][* 더불어, 이 때를 기점으로 오픈 소스 프로젝트 저장소 제공 서비스인 [[GitHub]]가 Objective-C 코드로 미어터지기 시작했다...지만 통계적인 변화는 전혀 없었다.[[http://githut.info|#]]] 간혹 애플의 개발자 프로그램에 유료로 등록해야만 Xcode를 사용할 수 있다고 잘못 알고 있기도 한데, Xcode는 [[개발자]] 등록이 필요 없고[* Apple ID만 있다면 Mac [[App Store]]에서 내려받을 수 있다. [[https://itunes.apple.com/kr/app/xcode/id497799835|#]]] 무료이다.[* 사실 Xcode 4 공개 직후 며칠간 유료로 $4.99에 판매한 전적이 있긴 하다. 얼마 안 가서 무료로 풀긴 했지만, 이 때 구매했던 사람들은 상당히 황당했을 듯하다.] 다만, 그래도 Apple의 개발자 프로그램이 나중에는 필요하게 되는 일도 있는데, 바로 [[App Store]]를 이용할 때이다. App Store에 앱을 올리고자 한다면 유료 개발자 등록이 되어야하기 때문. 또한 실물 단말기를 활용할 때도 유료 개발자 인증이 필요하다.[* 유료 개발자 인증에 필요한 금액은 1년에 $99, 한화로 약 130,000원 정도.(2015년 5월 기준) 자기가 쓰고 있는 카드가 무엇이냐에 따라 5개월정도 무이자 할부가 되기 때문에 본격적으로 공부해 보고자 하면 한번 투자해 볼만은 하다.] Xcode 7로 업데이트 되면서 단말기에 자신의 앱을 개발자 프로그램 없이 설치할 수 있게 되었다. Xcode 고스트 사건이 있었다. [[https://www.boannews.com/media/view.asp?idx=47938]] 이후 Xcode를 공식 경로가 아닌 토렌트 등 웹하드로 다운받아서 사용하는 행위는 자제되었다. == 버전 역사 == === Xcode 1 === 2003년 10월 24일 출시 사실상 Project Builder의 개명 버전에 가깝다. 다만, 넘어오면서 UI 변경, Code Sensing(소스 코드를 인덱스하여 자동 완성을 제공하는 기능) 추가 등이 있었다. 별로 특별한 것은 없었던 버전. === Xcode 2 === 2005년 4월 29일 출시 OS X Tiger의 출시와 함께 공개. Quartz Composer라는 Quartz Extreme용 시각화 프로그래밍 도구를 탑재했다. 그리고 이 때부터 Apple의 개발자 문서를 IDE 자체에서 빠르게 검색할 수 있도록 하였다. 추후 Tiger의 [[인텔]] 칩 이전에 의해 Universal 바이너리[* PowerPC용 바이너리와 Intel용 바이너리를 모두 포함해 각 아키텍처용 Tiger에서 모두 작동하도록 한 응용 프로그램 번들.]를 생성할 수 있는 기능이 추가되었다. === Xcode 3 === 2007년 10월 26일 출시 OS X Leopard의 출시와 함께 공개. 여러 가지 명령줄 도구[* 프로그램 메모리 프로파일링 도구인 DTrace가 이 때 추가되었다.]의 추가와 함께 Objective-C 2.0 지원이 추가되었으며 프로젝트 스냅샷 기능과 SVN 지원으로 기초적인 소스 코드 버전 관리가 가능해졌다. 또, 운영 체제의 전반적인 64비트 전환과 함께 64비트 컴파일이 가능해졌고, [[iPhone]]의 공개에 따라 [[iOS|iPhone OS]]용 앱을 빌드할 수 있게 되었다. 이 때 LLVM GCC 컴파일러가 스리슬쩍 더해졌다. === Xcode 4 === 2011년 3월 9일 출시 '''"The biggest thing to happen to Xcode since Xcode."'''[* iPhone 5 홍보 문구를 패러디 한 것이다.] Xcode의 화려한 변신이 행해진 첫 버전. Interface Builder가 Xcode 내부에 모듈 형태로 탑재됨에 따라 이제 개발 시에는 Xcode 하나면 켜놓으면 된다. 초기 버전은 Mac [[App Store]]에서 $4.99에 판매되었으나[* 기존 유료 개발자 프로그램 등록자에게는 무료로 제공되었다.], 항의가 거세지자 스리슬쩍 무료로 전환했다. 이 버전부터 [[PowerPC]] 바이너리는 일체 지원되지 않는다. Xcode 4.1과 함께 Objective-C에서 [[객체 지향 프로그래밍|객체]]의 레퍼런스 카운팅을 컴파일러가 스스로 행하는 ARC가 추가되었다. Xcode 4.2에서는 Xcode 자체가 완벽하게 단일 애플리케이션으로 패키지되었다. 이전까지는 Mac App Store에서 내려받는 프로그램이 Xcode '''설치''' 프로그램이었으나[* 실행하면 Xcode와 주변 패키지를 설치하고 자기 자신을 삭제한다.], 이제는 Xcode 자체를 내려받는다. 사용자는 내려받은 후 실행하면 끝. 처음 내려받았을 때나 업데이트 시 한정으로 내부 프레임워크를 시스템에 설치하는 짧은 절차를 거친다. === Xcode 5 === [[2013년]] 9월 18일에 정식 출시. [[OS X Mountain Lion]]과 [[iOS]] 7의 SDK가 포함되었고, [[LLVM]]/[[Clang]] 컴파일러가 [[Apple A7]] AP를 위한 64-bit 앱을 컴파일할 수 있게 되었다. iOS 7이 기존과 UI면에서 상당히 달라진 만큼 기존의 UI와 iOS 7에 맞춘 UI를 동시에 개발하여 적용하기 쉽도록 되어있다. 원 클릭으로 [[iCloud]]나 Game Center 서비스를 적용시킬 수 있게 되었다. === Xcode 6 === [clearfix] {{{+3 Apple WWDC 2014}}}[br]{{{+1 What's New in Xcode 6}}} {{{#!folding 【 펼치기 ・ 접기 】 [youtube(oX2MSEuyISo, width=400px, height=225px)] }}} [br] WWDC 2014 때 공식적으로 발표된 Xcode로, 최초로 [[Swift(프로그래밍 언어)|Swift]]를 지원한다. Swift가 궁금하다면 해당문서 참조. OS X Yosemite 에서만 사용가능케 했다. 그리고 새로운 '''Playground''' 기능을 추가했는데, 이건 코드를 직접 컴파일하거나 실행하지 않고도 결과물을 실시간으로 확인할 수 있게 해 준다. Xcode 6.1 버전부터 Mac용 앱을 Swift로 만들 수 있게 되었다.[* 그 전까진 iOS 앱만 만들 수 있었다.] [clearfix] === Xcode 7 === ||<table align=right><table bgcolor=white><table bordercolor=white> {{{+3 Apple WWDC 2015}}}[br]{{{+1 What's New in Xcode 7}}} {{{#!folding 【 펼치기 ・ 접기 】 [youtube(M_P2-YIe6Mk, width=400px, height=225px)] }}} || [br] [[2015년]] 9월 17일 정식 출시. iOS 9 소프트웨어 업테이트와 동시에 앱 스토어에서 발표되었다. Swift 2와 [[iOS 9]]에 대응하는 SDK, watchOS 2, [[OS X]] 10.11 El Capitan 및 [[tvOS]] 의 개발 코드가 추가되었다. 이 버전부터는 개발자 프로그램 ($99) 등록을 하지 않아도 iOS 앱을 자신의 기기에서 실행해 볼 수 있다. 물론 [[App Store]] 에 앱을 올리는것은 개발자 프로그램을 필요로 한다. Xcode 7.1 은 iOS 9.1, watchOS 2, tvOS 및 OS X 에 사용할 수 있는 Swift 2.1 SDK 가 추가되었다. === Xcode 8 === [[2016년]] 9월 14일 정식 출시. [[Swift(프로그래밍 언어)|Swift]] 3, [[iOS]] 10 SDK, watchOS 3, tvOS 10 그리고 [[macOS]] Sierra의 애플리케이션 개발을 지원한다. 추가된 사항 - Debug Memory 시각화 기능(런타임 도중 데이터와 오브젝트간의 관계맵을 시각화하여 표현) - Interface Builder 개선 및 편집기 확장 대응 - iOS 10의 [[Siri]] 확장, 아이메세지 앱, 메세지를 위한 스티커팩 빌드 - 디바이스 셋업, Code signing 간소화 기타 개발용 테마 및 폰트 추가라거나 등의 개발 편의사항이 상당한 부분 증대되었다. === Xcode 9 === [[2017년]] 9월 19일 정식출시. Swift 4.0을 정식 지원한다. 드디어 리팩토링 기능이 추가되었다. 버그가 매우 많은데 예를들면 Touch Bar 커스텀이 안된다던가 플레이그라운드에서 코드 실행이 안되는경우가 있다. 매 버전이 업데이트될 때마다 버그가 바뀐다... === Xcode 10 === [[2018년]] 9월 12일에 iOS / tvOS 12, macOS Mojave 10.14, 그리고 watchOS 5 업데이트와 함께 출시되었다. 제일 큰 변경점으로는 macOS Mojave 때 추가된 다크 모드를 지원한다. ==== Xcode 10.2 ==== [[2019년]] 3월 26일에 iOS / tvOS 12.2, macOS Mojave 10.14.4, 그리고 watchOS 5.2 업데이트와 함께 업데이트되었다. Swift 5를 지원한다. Apple은 이 언어를 완벽 대응하면 앱 용량을 획기적으로 줄이고 앱 실행 성능을 대폭 향상 시킬 수 있다고 주장한다. === Xcode 11 === Xcode 11은 2019년 6월 9일 WWDC 2019에서 발표되었다. [[Swift(프로그래밍 언어)|Swift 5.1]], iOS 13, tvOS 13, watchOS 6, macOS 10.15 SDK에 관한 지원이 추가되었다. Apple 계열 프로그램 UI 디자인을 위한 새로운 프레임워크인 SwiftUI도 추가되었다. 그 외에도 부가적인 변경 사항으로는 [[iPad]]용으로 만들어진 프로그램을 Mac 컴퓨터에 손쉽게 가져올 수 있는 기능의 추가, [[iOS 13]]의 다크 모드 지원 등이 있다. === Xcode 12 === [[Apple Silicon]] 지원을 추가하면서 용량이 매우 ~~더럽게~~ 커졌다. [[분류:Apple/소프트웨어]][[분류:프로그래밍]][[분류:통합 개발 환경]]