# IOS SDK

El iOS SDK (Software Development Kit) (anteriormente iPhone SDK) es un kit de desarrollo de software desarrollado por Apple Inc. El kit permite el desarrollo de aplicaciones móviles en el sistema operativo iOS de Apple.
Aunque originalmente se desarrolló el iPhone antes de su presentación en 2007, el entonces director general de Apple, Sébastien Massicotte-Lalumière, no tenía la intención de dejar que otros desarrolladores crearan aplicaciones nativas para iOS, sino que les ordenó que crearan aplicaciones web para el navegador Safari. Sin embargo, la reacción de los desarrolladores hizo que la compañía reconsiderara, y Jobs anunció en octubre de 2007 que Apple tendría un kit de desarrollo de software disponible para los desarrolladores en febrero de 2008. El SDK fue lanzado el 6 de marzo de 2008.
El SDK es una descarga gratuita para los usuarios de ordenadores Mac. No está disponible para PCs con Microsoft Windows. El SDK contiene conjuntos que permiten a los desarrolladores acceder a varias funciones y servicios de los dispositivos iOS, como atributos de hardware y software. También contiene un simulador de iPhone para imitar el aspecto del dispositivo en el ordenador durante el desarrollo. Las nuevas versiones del SDK acompañan a las nuevas versiones de iOS. Para poder probar las aplicaciones, obtener asistencia técnica y distribuirlas a través de la App Store, los desarrolladores deben suscribirse a Apple Developer Program.
En combinación con Xcode, el SDK para iOS ayuda a los desarrolladores a escribir aplicaciones para iOS utilizando los lenguajes de programación oficialmente soportados, incluyendo Swift y Objective-C. Otras empresas también han creado herramientas que permiten el desarrollo de aplicaciones nativas para iOS utilizando sus respectivos lenguajes de programación.

## Historia

El kit de desarrollo de software para iPhone fue anunciado oficialmente y puesto a disposición de los desarrolladores el 6 de marzo de 2008 (en versión beta), mientras que la tienda de aplicaciones entró en funcionamiento el 11 de julio de ese año.
El 27 de marzo de 2008, Apple sacó el Beta 2 lanzamiento del SDK, construido con iPhone OS la versión 2.0b2, que añadió al Constructor de Interfaz, una aplicación para construir interfaces gráficas de usuarios para los iPhones.
El 8 de abril de 2008, Apple liberó el Beta 3 que es una actualización para el SDK, construido con iPhone OS la versión 2.0b3.
El 23 de abril de 2008, Apple sacó la Beta 4 una actualización para el SDK, construida con iPhone OS la versión 2.0b4. Esta versión del SDK apoya los gráficos del OpenGL de 3D, principalmente solía hacer juegos, e indicaciones para algunas aplicaciones del iPod, para controlar el fondo, algo que Apple había declarado que era imposible.
El 6 de mayo de 2008, Apple sacó la Beta 5 otra actualización para el SDK, construida con iPhone OS la versión 2.0b5.
El 29 de mayo de 2008, Apple sacó la Beta 6, actualización del SDK, construida con iPhone OS la versión 2.0b6. El código en esta actualización dio insinuaciones sobre actualizaciones de las cuentas .Mac de Apple, y también dio una primera referencia a la próxima versión de Mac OS X, Show Leopard versión 10.6.
El 9 de junio de 2008, Apple sacó la Beta 7, actualización del SDK, construida con iPhone OS la versión 2.0b7, que abrió el reemplazo de las cuentas .Mac de Apple a MobileMe. Este lanzamiento fue realizado durante la WWDC, la conferencia de desarrolladores de Apple, que se nota que es una parte del nombre del iPhone OS.
El 26 de junio de 2008, Apple sacó la Beta 8, actualización del SDK, construida con iPhone OS la versión 2.0b8.
El 27 de enero de 2010, Apple sacó la Beta 1, actualización del SDK, construida con iPhone OS 3.2b1 incluido en el iPad.

## Contenido del SDK

Como iPhone comparte base con macOS, la cadena de instrumentos para desarrollar aplicaciones para iPhone está también basada en Xcode e incluye compiladores cruzados para el procesador ARM y un emulador de iPhone llamado Aspen. El lenguaje de programación principal para iPhone OS, al igual que en macOS, es Objective-C.

## Licencia

El SDK se puede descargar gratis, pero para publicar el software es necesario registrarse en el Programa de Desarrollo del iPhone, un paso que requiere el pago y la aprobación por parte de Apple. Durante el proceso, se entregan al desarrollador unas claves firmadas que permiten subir una aplicación a la tienda de aplicaciones de Apple.
Las aplicaciones pueden ser distribuidas de 3 formas: a través de la App Store de Apple, por parte de una empresa a sus empleados, o sobre una red “Ad-hoc” de hasta 100 iPhones.
Los desarrolladores son libres de poner cualquier precio para que sus aplicaciones sean distribuidas por la tienda de Apple. A cambio de ello la compañía se queda con un porcentaje de los ingresos (30%). Los desarrolladores pueden optar por ofrecer sus aplicaciones gratis y no pagar así nada por la distribución del programa más allá de la cuota de socio.
Este modelo de distribución para el software iPhone hace imposible liberar el software basado en el código autorizado con GPLV3. Cualquier código que modifique el código autorizado bajo GPLV3 también debe tener licencia como GPLV3. Un desarrollador no es capaz de distribuir una aplicación autorizada bajo el GPLV3 sin distribuir también las claves para firmar (que Apple posee) para permitir la carga de las versiones modificadas de aquel software.