Introducción a watchOS 3

En este artículo se presentan todas las API y características nuevas y modificadas disponibles en watchOS 3 para desarrolladores de Xamarin.

En este documento se tratarán los siguientes temas:

Novedades de watchOS 3

Apple ha agregado varias API y servicios nuevos en watchOS 3, junto con numerosas mejoras de las características existentes, entre las que se incluyen:

Mejoras de Apple Pay

En watchOS 3, el marco PassKit se ha ampliado para permitir la compatibilidad con pagos seguros en la aplicación (de bienes físicos y servicios) para las aplicaciones que se ejecutan en Apple Watch.

Use las nuevas clases PKPaymentAuthorizationController y PKPaymentAuthorizationControllerDelegate para presentar y responder a una interfaz en la que el usuario pueda autorizar solicitudes de pago.

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

Tareas en segundo plano

watchOS 3 presenta varias tareas en segundo plano que una aplicación puede usar para actualizar su información asegurándose de que tiene el contenido que necesita el usuario antes de abrirla.

Están disponibles las siguientes nuevas tareas en segundo plano:

  • Actualización de la aplicación en segundo plano: la tarea WKApplicationRefreshBackgroundTask permite a la aplicación actualizar su estado en segundo plano. Normalmente, esto incluirá otra tarea, como descargar contenido nuevo desde Internet mediante NSUrlSession.
  • Actualización de instantáneas en segundo plano: la tarea WKSnapshotRefreshBackgroundTask permite a la aplicación actualizar tanto su contenido como su interfaz de usuario antes de que el sistema tome una instantánea que se usará para rellenar dock.
  • Conectividad de inspección en segundo plano: la tarea WKWatchConnectivityRefreshBackgroundTask se inicia para la aplicación cuando recibe datos en segundo plano del iPhone emparejado.
  • Sesión de dirección URL en segundo plano: la tarea WKURLSessionRefreshBackgroundTask se inicia para la aplicación cuando una transferencia en segundo plano requiere autorización o se completa (correctamente o en error).

Para más información, consulte nuestra guía de Tareas en segundo plano.

Mejoras en las Complicaciones

Las complicaciones son pequeños elementos visuales que proporcionan información útil de un vistazo. Dependiendo de la cara de reloj seleccionada, el usuario tiene la capacidad de personalizar una cara de reloj con una o varias Complicaciones.

watchOS 3 ofrece la posibilidad de crear una o varias Complicaciones para la aplicación del reloj, de modo que el usuario pueda acceder a su información de un vistazo desde la cara de un reloj.

Además, las Complicaciones proporcionan las siguientes ventajas:

  • El usuario puede iniciar rápidamente la aplicación pulsando la Complicación directamente desde una cara de reloj.
  • Tener una de las Complicaciones de la aplicación en la cara del reloj hace que el sistema mantenga la aplicación en un estado listo para el inicio en el que intenta iniciar la aplicación en segundo plano, la mantiene en memoria y le da tiempo extra para actualizarse.
  • Se garantizan al menos 50 actualizaciones de inserción al día.
  • Cuando la aplicación incluya Complicaciones, aparecerá en la galería de caras del Apple Watch.

En watchOS 3, el marco de ClockKit incluye ahora varias plantillas nuevas para complicaciones extragrandes, como CLKComplicationTemplateExtraLargeColumnsText y CLKComplicationTemplateExtraLargeRingImage. Además, para crear texto localizable, use los nuevos métodos de la clase CLKTextProvider.

Para más información, consulte nuestra guía Técnicas de interacción rápida para watchOS 3.

Nuevos marcos disponibles

watchOS 3 incluye varios marcos de Apple existentes que anteriormente no estaban disponibles, como:

  • SceneKit: use SceneKit para incluir modelos 3D en la interfaz de usuario de la aplicación del reloj, incluyendo la mayoría de las funciones disponibles en otras plataformas como la iluminación, el sombreado, la animación, la física y los sistemas de partículas. El audio espacial 3D, los sombreadores Metal u OpenGL personalizados, los filtros de imagen Core y los materiales basados en la física no son compatibles.
  • SpriteKit: use SpriteKit para renderizar y animar sprites en la interfaz de usuario de la aplicación del reloj, incluyendo la mayoría de las funciones disponibles en otras plataformas como acciones, física, iluminación y sistemas de partículas. No se admiten audio espacial 3D, reproducción de vídeo y filtros de imagen Core.
  • AVFoundation: para administrar y reproducir audio.
  • CloudKit: para mover datos entre la aplicación de reloj y los contenedores de iCloud.
  • Core Audio: para administrar tipos de datos para representar secuencias de audio, búferes complejos y valores de hora.
  • GameKit: para crear juegos sociales.

Sugerencias proactivas

watchOS 3 permite que la aplicación presente de forma proactiva información al usuario en contextos concretos. Para admitir esta característica, el NSUserActivity ahora incluye la propiedad MapItem que permite a la aplicación proporcionar información de ubicación para su uso posterior por otras aplicaciones.

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

Mejoras de seguridad y privacidad

Apple ha introducido varias mejoras tanto en la seguridad como en la privacidad en watchOS 3 que ayudarán al desarrollador a mejorar la seguridad de sus aplicaciones y garantizar la privacidad del usuario final.

Como resultado, las aplicaciones que se ejecutan en watchOS 3 (o versiones posteriores) deben declarar estáticamente su intención de acceder a características específicas o información del usuario; para ello, deben escribirse una o varias claves específicas de privacidad en sus archivos de Info.plist que explican al usuario por qué la aplicación quiere obtener acceso.

Dado que watchOS 3 comparte estos cambios con iOS 10, consulte nuestra guía de Mejoras de seguridad y privacidad de iOS 10 para más información.

Instantáneas y dock

En watchOS 3, Apple ha agregado el Dock, donde los usuarios pueden anclar sus aplicaciones favoritas y acceder rápidamente a ellas. Cuando el usuario presiona el botón lateral en Apple Watch, se mostrará una galería de instantáneas de aplicaciones ancladas. El usuario puede deslizar el dedo hacia la izquierda o hacia la derecha para encontrar la aplicación deseada y, a continuación, pulsar la aplicación para iniciarla para reemplazar la instantánea por la interfaz de la aplicación en ejecución.

El sistema toma periódicamente instantáneas de la interfaz de usuario de la aplicación y las usa para rellenar la documentación. WatchOS ofrece a la aplicación la oportunidad de actualizar su contenido y su interfaz de usuario antes de tomar esta instantánea.

Para más información, consulte nuestra guía de Tareas en segundo plano y la referencia WKSnapshotRefreshBackgroundTask de Apple.

Notificaciones de usuario

El marco de notificaciones de usuario introducido en watchOS 3 admite la entrega de notificaciones locales y remotas a Apple Watch. Use este marco para programar notificaciones basadas en condiciones específicas, como la hora del día o la ubicación, y para recibir y controlar las notificaciones.

Para más información, consulte nuestra guía Técnicas de interacción rápida para watchOS 3.

Mejoras en el marco de conectividad del reloj

La nueva propiedad HasContentPending de la clase WCSession indica que la sesión ha recibido datos en segundo plano que deben ser procesados. Y la propiedad RemainingComplicationUserInfoTransfers devuelve las veces restantes que la aplicación iOS puede actualizar su Complicación de watchOS.

Para más información, consulte nuestra guía de Tareas en segundo plano.

Mejoras en el marco de WatchKit

watchOS 3 incluye varias mejoras en el marco de WatchKit, entre ellas las siguientes:

  • La aplicación puede obtener el estado de Digital Crown mediante la nueva clase WKCrownSequencer y recibir actualizaciones cuando el usuario gire la corona mediante la clase WKCrownDelegate.
  • La clase WKExtension incluye ahora el método ApplicationState y la constante WKApplicationState que la aplicación puede utilizar para realizar un seguimiento del estado de ejecución de la aplicación. WKExtension también proporciona dos nuevos métodos que pueden utilizarse para programar tareas en segundo plano.
  • WKExtensionDelegate incluye ahora los nuevos métodos ApplicationWillEnterForeground, ApplicationDidEnterBackground y HandleBackgroundTasks para supervisar los cambios en el estado de la aplicación y administrar las actualizaciones de las tareas en segundo plano.
  • Se ha añadido una nueva clase WKGestureRecognizer para proporcionar los siguientes tipos de reconocimiento de gestos a las aplicaciones de reloj: WKLongPressGestureRecognizer, WKPanGestureRecognizer, WKSwipeGestureRecognizer y WKTapGestureRecognizer.
  • La nueva clase WKinterfaceHMCamera proporciona una interfaz para cualquier cámara IP conectada a HomeKit.
  • La nueva clase WKInterfaceInlineMovie permite que la aplicación muestre un "póster" de la película que se sustituye por la película en curso cuando el usuario pulsa sobre él.
  • La nueva clase WKInterfacePaymentButton permite a la aplicación presentar un botón de Apple Pay en su interfaz de usuario que iniciará una solicitud de pago cuando se pulse.
  • La nueva clase WKInterfaceSCNScene presenta una interfaz para mostrar una escena de SceneKit en el Apple Watch.
  • La nueva clase WKInterfaceSKScene presenta una interfaz para mostrar una escena de SpriteKit en Apple Watch.

Para más información, consulte nuestra guía Técnicas de interacción rápida para watchOS 3.

Mejoras de la aplicación Workout

Como novedad de watchOS 3, las aplicaciones relacionadas con la experiencia tienen la capacidad de ejecutarse en segundo plano en Apple Watch. Para habilitar esta característica (y obtener acceso a los datos de HealthKit), la aplicación debe incluir la clave WKBackgroundModes en el archivo Info.plist con el valor workout-processing.

Además, el desarrollador tiene ahora la posibilidad de iniciar la aplicación de entrenamiento de watchOS desde la versión de la aplicación de iOS en el iPhone emparejado.

Para más información, consulte nuestra guía Mejoras de la aplicación de entrenamiento.

Cambios de marco adicionales

Además de los principales cambios y adiciones de marco enumerados anteriormente, Apple ha realizado muchos cambios de marco menores adicionales en watchOS 3.

Para obtener más información, consulte nuestra guía de cambios adicionales del marco.

Interfaces API desusadas

Las siguientes API han quedado en desuso en watchOS 3:

  • La clase UILocalNotification de UIKit está en desuso y debe reemplazarse por el marco de notificaciones de usuario.

Consulte la documentación de Apple de Diferencias entre las API de watchOS 2.2 y watchOS 3.0 para obtener una lista completa de los elementos obsoletos y los cambios.