- History of Xcode
In
software development , the history of Xcode is the timeline of development and release ofApple Inc. 'sXcode suite.Like
Mac OS X itself, Xcode had its roots in technology fromNeXT . Prior to the24 October 2003 release ofMac OS X v10.3 , Apple referred to the suite of tools as Developer Tools. The Xcodeintegrated development environment (IDE) was developed from and superseded Apple's earlier IDE,Project Builder .Xcode 1.0
Xcode 1.0 was released in fall 2003. Compared to the previous release of Project Builder, Apple added:
* An updated user interface.
* ZeroLink and Fix & Continue.
* Distributed builds using Bonjour anddistcc .
* Code sense.Xcode 1.5
Xcode 1.5 was released in August 2004. This release added:
* Dead-code stripping.
* Speed improvements to included GCC.
* Code completion for Java and AppleScript.
* Enhanced debugger.
* Bookmarks in documentation.Xcode 1.5 included code generation problems. In November 2004, Apple released an update to correct these problems.
Xcode 2.0
Xcode 2.0 was released on
29 April 2005 , with Mac OS X v10.4 (Tiger).* Supports development for
Mac OS X v10.1 ,Mac OS X v10.2 (Jaguar), Mac OS X v10.3 (Panther), or Mac OS X v10.4 (Tiger) using the Mac OS XSDK support.
* Includes a new version of the GCC compiler. GCC 4.0 includes a new, faster recursive descent C++ parser that conforms to the C++ standard, state-of-the-art Single Static Assignment code optimization framework, auto-vectorization, and 64-bit development for C and C++ (Objective-C/C++ is not yet supported).
* Visual modeling and design features automatically create class diagrams that not only let you view, but also navigate your code.
* Integrated Apple Reference Library provides a single search and presentation interface for all of Apple’s developer documentation, including both online documentation from Apple’s website and documentation installed on your machine.
* Improved Java Code Sense indexing and Ant project templates.
* Includes Quartz Composer visual programming language.Xcode 2.1
Xcode 2.1 was released on
6 June 2005 , at WWDC 2005.* Supports the creation of universal binaries for
PowerPC andIntel architectures on Mac OS X v10.4.1 using Mac OS XSDK support.
*WebObjects developer tools included with the Xcode Tools as an optional install.
* EOModels for Enterprise Objects can be edited within Xcode with a new EOModeler plugin that integrates with theCore Data modeling tools.
* The project file format is now much more readable and less prone toSCM conflicts. It also supports the new Build Configurations feature. Because of the magnitude of the changes, the project file extension is changed in Xcode 2.1 to ".xcodeproj". Older versions of Xcode will not read .xcodeproj files, but Xcode 2.1 can convert older project files to .xcodeproj format.
* Build Styles replaced by Build Configurations, a more "what-you-see-is-what-you-get" approach to target settings. You can set per-configuration settings directly in the target's inspector, and subprojects are built with the same build configuration as the master project.
* Built products from different configurations are now built in per-configuration build directories, and can even have different product names per-configuration. That means that building your Release build doesn't overwrite yourDebug build any more.
* A build configuration can be based on a build configuration file, a text file that provides base settings for one or more configurations. This means that your settings can be viewed, edited, searched, committed to SCM, and even compared as text files.
* Dependency analysis is now much more reliable. You don't need to clean before building as often, and files won't be recompiled unnecessarily.
* You can configure targets and projects to use Shared Precompiled Headers to minimize the building of precompiled headers.
* Xcode now supports Preprocessing Info.plist files to perform macro expansion and substitution using common header files.
* You can now create targets in your projects that perform Unit Testing of other built products at build time. Using testframework s for C, C++, and Objective-C, you can report test failures and regressions in newly-built code at the time you build it.
* The ability todrag and drop items in Xcode is significantly enhanced. You can now drag any file or folder into any build setting that expects a file path; drag a target into the Target Dependencies list of any aggregate target; and drag groups or file references into build phases.
* Distributed builds have been updated so that compile servers only allow remote execution of specific programs. The list of programs that a compile server will allow is contained in /private/etc/compilers.
* There are many refinements and additions in the Xcode user interface that will be familiar to users of other IDEs. There’s now a Targets tab in each file inspector to show and set what targets that file is included in. The "Built" column in the Groups and Files and Details views can now be clicked to Touch a file to cause it to be rebuilt. In the File Editor you can now Unlock a file that is locked in the file system. The Build, Preprocess, and Show Assembly Code commands now work on multiple selections.
* The Xcodedebugger now supports conditional breakpoints, breakpoint actions, and watchpoints in the debugger interface. The breakpoint actions can log a message, execute a script, speak a phrase, or visualize your program flow in a Class Model diagram.
* Viewing variables in the debugger now has extended support for Booleans, Pascal strings, and OSType data types.
* The debugger console now performs tab-completion of symbol names in the current context.
* Source Code Management now uses an Online/Offline master switch (as is used in Mail) to control connecting and disconnecting from an SCM system. All SCM systems now have basic support for wrappers (project files, nibs, model files, RTFD documents, etc.).
* The AppleScript dictionary in Xcode continues to grow, in this version adding commands to make new target, upgrade project file, and perform various SCM operations.Xcode 2.2
Xcode 2.2 was released on
10 November 2005 . It included hundreds of bug fixes and several enhancements to the IDE and its underlying tools. Version 2.2 requires Mac OS X version 10.4.0 or later and can create programs that run on version 10.2.8 and later, including Intel-based Macintosh computers.Notable changes and additions in Xcode 2.2 include:
* GCC 4.0.1: many improvements in code generation and correctness
* Improved Distributed Builds: better scheduling and error handling
* Distcc is started as a system launch service
* New Target contextual menus items: control-click on one or more targets to build or clean
* Separate PCH Symbols for smaller binaries and faster link times
* Essential Symbols for faster link times
* Ability to disallow ZeroLink to aid in deploying debug versions of code
* "Attach" in Xcode debugger to externally-launched apps, and auto-attach on crash
* Breakpoint Actions support gdb expressions.
* Executables support build setting expansionXcode 2.2.1
Xcode 2.2.1 was released on
10 January 2006 and included several updates:* Bug fixes; selected fixes were made in the Xcode IDE, cctools, debugger, compiler.
* The 10.4u SDK updated for development with Mac OS 10.4.4.
* CHUD updated to version 4.3.0.Xcode 2.3
Xcode 2.3 was released on
23 May 2006 and includes several updates and enhancements. Notable changes include:* Support for the
DWARF debugging format for enhanced debugging fidelity and efficient utilization of disk space
* New Distributed Network Build (DNB) scalable build architecture
* Stability and performance improvements for the Xcode IDE, build system, and Code Sense
* GCC updated to version 4.0.1Xcode 2.4
Xcode 2.4 was released on
7 August 2006 . [ [http://lists.apple.com/archives/xcode-users/2006/Aug/msg00096.html Xcode 2.4, 3.0, and Confidentiality ] ]* Support development of 64-bit Mach-O binaries for Intel with the -arch x86_64 flag.
* Support for building four-architecture fat binaries (32 and 64-bit Intel and PowerPC).
* Updated 10.4u SDK for Mac OS 10.4.7 development.
* Updated CHUD.
* Other unlisted fixes to the IDE, compiler and debugger.Xcode 2.4.1
Xcode 2.4.1 was released on the afternoon of
1 November 2006 . According to Apple's web site, "Xcode 2.4.1 provides overall stability, performance, and security enhancements to the Xcode IDE, and is a recommended update for all Xcode users". [ [http://developer.apple.com/tools/download/ Tools - Downloads ] ] Version 4.4.3 of CHUD was also made available.Xcode 2.5
Xcode 2.5 was released on
31 October 2007 and thus 5 days after Xcode 3.0.Notable changes include [ [http://developer.apple.com/tools/download/ Tools - Downloads ] ]
* Xcode 2.5 can be installed on both Mac OS 10.4 and Mac OS 10.5.
* Xcode 2.5 does not support Mac OS 10.5 Leopard-specific features.
* On Mac OS 10.4 Xcode 2.5 will upgrade (replace) previous versions.
* On Mac OS 10.5 Xcode 2.5 will install in a separate location.
* Since Mac OS 10.5 can have multiple versions of Xcode, it can help smooth the transition from Mac OS 10.4 to Mac OS 10.5.Xcode 3.0
Xcode 3.0 was released on
October 26 ,2007 with Mac OS X v10.5 (Leopard).Notable changes include [ [http://www.apple.com/macosx/features/300.html#xcode3 Apple - Mac OS X Leopard - Features - 300+ New Features ] ] :
* Code Focus - folding and highlighting
* Improved Performance for Editor - faster workspace searching etc.
* Instant-On Debugging and integration of OpenSolaris'sDTrace debugging tool
* Interface Builder with Animations
* Message Bubbles - build errors, breakpoint definitions and debug values alongside code
* Objective-C 2.0 (with garbage collection)
* Organizer Window - drag folder and build
* Project Snapshots - basic version control
* Refactoring
* Research Assistant - context sensitive documentation
* Instruments performance analysis toolReferences
Wikimedia Foundation. 2010.