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 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, 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 se pueden analizar con HealthKit, los códigos de acceso son obsolescentes con autenticación biométrica mediante LocalAuthentication, las extensiones de la 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 se centraba en complacer a los usuarios, iOS 8 se centra en complacer a los desarrolladores con una amplia gama de estas nuevas herramientas sabrosas.

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

Los siguientes son necesarios para crear aplicaciones de iOS 8 en Visual Studio para Mac:

  • Xcode 7 e iOS 8 o versiones posteriores : 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 plantar 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 tus electrodomésticos desde tu iPhone no es una nueva aplicación de tecnología; muchos productos de inicio conectados se pueden controlar a través de una aplicación de iOS. Sin embargo, HomeKit ahora lleva este paso más allá mediante la promoción de un protocolo común para dispositivos de automatización doméstica, y al hacer 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 accesorios HomeKit:

En este diagrama se muestra la jerarquía básica de la configuración de accesorios HomeKit

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 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 Health, 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 cómo usar esto en la aplicación de Xamarin.iOS, consulte la guía Introducción a HealthKit .

Extensión de la funcionalidad de iPhone

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 Extensiones de aplicación y Selector de documentos abren un mundo de posibilidades para el uso de aplicaciones en el ecosistema de Apple.

Extensiones de aplicación

Las extensiones de aplicación, para sobresmplificar, 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: esto 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 aExtensionesde API> unificadas de C#>iOS>, como se muestra en la captura de pantalla siguiente:

Creación de una nueva extensión

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. Tenga en cuenta 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 integrados de Apple agregando su propio personalizado. El popular teclado, Swype lo usa 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 se expande en los filtros y herramientas de edición ya proporcionadas 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 : 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 medio para autenticar al usuario, similar a un código de acceso. Sin embargo, se limitaba a desbloquear el dispositivo, usando el App Store, usando iTunes y autenticando 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 llaves Access Control listas (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 Touch ID y Face ID en las guías de Xamarin.iOS .

Selector de documentos

El selector de documentos funciona con una unidad de iCloud 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 lo 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

Entrega, 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 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 se inicie sesión en todos los distintos dispositivos que quiera usar. Debe funcionar con la mayoría de las aplicaciones de Apple preinstaladas, como Safari, iWork, Maps, Calendarios y Contactos.

Para obtener más información, consulte nuestra guía de entrega .

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 con capacidad de respuesta en un verdadero estilo de "diseño una vez, usar muchos".

Antes de iOS8, los desarrolladores solían UIInterfaceOrientation distinguir entre los modos vertical y horizontal, y UIInterfaceIdiom para distinguir entre dispositivos iOS. En iOS8 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 (por ejemplo, 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 diagrama siguiente:

Diagrama que representa la cuadrícula de 2 x 2 que define los diferentes tamaños posibles que se pueden usar en ambas orientaciones diferentes.

Para obtener más información sobre las clases de tamaño, consulte introducción a guiones gráficos unificados.

Kit de fotos

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 creando visualizaciones 3D envolventes y juegos 3D casuales no requiere experiencia en OpenGL. Basándose en conceptos comunes de grafos de escenas, 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 la conexión directa 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 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, compatibilidad con sombreador, iluminación, sombras, restricciones, generación normal de mapas y 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 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 agregando mejor compatibilidad con la detección de regiones rectangulares y códigos QR dentro de imágenes. Mike Bluestein lo explora 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 algunos de ellos.

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

  • UIViewController : los rasgos y las clases de tamaño han reemplazado los métodos y las propiedades que se usan para describir la orientación de la interfaz. Consulte introducción a 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 examinado algunas de las nuevas características introducidas por Apple en iOS 8.