Introducción a iOS 8

Con iOS 8, Apple ha proporcionado una gran cantidad de marcos y API nuevos para excitar y complacer a los desarrolladores. En esta guía, presentaremos estas nuevas API y veremos cómo iOS 8 puede beneficiar a los desarrolladores y usuarios.

iOS 7 cambió visualmente toda la interfaz de usuario de iOS de lo que los usuarios y desarrolladores esperaban, justo desde el primer sistema operativo iPhone. 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 aptitud física se pueden analizar con HealthKit, los códigos de acceso son obsolescentes con autenticación biométrica mediante LocalAuthentication, Extensiones de aplicaciones abre un canal de comunicación entre aplicaciones de terceros y HomeKit permite convertir su casa en un Hogar del Futuro.

Si iOS 7 trataba de complacer a los usuarios, iOS 8 se centra en complacer a los desarrolladores con una amplia gama de estas nuevas interesantes 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

Lo siguiente se requiere para crear aplicaciones de iOS 8 en Visual Studio para Mac:

  • Xcode 7 e iOS 8 o posterior: las API de 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 de usuario.
  • Dispositivo o simulador de iOS 8: un dispositivo iOS que ejecuta la versión más reciente de iOS 8 para realizar pruebas.

Hogar y ocio

iOS 8 ha ayudado a implantar firmemente Apple, y el dispositivo iOS directamente en el corazón de su hogar a través del uso de HomeKit y HealthKit. En esta sección, veremos cómo funcionan estos nuevos marcos y cómo se pueden integrar en la aplicación de Xamarin.iOS.

HomeKit

Controlar sus dispositivos desde su iPhone no es una nueva aplicación de tecnología; muchos productos conectados al hogar se pueden controlar a través de una aplicación de iOS. Sin embargo, HomeKit ahora lleva un paso más allá al promover un protocolo común para dispositivos de automatización doméstica, y haciendo que una API pública esté disponible para determinados fabricantes, como iHome, Philips y Honeywell. 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 para ellos saber que están usando una bombilla Philips Hue o una alarma Nest. Los usuarios también pueden encadenar numerosos procesos domésticos inteligentes juntos en "Escenas".

Con HomeKit, las aplicaciones de terceros y Siri pueden descubrir accesorios y agregarlos a su base de datos de configuración personal del hogar, editar y actuar sobre estos datos, y comunicarse con 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 HomeKit:

This diagram shows the basic hierarchy of the configuration of HomeKit accessories

Para empezar a trabajar con HomeKit, los desarrolladores deberán asegurarse de que su perfil de aprovisionamiento tenga seleccionado el servicio HomeKit. Apple también ha proporcionado a los desarrolladores un complemento de simulador HomeKit para Xcode. Esto se puede encontrar en el Centro para desarrolladores de Apple, en Hardware IO Tools for Xcode.

Para obtener 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 obtener información relacionada con la salud. El sistema operativo garantiza la privacidad y seguridad de la información de salud y, con la aplicación Health, un panel para el usuario. Con el permiso del usuario, las aplicaciones pueden leer y escribir una amplia variedad de información de salud.

Para obtener más información sobre el uso de esto en la aplicación de Xamarin.iOS, consulte la guía de Introducción a HealthKit.

Extensión de la funcionalidad de iPhone

Con iOS8, los desarrolladores reciben 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 Extensiones de aplicación y Selector de documentos abren un mundo de posibilidades para cómo se pueden usar las aplicaciones en el ecosistema de Apple.

Extensiones de aplicación

Las extensiones de aplicación, para simplificar, 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 de espacio aislado, esta comunicación no se produce directamente entre las aplicaciones. En su lugar, se lleva a cabo mediante una Extensión en el medio.

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éguela a una aplicación existente agregando un nuevo proyecto a la solución.

En el cuadro de diálogo Nuevo proyecto, vaya a C#>iOS>API unificada>Extensiones, como se muestra en la captura de pantalla siguiente:

Creating a new extension

El cuadro de diálogo Nuevo proyecto proporciona siete nuevas plantillas de proyecto para crear extensiones de aplicación y se describen a continuación. Observe que muchas de las extensiones se relacionan con otras nuevas API en iOS, como Selector de documentos:

  • Acción: esto permite a los desarrolladores crear botones de acción personalizados únicos que permiten a los usuarios realizar determinadas tareas
  • Teclado personalizado: esto permite a los desarrolladores agregar al rango de teclados de Apple integrados agregando su propio personalizado. El teclado popular, Swype usa esto para llevar su teclado a iOS.
  • Selector de documentos: contiene un controlador de vista selector de documentos que permite a los usuarios acceder a archivos fuera del espacio aislado de la aplicación.
  • Proveedor de archivos del selector de documentos: proporciona almacenamiento seguro para los archivos mediante el selector de documentos.
  • Edición de fotos: esto expande los filtros y herramientas de edición ya proporcionados por Apple en la aplicación Fotos para dar a los usuarios más control y más opciones al editar sus fotos.
  • Hoy: proporciona 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 medio para autenticar al usuario, similar a un código de acceso. Sin embargo, se limitaba a desbloquear el dispositivo, usar app Store, usar iTunes y autenticar la cadena de claves de iCloud solo

Ahora hay dos maneras de usar Touch ID como mecanismo de autenticación en aplicaciones de 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 a través del uso de nuevas listas de control de acceso de llaves (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 CanEvaluatePolicy para determinar si el dispositivo es capaz de aceptar Touch ID y, a continuación EvaluatePolicy, para 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 las guías Touch ID y Face ID de Xamarin.iOS.

Selector de documentos

Selector de documentos funciona con una unidad iCloud de usuarios para permitir al usuario abrir archivos creados en otra aplicación, importarlos y manipularlos y exportarlos de nuevo. Esto crea un flujo de trabajo intuitivo y, por tanto, una experiencia mucho mejor para los usuarios. La sincronización de iCloud lleva este 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 información sobre el Selector de documentos con más detalle y aprender a integrarlo en una aplicación de 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 tomar llamadas de iPhone, SMS en el iPad y Mac, y mejoras en el tethering desde su iPhone.

Handoff funciona con iOS 8 y Yosemite y requiere que una cuenta de iCloud inicie sesión en todos los diferentes dispositivos que quiera usar. Debe 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 de 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 diferentes tamaños de pantalla de hardware, se pueden crear vistas rápidas y dinámicas en un verdadero estilo de "diseña una vez, úsalo mucho".

Antes de iOS8, los desarrolladores usaban UIInterfaceOrientation para distinguir entre los modos vertical y horizontal y UIInterfaceIdiom para distinguir entre dispositivos iOS. En iOS 8 ya no es necesario crear guiones gráficos independientes para dispositivos iPhone y iPad: 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 horizontal, y hay dos tipos de clases de tamaño en iOS 8:

  • Normal: esto es para un tamaño de pantalla grande (como un iPad) o un gadget que da la impresión de un tamaño grande (como UIScrollView)
  • Compacto: esto es 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 diferentes tamaños posibles que se pueden usar en ambas orientaciones diferentes, como se muestra en el siguiente diagrama:

A diagram representing the 2 x 2 grid that defines the different possible sizes that can be used in both the differing orientations

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 obtener 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. Basándose en conceptos comunes de grafos de escena, Scene Kit abstrae las complejidades de OpenGL y OpenGL ES, lo que facilita la adición de contenido 3D a una aplicación. Sin embargo, si es un experto en OpenGL, Scene Kit también tiene un gran soporte para asociarse directamente con OpenGL. También incluye numerosas características que complementan gráficos 3D, como las físicas, y se integra muy bien con otros marcos de Apple, como Core Animation, Core Image y Sprite Kit.

Para obtener más información, consulte nuestra documentación de SceneKit.

Sprite Kit

Sprite Kit, el marco de juego 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 sombreador, 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 facilitan la adición de efectos realistas a un juego.

Para obtener más información, consulte nuestra documentación de SpriteKit.

Otros cambios

Además de los principales cambios en iOS 8 que se describen anteriormente, Apple ha actualizado además muchos marcos existentes. Estos se detallan a continuación:

  • Core Image: Apple ha ampliado su marco de procesamiento de imágenes agregando una mejor compatibilidad con la detección de regiones rectangulares y códigos QR dentro de imágenes. Mike Bluestein explora esto en su entrada de blog titulada 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. A continuación se detallan algunas de ellas.

  • UIApplication: los métodos y propiedades usados para registrar notificaciones remotas han quedado en desuso. Se trata de registerForRemoteNotificationTypes y enabledRemoteNotificationTypes.

  • UIViewController: las clases de rasgos y tamaño han reemplazado los métodos y propiedades usados para describir la orientación de la interfaz. Consulte la Introducción a los guiones gráficos unificados para obtener más información sobre cómo usarlas.

  • 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.