Xcode |
|
운영체제 | macOS |
출시일 | 2003년 10월 24일 |
최신버전 | 16.1 (2024년 10월) |
한국어 웹페이지 |
[[https://developer.apple.com/kr/xcode| |
한국어 배포 웹페이지 |
[[https://developer.apple.com/download/release| |
[clearfix]
1. 개요
Apple의 macOS, iOS, watchOS 및 tvOS용 소프트웨어 개발을 위한 IDE. 엑스코드라 읽으며, macOS 전용이다.2024년 11월 2일 기준 최신 버전은 16.1이다.
2003년에 첫 버전이 출시되었다. Xcode의 전신인 Project Builder의 역사는 1988년까지 올라간다[1].
Apple 환경에서는 Xcode보다 제품에 깊숙이 관여하는 IDE는 존재하지 않는다. Windows 환경의 Visual Studio와 비슷한 위상이다.
JetBrains의 안드로이드 스튜디오, 또는 MS의 Visual Studio for Mac도 iOS/macOS용 소프트웨어를 최종 컴파일하려면 Xcode가 설치되어 있어야 하며, 게임메이커나 유니티, 언리얼 엔진, 리액트 네이티브 역시 iOS 환경으로 컴파일 하려면 Xcode가 필요하다.
2. 상세
Apple LLVM/ Clang[2]을 주 컴파일러로 삼고 LLDB를 주 디버거로 이용한다. 공식적으로 지원하는 언어는 C, C++, Objective-C, Swift, AppleScript, Java, Python, Ruby이며, 제3자 도구를 이용하면 파스칼, 에이다, C#[3], Perl, D도 사용 가능하다.Xcode에 내장된 Interface Builder는 OS X에서 Cocoa 프레임워크를 가장 목적에 맞게, 그리고 가장 아름답게 디자인할 수 있는 유일한 도구로, Qt나 SDL, wxWidgets, GTK+ 같은 크로스 플랫폼 UI 툴킷이 그 태생상 절대 따라갈 수 없는 디자인을 가능케 한다.[4]
초창기의 Xcode는 버전 관리를 지원하지 않거나 SVN만 맛보기 형식으로 지원하는 수준이었지만 Xcode 4의 출시와 함께 Git을 내장하여 강력한 소스 코드 버전 관리가 가능하도록 하였다.[5] 그러다가 Xcode 10 출시 시점에서 GitHub가 경쟁사인 MS에 인수되자 GitLab연동을 추가하기도 했다.
Xcode 자체는 개발자 등록이 필요 없이[6] 무료로 다운로드 받을 수 있지만,[7], App Store에 앱을 올리고자 한다면 유료 개발자 등록이 되어 있어야 한다. 또한 실물 단말기를 활용할 때도 유료 개발자 인증이 필요했으나[8] Xcode 7로 업데이트된 이후에는 단말기에 자신의 앱을 개발자 프로그램 없이 계정당 3개까지 설치할 수 있게 되었다.
개발툴로써의 완성도는 뒤에서 1등을 다투는 수준으로[9] 그 무겁고 느리다는 JetBrains 사의 IDE들에 비해서도 몇 배는 무겁고 느리며, UI 직관성이 현존 모든 IDE를 통틀어 최악 수준이다. 거기에 더해 로그조차 제대로 띄우지 않는 화면에 더해, 이제는 앱스토어에서 iOS조차 따라가기도 포기한 모습을 보인다.[10] 이때문에 스토어의 리뷰에는 악평이 수두룩하며 별점이 언제나 바닥을 긴다. 물론 이와 같은 평가를 듣는 가장 큰 이유는 iOS개발을 위해서 강제로 써야하는[11] 측면이 매우 크기 때문이다.
3. 버전 역사
3.1. Xcode 1
2003년 10월 24일 출시사실상 Project Builder의 개명 버전에 가깝다. 다만, 넘어오면서 UI 변경, Code Sensing(소스 코드를 인덱스하여 자동 완성을 제공하는 기능) 추가 등이 있었다. 별로 특별한 것은 없었던 버전.
3.2. Xcode 2
2005년 4월 29일 출시OS X Tiger의 출시와 함께 공개. Quartz Composer라는 Quartz Extreme용 시각화 프로그래밍 도구를 탑재했다. 그리고 이 때부터 Apple의 개발자 문서를 IDE 자체에서 빠르게 검색할 수 있도록 하였다.
추후 Tiger의 인텔 칩 이전에 의해 Universal 바이너리[12]를 생성할 수 있는 기능이 추가되었다.
3.3. Xcode 3
2007년 10월 26일 출시OS X Leopard의 출시와 함께 공개. 여러 가지 명령줄 도구[13]의 추가와 함께 Objective-C 2.0 지원이 추가되었으며 프로젝트 스냅샷 기능과 SVN 지원으로 기초적인 소스 코드 버전 관리가 가능해졌다. 또, 운영 체제의 전반적인 64비트 전환과 함께 64비트 컴파일이 가능해졌고, iPhone의 공개에 따라 iPhone OS용 앱을 빌드할 수 있게 되었다. 이 때 LLVM GCC 컴파일러가 스리슬쩍 더해졌다.
3.4. Xcode 4
2011년 3월 9일 출시"The biggest thing to happen to Xcode since Xcode."[14]
Xcode의 화려한 변신이 행해진 첫 버전. Interface Builder가 Xcode 내부에 모듈 형태로 탑재됨에 따라 이제 개발 시에는 Xcode 하나면 켜놓으면 된다. 초기 버전은 Mac App Store에서 $4.99에 판매되었으나[15], 항의가 거세지자 스리슬쩍 무료로 전환했다. 이 버전부터 PowerPC 바이너리는 일체 지원되지 않는다.
Xcode 4.1과 함께 Objective-C에서 객체의 레퍼런스 카운팅을 컴파일러가 스스로 행하는 ARC가 추가되었다.
Xcode 4.2에서는 Xcode 자체가 완벽하게 단일 애플리케이션으로 패키지되었다. 이전까지는 Mac App Store에서 내려받는 프로그램이 Xcode 설치 프로그램이었으나[16], 이제는 Xcode 자체를 내려받는다. 사용자는 내려받은 후 실행하면 끝. 처음 내려받았을 때나 업데이트 시 한정으로 내부 프레임워크를 시스템에 설치하는 짧은 절차를 거친다.
3.5. Xcode 5
Xcode 5 |
3.6. Xcode 6
Xcode 6 |
WWDC 2014 때 공식적으로 발표된 Xcode로, 최초로 Swift를 지원한다. Swift가 궁금하다면 해당문서 참조. OS X Yosemite 에서만 사용가능케 했다. 그리고 새로운 Playground 기능을 추가했는데, 이건 코드를 직접 컴파일하거나 실행하지 않고도 결과물을 실시간으로 확인할 수 있게 해 준다.
Xcode 6.1 버전부터 Mac용 앱을 Swift로 만들 수 있게 되었다.[17]
[clearfix]
3.7. Xcode 7
Xcode 7 |
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 가 추가되었다.
3.8. Xcode 8
Xcode 8 |
추가된 사항
- Debug Memory 시각화 기능(런타임 도중 데이터와 오브젝트간의 관계맵을 시각화하여 표현)
- Interface Builder 개선 및 편집기 확장 대응
- iOS 10의 Siri 확장, iMessage 앱, 메시지를 위한 스티커팩 빌드
- 디바이스 셋업, Code signing 간소화
기타 개발용 테마 및 폰트 추가라거나 등의 개발 편의사항이 상당한 부분 증대되었다.
3.9. Xcode 9
Xcode 9 |
Swift 4.0을 정식 지원한다.
드디어 리팩토링 기능이 추가되었다.
버그가 매우 많은데 예를들면 Touch Bar 커스텀이 안된다던가 플레이그라운드에서 코드 실행이 안되는경우가 있다. 매 버전이 업데이트될 때마다 버그가 바뀐다...
3.10. Xcode 10
Xcode 10 |
제일 큰 변경점으로는 macOS Mojave 때 추가된 다크 모드를 지원한다.
3.10.1. Xcode 10.2
2019년 3월 26일에 iOS / tvOS 12.2, macOS Mojave 10.14.4, 그리고 watchOS 5.2 업데이트와 함께 업데이트되었다.Swift 5를 지원한다. Apple은 이 언어를 완벽 대응하면 앱 용량을 획기적으로 줄이고 앱 실행 성능을 대폭 향상 시킬 수 있다고 주장한다.
3.11. Xcode 11
Xcode 11 |
3.12. Xcode 12
Xcode 12 |
3.13. Xcode 13
Xcode 13 |
3.14. Xcode 14
Xcode 14 |
이전보다 바이너리 크기가 30% 이상 줄었다고한다. Swift 5.7을 지원 및 포함한다.
3.15. Xcode 15
Xcode 15 |
3.16. Xcode 16
Xcode 16 |
macOS Sonoma(14.6), iOS 16 부터 지원하지만 핵심 기능인 AI Code Completion은 macOS Sequoia(15.0), iOS 18.1 이 설치 된 애플 실리콘 M1, 16GB 이상의 램을 요구한다.
4. 여담
중국 내에서 Xcode 고스트라는 사건이 있었다. # 한 중국 개발자가 Xcode를 개조하여 개조된 Xcode를 통해 앱을 빌드 시 특정한 코드를 삽입하도록 만든 뒤 이것을 중국 내 개발 커뮤니티 사이트 등에 배포하고 이러한 비공식 배포망을 이용해 Xcode를 다운받아 사용한 개발자들의 앱이 영향을 받은 사건이다. 이후 중국 내에서 Xcode를 공식 경로가 아닌 토렌트 등 웹하드로 다운받아서 사용하는 행위는 자제되었다.소프트웨어를 다운받을 때에는 늘 공식 배포망을 사용하고 앱 서명을 확인하여 프로그램이 위변조 되지 않았는지 확인하는 습관을 가지자.
[1]
Project Builder는
NeXTSTEP 운영체제의 일부분으로 배포되었다.
[2]
오픈 소스 컴파일러인 LLVM/Clang을 애플 내부에서 적당하게 변형한 버전. 해당 프로젝트의 PM인 Chris Lattner(크리스 래트너)가 Apple 직원이었던 만큼 Apple 플랫폼에 가장 이상적으로 달라붙도록 변형되었다.
[3]
공식적으로 지원하는건 아니고 Mono 개발환경이 깔려있을경우 Mono SDK를 통해서 개발이 가능하며 공식적인 C# 개발환경을 원한다면 VS for Mac(기존 MOno development)나 Rider를 쓰자.
[4]
당연한 이야기일 수밖에 없는 것이 Apple에서
App Store와 같은 애플 서비스에 서비스를 출시하는 것은 허가해도
Cocoa API 등은 풀지 않았기 때문이다. 만약 이것을 푸는 순간 훌륭한 다른 IDE들을 버리고 최악의 생산성을 자랑하는 Xcode를 사용하는 개발자는 존재하지 않을 것이며, Apple 또한 앞으로도 결코 풀지 않을 것이다.
[5]
물론, Xcode 4의 베타는 저 Git 통합 때문에 거의 시망 수준이었다. 다른 것은 문제가 거의 없다시피 했는데 툭하면 Git과의 연동 실패로 IDE 자체가 뻗는 일이 다반사였다. 그것도 Golden Master 버전에서! 이 Git 연동은 Xcode 4.2에 들어서야 완벽해졌다.
[6]
Apple ID만 있다면 Mac
App Store에서 내려받을 수 있다.
#
[7]
사실 Xcode 4 공개 직후 며칠간 유료로 $4.99에 판매한 전적이 있긴 하다. 얼마 안 가서 무료로 풀긴 했지만, 이 때 구매했던 사람들은 상당히 황당했을 듯하다.
[8]
유료 개발자 인증에 필요한 금액은 1년에 $99, 한화로 연간 약 140,000원 정도.(2022년 9월 기준) 자기가 쓰고 있는 카드가 무엇이냐에 따라 5개월 정도 무이자 할부가 되기 때문에 본격적으로 공부해 보고자 하면 한번 투자해 볼만은 하다. 다만 구글은 3만원 중반대를 내는데 평생 이용할 수 있다.
[9]
유저풀 베이스로 xcode보다 떨어지는 유저수를 가진 IDE는 텍스트 에디터이거나 특정 언어용 개발툴(Rider, 루비마인) 정도말곤 없을정도.
#
[10]
예컨대 iPadOS 17.3의 문제를 해결하려면 Xcode에서 17.3을 작동시켜야 하는데, 2024년 2월 3일 기준 최신 Xcode는 17.2만 작동시켜준다. 말 그대로 앱스토어에서 지들이 앱 심사 리젝트 때려놓고 고칠 방법은 주지 않는 황당한 사고가 터진다.
[11]
iOS 바이너리 빌드는 오직 xcode로만 가능하기 때문이며 크로스 플랫폼 개발 프레임워크(플러터,React Native, MAUI)를 쓰더라도 iOS만큼은 xcode를 거쳐가야하기 때문이다. 반대로 안드로이드나 MS측 플랫폼은 개발사가 직접 만든 툴을 강요받지 않기도 하지만 객관적으로 봐도 Android Studio 와 Visual Studio의 완성도가 Xcode보다는 높은데 이는 저 툴을 만든 젯브레인이나 MS가 IDE로 돈을 버는 입장이며 더 다양한 개발툴을 만들기 때문이다.
[12]
PowerPC용 바이너리와 Intel용 바이너리를 모두 포함해 각 아키텍처용 Tiger에서 모두 작동하도록 한 응용 프로그램 번들.
[13]
프로그램 메모리 프로파일링 도구인 DTrace가 이 때 추가되었다.
[14]
iPhone 5 홍보 문구를 패러디 한 것이다.
[15]
기존 유료 개발자 프로그램 등록자에게는 무료로 제공되었다.
[16]
실행하면 Xcode와 주변 패키지를 설치하고 자기 자신을 삭제한다.
[17]
그 전까진 iOS 앱만 만들 수 있었다.