Desarrollo de apps para AppleWatch con Watchkit

23
Watch / WatchKit Erick Camacho @ecamacho NSCoders México dic 2014

Transcript of Desarrollo de apps para AppleWatch con Watchkit

Watch / WatchKit

Erick Camacho @ecamacho

NSCoders México dic 2014

Watch

— 38mm (272 x 340) / 42mm (312 x 390)

— Normal, Sport, Edition

— Touch, Presión Pulso

— Siri, Mapas, iMessage, Fitness

— 2015

WatchKit

— Una extensión que se instala en el iPhone

— Recursos gráficos que se muestran en el Watch

WatchKit

WatchKit

Sí, todo el código se ejecuta en tu teléfono.Se comunica con el Watch vía Bluetooth.El Watch sólo es una interfaz.

¿Qué necesito?

Xcode 6.2 Beta

Xcode Project

Prefijo WatchKit:

WKInterface

Tipos de apps

Notifications

WatchKit las maneja automáticamente:- Puede hacer vibrar el Watch- Si el usuario levanta la muñeca, se mostrará un texto breve sobre la notificación- Si el usuario da un tap en él, se muestra el detalle: Este es el que podemos programar.

Notifications

— Dinámicas: el UI se adapta a la notificación

— Estáticas: el UI se diseña en Xcode y siempre es el mismo

Ejemplo en Xcode

Glances

Vistas rápidas al estado de una aplicación. Presentan información relevante al contexto actual. No todas las aplicaciones necesitan un Glance y el usuario puede elegir cuál mostrar.

Glances

No deben tener controles (botones, switches, mapas, etc). Al darles un tap, se abre la app en el reloj.

Aplicaciones

En el target de la app para el reloj, debe ir el storyboard con los elementos gráficos.

En el target de la extensión, deben ir los controladores con el código de la app.

Navegación

Se soportan dos tipos de navegación:

— Jerárquica. Igual la de un UINavigationController

— Paginada. Se usa swipe para cambiar de pantalla entre un número fijo de pantallas.

Navegación

La navegación se puede configurar desde el Interface Builder

Controles

Tenemos disponibles Labels, botones, sliders, switches, mapas, tablas, menús.

El reloj soporta toques, swipes y "presión".

Controles

Se conectan al controlador mediante Outlets y actions

class DetailInterfaceController: WKInterfaceController {

@IBOutlet weak var detailLabel: WKInterfaceLabel!

@IBAction func doSliderAction(value: Float) { println("value updated \(value)") }

}

Controles

Uno de los controles más interesantes es el Menu, responde a un "long press" y muestra con una animación un menú de hasta 4 botones en pantalla.

Controles

Los mapas muestran solo imágenes del área, no son interactivos. Pueden mostrar pines. El "zoom" se simula cargando imágenes del área donde hiciste zoom

Más info

— Apple WatchKit Developer resourceshttps://developer.apple.com/watchkit/)

— Watchkit Catalog app