Introducción a iOS 8
Con iOS 8, Apple ha proporcionado una gran cantidad de nuevos marcos y API para complacer a los desarrolladores. En esta guía presentaremos estas nuevas API y veremos cómo iOS 8 puede beneficiar tanto a los desarrolladores como a los usuarios.
iOS 7 cambió visualmente toda la interfaz de usuario de iOS de lo que los usuarios y desarrolladores esperaban, desde el primer iPhone operativo. IOS 8 continúa con esto proporcionando muchos marcos para desarrolladores, lo que permite a los usuarios controlar casi todos los aspectos de su vida directamente desde su iPhone. Por ejemplo, el estado y la adecuación se pueden analizar con HealthKit,los códigos de acceso son obsolescentes con la autenticación biométrica mediante LocalAuthentication,las extensiones de aplicación abren un canal de comunicación entre aplicaciones de terceros y HomeKit permite convertir su casa en un hogar del futuro.
Si iOS 7 trata de complacer a los usuarios, iOS 8 se centra en complacer a los desarrolladores con una amplia gama de estas nuevas herramientas.
En esta guía se presentan las nuevas API para desarrolladores de Xamarin.iOS.
También hay algunas API que han quedado en desuso en iOS 8, que se detallan al final de este documento.
Requisitos
Para crear aplicaciones de iOS 8 en Visual Studio para Mac:
- Xcode 7 e iOS 8 o posterior: las API Xcode e iOS más recientes de Apple deben instalarse y configurarse en el equipo del desarrollador.
- Visual Studio para Mac: la versión más reciente de Visual Studio para Mac debe instalarse y configurarse en el dispositivo del usuario.
- Dispositivo o simulador de iOS 8: un dispositivo iOS que ejecuta la versión más reciente de iOS 8 para pruebas.
Hogar y ándes
iOS 8 ha ayudado a plantar con firmeza Apple y el dispositivo iOS directamente en el centro de su hogar mediante el uso de HomeKit y HealthKit. En esta sección, se verá cómo funcionan estos dos nuevos marcos y cómo se pueden integrar en la aplicación Xamarin.iOS.
HomeKit
Controlar los dispositivos desde el iPhone no es una nueva aplicación de tecnología; muchos productos domésticos conectados se pueden controlar a través de una aplicación de iOS. Sin embargo, HomeKit ahora da un paso más al promover un protocolo común para dispositivos de automatización del hogar y hacer que una API pública esté disponible para determinados fabricantes, como iHome, Kerberos y Kerberos. Para el usuario, esto significa que puede controlar casi todos los aspectos de su hogar sin problemas desde dentro de una aplicación. Es irrelevante que sepan que están usando una bombilla de Hue de Hue o una alarma Nest. Los usuarios también pueden encadenar numerosos procesos de inicio inteligente en "Escenas".
Con HomeKit, las aplicaciones de terceros y Siri pueden detectar accesorios y agregarlos a su base de datos de configuración personal del hogar, editar y actuar sobre estos datos, y comunicarse con los accesorios y sus servicios para realizar una acción.
Configuración
En el diagrama siguiente se muestra la jerarquía básica de la configuración de los accesorios de HomeKit:

Para empezar a trabajar con HomeKit, los desarrolladores tendrán que asegurarse de que su perfil de aprovisionamiento tenga seleccionado el servicio HomeKit. Apple también ha proporcionado a los desarrolladores un complemento de simulador de HomeKit para Xcode. Se puede encontrar en el Centro para desarrolladores de Apple,en .
Para más información, consulte nuestra guía de HomeKit.
HealthKit
HealthKit es un marco introducido en iOS 8 que proporciona un almacén de datos centralizado, coordinado y seguro para la información relacionada con el estado. El sistema operativo garantiza la privacidad y la seguridad de la información de mantenimiento y, con la aplicación De mantenimiento, un panel para el usuario. Con el permiso del usuario, las aplicaciones pueden leer y escribir una amplia variedad de información de estado.
Para obtener más información sobre el uso de esto en la aplicación Xamarin.iOS, consulte la guía Introduction to HealthKit (Introducción a HealthKit).
Extensión de iPhone funcionalidad
Con iOS8, a los desarrolladores se les da mucho más control sobre quién puede usar su aplicación y una mayor capacidad para una comunicación más abierta entre aplicaciones de terceros. Características como App Extensions y Document Picker abren un mundo de posibilidades sobre cómo se pueden usar las aplicaciones en el ecosistema de Apple.
Extensiones de aplicación
Las extensiones de aplicación, para simplificar en exceso, son una manera de que las aplicaciones de terceros se comuniquen entre sí. Para mantener altos estándares de seguridad y mantener la integridad de las aplicaciones en espacio aislado, esta comunicación no se da directamente entre las aplicaciones. En su lugar, se lleva a cabo mediante una extensión en el centro.
El primer paso para crear una extensión de aplicación es definir el punto de extensión correcto, lo que es importante para garantizar el comportamiento y la disponibilidad de las API correctas. Para crear una extensión de aplicación en Visual Studio para Mac, agrégrela a una aplicación existente agregando un nuevo proyecto a la solución.
En el cuadro de diálogo Nuevo Project, vaya a C# iOS Unified API Extensions (Extensiones de Unified API C#),como se muestra en la captura de pantalla siguiente:

El cuadro de diálogo Project nuevo proporciona siete nuevas plantillas de proyecto para crear extensiones de aplicación y se debate a continuación. Tenga en cuenta que muchas de las extensiones se relacionan con otras NUEVAS API en iOS, como El selector de documentos:
- Acción: esto permite a los desarrolladores crear botones de acción personalizados únicos que permiten a los usuarios realizar ciertas tareas.
- Teclado personalizado: esto permite a los desarrolladores agregar a la gama de teclados integrados de Apple mediante la adición de su propio teclado personalizado. El teclado popular, Swype lo usa para llevar su teclado a iOS.
- Selector de documentos: contiene un controlador de vista del selector de documentos que permite a los usuarios acceder a los archivos fuera del espacio aislado de la aplicación.
- Proveedor de archivos del selector de documentos: proporciona almacenamiento seguro para los archivos que usan el Selector de documentos.
- Edición de fotos: se amplían los filtros y las herramientas de edición ya proporcionados por Apple en la aplicación Fotos para proporcionar a los usuarios más control y más opciones al editar sus fotos.
- Hoy en día: esto ofrece a las aplicaciones la capacidad de mostrar widgets en la sección Hoy del Centro de notificaciones.
Para obtener más información sobre el uso de extensiones de aplicación en Xamarin, consulte la guía Introducción a las extensiones de aplicación.
Touch ID
Touch ID se introdujo en iOS 7 como un medio para autenticar al usuario, similar a un código de acceso. Sin embargo, se limitaba a desbloquear el dispositivo, usar el App Store, usar iTunes y autenticar solo la cadena de claves de iCloud.
Ahora hay dos maneras de usar Touch ID como mecanismo de autenticación en aplicaciones iOS 8 mediante la API de autenticación local. Actualmente no es posible usar la autenticación local para autenticarse de forma remota.
En primer lugar, ayuda a los servicios de cadena de claves existentes mediante el uso de nuevas listas de Access Control claves (ACL). Los datos de cadena de claves se pueden desbloquear con la autenticación correcta de una huella digital de los usuarios.
En segundo lugar, LocalAuthentication proporciona dos métodos para autenticar la aplicación localmente. Los desarrolladores deben usar para determinar si el dispositivo es capaz de aceptar Touch ID y, a CanEvaluatePolicy continuación, EvaluatePolicy iniciar la operación de autenticación.
Para obtener más información sobre Touch ID y aprender a integrarlo en una aplicación de Xamarin.iOS, consulte Touch ID y Face ID en las guías de Xamarin.iOS.
Selector de documentos
Document Picker funciona con una unidad iCloud de usuarios para permitir al usuario abrir los archivos creados en otra aplicación, importarlos y manipularlos y volver a exportarlos. Esto crea un flujo de trabajo intuitivo y, por tanto, una experiencia mucho mejor para los usuarios. La sincronización de iCloud va un paso más allá: los cambios realizados en una aplicación también se reflejarán de forma coherente en todos los dispositivos.
Para obtener más información sobre el selector de documentos y cómo integrarlo en una aplicación xamarin.iOS, consulte la guía Introducción al selector de documentos.
Handoff
Handoff, que forma parte de la característica de continuidad más grande, da un paso más hacia la integración de OS X e iOS. Esto incluye AirDrop multiplataforma, la capacidad de realizar llamadas iPhone, SMS en iPad y Mac, y mejoras en el tethering desde la iPhone.
Handoff funciona con iOS 8 y Yosemite y requiere que una cuenta de iCloud inicie sesión en todos los distintos dispositivos que quiera usar. Debería funcionar con la mayoría de las aplicaciones de Apple preinstaladas, como Safari, iWork, Mapas, Calendarios y Contactos.
Para obtener más información, consulte nuestra guía handoff.
Guiones gráficos unificados
iOS 8 incluye un nuevo mecanismo más sencillo de usar para crear la interfaz de usuario: el guión gráfico unificado. Con un único guión gráfico para cubrir todos los distintos tamaños de pantalla de hardware, las vistas rápidas y con capacidad de respuesta se pueden crear en un verdadero estilo "diseñar una vez, usar muchos".
Antes de iOS8, los desarrolladores solían distinguir entre los modos vertical y horizontal, y para UIInterfaceOrientationUIInterfaceIdiom distinguir entre dispositivos iOS. En iOS8 ya no es necesario crear guiones gráficos independientes para iPhone y iPad dispositivos: la orientación y el dispositivo se determinan mediante clases de tamaño.
Cada dispositivo se define mediante una clase size, tanto en el eje vertical como en el horizontal, y hay dos tipos de clases de tamaño en iOS 8:
- Normal: se trata de un tamaño de pantalla grande (por ejemplo, un iPad) o un objeto que da la impresión de un tamaño grande (por ejemplo, UIScrollView).
- Compacto: se trata de para dispositivos más pequeños (como el iPhone). Este tamaño tiene en cuenta la orientación del dispositivo.
Si los dos conceptos se usan juntos, el resultado es una cuadrícula de 2 x 2 que define los distintos tamaños posibles que se pueden usar en ambas orientaciones diferentes, como se muestra en el diagrama siguiente:

Para obtener más información sobre las clases de tamaño, consulte Introducción a los guiones gráficos unificados.
Photo Kit
Photo Kit es un nuevo marco que permite a las aplicaciones consultar la biblioteca de imágenes del sistema y crear interfaces de usuario personalizadas para ver y modificar su contenido. Incluye una serie de clases que representan recursos de imagen y vídeo, así como colecciones de recursos como álbumes y carpetas.
Para más información, consulte nuestra guía de PhotoKit.
Juegos
Scene Kit
Scene Kit es una API de grafos de escena 3D que simplifica el trabajo con gráficos 3D. Se introdujo por primera vez en OS X 10.8 y ahora ha llegado a iOS 8. Con Scene Kit, crear visualizaciones 3D envolventes y juegos 3D ocasionales no requiere experiencia en OpenGL. A partir de los conceptos comunes del grafo de escena, Scene Kit abstrae las complejidades de OpenGL y OpenGL ES, lo que facilita mucho la adición de contenido 3D a una aplicación. Sin embargo, si es un experto en OpenGL, Scene Kit también tiene una gran compatibilidad para conectarse directamente con OpenGL. También incluye numerosas características que complementan gráficos 3D, como la física, y se integra muy bien con otros marcos de Apple, como Core Animation, Core Image y Sprite Kit.
Para más información, consulte nuestra documentación de SceneKit.
Sprite Kit
Sprite Kit, el marco de juego en 2D de Apple, tiene algunas características nuevas interesantes en iOS 8 y OS X Yosemite. Entre ellas se incluyen la integración con Scene Kit, la compatibilidad con sombreadores, la iluminación, las sombras, las restricciones, la generación normal de mapas y las mejoras físicas. En concreto, las nuevas características físicas hacen que sea muy fácil agregar efectos realistas a un juego.
Para más información, consulte nuestra documentación de SpriteKit.
Otros cambios
Además de los cambios importantes en iOS 8 descritos anteriormente, Apple ha actualizado además muchos marcos existentes. Estos se detallan a continuación:
- Imagen principal: Apple ha ampliado su marco de procesamiento de imágenes al agregar una mejor compatibilidad para la detección de regiones rectangulares y códigos QR dentro de las imágenes. Mike Bluestein lo explora en su entrada de blog titulada Image Detection in iOS 8 (Detección de imágenes en iOS 8).
Interfaces API desusadas
Con todas las mejoras realizadas en iOS 8, varias API han quedado en desuso. Algunos de ellos se detallan a continuación.
UIApplication: los métodos y propiedades usados para registrar notificaciones remotas han quedado en desuso. Estos son registerForRemoteNotificationTypes y enabledRemoteNotificationTypes.
UIViewController: las clases traits y size han reemplazado los métodos y propiedades usados para describir la orientación de la interfaz. Consulte introducción a los guiones gráficos unificados para obtener más información sobre cómo usarlos.
UISearchDisplayController: se ha reemplazado por UISearchController en iOS8.
Resumen
En este artículo hemos visto algunas de las nuevas características introducidas por Apple en iOS 8.
Vínculos relacionados
- UIKitEnhancements (ejemplo)
- Introducción a las extensiones de aplicación
- Introduction to CloudKit (Introducción a CloudKit)
- Introducción al selector de documentos
- Introducción a HealthKit
- Introducción a los controles manuales de la cámara
- Touch ID y Face ID con Xamarin.iOS
- Introducción a los guiones gráficos unificados