Xcode is Apple's integrated development environment
(IDE) for macOS
, used to develop software
for macOS, iOS
, and tvOS
. It was first released in 2003; the latest stable release is version 12.4, released on January 26, 2021, and is available via the Mac App Store
free of charge for macOS Big Sur
can download preview releases
and prior versions of the suite through the Apple Developer
website. Xcode includes Command Line Tools (CLT), which enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the main IDE.
Xcode supports source code
for the programming language
(Rez), and Swift
, with a variety of programming models, including but not limited to Cocoa
, and Java. Third parties have added support for GNU Pascal
, Free Pascal
, and D
Xcode can build ''fat binary
'' (universal binary
) files containing code for multiple architectures with the Mach-O
executable format. These helped ease the transitions from 32-bit PowerPC
PowerPC, from PowerPC to Intel x86
, from 32-bit to 64-bit Intel, and from x86 to Apple silicon
by allowing developers to distribute a single application to users and letting the operating system automatically choose the appropriate architecture at runtime. Using the iOS SDK
, tvOS SDK, and watchOS SDK, Xcode can also be used to compile and debug applications for iOS
, and watchOS
Xcode includes the GUI tool Instruments
, which runs atop a dynamic tracing framework, DTrace
, created by Sun Microsystems
and released as part of OpenSolaris
Xcode also integrates built-in support for source code management
using the Git version control
system and protocol, allowing the user to create and clone
(which can be hosted on source code repository hosting sites such as GitHub
, and Perforce
, or self-hosted using open-source software such as GitLab
), and to commit
, and pull
changes, all from within Xcode, automating tasks that would traditionally be performed by using Git from the command line
The main application of the suite is the integrated development environment
(IDE), also named Xcode. The Xcode suite includes most of Apple's developer documentation, and built-in Interface Builder
, an application used to construct graphical user interface
Up to Xcode 4.1, the Xcode suite included a modified version of the GNU Compiler Collection
. In Xcode 3.1 up to Xcode 4.6.3, it included the LLVM-GCC compiler, with front ends from the GNU Compiler Collection
and a code generator based on LLVM
. In Xcode 3.2 and later, it included the Clang
C/C++/Objective-C compiler, with newly-written front ends and a code generator based on LLVM, and the Clang static analyzer
. Starting with Xcode 4.2, the Clang compiler became the default compiler,
Starting with Xcode 5.0, Clang was the only compiler provided.
Up to Xcode 4.6.3, the Xcode suite used the GNU Debugger
(GDB) as the back-end
for the IDE's debugger
. Starting with Xcode 4.3, the LLDB debugger
was also provided; starting with Xcode 4.5 LLDB replaced GDB as the default back-end for the IDE's debugger.
Starting with Xcode 5.0, GDB was no longer supplied.
Formerly, Xcode supported distributing a product build process over multiple systems. One technology involved was named ''Shared Workgroup Build'', which used the Bonjour protocol
to automatically discover systems providing compiler services, and a modified version of the free software product distcc
to facilitate the distribution of workloads. Earlier versions of Xcode provided a system named ''Dedicated Network Builds''. These features are absent in the supported versions of Xcode.
Xcode also includes Apple's WebObjects
tools and frameworks for building Java web applications and web services (formerly sold as a separate product). As of Xcode 3.0, Apple dropped WebObjects development inside Xcode; WOLips should be used instead. Xcode 3 still includes the WebObjects frameworks.
Xcode 1.0 was released in fall 2003. Xcode 1.0 was based on Project Builder
, but had an updated user interface
(UI), ZeroLink, Fix & Continue, distributed build support, and Code Sense indexing.
The next significant release, Xcode 1.5, had better code completion and an improved debugger.
Xcode 2.0 was released with Mac OS X v10.4
"Tiger". It included the Quartz Composer
visual programming language, better Code Sense indexing for Java, and Ant
support. It also included the Apple Reference Library tool, which allows searching and reading online documentation from Apple's website and documentation installed on a local computer.
Xcode 2.1 could create universal binary
files. It supported shared precompiled header
s, unit testing targets, conditional breakpoints, and watchpoints. It also had better dependency analysis.
The final version of Xcode for Mac OS X v10.4
Xcode 3.0 was released with Mac OS X v10.5
"Leopard". Notable changes since 2.1 include the DTrace
debugging tool (now named Instruments
), refactoring support, context-sensitive documentation, and Objective-C
2.0 with garbage collection
. It also supports Project Snapshots, which provide a basic form of version control; Message Bubbles, which show build errors debug values alongside code; and building four-architecture fat binaries (32 and 64-bit Intel and PowerPC).
Xcode 3.1 was an update release of the developer tools for Mac OS X, and was the same version included with the iPhone SDK. It could target non-Mac OS X platforms, including iPhone OS 2.0. It included the GCC 4.2 and LLVM
GCC 4.2 compilers. Another new feature since Xcode 3.0 is that Xcode's SCM support now includes Subversion 1.5.
Xcode 3.2 was released with Mac OS X v10.6
"Snow Leopard" and installs on no earlier version of OS X. It supports static program analysis
, among other features. It also drops official support for targeting versions earlier than iPhone OS 3.0. But it is still possible to target older versions, and the simulator supports iPhone OS 2.0 through 3.1. Also, Java
support is "exiled" in 3.2 to the organizer.
Xcode 3.2.6 is the last version that can be downloaded for free for users of Mac OS X Snow Leopard (though it’s not the last version that supports Snow Leopard; 4.2 is). Downloading Xcode 3.2.6 requires a free registration at Apple's developer site.
In June 2010, at the Apple Worldwide Developers Conference
version 4 of Xcode was announced during the Developer Tools State of the Union address. Version 4 of the developer tools consolidates the Xcode editing tools and Interface Builder into one application, among other enhancements. Apple released the final version of Xcode 4.0 on March 9, 2011. The software was made available for free to all registered members of the $99 per year Mac Developer program and the $99 per year iOS Developer program. It was also sold for $4.99 to non-members on the Mac App Store
(no longer available). Xcode 4.0 drops support for many older systems, including all PowerPC development and software development kit
s (SDKs) for Mac OS X 10.4 and 10.5, and all iOS SDKs older than 4.3. The deployment target can still be set to produce binaries for those older platforms, but for Mac OS platforms, one is then limited to creating x86
binaries. Later, Xcode was free to the general public. Before version 4.1, Xcode cost $4.99.
Xcode 4.1 was made available for free on July 20, 2011 (the day of Mac OS X Lion
's release) to all users of Mac OS X Lion on the Mac App Store. On August 29, 2011, Xcode 4.1 was made available for Mac OS X Snow Leopard for members of the paid Mac or iOS developer programs.
Xcode 4.1 was the last version to include GNU Compiler Collection
(GCC) instead of only LLVM
GCC or Clang
On October 12, 2011, Xcode 4.2 was released concurrently with the release of iOS
5.0, and it included many more and improved features, such as storyboarding and automatic reference counting (ARC)
Xcode 4.2 is the last version to support Mac OS X 10.6 "Snow Leopard"
, but is available only to registered developers with paid accounts; without a paid account, 3.2.6 is the latest download that appears for Snow Leopard.
Xcode 4.3, released on February 16, 2012, is distributed as one application bundle, Xcode.app, installed from the Mac App Store. Xcode 4.3 reorganizes the Xcode menu to include development tools.
Xcode 4.3.1 was released on March 7, 2012 to add support for iOS 5.1.
Xcode 4.3.2 was released on March 22, 2012 with enhancements to the iOS Simulator and a suggested move to the LLDB debugger versus the GDB debugger (which appear to be undocumented changes). Xcode 4.3.3, released in May 2012, featured an updated SDK for Mac OS X 10.7.4 "Lion"
and a few bug fixes.
Xcode 4.4 was released on July 25, 2012.
It runs on both Mac OS X Lion
(10.7) and OS X Mountain Lion
(10.8) and is the first version of Xcode to contain the OS X 10.8 "Mountain Lion"
SDK. Xcode 4.4 includes support for automatic synthesizing of declared properties, new Objective-C
features such as literal syntax and subscripting, improved localization, and more.
On August 7, 2012, Xcode 4.4.1 was released with a few bug fixes.
On September 19, 2012, iOS 6 and Xcode 4.5 were released. Xcode added support for iOS 6 and the 4-inch Retina Display
on iPhone 5
and iPod touch
5th generation. It also brought some new Objective-C
features to iOS, simplified localization, and added auto-layout support for iOS.
On October 3, 2012, Xcode 4.5.1 was released with bug fixes and stability improvements.
Less than a month later, Xcode 4.5.2 was released, with support for iPad Mini
with Retina Display, and bug fixes and stability improvements.
On January 28, 2013, iOS
6.1 and Xcode 4.6 were released.
On June 10, 2013, at the Apple Worldwide Developers Conference
, version 5 of Xcode was announced.
On September 18, 2013, Xcode 5.0 was released. It shipped with iOS 7 and OS X 10.8 Mountain Lion SDKs. However, support for OS X 10.9 Mavericks was only available in beta versions. Xcode 5.0 also added a version of Clang
generating 64-bit ARM code for iOS 7. Apple removed support for building garbage collected Cocoa binaries in Xcode 5.1.
On June 2, 2014, at the Worldwide Developers Conference, Apple announced version 6 of Xcode. One of the most notable features was support for Swift
, an all-new programming language developed by Apple. Xcode 6 also included features like ''Playgrounds
'' and live debugging tools.
On September 17, 2014, at the same time, iOS 8
and Xcode 6 were released. Xcode could be downloaded on the Mac App Store
On June 8, 2015, at the Apple Worldwide Developers Conference
, Xcode version 7 was announced. It introduced support for Swift 2, and Metal for OS X
, and added support for deploying on iOS devices without an Apple Developer account. Xcode 7 was released on September 16, 2015.
On June 13, 2016, at the Apple Worldwide Developers Conference
, Xcode version 8 was announced; a beta version was released the same day. It introduced support for Swift 3. Xcode 8 was released on September 13, 2016.
On June 5, 2017, at the Apple Worldwide Developers Conference
, Xcode version 9 was announced; a beta version was released the same day. It introduced support for Swift 4 and Metal 2. It also introduced remote debugging on iOS
devices wirelessly, through Wi-Fi.
Xcode 9 was publicly released on September 19, 2017.
On June 4, 2018, at the Apple Worldwide Developers Conference
, Xcode version 10 was announced; a beta version was released the same day. Xcode 10 introduced support for the Dark Mode announced for macOS Mojave
, the collaboration platforms Bitbucket
(in addition to already supported GitHub
), training machine learning models from playgrounds, and the new features in Swift
4.2 and Metal
2.1, as well as improvements to the editor and the project build system. Xcode 10 also dropped support for building 32-bit macOS
apps and no longer supports Subversion integration.
Xcode 10 was publicly released on September 17, 2018.
On June 3, 2019, at the Apple Worldwide Developers Conference
, Xcode version 11 was announced; a beta version was released the same day. Xcode 11 introduced support for the new features in Swift
5.1, as well as the new SwiftUI framework (although the interactive UI tools are available only when running under macOS 10.15
It also supports building iPad applications that run under macOS; includes integrated support for the Swift Package Manager; and contains further improvements to the editor, including a "minimap" that gives an overview of a source code file with quick navigation.
Xcode 11 requires macOS 10.14 or later
and Xcode 11.4 requires 10.15 or later.
Xcode 11 was publicly released on September 20, 2019.
On June 22, 2020, at the Apple Worldwide Developers Conference
, Xcode version 12 was announced; a beta version was released the same day. Xcode 12 introduced support for Swift
5.3 and requires macOS 10.15.4 or later.
Xcode 12 was publicly released on September 16, 2020.
Version comparison table
Xcode 1.0 - Xcode 2.x (before iOS support)
Xcode 3.0 - Xcode 4.x
Xcode 5.0 - 6.x (since arm64 support)
Xcode 7.0 - 10.x (since Free On-Device Development)
Xcode 11.x - 12.x (since SwiftUI framework)
Xcode 1.0 - Xcode 2.x (before iOS support)
Xcode 3.0 - Xcode 4.x
Xcode 5.0 - 6.x (since arm64 support)
Xcode 7.0 - 12.x (since Free On-Device Development)
Xcode – Mac App StoreApple Developer Connection: Xcode tools and resources
* ttps://developer.apple.com/downloads/index.action Download Xcode
Category:History of software
Category:Integrated development environments
Category:IOS development software
Category:MacOS programming tools
Category:MacOS text editors
Category:MacOS-only software made by Apple Inc.
Category:Software version histories
Category:User interface builders