Xcode

from Wikipedia, the free encyclopedia
Xcode
Basic data

developer Apple
Current  version 11.6
( July 15, 2020 )
Current preliminary version 12.0 beta 5
( August 18, 2020 )
operating system macOS
category Integrated development environment
License proprietary
German speaking No
developer.apple.com

Xcode is an integrated development environment from Apple for macOS . It can be used to develop programs for macOS, iPadOS , iOS , watchOS and tvOS . Xcode is for the programming Swift and Objective-C using Cocoa - Frameworks thought. The programming languages C , C ++ can also be used. Thanks to its modularity, it can also be used to write programs in other languages ​​(such as Java , Ruby , Perl or Pascal ).

The Xcode application is part of the software development package of the same name. For a better differentiation, the Apple application “Xcode IDE” and the entire development package are usually called “Xcode Tools” (more rarely “Xcode Package”).

Components of the Xcode Tools

The Xcode Tools development package consists of many different programs (about 40 in version 4.2, not including command line programs); the most important of them are:

  • Xcode is the development environment in which you can manage your projects and files, write code, compile and debug programs . The API documentation can also be accessed from here.
  • Interface Builder (integrated in Xcode from version 4.0) is used to create the graphical interfaces for Mac or iOS programs. It also creates connections between elements of the user interface and the code (actions, variables).
  • Instruments (formerly Xray) is a tool for analyzing programs with regard to memory consumption, file access or CPU bottlenecks. The technology is based on DTrace from Sun Microsystems ' Solaris operating system.
  • Xcode Core is a collection of necessary libraries and tools and represents the basis of Xcode. This includes compilers (GCC, LLVM, Clang ), debuggers (GDB, LLDB, DTrace), command line programs (otool, lipo, strip, make , yacc ) and version management ( CVS , Subversion , Perforce , git ).
  • Dashcode is an IDE for widgets for the dashboard of macOS or web applications for iOS. The applications created with it are based on web technologies such as HTML , CSS and JavaScript . (For the first few months, you could only create iPhone applications with Dashcode until Apple released the iPhone SDK in 2008.)
  • Quartz Composer is used to create so-called "patches" for Apple's Quartz graphics technology. These patches are executed directly by the graphics kernel and are used in many places in macOS (screen savers, iChat effects).
  • iPhone Simulator (from Xcode 3.1) provides a limited iPhone simulator with which iOS programs can be tested largely without a physical device.

There are also a number of other applications, e.g. B. to upload apps or to create installation packages or icons.

Versions

predecessor

The direct predecessor of Xcode was called “Project Builder”, the entire development package was called “Developer Tools”. These names still come from NeXTStep , the predecessor of Mac OS X. This ancestry can still be recognized in parts; Xcode project files always contain a file called project.pbxproj(Project Builder X Project), and many class names begin with the prefix NS ( N eXT S tep).

Developer Preview

Apple published the Xcode 1.0 Developer Preview at WWDC 2003 . There were two reasons for this: on the one hand, the beta software could be extensively tested by the developers, and secondly, Project Builder also ran on Mac OS X Panther , which was also distributed at WWDC.

Xcode 1.0 to 1.5

Xcode 1.0 was released in the fall of 2003 along with Mac OS X 10.3. New features compared to Project Builder include a new user interface, distributed compilation via distcc , and code completion (called Code Sense ). In addition, Cocoa bindings (bidirectional links between object attributes and user interface elements) were introduced.

Xcode 1.1 and 1.2 largely corrected errors in previous versions; Xcode 1.5 mainly improved Code Sense and debugging.

Xcode 1.0 and 1.5 can still be downloaded today from the Apple developer portal.

Xcode 2.0 to 2.5

With Mac OS X Tiger , Apple also released Xcode 2.0. Significant changes here are Quartz Composer (see section “Components of the Xcode Tools”), support for Core Data (for persistent storage of data), and support for Ant . Also new was the Apple Reference Library Tool for reading both the online documentation on Apple's website and locally stored documentation.

Xcode 2.1 was the first version that ran on PowerPC and Intel processors and was able to create so-called universal binaries in which PPC and Intel code were contained in the same binary file. Unit testing targets, conditional breakpoints and better checking of dependencies were also new.

Xcode 2.2 through 2.4 only offered various improvements and bug fixes, particularly in the areas of compiling, debugging, and distributed compiling. Xcode 2.5 was also available for Mac OS X Leopard , and only fixed a few bugs in Xcode 2.4.

Xcode 3.0 to 3.2

In the fall of 2007, Apple released Xcode 3.0 together with Mac OS X 10.5. The most important changes are support for Objective-C 2.0 with garbage collection , DTrace (in the form of instruments), refactoring , snapshots, and the ability to create up to four binary files (Intel and PowerPC with 32 and 64-bit each). Also Dashcode was the Xcode Tools added.

Xcode 3.1 was released together with the iPhone SDK 2.0. It was used to create, compile, run, and debug iPhone applications. Gcc 4.2 and LLVM-gcc 2.4 were shipped as compilers, and Subversion 1.5 was also supported. Xcode 3.1.4 is the last version for PowerPC .

Xcode 3.2 was released together with Mac OS X Snow Leopard . It offers static code analysis via the clang compiler, support for Grand Central Dispatch (dynamic thread management) and OpenCL .

Xcode 4.0 to 4.6

Xcode 4.0 was first introduced at WWDC 2010 and was in beta until March 2011.

Xcode 4 has been fundamentally revised. The biggest innovations include a new user interface, the integration of the Interface Builder , new compilers and debuggers ( LLVM and LLDB ), and support for git . Xcode 4.0 was available for download for 3.99 euros in the Mac App Store for Mac OS X Snow Leopard ("Snow Leopard").

Xcode 4.1 was the first version for Mac OS X Lion and was available for Lion users free of charge in the Mac App Store . The same version could also be downloaded from the developer pages.

Xcode 4.2 introduced LLDB 3.0 and added support for Automatic Reference Counting . The compiler inserts (using code analysis) lines of code for memory management ( retainand release) at the necessary points ; in this way the advantages of manual memory management and garbage collection are combined. Xcode 4.2 is also the last version for Snow Leopard.

Xcode 4.3 combines the Xcode tools in one program that is /Applications/installed in. This makes it easier to update via the Mac App Store. The previously used directory ( /Developer/) will be removed upon request.

Xcode 4.4 was released on July 25, 2012 with OS X Mountain Lion . It includes LLVM 3.2 and supported new versions of Objective-C and C ++.

Xcode 4.5 was released on September 19, 2012 and brought support for iOS 6.0.

Xcode 4.6 was released on January 28, 2013 and brought support for iOS 6.1.

Xcode 5.0

Xcode 5.0 was first introduced at WWDC 2013 in connection with the presentation of OS X Mavericks and was released on September 18, 2013. Support for iOS 7 and OS X 10.9 is new. It includes LLVM 3.3 and LLDB. Support for the LLVM GCC compiler and GDB debugger has been removed.

Xcode 6.x

Xcode 6.0 was first presented at WWDC 2014 on June 2, 2014 together with iOS 8.0 and made available to developers as a beta version after the presentation. It supports the Swift programming language developed by Apple , which, according to Apple, was specially designed for use with the Cocoa Frameworks and the Cocoa Touch Frameworks . Xcode 6.0 offers so-called live rendering to assess how the user interface of the finished program behaves in Xcode.

Xcode 7.0

Xcode 7.0 was first presented at WWDC 2015 on June 8, 2015 together with iOS 9.0, OS X 10.11 El Capitan and watchOS 2.0 and made available to developers as a beta version after the presentation. Swift 2.0 was introduced with Xcode 7.0. The so-called "Live Rendering" in the Interface Builder has also been extended so that it now shows the exact appearance of the user interface of the finished program.

Since Xcode 7.0 it is possible to test apps on iOS devices even without a paid membership in Apple's developer program.

Xcode 8.0

Xcode 8.0 was first presented at WWDC 2016 on June 13, 2016 together with iOS 10.0, macOS 10.12 Sierra and watchOS 3.0 and made available to developers as a beta version after the presentation. Swift 3.0 was introduced with Xcode 8.0. The Interface Builder has also been optimized in order to be able to achieve a higher working speed. In addition, it is now possible to install extensions for the Xcode editor in order to individualize the development environment.

Xcode 9.0

Xcode 9.0 was first presented at WWDC 2017 on June 5, 2017 together with iOS 11.0, macOS 10.13 High Sierra , watchOS 4.0 and tvOS 11 and made available to developers as a beta version after the presentation. With Xcode 9.0, support for Swift 4.0 was added in addition to Swift 3.0 and, from Xcode 9.3, support for Swift 4.1.

Xcode 10.0

Xcode 10.0 was first presented at WWDC 2018 on June 4, 2018 together with iOS 12.0, macOS 10.14 Mojave , watchOS 5.0 and tvOS 12 and made available to developers as a beta version after the presentation. At the same time as iOS 12.0 , it was released in the App Store on September 17, 2018 . I.a. Xcode 10 now includes the latest SDKs for iOS 12, watchOS 5 , tvOS 12 and MacOS Mojave , as well as Swift version 4.2 .

Xcode 11.0

Xcode 11.0 was first presented at WWDC 2019 on June 3, 2019 together with iOS 13.0, the newly introduced iPad operating system iPadOS 13.0, macOS 10.15 Catalina , watchOS 6.0 and tvOS 13 and made available to developers as a beta version after the presentation . At the time of the first beta release, Xcode 11.0 supports the latest Swift version 5.0.1. With the new SwiftUI framework , the declarative syntax makes it easier to develop user interfaces. The also newly introduced Project Catalyst framework allows iPad apps to be ported to macOS without major code adjustments.

Web links

Individual evidence

  1. Mac OS X Developer Tools Update ( Memento August 10, 2003 in the Internet Archive )
  2. Apple - Mac OS X - Features - Xcode ( Memento of December 2, 2003 in the Internet Archive )
  3. Apple - Mac OS X - Xcode ( Memento from January 14, 2006 in the Internet Archive )
  4. Xcode 2.2 is now available ( Memento from June 10, 2006 in the Internet Archive )
  5. http://homepage.mac.com/cdespinosa/Public/Xcode.html (link not available)
  6. http://edwardslab.bmcb.georgetown.edu/teaching/bchb524/2009/osx/osx-10.4/relnotesxcode25.pdf (link not available)
  7. Apple announces Xcode 4.0
  8. Apple Keynote ( June 13, 2013 memento in the Internet Archive ) June 10, 2013, apple.com
  9. Apple Developer Tools: What's New in Xcode 5
  10. Deprecation and Removal Notice
  11. Apple Keynote from June 2, 2014, apple.com
  12. Xcode - What's New. Apple Developer
  13. Apple Keynote ( Memento of the original from June 8, 2015 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. dated June 8, 2015, apple.com @1@ 2Template: Webachiv / IABot / www.apple.com
  14. Apple Keynote June 13, 2016, apple.com
  15. Apple Inc .: What's New in Swift - WWDC 2017 - Videos - Apple Developer. Retrieved January 18, 2018 (American English).