# Xcode

Xcode es un entorno de desarrollo integrado (IDE, en sus siglas en inglés) para macOS que contiene un conjunto de herramientas creadas por Apple destinadas al desarrollo de software para macOS, iOS, watchOS y tvOS. El entorno gráfico se complementa con herramientas de línea de comando que posibilitan además un desarrollo al estilo UNIX usando la aplicación Terminal de macOS. Su primera versión tiene origen en el año 2003 y actualmente su versión número 15 se encuentra disponible de manera gratuita en el Mac App Store o mediante descarga directa desde la página para desarrolladores de Apple.

## Características

Xcode trabaja conjuntamente con Interface Builder, una herencia de NeXT, una herramienta gráfica para la creación de interfaces de usuario.
Xcode incluye la colección de compiladores del proyecto GNU (GCC), y puede compilar código C, C++, Swift, Objective-C, Objective-C++, Java y AppleScript mediante una amplia gama de modelos de programación, incluyendo, pero no limitado a Cocoa, Carbón y Java. Otras compañías han añadido soporte para GNU Pascal, Free Pascal, Ada y Perl.
Entre las características más apreciadas de Xcode está la tecnología para distribuir el proceso de construcción a partir de código fuente entre varios ordenadores, utilizando Bonjour.

## Historia

Xcode se introdujo el 24 de octubre de 2003 junto con la versión 10.3 de Mac OS X, siendo desarrollado a partir del anterior entorno de desarrollo, Project Builder, al que sustituyó. Project Builder, a su vez, también era una herencia de la compañía NeXT, fusionada con Apple en 1996.
La aparición de Xcode 2.1 en junio de 2005 fue significativa porque proporcionó a la comunidad de desarrolladores las herramientas para crear binarios universales que permiten al software creado para Mac OS X ser ejecutado tanto en la arquitectura PowerPC como en la nueva, basada en Intel (x86). Esta versión integró además las herramientas y marcos de trabajo WebObjects de Apple para construir aplicaciones y servicios web de Java, que anteriormente se vendían como un producto separado por un precio de 699$.
Con el lanzamiento de Mac OS X v10.5 también lo fue el Xcode 3.0, que tenía como principales novedades la inclusión de Objective-C 2.0, un nuevo Interface Builder, la opción de refactorizar proyectos y hacer "snapshosts" del proyecto entre otras.
Xcode 4, lanzado a principios de 2011, incluía como novedades una nueva interfaz y la compatibilidad con Mac OS X 10.7 Lion. Con esta versión, Xcode dejó de ser compatible con Mac OS X 10.5 Leopard.

## Tabla comparativa de las diferentes versiones

| Versión discontinuada | Versión actual | Versión de prueba (Beta) |

### Xcode 7.x

Historial de versiones - Xcode 7 :
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |
| 7.0 | 7A220 | 16 de septiembre de 2015 | 10.10.4 | OS X v10.11 (15A278) | iOS 9 (13A340) | watchOS 2 (13S343) | - | iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 |
| 7.0.1 | 7A1001 | 28 de septiembre de 2015 | 10.10.4 | OS X v10.11 (15A278) | iOS 9 (13A340) | watchOS 2 (13S343) | - | iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 |
| 7.1 | 7B91b | 21 de octubre de 2015 | 10.10.5 | OS X v10.11 (15A278) | iOS 9.1 (13B137) | watchOS 2 (13S343) | tvOS 9.0 (13T393) | iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 |
| 7.1.1 | 7B1005 | 9 de noviembre de 2015 | 10.10.5 | OS X v10.11 (15A278) | iOS 9.1 (13B137) | watchOS 2 (13S343) | tvOS 9.0 (13T393) | iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 |
| 7.2 | 7C68 | 8 de diciembre de 2015 | 10.10.5 | OS X v10.11.2 (15C43) | iOS 9.2 (13C75) | watchOS 2.1 (13S660) | tvOS 9.1 (13U78) | iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.0 + watchOS 2.0 |
| 7.2.1 | 7C1002 | 3 de febrero de 2016 | 10.10.5 | OS X v10.11.2 (15C43) | iOS 9.2 (13C75) | watchOS 2.1 (13S660) | tvOS 9.1 (13U79) | iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.0 + watchOS 2.0 |
| 7.3 | 7D175 | 21 de marzo de 2016 | 10.11 | OS X v10.11.4 (15E60) | iOS 9.3 (13E230) | watchOS 2.2 (13V143) | tvOS 9.2 (13Y227) | iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.1 + tvOS 9.0 + watchOS 2.1 + watchOS 2.0 |
| 7.3.1 | 7D1012 7D1014 | 3 de mayo de 2016 | 10.11 | OS X v10.11.4 (15E60) | iOS 9.3 (13E230) | watchOS 2.2 (13V143) | tvOS 9.2 (13Y227) | iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.1 + tvOS 9.0 + watchOS 2.1 + watchOS 2.0 |
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |

### Xcode 8.x

Historial de versiones - Xcode 8 :
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |
| 8.0 | 8A218a | 13 de septiembre de 2016 | OS X El Capitán 10.11.5 | macOS Sierra 10.12 (16A300) | iOS 10 (14A345) | watchOS 3 (14S326) | tvOS 10.0 (14T328) | iOS 9.3 + iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.2 + tvOS 9.1 + tvOS 9.0 + watchOS 2.2 + watchOS 2.1 + watchOS 2.0 |
| 8.1 | 8B62 | 27 de octubre de 2016 | OS X El Capitán 10.11.5 | macOS Sierra 10.12.1 (16B2649) | iOS 10.1 (14B72) | watchOS 3.1 (14S471a) | tvOS 10.0 (14T328) | iOS 10.0 + iOS 9.3 + iOS 9.2 + iOS 9.1 + iOS 9.0 + iOS 8.4 + iOS 8.3 + iOS 8.2 + iOS 8.1 + tvOS 9.2 + tvOS 9.1 + tvOS 9.0 + watchOS 2.2 + watchOS 2.1 + watchOS 2.0 |
| 8.2 | 8C38 | 12 de diciembre de 2016 | OS X El Capitán 10.11.5 | macOS Sierra 10.12.2 (16C58) | iOS 10.2 (14C89) | watchOS 3.1 (14S471a) | tvOS 10.1 (14U591) | dif. con Xcode 8.1: fue agregado iOS 10.1 + tvOS 10.0 |
| 8.2.1 | 8C1002 | 19 de diciembre de 2016 | OS X El Capitán 10.11.5 | macOS Sierra 10.12.2 (16C58) | iOS 10.2 (14C89) | watchOS 3.1 (14S471a) | tvOS 10.1 (14U591) | dif. con Xcode 8.1: fue agregado iOS 10.1 + tvOS 10.0 |
| 8.3 | 8E162 | 28 de marzo de 2017 | macOS Sierra 10.12 | macOS Sierra 10.12.4 (16E185) | iOS 10.3 (14E269) | watchOS 3.2 (14V243) | tvOS 10.2 (14W260) | dif. con Xcode 8.2: fue agregado iOS 10.2 + tvOS 10.1 |
| 8.3.1 | 8E1000a | 6 de abril de 2017 | macOS Sierra 10.12 | macOS Sierra 10.12.4 (16E185) | iOS 10.3 (14E269) | watchOS 3.2 (14V243) | tvOS 10.2 (14W260) | dif. con Xcode 8.2: fue agregado iOS 10.2 + tvOS 10.1 |
| 8.3.2 | 8E2002 | 18 de abril de 2017 | macOS Sierra 10.12 | macOS Sierra 10.12.4 (16E185) | iOS 10.3 (14E269) | watchOS 3.2 (14V243) | tvOS 10.2 (14W260) | dif. con Xcode 8.2: fue agregado iOS 10.2 + tvOS 10.1 |
| 8.3.3 | 8E3004b | 5 de junio de 2017 | macOS Sierra 10.12 | macOS Sierra 10.12.4 (16E185) | iOS 10.3.1 (14E8301) | watchOS 3.2 (14V243) | tvOS 10.2 (14W260) | dif. con Xcode 8.3.2: fue agregó simulador de watchOS 3.1 |
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |

### Xcode 9.x

Historial de versiones - Xcode 9 :
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |
| 9.0 | 9A235 | 19 de septiembre de 2017 | macOS Sierra 10.12.6 | macOS High Sierra 10.13 (17A360) | iOS 11.0 (15A372) | watchOS 4.0 (15R372) | tvOS 11.0 (15J380) | simuladores agregados: iOS 10.3.1 + tvOS 10.2 + watchOS 3.2 |
| 9.0.1 | 9A1004 | - | macOS Sierra 10.12.6 | macOS High Sierra 10.13 (17A360) | iOS 11.0 (15A372) | watchOS 4.0 (15R372) | tvOS 11.0 (15J380) | simuladores agregados: iOS 10.3.1 + tvOS 10.2 + watchOS 3.2 |
| 9.1 | 9B55 | 31 de octubre de 2017 | macOS Sierra 10.12.6 | macOS High Sierra 10.13.1 (17B48) | iOS 11.1 (15B93/15B101) | watchOS 4.1 (15R846) | tvOS 11.1 (15J582) | simuladores agregados: iOS 11.0 + tvOS 11 + watchOS 4.0 |
| 9.2 | 9C40b | 4 de diciembre de 2017 | macOS Sierra 10.12.6 | macOS High Sierra 10.13.2 (17C76) | iOS 11.2 (15C107) | watchOS 4.2 (15S100) | tvOS 11.2 (15K104) | simuladores agregados: iOS 11.1 + tvOS 11.1 + watchOS 4.1 |
| 9.3 | 9E145 | 29 de marzo de 2018 | macOS High Sierra 10.13.2 | macOS High Sierra 10.13.4 (17E189) | iOS 11.3 (15E217) | watchOS 4.3 (15T212) | tvOS 11.3 (15L211) | simuladores agregados: iOS 11.2 + tvOS 11.2 + watchOS 4.2 |
| 9.3.1 | 9E501 | 9 de mayo de 2018 | macOS High Sierra 10.13.2 | macOS High Sierra 10.13.4 (17E189) | iOS 11.3 (15E217) | watchOS 4.3 (15T212) | tvOS 11.3 (15L211) | simuladores agregados: iOS 11.2 + tvOS 11.2 + watchOS 4.2 |
| 9.4 | 9F1027a | 29 de mayo de 2018 | macOS High Sierra 10.13.2 | macOS High Sierra 10.13.4 (17E189) | iOS 11.4 (15F79) | watchOS 4.3 (15T212) | tvOS 11.4 (15L576) | simuladores agregados: iOS 11.3 + tvOS 11.3 |
| 9.4.1 | 9F2000 | 13 de junio de 2018 | macOS High Sierra 10.13.2 | macOS High Sierra 10.13.4 (17E189) | iOS 11.4 (15F79) | watchOS 4.3 (15T212) | tvOS 11.4 (15L576) | simuladores agregados: iOS 11.3 + tvOS 11.3 |
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |

### Xcode 10.x

Historial de versiones - Xcode 10 :
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |
| 10.0 | 10A255 | 17 de septiembre de 2018 | macOS High Sierra 10.13.6 | macOS Mojave 10.14 (18A384) | iOS 12.0 (16A366) | watchOS 5.0 (16R363) | tvOS 12.0 (16J364) | simuladores agregados: iOS 11.4 + tvOS 11.4 |
| 10.1 | 10B61 | 30 de octubre de 2018 | macOS High Sierra 10.13.6 | macOS Mojave 10.14.1 (18B71) | iOS 12.1 (16B91) | watchOS 5.1 (16R591) | tvOS 12.1 (16J602) | simuladores agregados: iOS 12.0 + tvOS 12.0 + watchOS 5.0 |
| 10.2 | 10E125 | 25 de marzo de 2019 | macOS Mojave 10.14.3 | macOS Mojave 10.14.4 (18E219) | iOS 12.2 (16E226) | watchOS 5.2 (16T224) | tvOS 12.2 (16L225) | simuladores agregados: iOS 12.1 + tvOS 12.1 + watchOS 5.1 |
| 10.2.1 | 10E1001 | 17 de abril de 2019 | macOS Mojave 10.14.3 | macOS Mojave 10.14.4 (18E219) | iOS 12.2 (16E226) | watchOS 5.2 (16T224) | tvOS 12.2 (16L225) | simuladores agregados: iOS 12.1 + tvOS 12.1 + watchOS 5.1 |
| 10.3 | 10G8 | 22 de julio de 2019 | | macOS Mojave 10.14.6 (18G74) | iOS 12.4 (16G73) | watchOS 5.3 (16U567) | tvOS 12.4 (16M567) | simuladores agregados: iOS 12.2 + tvOS 12.2 + watchOS 5.2 |
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Simuladores disponibles para descarga |

### Xcode 11

Historial de versiones - Xcode 11 :
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Notas |
| 11.0 | 11A420a | 20 de septiembre de 2019 | macOS Mojave 10.14.4 | macOS Catalina 10.15 (19A547) | iOS 13.0 (17A566) | watchOS 6.0 (17R566) | tvOS 13.0 (17J559) | |
| 11.1 | 11A1027 | 7 de octubre de 2019 | macOS Mojave 10.14.4 | macOS Catalina 10.15 (19A547) | iOS 13.1 (17A820) | watchOS 6.0 (17R566) | tvOS 13.0 (17J559) | |
| Versión | Build | Fecha de lanzamiento | Min. macOS necesario | macOS SDK incluido | iOS SDK incluido | watchOS SDK incluido | tvOS SDK incluido | Notas |