Xcode#2.x series
{{Short description|IDE including tools for developing software for Apple platforms}}
{{Use mdy dates |date =October 2013}}
{{Infobox software
| name = Xcode
| logo = Xcode.svg
| logo size = 120px
| screenshot = Xcode screenshot.png
| caption =
| developer = Apple Inc.
| operating system = macOS
| genre = Integrated development environment (IDE)
| license = Proprietary with open-source components
| website = {{URL|https://developer.apple.com/xcode/}}
| released = {{start date and age|2003|10|23}}{{cite web | url=https://arstechnica.com/gadgets/2003/11/macosx-10-3/ | title=Mac OS X 10.3 Panther | date=November 9, 2003 | author=John Siracusa | accessdate=2022-01-15 }}
}}
Xcode is a suite of developer tools for building apps on Apple devices.{{cite web |url=https://developer.apple.com/documentation/xcode |title=Xcode Documentation |publisher=Apple Developer}} It includes an integrated development environment (IDE) of the same name for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 16, released on September 16, 2024, and is available free of charge via the Mac App Store and the Apple Developer website.{{cite web|title=Xcode on the Mac App Store |url = https://apps.apple.com/us/app/xcode/id497799835|publisher=Apple Inc.|access-date=September 16, 2024}} Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website.{{cite web|url=https://developer.apple.com/download/|title=Downloads|publisher=Apple Developer|access-date= May 29, 2018}} Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS.{{Cite web|url=https://developer.apple.com/xcode/features/|title=Xcode - Features|website=developer.apple.com|access-date=2020-03-11}} They can also be downloaded and installed without the GUI.
Before Xcode, Apple offered developers Project Builder and Interface Builder to develop Mac OS X applications.
Major features
Xcode supports source code for the programming languages: Swift, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit (Rez), and C, with a variety of programming models, including but not limited to Cocoa, Carbon, and Java. Third parties have added support for GNU Pascal,{{cite web |author=Adriaan van Os |url=http://www.microbizz.nl/gpcxcode.html |title=GNU Pascal and Xcode |publisher=Microbizz.nl |access-date=June 21, 2010 |archive-date=April 18, 2012 |archive-url=https://web.archive.org/web/20120418084323/http://microbizz.nl/gpcxcode.html |url-status=dead }} Free Pascal,{{cite web |url=http://pascal-central.com/fp-xcode/ |title=Using Free Pascal with Xcode |publisher=Pascal-central.com |access-date=June 21, 2010 |archive-date=June 12, 2010 |archive-url=https://web.archive.org/web/20100612010805/http://pascal-central.com/fp-xcode/ |url-status=dead }} Ada,{{cite web|url=http://www.macada.org/macada/Tools.html|title=Tools|publisher=macada.org|access-date=February 8, 2011|archive-date=July 27, 2011|archive-url=https://web.archive.org/web/20110727051830/http://www.macada.org/macada/Tools.html|url-status=dead}} C#,{{cite web |url = https://code.google.com/p/cocoa-sharp-dev/wiki/CSharpPlugin |title=CSharpPlugin - cocoa-sharp-dev - Google Code |access-date=June 21, 2010}} Go,{{Cite web|title=xkick brings Golang support to Xcode 11 - Blog - Wirecog|url=https://www.wirecog.com/blog/xkick-brings-golang-support-to-xcode-11|website=www.wirecog.com|access-date=2020-05-24}} Perl,{{cite web|url=http://camelbones.sourceforge.net/ |title = CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home |publisher=Camelbones.sourceforge.net |date=December 1, 2004 |access-date=June 21, 2010}} and D.{{cite web|url=https://michelf.ca/projects/d-for-xcode/|title=D for Xcode|access-date=February 9, 2019}}
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 to 64-bit PowerPC, from PowerPC to Intel x86, from 32-bit to 64-bit Intel, and most recently from Intel 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, iPadOS, tvOS, 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 Git repositories (which can be hosted on source code repository hosting sites such as GitHub, Bitbucket, and Perforce, or self-hosted using open-source software such as GitLab), and to commit, push, and pull changes, all from within Xcode, automating tasks that would traditionally be performed by using Git from the command line.
= Composition =
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 interfaces.
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.{{cite web|author=Prince McLean|title=Apple's other open secret: the LLVM Compiler|url=http://appleinsider.com/articles/08/06/20/apples_other_open_secret_the_llvm_complier.html|date=June 20, 2008|access-date=April 3, 2012}} 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.{{cite web|title=Xcode 3.2: {{not a typo|teh}} awesome edition|url=http://www.mcubedsw.com/blog/index.php/site/comments/xcode_3.2_teh_awesome_edition/|date=August 30, 2009|archive-url=https://web.archive.org/web/20130616065312/http://www.mcubedsw.com/blog/index.php/site/comments/xcode_3.2_teh_awesome_edition/|archive-date=June 16, 2013}} Starting with Xcode 4.2, the Clang compiler became the default compiler,{{cite web|url=https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW10 |title=New Features in Xcode 4: Xcode 4.2 |publisher=Apple |date=September 16, 2015 |access-date=September 15, 2016}} 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.{{cite web |title = New Features in Xcode 4: Xcode 4.5 |url = https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW12 |publisher=Apple Inc.|date=September 16, 2015 |access-date=October 18, 2015}} Starting with Xcode 5.0, GDB was no longer supplied.{{cite web |url = https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_5_0.html#//apple_ref/doc/uid/TP40012953-SW18 |title = New Features in Xcode 5: Xcode 5.0 |date=September 16, 2015|access-date=September 15, 2016}}
= Playgrounds =
The Playgrounds feature of Xcode provides an environment for rapid experimentation and development in the Swift programming language. The original version of the feature was announced and released by Apple Inc on June 2, 2014, during WWDC 2014.{{Cite web |title=Keynote - WWDC 2014 - Videos |url=http://developer.apple.com/videos/play/wwdc2014/101/ |access-date=February 1, 2019 |website=Apple Developer |language=en}}{{Cite web |title=Apple's new Swift language explained: A clever move to boost iOS, while holding Android apps back - ExtremeTech |url=https://www.extremetech.com/computing/183563-apples-new-swift-language-explained-a-clever-move-to-boost-ios-while-holding-android-apps-back |access-date=February 1, 2019 |website=www.extremetech.com|date=June 3, 2014 }}
Playgrounds provide a testing ground that renders developer code in real time. They have the capability of evaluating and displaying the results of single expressions as they are coded (in line or on a side bar), providing rapid feedback to the programmer. This type of development environment, known as a read-eval-print loop (or REPL) is useful for learning, experimenting and fast prototyping.{{Cite web |date=June 4, 2014 |title=Swift: Apple's next-generation programming language 4 years in the making |url=https://www.imore.com/swift-apples-next-generation-programming-language-4-years-making |access-date=February 1, 2019 |website=iMore |language=en}}{{Cite web |last=Mayo |first=Benjamin |date=June 2, 2014 |title=Apple announces new Xcode, 'Swift' programming language |url=https://9to5mac.com/2014/06/02/apple-announces-new-xcode-swift-programming-language/ |access-date=February 1, 2019 |website=9to5Mac |language=en-US}}{{Cite web |title=Swift Resources - Apple Developer |url=https://developer.apple.com/swift/resources/ |access-date=February 1, 2019 |website=developer.apple.com |language=en}} Playgrounds was used by Apple to publish Swift tutorials and guided tours where the REPL advantages are noticeable.{{Cite web |title=A Swift Tour — The Swift programming language (Swift 5) |url=https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html |access-date=February 5, 2019 |website=docs.swift.org}}{{Cite web |last=Swift.org |title=A Swift Tour |url=https://docs.swift.org/swift-book/GuidedTour/GuidedTour.playground.zip |access-date=February 4, 2023 |archive-date=February 4, 2023 |archive-url=https://web.archive.org/web/20230204091803/https://docs.swift.org/swift-book/GuidedTour/GuidedTour.playground.zip |url-status=dead }}
The Playgrounds feature was developed by the Developer Tools department at Apple. According to Chris Lattner, the inventor of Swift Programming Language and Senior Director and Architect at the Developer Tools Department, Playgrounds was "heavily influenced by Bret Victor's ideas, by Light Table and by many other interactive systems".{{Cite web |last=Victor |first=Bret |date=September 2012 |title=Learnable Programming |url=http://worrydream.com/#!/LearnableProgramming |website=worrydream.com}} Playgrounds was announced by Apple Inc. on June 2, 2014, during WWDC 2014 as part of Xcode 6 and released in September.
In September 2016, the Swift Playgrounds application for iPad (also available on macOS starting in February 2020) was released, incorporating these ideas into an educational tool. Xcode's Playgrounds feature continued development, with a new step-by-step execution feature introduced in Xcode 10 at WWDC 2018.{{Cite web |title=Getting the Most out of Playgrounds in Xcode - WWDC 2018 - Videos |url=https://developer.apple.com/videos/play/wwdc2018/402/ |accessdate=November 25, 2020 |website=Apple Developer}}
= Removed features =
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{{cite web|author=David Holt says |url=http://wiki.wocommunity.org/display/WEB/Home#xcode3 |archive-url=https://web.archive.org/web/20131007064500/http://wiki.wocommunity.org/display/WEB/Home#xcode3 |url-status=dead |archive-date=October 7, 2013 |title=Facts about WebObjects (WebObjects Community) |publisher=Wocommunity.org |date=May 15, 2010 |access-date=June 21, 2010}} WebObjects development inside Xcode; WOLips{{cite web|url=http://wiki.wocommunity.org/display/WOL/WOLips |title=WOLips |publisher=Wiki.objectstyle.org |date=February 27, 2010 |access-date=June 21, 2010}} should be used instead. Xcode 3 still includes the WebObjects frameworks.
Version history
= 1.x series =
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.
= 2.x series =
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 headers, unit testing targets, conditional breakpoints, and watchpoints. It also had better dependency analysis.
The final version of Xcode for Mac OS X v10.4 was 2.5.
= 3.x series =
Xcode 3.0 was released with Mac OS X v10.5 "Leopard". Notable changes since 2.1 include{{cite web|url=https://www.apple.com/macosx/features/300.html#xcode3|title=Apple - Mac OS X Leopard - Features - 300+ New Features|archive-url=https://web.archive.org/web/20071016170507/http://www.apple.com/macosx/features/300.html#xcode3|archive-date=October 16, 2007}} 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.{{cite web|url=https://developer.apple.com/library/mac/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html#//apple_ref/doc/uid/TP40001884-SW1|title=Apple Developer Tools for Java|publisher=Apple|access-date=February 8, 2011}}
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.
= 4.x series =
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.{{cite web|url=http://www.macrumors.com/2010/06/08/wwdc-software-notes-safari-5-xcode-4-itunes-9-2/ |title=WWDC Software Notes: Safari 5, Xcode 4, iTunes 9.2 |publisher=Mac Rumors |date=June 8, 2010 |access-date=June 21, 2010}}{{cite web|url=https://developer.apple.com/technologies/tools/whats-new.html|title=Developer Tools - What's New in Xcode 4|work=Apple Developer|access-date=February 8, 2011}} 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 kits (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 and x86-64 binaries. Later, Xcode was free to the general public. Before version 4.1, Xcode cost $4.99.{{cite web|url=http://appleinsider.com/articles/11/07/20/apple_makes_xcode_free_to_all_with_release_of_4_1_on_mac_app_store.html |title=Apple makes Xcode free to all with release of 4.1 on Mac App Store |publisher=AppleInsider |date=July 20, 2011 |access-date=July 3, 2013}}
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.{{cite web |title=New Features in Xcode 4: Xcode 4.1 |url = https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW9 |publisher=Apple Inc.|access-date=September 15, 2016}} 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.{{cite web|url=https://discussions.apple.com/thread/3537806|title=Why can't I download Xcode 4.2 for Snow Leopard?|access-date=May 2, 2015}}
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.{{cite web|title=New Features in Xcode 4: Xcode 4.3|url=https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW2|publisher=Apple Inc.|access-date=September 15, 2016}} Xcode 4.3.1 was released on March 7, 2012 to add support for iOS 5.1.{{cite web|title=New Features in Xcode 4: Xcode 4.3.1 and 4.3.2 |url=https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW3|publisher=Apple Inc. |access-date=September 15, 2016 }} 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).{{citation needed|date=April 2012}} 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.{{cite web|title=New Features in Xcode 4: Xcode 4.3.3 |url=https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW4 |publisher=Apple Inc. |access-date=September 15, 2016 }}
Xcode 4.4 was released on July 25, 2012.{{cite web|url=http://9to5mac.com/2012/07/25/xcode-4-4-released-to-os-x-ios-developers/ |title=Xcode 4.4 rolls out to OS X, iOS developers via the Mac App Store |work=9to5Mac |date=July 25, 2012 |access-date=August 2, 2012 |last1=Gurman |first1=Mark }}
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.{{cite web|title=New Features in Xcode 4: Xcode 4.4|url=https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_4_0.html#//apple_ref/doc/uid/TP40016147-SW11|publisher=Apple Inc.|access-date=September 15, 2016}} 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 and iPad with Retina Display, and bug fixes and stability improvements.
On January 28, 2013, iOS 6.1 and Xcode 4.6 were released.
= 5.x series =
On June 10, 2013, at the Apple Worldwide Developers Conference, version 5 of Xcode was announced.{{cite web|title=Apple seeds first iOS 7 and OS X Mavericks betas to developers|url=http://appleinsider.com/articles/13/06/10/apple-seeds-first-ios-7-and-os-x-mavericks-betas-to-developers|publisher=AppleInsider|access-date=June 11, 2013|date=June 10, 2013}}
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.{{cite web|url=https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_5_0.html#//apple_ref/doc/uid/TP40012953-SW31|title=New Features in Xcode 5: Xcode 5.1|date=April 20, 2015|access-date=September 15, 2016}}
=6.x series=
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.{{cite web|title=Xcode 6, Swift, CloudKit, and more surprising developer news from WWDC 2014|url=http://www.techrepublic.com/article/xcode-6-swift-cloudkit-and-more-surprising-developer-news-from-wwdc-2014/|publisher=TechRepublic|access-date=June 6, 2014|date=June 5, 2014}} On September 17, 2014, at the same time, iOS 8 and Xcode 6 were released. Xcode could be downloaded on the Mac App Store.
= 7.x series =
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.{{Cite web|title = New Features in Xcode 7: Xcode 7.0|url = https://developer.apple.com/library/content/documentation/Xcode/Conceptual/WhatsNewXcode-Archive/Articles/xcode_7_0.html#//apple_ref/doc/uid/TP40015242-SW1|website = developer.apple.com|access-date = September 15, 2016}} Xcode 7 was released on September 16, 2015.
= 8.x series =
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.{{Cite web|title = What's New in Xcode 8|url = https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Chapters/xcode_8_0.html#//apple_ref/doc/uid/TP40004635-SW1|website = developer.apple.com|access-date = 2016-09-15}} Xcode 8 was released on September 13, 2016.
= 9.x series =
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 and tvOS devices wirelessly, through Wi-Fi.{{Cite web|title = What's New in Xcode 9|url = https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/WhatsNewXcode/xcode_9/xcode_9.html|website = developer.apple.com|access-date = 2017-07-24}}
Xcode 9 was publicly released on September 19, 2017.{{cite web|title=New Downloads Now Available|url=https://developer.apple.com/news/?id=09192017a|website=Apple Developer|publisher=Apple|access-date=September 19, 2017|ref=apple-developer-ref|archive-url=https://web.archive.org/web/20170920045241/https://developer.apple.com/news/?id=09192017a|archive-date=September 20, 2017}}
= 10.x series =
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 and GitLab (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.{{Cite web|title = Xcode - What's New|url = https://developer.apple.com/xcode/whats-new/|access-date = 2018-06-04}} Xcode 10 also dropped support for building 32-bit macOS apps{{cite tweet |user=ericasadun |last=Sadun |first=Erica |number=1003737777702203392 |title=Hold onto Xcode 9.4 and earlier to support 32-bit customers. Xcode 10 no longer compiles 32-bit applications |date=5 June 2018}}, and no longer supports Subversion integration.{{Cite web|title = Xcode 10 Release Notes|url = https://developer.apple.com/documentation/xcode_release_notes/xcode_10_release_notes|access-date = 2018-09-17}}
Xcode 10 was publicly released on September 17, 2018.{{Cite web|url=https://developer.apple.com/news/releases/?id=09172018d|title=Xcode 10 (10A254a) - Releases - Apple Developer|website=Apple Developer|publisher=Apple Inc.|date=September 17, 2018|access-date= September 12, 2018}}
= 11.x series =
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).{{Cite web|title = Xcode 11 Beta Release Notes|url = https://developer.apple.com/documentation/xcode_release_notes/xcode_11_beta_release_notes|access-date = 2019-06-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.{{Cite web|title = What's New in Xcode|url = https://developer.apple.com/xcode/whats-new/|access-date = 2019-06-15}} Xcode 11 requires macOS 10.14 or later and Xcode 11.4 requires 10.15 or later.{{Cite web|title = Xcode 11.4 Release Notes|url = https://developer.apple.com/documentation/xcode_release_notes/xcode_11_4_release_notes|access-date = 2020-09-12}}
Xcode 11 was publicly released on September 20, 2019.
= 12.x series =
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 dropped building apps for iOS 8 and the lowest version of iOS supported by Xcode 12 built apps is iOS 9. Xcode 12.1 also dropped support for building apps for Mac OS X 10.6 Snow Leopard. The minimum version of macOS supported by Xcode 12.1 built apps is OS X 10.9 Mavericks.{{Cite web |title=Xcode - Support - Apple Developer |url=https://developer.apple.com/support/xcode/ |access-date=2023-03-23 |website=developer.apple.com}}
Xcode 12 was publicly released on September 16, 2020.
= 13.x series =
On June 7, 2021, at the Apple Worldwide Developers Conference, Xcode version 13 was announced; a beta version was released the same day. The new version introduced support for Swift 5.5 and requires macOS 11.3 or later. Xcode 13 contains SDKs for iOS / iPadOS 15, macOS 12, watchOS 8, and tvOS 15. Xcode 13’s major features include the new concurrency model in Swift projects,{{Cite web|title=Concurrency|url=https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html|website=Swift Docs}} improved support for version control providers (such as GitHub), including the ability to browse, view, and comment on pull requests right in the app interface, and support for Xcode Cloud, Apple’s newly-launched mobile CI/CD service (it also has a web version).
Xcode 13 was publicly released on September 20, 2021.
= 14.x series =
On June 6, 2022, at the Apple Worldwide Developers Conference, Xcode version 14 was announced; a beta version was released the same day. Xcode 14 dropped support for building 32-bit iOS apps.{{Cite web|url=https://developer.apple.com/news/upcoming-requirements/?id=06062022a|title=32-bit app support has been discontinued in Xcode 14|website=Apple Developer|publisher=Apple Inc.|date=June 6, 2022|access-date=March 22, 2023}} Xcode 14 dropped support for building apps for iOS 9 and 10 (these versions of iOS supported 32-bit iOS apps) and the minimum version of iOS supported by Xcode 14 built apps is iOS 11. Xcode 14 also dropped building apps for macOS 10.12 Sierra. The minimum version of macOS supported by Xcode 14 built apps is macOS 10.13 High Sierra.
Xcode 14 was publicly released on September 12, 2022.
= 15.x series =
On June 5, 2023, at the Apple Worldwide Developers Conference, Xcode version 15 was announced; a beta version was released the same day. Xcode 15 dropped support for building apps for iOS 11 and the minimum version of iOS supported by Xcode 15 built apps is iOS 12.
Xcode 15 was publicly released on September 18, 2023.
= 16.x series =
On June 10, 2024, at the Apple Worldwide Developers Conference, Xcode version 16 was announced; a beta version was released the same day. Xcode 16 introduced predictive code completion on Apple silicon Macs, along with the Swift Testing framework.{{Cite web|title = Xcode 16 Release Notes|url = https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes|access-date = 2025-02-18}}
Xcode 16 was publicly released on September 16, 2024.
Version comparison table
class="wikitable" |
style="background:#ffdead;"|
| Discontinued | style="background:#3d4;"| | Current release | style="background:#2fc0ff;"| | Beta |
= Xcode 1.0 - Xcode 2.x (before iOS support) =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" |
style="background: #ffdead; text-align:center;" colspan="9"| Version history |
---|
Version
! Build ! Release date ! Runs on versions of Mac OS X ! Mac OS X SDK(s) |
style="background:#ffdead; white-space:nowrap;"| 1.0
| | September 28, 2003 | rowspan="4" | Mac OS X Panther (10.3.x) | rowspan="4" | Mac OS X Cheetah (10.0.x), Mac OS X Puma (10.1.x), Mac OS X Jaguar (10.2.x), and Mac OS X Panther (10.3.x) |
style="background:#ffdead; white-space:nowrap;"| 1.1
| | December 19, 2003 |
style="background:#ffdead; white-space:nowrap;"| 1.2
| | April 22, 2004 |
style="background:#ffdead; white-space:nowrap;"| 1.5
| | August 4, 2004 |
style="background:#ffdead; white-space:nowrap;"| 2.0
| | April 29, 2005 | rowspan="7" | Mac OS X Tiger (10.4.x) | rowspan="7" | Mac OS X Jaguar (10.2.x), Mac OS X Panther (10.3.x), and Mac OS X Tiger (10.4.x) |
style="background:#ffdead; white-space:nowrap;"| 2.1
| | June 6, 2005 |
style="background:#ffdead; white-space:nowrap;"| 2.2
| | November 10, 2005 |
style="background:#ffdead; white-space:nowrap;"| 2.2.1
| | January 13, 2006 |
style="background:#ffdead; white-space:nowrap;"| 2.3
| | May 23, 2006 |
style="background:#ffdead; white-space:nowrap;"| 2.4
| | August 17, 2006 |
style="background:#ffdead; white-space:nowrap;"| 2.4.1
| | October 31, 2006 |
style="background:#ffdead; white-space:nowrap;"| 2.5
| | October 30, 2007 | Mac OS X Tiger (10.4.x) and Mac OS X Leopard (10.5.x) | Mac OS X Jaguar (10.2.x), Mac OS X Panther (10.3.x), Mac OS X Tiger (10.4.x) and Mac OS X Leopard (10.5.x) |
class="sortbottom"
! Version ! Build ! Release date ! Runs on versions of Mac OS X ! Mac OS X SDK(s) |
= Xcode 3.0 - Xcode 4.x =
= Xcode 5.0 - 6.x (since arm64 support) =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" |
style="background: #ffdead; text-align:center;" colspan="9"| Version history |
---|
Version
! Build ! Release date ! min OS X to run ! OS X SDK(s) ! iOS SDK(s) included ! Min iOS Deployment Target ! iOS arm supported ! downloadable iOS Simulators |
style="background:#ffdead; white-space:nowrap;"| 5.0
| 5A1413 | September 18, 2013 | rowspan="5" | 10.8.4{{cite web|url=https://apps.apple.com/us/app/xcode/id497799835?mt=12 |title=Mac App Store - Xcode |work=Mac App Store |access-date=May 2, 2015 |url-status=bot: unknown |archive-url=https://web.archive.org/web/20131010091336/https://itunes.apple.com/us/app/xcode/id497799835?mt=12 |archive-date=October 10, 2013 }}{{cite web|url=https://apps.apple.com/us/app/xcode/id497799835?mt=12 |title=Mac App Store - Xcode |work=Mac App Store |access-date=May 2, 2015 |url-status=bot: unknown |archive-url=https://web.archive.org/web/20140530201305/https://itunes.apple.com/us/app/xcode/id497799835?mt=12 |archive-date=May 30, 2014 }} | iOS 7.0 (11A465) | iOS 4.3 or iOS 6.0 (for arch with arm64){{Cite web|url=https://stackoverflow.com/questions/18913906/xcode-5-and-ios-7-architecture-and-valid-architectures|title=iphone - Xcode 5 and iOS 7: Architecture and Valid architectures|website=Stack Overflow}} | rowspan="5" | armv7, armv7s, arm64 | rowspan="3" | iOS 6.1 + iOS 6.0 + only for OS X 10.8:{{cite web|url=https://stackoverflow.com/questions/19281739/use-ios-5-simulator-in-xcode-5/19282559#19282559|title=ios5 - Use iOS 5 Simulator in XCode 5? - Stack Overflow|access-date=May 2, 2015}} iOS 5.1 + iOS 5.0 |
style="background:#ffdead; white-space:nowrap;"| 5.0.1
| 5A2053 | October 22, 2013 | rowspan="4" | OS X v10.8 + OS X v10.9 | rowspan="2" | iOS 7.0.3 (11B508) | rowspan="12" | iOS 4.3 or iOS 5.1.1 (for arch with arm64){{Cite web|url=https://developer.apple.com/documentation/uikit/app_and_environment/updating_your_app_from_32-bit_to_64-bit_architecture|title=Apple Developer Documentation|website=developer.apple.com}} |
style="background:#ffdead; white-space:nowrap;"| 5.0.2
| 5A3005 | November 12, 2013 |
style="background:#ffdead; white-space:nowrap;"| 5.1
| 5B130a | March 10, 2014 | rowspan="2" | iOS 7.1 (11D167) | iOS 7.0 + iOS 6.1{{cite web|url=https://stackoverflow.com/a/22494536/751932|title=Install ios 5 simulator to xcode 5.1?|access-date=May 2, 2015}}{{cite web|url=https://stackoverflow.com/q/22342092/751932|title=iphone - ios 6.0 Simulator in xcode 5.1 - Stack Overflow|access-date=May 2, 2015}} |
style="background:#ffdead; white-space:nowrap;"| 5.1.1
| 5B1008 | April 10, 2014 | iOS 6.1 |
style="background:#ffdead; white-space:nowrap;"| 6.0.1
| 6A317 | September 17, 2014 | rowspan="4" | 10.9.4 | iOS 8.0 (12A365) | rowspan="8" | Default: armv7, arm64 | rowspan="3" | iOS 7.1 + only for OS X 10.9{{cite web|url=https://stackoverflow.com/a/26647049/751932|title=xcode - iOS 6.1 simulator on OSX 10.10 Yosemite - Stack Overflow|access-date=May 2, 2015}} iOS 7.0 |
style="background:#ffdead; white-space:nowrap;"| 6.1
| 6A1052c 6A1052d | October 16, 2014Developer Portal version October 20, 2014MAS version | rowspan="3" | OS X v10.9 + OS X v10.10 | rowspan="2" | iOS 8.1 (12B411) |
style="background:#ffdead; white-space:nowrap;"| 6.1.1
| 6A2008a | December 2, 2014 |
style="background:#ffdead; white-space:nowrap;"| 6.2
| 6C131e | March 9, 2015 | iOS 8.2 (12D508) | iOS 8.1 + iOS 7.1 |
style="background:#ffdead; white-space:nowrap;"| 6.3
| 6D570 | April 8, 2015 | rowspan="4" | 10.10 | rowspan="4" | OS X v10.9 + OS X v10.10 | rowspan="3" | iOS 8.3 (12F69) | rowspan="3" | iOS 8.2 + iOS 8.1 + iOS 7.1 |
style="background:#ffdead; white-space:nowrap;"| 6.3.1
| 6D1002 | April 21, 2015 |
style="background:#ffdead; white-space:nowrap;"| 6.3.2
| 6D2105 | May 18, 2015 |
style="background:#ffdead; white-space:nowrap;"| 6.4
| 6E35b | June 30, 2015 | iOS 8.4 (12H141) | iOS 8.3 + iOS 8.2 + iOS 8.1 + iOS 7.1 |
class="sortbottom"
! Version ! Build ! Release date ! min OS X to runLSMinimumSystemVersion from Info.plist ! OS X SDK(s) ! iOS SDK(s) included ! Min iOS Deployment Target ! iOS arm supported ! downloadable iOS Simulators |
= Xcode 7.0 - 10.x (since Free On-Device Development) =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" |
style="background: #ffdead; text-align:center;" colspan="10"| Version history |
---|
Version
! Build ! Release date ! min macOS to runplutil -p Xcode.app/Contents/Info.plist | grep LSMinimumSystemVersion ! iOS SDK includedcd Xcode.app/Contents/Developer; ls Platforms/iPhoneOS.platform/DeviceSupport/ | grep '(.*)' ! watchOS SDK includedcd Xcode.app/Contents/Developer; ls Platforms/WatchOS.platform/DeviceSupport/ | grep '(.*)' ! tvOS SDK includedcd Xcode.app/Contents/Developer; ls Platforms/AppleTVOS.platform/DeviceSupport/ | grep '(.*)' ! Downloadable simulatorsfrom preferences -> downloads ! Notes |
style="background:#ffdead; white-space:nowrap;"| 7.0
| 7A220 | September 16, 2015 | rowspan="2" | 10.10.4 | rowspan="4" | 10.11 (15A278) | rowspan="2" | iOS 9 (13A340) | rowspan="4" | watchOS 2 (13S343) | rowspan="2" | - | rowspan="2" | iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 | |
style="background:#ffdead; white-space:nowrap;"| 7.0.1
| 7A1001 | September 28, 2015 | |
style="background:#ffdead; white-space:nowrap;"| 7.1
| 7B91b | October 21, 2015 | rowspan="4" | 10.10.5 | rowspan="2" | iOS 9.1 (13B137) | rowspan="2" | tvOS 9.0 (13T393) | rowspan="2" | added iOS 9.0 | |
style="background:#ffdead; white-space:nowrap;"| 7.1.1
| 7B1005 | November 9, 2015 | |
style="background:#ffdead; white-space:nowrap;"| 7.2
| 7C68 | December 8, 2015 | rowspan="2" | 10.11.2 (15C43) | rowspan="2" | iOS 9.2 (13C75) | rowspan="2" | watchOS 2.1 (13S660) | tvOS 9.1 (13U78) | rowspan="2" | added iOS 9.1 + tvOS 9.0 + watchOS 2.0 | |
style="background:#ffdead; white-space:nowrap;"| 7.2.1
| 7C1002 | February 3, 2016 | tvOS 9.1 (13U79) | |
style="background:#ffdead; white-space:nowrap;"| 7.3
| 7D175 | March 21, 2016 | rowspan="2" | 10.11 | rowspan="2" | 10.11.4 (15E60) | rowspan="2" | iOS 9.3 (13E230) | rowspan="2" | watchOS 2.2 (13V143) | rowspan="2" | tvOS 9.2 (13Y227) | rowspan="2" | added iOS 9.2 + tvOS 9.1 + watchOS 2.1 | |
style="background:#ffdead; white-space:nowrap;"| 7.3.1
| May 3, 2016 | |
style="background:#ffdead; white-space:nowrap;"| 8.0
| 8A218a | September 13, 2016 | rowspan="4" | 10.11.5 | 10.12 (16A300) | iOS 10 (14A345) | watchOS 3 (14S326) | rowspan="2" | tvOS 10.0 (14T328) | added iOS 9.3 + tvOS 9.2 + watchOS 2.2 | |
style="background:#ffdead; white-space:nowrap;"| 8.1
| 8B62 | October 27, 2016 | 10.12.1 (16B2649) | iOS 10.1 (14B72) | rowspan="3" | watchOS 3.1 (14S471a) | added iOS 10.0 (there is no watchOS 3.0) | |
style="background:#ffdead; white-space:nowrap;"| 8.2
| 8C38 | December 12, 2016 | rowspan="2" | 10.12.2 (16C58) | rowspan="2" | iOS 10.2 (14C89) | rowspan="2" | tvOS 10.1 (14U591) | rowspan="2" | added iOS 10.1 + tvOS 10.0 | |
style="background:#ffdead; white-space:nowrap;"| 8.2.1
| 8C1002 | December 19, 2016 | |
style="background:#ffdead; white-space:nowrap;"| 8.3
| 8E162 | March 27, 2017 | rowspan="4" | 10.12 | rowspan="4" | 10.12.4 (16E185) | rowspan="3" | iOS 10.3 (14E269) | rowspan="4" | watchOS 3.2 (14V243) | rowspan="4" | tvOS 10.2 (14W260) | rowspan="3" | added iOS 10.2 + tvOS 10.1 (there is no watchOS 3.1) | |
style="background:#ffdead; white-space:nowrap;"| 8.3.1
| 8E1000a | April 6, 2017 | |
style="background:#ffdead; white-space:nowrap;"| 8.3.2
| 8E2002 | April 18, 2017 | |
style="background:#ffdead; white-space:nowrap;"| 8.3.3
| 8E3004b | June 5, 2017 | iOS 10.3.1 (14E8301) | added watchOS 3.1 Simulator | {{refn|Unable to run since MacOS 10.14{{cite web|url=https://stackoverflow.com/q/52564374/751932|title=macOS 10.14 Mojave can't open Xcode 8.3.3 (immediately crash)|website=Stack Overflow}}}} |
style="background:#ffdead; white-space:nowrap;"| 9.0
| 9A235 | September 19, 2017 | rowspan="4" | 10.12.6 | rowspan="2" | 10.13 (17A360) | rowspan="2" | iOS 11.0 (15A372) | rowspan="2" | watchOS 4.0 (15R372) | rowspan="2" | tvOS 11.0 (15J380) | rowspan="2" | added iOS 10.3.1 + tvOS 10.2 + watchOS 3.2 | |
style="background:#ffdead; white-space:nowrap;"| 9.0.1
| 9A1004 | October 15, 2017 | |
style="background:#ffdead; white-space:nowrap;"| 9.1
| 9B55 | October 31, 2017 | 10.13.1 (17B48) | iOS 11.1 (15B93/15B101) | watchOS 4.1 (15R846) | tvOS 11.1 (15J582) | added iOS 11.0 + tvOS 11 + watchOS 4.0 | |
style="background:#ffdead; white-space:nowrap;"| 9.2
| 9C40b | December 4, 2017 | 10.13.2 (17C76) | iOS 11.2 (15C107) | watchOS 4.2 (15S100) | tvOS 11.2 (15K104) | added iOS 11.1 + tvOS 11.1 + watchOS 4.1 | |
style="background:#ffdead; white-space:nowrap;"| 9.3
| 9E145 | March 29, 2018 | rowspan="4" | 10.13.2 | rowspan="4" | 10.13.4 (17E189) | rowspan="2" | iOS 11.3 (15E217) | rowspan="4" | watchOS 4.3 (15T212) | rowspan="2" | tvOS 11.3 (15L211) | rowspan="2" | added iOS 11.2 + tvOS 11.2 + watchOS 4.2 | |
style="background:#ffdead; white-space:nowrap;"| 9.3.1
| 9E501 | May 9, 2018 | |
style="background:#ffdead; white-space: nowrap;"| 9.4
| 9F1027a | May 29, 2018 | rowspan="2" | iOS 11.4 (15F79) | rowspan="2" | tvOS 11.4 (15L576) | rowspan="2" | added iOS 11.3 + tvOS 11.3 | |
style="background:#ffdead; white-space: nowrap;"| 9.4.1
| 9F2000 | June 13, 2018 | |
style="background:#ffdead; white-space:nowrap;"| 10.0
| 10A255 | September 17, 2018 | rowspan="2" | 10.13.6 | 10.14 (18A384) | iOS 12.0 (16A366) | watchOS 5.0 (16R363) | tvOS 12.0 (16J364) | added iOS 11.4 + tvOS 11.4 + watchOS 4.3 | |
style="background:#ffdead; white-space:nowrap;"| 10.1
| 10B61 | October 30, 2018 | 10.14.1 (18B71) | iOS 12.1 (16B91) | watchOS 5.1 (16R591) | tvOS 12.1 (16J602) | added iOS 12.0 + tvOS 12.0 + watchOS 5.0 | |
style="background:#ffdead; white-space:nowrap;"| 10.2
| 10E125 | Mar 25, 2019 | rowspan="2" |10.14.3{{cite web|url=https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes|title=Xcode 10.2 Release Notes|website=Apple Developer}}{{cite web|url=https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_1_release_notes|title=Xcode 10.2.1 Release Notes|website=Apple Developer}} | rowspan="2" |10.14.4 (18E219) | rowspan="2" |iOS 12.2 (16E226) | rowspan="2" |watchOS 5.2 (16T224) | rowspan="2" |tvOS 12.2 (16L225) | rowspan="2" |added iOS 12.1 + tvOS 12.1 + watchOS 5.1 | |
style="background:#ffdead; white-space:nowrap;"| 10.2.1
| 10E1001 | Apr 17, 2019 | |
style="background:#ffdead; white-space:nowrap;"| 10.3
| 10G8 | July 22, 2019 | 10.14.3{{cite web|url=https://developer.apple.com/documentation/xcode_release_notes/xcode_10_3_release_notes|title=Xcode 10.3 Release Notes|website=Apple Developer}} | 10.14.6 (18G74) | iOS 12.4 (16G73) | watchOS 5.3 (16U567) | tvOS 12.4 (16M567) | added iOS 12.2 + tvOS 12.2 + watchOS 5.2 | |
class="sortbottom"
! Version ! Build ! Release date ! min macOS to run ! iOS SDK included ! watchOS SDK included ! tvOS SDK included ! Notes |
= Xcode 11.0 - 14.x (since SwiftUI framework) =
= Xcode 15.0 - 16.x (since visionOS support) =
Toolchain versions
class="wikitable" |
style="background:#ffdead;"|
| Discontinued | style="background:#3d4;"| | Current release | style="background:#2fc0ff;"| | Beta |
= Xcode 1.0 - Xcode 2.x (before iOS support) =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" | |||||
style="background: #ffdead; text-align:center;" colspan="9"| Toolchain version history | |||||
---|---|---|---|---|---|
Xcode | cctools | ld64 | GCC 3.1 | GCC 3.3 | GCC 4.0 |
style="background:#ffdead;"| 1.0
| 495 || - || 1256 || - || - | |||||
style="background:#ffdead;"| 1.2
| 499 || - || - || 1640 || - | |||||
style="background:#ffdead;"| 1.5
| 525 || - || - || 1666 || - | |||||
style="background:#ffdead;"| 2.5
| 622.9 || 62.1 || - || 1819 || 5370 | |||||
Xcode | cctools | ld64 | GCC 3.1 | GCC 3.3 | GCC 4.0/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.0 --version |
= Xcode 3.0 - Xcode 4.x =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" | |||||||
style="background: #ffdead; text-align:center;" colspan="9"| Toolchain version history | |||||||
---|---|---|---|---|---|---|---|
Xcode | cctools | ld64 | GCC 4.0 | GCC 4.2 | LLVM-GCC 4.2 | LLVM | Apple LLVM-Clang |
style="background:#ffdead;"| 3.1.4
| 698.1 || 85.2.1 || 5493 || 5577 || 5555 || 2064.3 || - | |||||||
style="background:#ffdead;"| 3.2
| 750 || 95.2.12 || 5493 || 5646 || 5646 || 2118 || - | |||||||
style="background:#ffdead;"| 3.2.1
| 750 || 95.2.12 || 5493 || 5646 || 5646 || 2206 || - | |||||||
style="background:#ffdead;"| 3.2.2
| 773 || 97.2 || 5493 || 5659 || 5646 || 2207.5 || 1.0.2 | |||||||
style="background:#ffdead;"| 3.2.3
| 782 || 97.14 || 5494 || 5664 || 5658 || 2326.10 || 1.5 (60) | |||||||
style="background:#ffdead;"| 3.2.4
| 782 || 97.14 || 5494 || 5664 || 5658 || 2326.10 || 1.5 (60) | |||||||
style="background:#ffdead;"| 3.2.5
| 782 || 97.17 || 5494 || 5664 || 5658 || 2333.4 || 1.6 (70) | |||||||
style="background:#ffdead;"| 3.2.6
| 795 || 97.17 || 5494 || 5666 || 5658 || 2335.6 || 1.7 (77) (based on LLVM 2.9svn) | |||||||
style="background:#ffdead;"| 4.0
| 800 || 123.2 || 5494 || 5666 || 5658 || 2335.9 || 2.0 (137) (based on LLVM 2.9svn) | |||||||
style="background:#ffdead;"| 4.0.2
| ? || ? || 5494 || 5666 || 5658 || 2335.9 || 2.0 (137) (based on LLVM 2.9svn) | |||||||
style="background:#ffdead;"| 4.1
| 806 || 123.2.1 || - || 5666 || 5658 || 2335.15.00 || 2.1 (163.7.1) (based on LLVM 3.0svn) | |||||||
style="background:#ffdead;"| 4.2
| 809 || 127.2 || - || - || 5658 || 2336.1.00 || 3.0 (211.10.1) (based on LLVM 3.0svn) | |||||||
style="background:#ffdead;"| 4.3
| 822 || 112 || - || - || 5658 || 2336.9.00 || 3.1 (tags/Apple/clang-318.0.45) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.3.1
| ? || ? || - || - || 5658 || 2336.9.00 || 3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.3.2
| ? || ? || - || - || 5658 || 2336.9.00 || 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn){{cite web | url=https://gist.github.com/yamaya/2924292 | title=Xcode clang version record gist | access-date=May 29, 2013}} | |||||||
style="background:#ffdead;"| 4.3.3
| ? || ? || - || - || 5658 || 2336.9.00 || 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.4
| 829 || 133.3 || - || - || 5658 || 2336.11.00 || 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.4.1
| ? || ? || - || - || 5658 || 2336.11.00 || 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.5
| 836 || 134.9 || - || - || 5658 || 2336.11.00 || 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.5.1
| ? || ? || - || - || 5658 || 2336.11.00 || 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.5.2
| ? || ? || - || - || 5658 || 2336.11.00 || 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn) | |||||||
style="background:#ffdead;"| 4.6
| 839 || 136 || - || - || 5658 || 2336.11.00 || 4.2 (clang-425.0.24) (based on LLVM 3.2svn) | |||||||
style="background:#ffdead;"| 4.6.1
| ?|| ? || - || - || 5658 || 2336.11.00 || 4.2 (clang-425.0.27) (based on LLVM 3.2svn) | |||||||
style="background:#ffdead;"| 4.6.2
| ?|| ? || - || - || 5658 || 2336.11.00 || 4.2 (clang-425.0.28) (based on LLVM 3.2svn) | |||||||
style="background:#ffdead;"| 4.6.3
| ?|| ? || - || - || 5658 || 2336.11.00 || 4.2 (clang-425.0.28) (based on LLVM 3.2svn) | |||||||
Xcode | cctools | ld64 | GCC 4.0 | GCC 4.2/Developer/usr/bin/gcc-4.2 --version | LLVM-GCC 4.2Xcode.app/Contents/Developer/usr/bin/llvm-gcc --version | LLVM | Apple LLVM-ClangXcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --version |
= Xcode 5.0 - 6.x (since arm64 support) =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" | |||||
style="background: #ffdead; text-align:center;" colspan="9"| Toolchain version history | |||||
---|---|---|---|---|---|
Xcode | cctools | ld64 | LLVM | Clang version string | Swift version string |
style="background:#ffdead;"| 5.0.0
| 846.2.1|| 224.1 || 3.3svn || 5.0 (clang-500.2.75) (based on LLVM 3.3svn) | |||||
style="background:#ffdead;"| 5.0.1
| 846.2.4|| 224.1 || 3.3svn || 5.0 (clang-500.2.79) (based on LLVM 3.3svn) | |||||
style="background:#ffdead;"| 5.0.2
| 846.2.4|| 224.1 || 3.3svn || 5.0 (clang-500.2.79) (based on LLVM 3.3svn) | |||||
style="background:#ffdead;"| 5.1
| 855 || 236.3 || 3.4svn || 5.1 (clang-503.0.38) (based on LLVM 3.4svn) | |||||
style="background:#ffdead;"| 5.1.1
| 855 || 236.4 || 3.4svn || 5.1 (clang-503.0.40) (based on LLVM 3.4svn) | |||||
style="background:#ffdead;"| 6.0.1
| 862 || 241.8 || 3.5svn || 6.0 (clang-600.0.51) (based on LLVM 3.5svn) || 1.0 (swift-600.0.51.4) | |||||
style="background:#ffdead;"| 6.1
| 862 || 241.9 || 3.5svn || 6.0 (clang-600.0.54) (based on LLVM 3.5svn) || 1.1 (swift-600.0.54.20) | |||||
style="background:#ffdead;"| 6.1.1
| 862 || 241.9 || 3.5svn || 6.0 (clang-600.0.56) (based on LLVM 3.5svn) || 1.1 (swift-600.0.56.1) | |||||
style="background:#ffdead;"| 6.2
| 862 || 241.9 || 3.5svn || 6.0 (clang-600.0.57) (based on LLVM 3.5svn) || 1.1 (swift-600.0.57.4) | |||||
style="background:#ffdead;"| 6.3
| 870 || 242 || 3.6.0svn || 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn) || 1.2 (swiftlang-602.0.49.3) | |||||
style="background:#ffdead;"| 6.3.1
| 870 || 242 || 3.6.0svn || 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn) || 1.2 (swiftlang-602.0.49.6) | |||||
style="background:#ffdead;"| 6.3.2
| 870 || 242 || 3.6.0svn || 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) || 1.2 (swiftlang-602.0.53.1) | |||||
style="background:#ffdead;"| 6.4
| 870 || 242.2 || 3.6.0svn || 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) || 1.2 (swiftlang-602.0.53.1) | |||||
Xcode | cctools/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/otool --version | ld64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld -v | LLVM | Clang version string/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --version | Swift version string/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version |
= Xcode 7.0 - 10.x (since Free On-Device Development) =
class="wikitable collapsible collapsed" style="width:100%; font-size:90%;" | |||||
style="background: #ffdead; text-align:center;" colspan="9"| Toolchain version history | |||||
---|---|---|---|---|---|
Xcode | cctools | ld64 | LLVM | Clang version string | Swift version string |
style="background:#ffdead;"| 7.0
| 877.5 || 253.3 || 3.7.0svn{{Cite web|url=https://opensource.apple.com/source/clang/|title=Clang - Source Browser|website=opensource.apple.com|publisher=Apple Inc.|language=en-us|access-date=2017-05-11}} | |||||
style="background:#ffdead;"| 7.0.1 | |||||
style="background:#ffdead;"| 7.1 | |||||
style="background:#ffdead;"| 7.2 | |||||
style="background:#ffdead;"| 7.2.1 | |||||
style="background:#ffdead;"| 7.3 | |||||
style="background:#ffdead;"| 7.3.1 | |||||
style="background:#ffdead;"| 8.0 | |||||
style="background:#ffdead;"| 8.1
| 8.0.0 (clang-800.0.42.1) || 3.0.1 (swiftlang-800.0.58.6 clang-800.0.42.1) | |||||
style="background:#ffdead;"| 8.2
| 8.0.0 (clang-800.0.42.1) || 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1) | |||||
style="background:#ffdead;"| 8.2.1
| 8.0.0 (clang-800.0.42.1) || 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1) | |||||
style="background:#ffdead;"| 8.3
| 8.1.0 (clang-802.0.38) || 3.1 (swiftlang-802.0.48 clang-802.0.38) | |||||
style="background:#ffdead;"| 8.3.1
| 8.1.0 (clang-802.0.41) || 3.1 (swiftlang-802.0.51 clang-802.0.41) | |||||
style="background:#ffdead;"| 8.3.2
| 8.1.0 (clang-802.0.42) || 3.1 (swiftlang-802.0.53 clang-802.0.42) | |||||
style="background:#ffdead;"| 8.3.3
| 8.1.0 (clang-802.0.42) || 3.1 (swiftlang-802.0.53 clang-802.0.42) | |||||
style="background:#ffdead;"| 9.0
| 900 || 302.3 || 4.0.0{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.0-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.0-RELEASE|website=GitHub|access-date=2018-11-18}} | 9.0.0 (clang-900.0.37) || 4.0 (swiftlang-900.0.65 clang-900.0.37) | |||||
style="background:#ffdead;"| 9.1
| 900 || 302.3.1 || 4.0.0{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.0.2-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.0.2-RELEASE|website=GitHub|access-date=2018-11-18}} | 9.0.0 (clang-900.0.38) || 4.0.2 (swiftlang-900.0.69.2 clang-900.0.38) | |||||
style="background:#ffdead;"| 9.2
| 900 || 305 || 4.0.0{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.0.3-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.0.3-RELEASE|website=GitHub|access-date=2018-11-18}} | 9.0.0 (clang-900.0.39.2) || 4.0.3 (swiftlang-900.0.74.1 clang-900.0.39.2) | |||||
style="background:#ffdead;"| 9.3
| 906 || 351.8 || 5.0.2{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.1-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.1-RELEASE|website=GitHub|access-date=2018-11-18}} | 9.1.0 (clang-902.0.39.1) || 4.1 (swiftlang-902.0.48 clang-902.0.37.1) | |||||
style="background:#ffdead;"| 9.3.1
| 9.1.0 (clang-902.0.39.1) || 4.1 (swiftlang-902.0.48 clang-902.0.37.1) | |||||
style="background:#ffdead;"| 9.4
| 906 || 351.8 || 5.0.2{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.1.2-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.1.2-RELEASE|website=GitHub|access-date=2018-11-18}} | 9.1.0 (clang-902.0.39.2) || 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2) | |||||
style="background:#ffdead;"| 9.4.1
| 9.1.0 (clang-902.0.39.2) || 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2) | |||||
style="background:#ffdead;"| 10.0
| 921.0.1 || 409.12 || 6.0.1{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.2-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.2-RELEASE|website=GitHub|access-date=2018-11-18}} | 10.0.0 (clang-1000.11.45.2) || 4.2 (swiftlang-1000.11.37.1 clang-1000.11.45.1) | |||||
style="background:#ffdead;"|
10.1 |921.0.1 |409.12 | 6.0.1{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-4.2.1-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-4.2.1-RELEASE|website=GitHub|access-date=2018-11-18}} |4.2.1 (swiftlang-1000.11.42 clang-1000.11.45.1) | |||||
style="background:#ffdead;"|
10.2 |927.0.2 |450.3 |7.0.0{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-5.0-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-5.0-RELEASE|website=GitHub|access-date=2019-04-10}} |5.0 (swiftlang-1001.0.69.5 clang-1001.0.46.3) | |||||
style="background:#ffdead;"|
10.2.1 |927.0.2 |450.3 |7.0.0{{Cite web|url=https://github.com/apple/swift-llvm/blob/swift-5.0.1-RELEASE/CMakeLists.txt|title=swift-llvm/CMakeLists.txt at swift-5.0.1-RELEASE|website=GitHub|access-date=2019-06-15}} |5.0.1 (swiftlang-1001.0.82.4 clang-1001.0.46.5) | |||||
style="background:#ffdead;"|
10.3 |927.0.2 |450.3 |5.0.1 (swiftlang-1001.0.82.4 clang-1001.0.46.5) | |||||
Xcode | cctools | ld64 | LLVM | Clang version string | Swift version string |
= Xcode 11.0 - 14.x (since SwiftUI framework) =
= Xcode 15.0 - 16.x (since visionOS support) =
See also
References
{{reflist}}
External links
- [https://apps.apple.com/us/app/xcode/id497799835 Xcode – Mac App Store]
- [https://developer.apple.com/xcode/ Apple Developer Connection: Xcode tools and resources]
- [https://developer.apple.com/library/prerelease/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/Introduction.html#//apple_ref/doc/uid/TP40016994-CH1-SW1 Xcode Release Notes — Archive]
- [https://developer.apple.com/downloads/index.action Download Xcode]
{{Integrated development environments}}
{{macOS developer tools}}
Category:Integrated development environments
Category:IOS development software
Category:MacOS programming tools
Category:MacOS-only software made by Apple Inc.