Xcode 4.0 running on Mac OS X 10.6
|Stable release||5.0.2 (5A3005) (November 11, 2013[±])|
|Preview release||5.1 Developer Preview (5B45j) (November 18, 2013[±])|
|Operating system||Mac OS X 10.3 (Version 1.x)
Mac OS X 10.4 (Version 2.x)
Mac OS X 10.5 (Versions 2.5, 3.0, 3.1)
Mac OS X 10.6 (Versions 3.2, 4.0, 4.1, 4.2)
Mac OS X 10.7 (Versions 4.1, 4.2, 4.3, 4.4, 4.5, 4.6)
OS X 10.8 (Version 4.4, 4.5, 4.6, 5.0)
OS X 10.9 (Version 5.0)
|Type||Integrated Development Environment (IDE)|
|License||Proprietary freeware with open source components|
|Website||Apple – Xcode|
Xcode is an integrated development environment (IDE) containing a suite of software development tools developed by Apple for developing software for OS X and iOS. First released in 2003, the latest stable release is version 5.0 and is available via the Mac App Store free of charge for Mac OS X Lion and OS X Mountain Lion users. Registered developers can download preview releases and previous versions of the suite through the Apple Developer website.
- 1 Major features
- 2 Composition
- 3 Version history
- 4 Versions compare table
- 5 Toolchain Versions
- 6 References
- 7 External links
Previously Xcode supported distributing a product build process over multiple systems. One technology involved was called 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 called Dedicated Network Builds. These features are absent in the supported versions of Xcode.
Thanks to the Mach-O executable format, which allows for “fat binaries," containing code for multiple architectures, Xcode can build universal binaries, which allow software to run on both PowerPC and Intel-based (x86) platforms and that can include both 32-bit and 64-bit code for both architectures. Using the iOS SDK, Xcode can also be used to compile and debug applications for iOS that run on the ARM processor.
Xcode also includes Apple's WebObjects tools and frameworks for building Java web applications and web services (previously 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.
The main application of the suite is the integrated development environment (IDE), also named Xcode. The Xcode suite also includes most of Apple's developer documentation, and built-in Interface Builder, an application used to construct graphical user interfaces.
The Xcode suite includes a modified version of the GNU Compiler Collection as well as, in Xcode 3.1 and later, the llvm-gcc compiler, with front ends from the GNU Compiler Collection and a code generator based on LLVM, and, in Xcode 3.2 and later, Apple's LLVM Compiler, with the clang front end and a code generator based on LLVM, and the Clang Static Analyzer. It supports C, C++, Objective-C, Objective-C++, Java, AppleScript, Python and Ruby source code with a variety of programming models, including but not limited to Cocoa, Carbon, and Java. Third parties have added support for GNU Pascal, Free Pascal, Ada, C#, Perl, and D. The Xcode suite used the GNU Debugger as the back-end for its debugger. As of version 4.2 the Apple LLVM Compiler became the default compiler. LLDB became the default debugger as of Xcode 4.3.
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 lets you search and read online documentation from Apple’s website and local documentation installed on your machine.
The final version of Xcode for Mac OS X v10.4 was 2.5.
Xcode 3.0 was released with Mac OS X v10.5 "Leopard". Notable changes since 2.1 include the DTrace debugging tool (now called 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 supports Subversion 1.5.
Xcode 3.2 was released with Mac OS X v10.6 "Snow Leopard" and will not install on any earlier version of Mac 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 v10.6. Downloading it requires a free registration at Apple's developer site (but a paid developer program membership is not required).
In June 2010 at the World Wide Developers Conference, Apple announced version 4 of Xcode during the Developer Tools State of the Union address. Version 4 of the developer tools consolidates the Xcode editing tools and Interface Builder into a single application, among other enhancements. Apple released the final code for 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 as well as 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 the 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.
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 GCC instead of only LLVM GCC.
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 only available 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 a single 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 as opposed to the GDB debugger (which appear to be un-documented 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.
Xcode 4.5 was released on September 19, 2012, on the same day that iOS 6 was released. It added support for iOS 6 and the 4-inch Retina display found 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.
Xcode 4.6 was released on January 28, 2013, on the same day that iOS 6.1 was released.
Versions compare table
|Version||Release date||Runs on versions of OS X||OS X SDK(s)||iOS SDK(s)||Min iOS Deployment Target||iOS arm supported|
|February 16, 2012||OS X Lion (10.7.x)||OS X Snow Leopard (10.6.x) and OS X Lion (10.7.x)||iOS 5.0||iOS 3.0||armv6 armv7|
|March 7, 2012||iOS 5.1 (9B176)|
|March 22, 2012|
|May 2012||OS X Lion (10.7.4)||OS X Snow Leopard (10.6.x) and OS X Lion (10.7.x)|
|July 25, 2012||OS X Lion (10.7.4 and 10.7.5) and OS X Mountain Lion (10.8.x)||OS X Lion (10.7.x) and OS X Mountain Lion (10.8.x)|
|August 7, 2012|
|September 19, 2012||iOS 6.0 (10A403)||iOS 4.3||armv7 armv7s|
|October 3, 2012|
|November 1, 2012|
|Feb 20, 2013||iOS 6.1 (10B141)|
|March 14, 2013|
|April 15, 2013|
|June 14, 2013|
|September 18, 2013||OS X Mountain Lion (10.8.4 and 10.8.5) and OS X Mavericks (10.9)||OS X Mountain Lion (10.8.x)||iOS 7.0 (11A465)||iOS 4.3||armv7 armv7s arm64|
|October 22, 2013||OS X Mountain Lion (10.8.x) and OS X Mavericks (10.9)||iOS 7.0 (11B508)|
|November 12, 2013|
|Version||Release date||Runs on versions of OS X||OS X SDK(s)||iOS SDK(s)||Min iOS Deployment Target||iOS arm supported|
|This section does not cite any references or sources. (November 2012)|
|Xcode||cctools||ld64||GCC 4.0||GCC 4.2||LLVM-GCC 4.2||LLVM||Clang||Comment|
|3.2.6||795||97.17||5494||5666||5658||2335.6||1.7 (77) (based on LLVM 2.9svn)|
|4.0||800||123.2||5494||5666||5658||2335.9||2.0 (137) (based on LLVM 2.9svn)|
|4.0.2||?||?||5494||5666||5658||2335.9||2.0 (137) (based on LLVM 2.9svn)|
|4.1||806||123.2.1||-||5666||5658||2335.15.00||2.1 (163.7.1) (based on LLVM 3.0svn)||Last version installed to /Developer|
|4.2||809||127.2||-||-||5658||2336.1.00||3.0 (211.10.1) (based on LLVM 3.0svn)|
|4.3||822||112||-||-||5658||2336.9.00||3.1 (tags/Apple/clang-318.0.45) (based on LLVM 3.1svn)|
|4.3.1||?||?||-||-||5658||2336.9.00||3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn)|
|4.3.2||?||?||-||-||5658||2336.9.00||3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)|
|4.3.3||?||?||-||-||5658||2336.9.00||3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)|
|4.4||829||133.3||-||-||5658||2336.11.00||4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)|
|4.4.1||?||?||-||-||5658||2336.11.00||4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)|
|4.5||836||134.9||-||-||5658||2336.11.00||4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn)|
|4.5.1||?||?||-||-||5658||2336.11.00||4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)|
|4.5.2||?||?||-||-||5658||2336.11.00||4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)|
|4.6||839||136||-||-||5658||2336.11.00||4.2 (clang-425.0.24) (based on LLVM 3.2svn)|
|4.6.1||?||?||-||-||5658||2336.11.00||4.2 (clang-425.0.27) (based on LLVM 3.2svn)|
|4.6.2||?||?||-||-||5658||2336.11.00||4.2 (clang-425.0.28) (based on LLVM 3.2svn)|
|4.6.3||?||?||-||-||5658||2336.11.00||4.2 (clang-425.0.28) (based on LLVM 3.2svn)|
|5.0.0||846.2.1||224.1||-||-||-||-||5.0 (clang-500.2.75) (based on LLVM 3.3svn)|
|5.0.1||846.2.4||224.1||-||-||-||-||5.0 (clang-500.2.79) (based on LLVM 3.3svn)|
- "Xcode on the Mac App Store". Apple Inc. Retrieved October 3, 2012.
- "Mac Dev Center". Apple Developer. Retrieved July 31, 2011.
- David Holt says: (May 15, 2010). "Facts about WebObjects (WebObjects Community)". Wocommunity.org. Retrieved June 21, 2010.
- "WOLips". Wiki.objectstyle.org. February 27, 2010. Retrieved June 21, 2010.
- Prince McLean (June 20, 2008). "Apple's other open secret: the LLVM Compiler". Retrieved April 3, 2012.
- "XCode 3.2: teh awesome edition". August 30, 2009. Retrieved April 3, 2012.
- Adriaan van Os. "GNU Pascal and Xcode". Microbizz.nl. Retrieved June 21, 2010.
- "Using Free Pascal with Xcode". Pascal-central.com. Retrieved June 21, 2010.
- "Tools". macada.org. Retrieved February 8, 2011.
- "CSharpPlugin - cocoa-sharp-dev - Google Code". Code.google.com. Retrieved June 21, 2010.
- "CamelBones, an Objective-C/Perl bridge for Mac OS X & GNUStep - Home". Camelbones.sourceforge.net. December 1, 2004. Retrieved June 21, 2010.
- "What's New In Xcode: New Features in Xcode 4.2". Apple. Retrieved March 28, 2012.
- Apple - Mac OS X Leopard - Features - 300+ New Features[dead link]
- "Apple Developer Tools for Java". Apple. Retrieved February 8, 2011.
- "WWDC Software Notes: Safari 5, Xcode 4, iTunes 9.2". Mac Rumors. June 8, 2010. Retrieved June 21, 2010.
- "Developer Tools - What's New in Xcode 4". Apple Developer. Retrieved February 8, 2011.
- "Apple makes Xcode free to all with release of 4.1 on Mac App Store". AppleInsider. July 20, 2011. Retrieved July 3, 2013.
- "What's New in Xcode 4.1". Apple Inc. Retrieved October 3, 2012.
- "What's New in Xcode 4.2". Apple Inc. Retrieved October 3, 2012.
- Apple support communities discussion thread on the availability of Xcode 4.2
- "What's New in Xcode 4.3". Apple Inc. Retrieved October 3, 2012.
- "What's New in Xcode 4.3.1". Apple Inc. Retrieved October 3, 2012.
- "What's New in Xcode 4.3.3". Apple Inc. Retrieved October 3, 2012.
- "Xcode 4.4 rolls out to OS X, iOS developers via the Mac App Store". 9to5Mac. July 25, 2012. Retrieved August 2, 2012.
- "What's New in Xcode 4.4". Apple Inc. Retrieved October 3, 2012.
- "What's New in Xcode 4.5". Apple Inc. Retrieved September 20, 2012.
- "Apple seeds first iOS 7 and OS X Mavericks betas to developers". AppleInsider. June 10, 2013. Retrieved June 11, 2013.
- "Xcode clang version record gist". Retrieved May 29, 2013.
- Xcode – Mac App Store
- Apple Developer Connection: Xcode tools and resources
- Mac Developer Library: Xcode 4 Release Notes
- Download Xcode
- Become an Xcoder – PDF for learning how to write Cocoa in Xcode
- Test Xcode 4.4.x app on jailbroken iPhone/iPad 5.x