domingo, 21 de diciembre de 2014

iOS Tecnologias

WatchKit Extension tiene acceso a las mismas tecnologías que se encuentran en aplicaciones iOs, pero como son extensiones, el uso de algunas tecnologías no se recomiendan o están restringidas.

- No utilizar tecnologías que soliciten permisos del usuario, como Core Location.

- No utilizar ejecución en background. WatchKit Extension sólo se ejecutan mientras que el usuario interactúa con la app WatchKit y por lo tanto se considera ejecución foreground.

- Evite realizar tareas de larga ejecución. WatchKit Extension se suspende poco después de que el usuario deja de interactuar con la app WatchKit. La extensión podría ser suspendida antes de que nos retornase los datos solicitados.

La mejor solución para llevar a cabo cualquier tarea de larga ejecución es dejar que la aplicación iOs realice la tarea. Por ejemplo, en lugar de iniciar los servicios de localización en WatchKit Extension, iniciarlo en la aplicación iOS.

Utilizar el método openParentApplication:reply: para iniciar tareas y recibir una respuesta para comunicar datos entre su aplicación para iOS y WatchKit Extension. 

    miércoles, 17 de diciembre de 2014

    Ciclo de vida de una WatchKit App


    Las interacciones de los usuario sobre Apple Watch lanza la aplicación e inicia el ciclo de vida de la App. Cuando el usuario inicia la App en el Apple Watch, el iPhone del usuario inicia automáticamente su WatchKit Extension. 

    La WatchKit de la app y el WatchKit Extension se conectan para que fluyan los mensajes. Esos mensajes continúan fluyendo hacia atrás y adelante hasta que el usuario deja de interactuar con la aplicación. 

    En ese momento, iOS suspende la ejecución de su extensión.

    Durante la ejecución, WatchKit crea el controlador de interfaz apropiado. Si el usuario lanza el Glance, se crea el interfaz controller asociado con el Glance. 

    Si el usuario lanzó directamente la aplicación, se carga el interfaz controller desde el storyboard. En todos los casos, WatchKit Extension suministra un WKInterfaceController subclase para gestionar la correspondiente interfaz.


    Mientras que el controlador de interfaz muestra la pantalla, las interacciones del usuario son manejadas por sus controladores de interfaz. A medida que el usuario interactúa con tablas, botones, y otros controles, WatchKit ejecuta los métodos para que puedan responder. Utiliza los métodos para actualizar su interfaz o realizar otras tareas. Para realizar tareas en otro momento, utilizar un objeto NSTimer para ejecutar código en el momento que usted designe.

    WatchKit Extension sigue funcionando solo cuando el usuario está interactuando con la aplicación en Apple Watch. 

    Las interacciones en Apple Watch están destinadas a ser breves, por lo que los controladores de interfaz deben ser ligeros y nunca realizar tareas de larga ejecución.

    Cuando el usuario sale de su aplicación de forma explícita o deja de interactuar con el Apple Watch, iOS desactiva el controlador de interfaz actual y suspende se WatchKit Extension.









    jueves, 11 de diciembre de 2014

    Arquitectura WatchKit

    Apps construidas para Apple Watch constan de dos partes:

    Una App WatchKit y una WatchKit Extension. 

    - La App WatchKit reside en Apple Watch del usuario y contiene los archivos storyboard y de recursos, pero sin código. 
    - La WatchKit Extension reside en el iPhone del usuario (dentro de su aplicación iOs que contiene) y contiene los archivos de código y de recursos para la gestión de la interfaz de su aplicación WatchKit.

    La App WatchKit y la WatchKit Extension trabajan en conjunto para implementar la interfaz de la aplicación. 

    Cuando el usuario interactúa con la aplicación Apple Watch, elige una escena apropiada para mostrar desde el storyboard de la App WatchKit.  

    Por ejemplo, si el usuario selecciona el Glance de la app, elige una escena del Glance. Después de elegir la escena, WatchKit comunica al iPhone para lanzar WatchKit Extension y crear los objetos necesarios para gestionar esa escena. 

    Cada escena de la aplicación es manejado por un solo objeto controlador de interface, que es una instancia de la clase WKInterfaceController. 

    Un controlador de interaz en WatchKit juega un papel similar al de un controlador de vista en iOS: presenta y administra el contenido en la pantalla y responde a las interacciones del usuario con ese contenido. 

    A diferencia de un controlador de vista, un controlador de interfaz no gestiona las vistas de su interfaz. Estas vistas se gestionan en las escenas por WatchKit.

    Cuando el usuario inicia una aplicación desde la pantalla de inicio, el sistema carga el inicial interface controller escena desde el storyboard, mientras que la extensión WatchKit Extension crea el controlador de interface correspondiente.

    WatchKit llama a los métodos de controlador de interfaz para dar al código de la aplicación la oportunidad de configurar etiquetas y otros contenidos. Una vez que la escena se inicializa ,WatchKit la presenta al usuario. 
    Las interacciones con los botones y otros controladores en la escena hacen que los métodos del controlador de interfaz se ejecuten.   

    Dependiendo del estilo de navegación utilizada por la aplicación, WatchKit puede crear un controlar de interfaz o varios controladores de interfaz inicialmente. 

    Las interfaces basados en páginas suelen terne dos o más controladores de interfaz, cada una de las cuales se crea en el momento del lanzamiento. 

    Glances y Nofications muestran sólo un controlador de interfaz única que contiene la información correspondiente. 


    Custom Local and Remote Notifications

    Customizar Interfaces para las Notificaciones Locales y Remotas

    Apple Watch trabaja con el iPhone para mostrar notificaciones locales y remotas.

    Inicialmente, Apple Watch utiliza una interfaz mínima para mostrar notificaciones entrares.

    Cuando el movimiento del usuario indica un deseo de ver más información, la interfaz mínima cambia a una interfaz más detallada que muestra el contenido de la notificación.

    Puede personalizar esta interfaz detallada y añadir gráficos personalizados u organizar los datos de notificación de manera diferente que la interfaz predeterminadas proporcionada poe el sistema.

    Apple Watch ofrece soporte automático para las notificaciones recurribles introducidas en iOS 8. 

    Notificaciones recurribles son una manera de agregar botones a su interfaz de notificación que reflejan las acciones que el usuario pueda obtener. 

    Por ejemplo, una notificación para una reunión podría incluir botones para notificaciones recurribles, Apple Watch agrega los botones correspondientes para las interfaces de notificación en Apple Watch. Todo lo que necesita es hacer manejar las acciones seleccionadas por el usuario en su WatchKit Extension.

    miércoles, 10 de diciembre de 2014

    Glance Interface


    Un Glace Interface está enfocado para presentar información importante que el usuario necesita en ese momento. 

    Glance no contiene scroll, por lo que toda la interfaz de la vista debe caber en una sola pantalla. 

    Glance es de sólo lectura y no puede contener buttons, switches o otro control interactivo. Al pulsar sobre el Glance lanza la Watch App.

    El código para la gestión de un Glance reside en su WatchKit Extension. 

    Las clases que se utilizan para gestionar su interfaz simple son los mismos que utiliza para la aplicación del Watch. 

    A pesar de que las clases y comportamientos básicos son el mismo, un Glance es más simple de implementar porque no responde a interacciones del usuario.

    Watch App


    Una Watch App es la base para interactuar con su contenido en Apple Watch. La aplicación es accesible desde la pantalla de inicio y suele proporcionar sólo una parte de la funcionalidad de la aplicación para iOS. 

    El propósito de una aplicación de reloj es dar al usuario un acceso rápido pero más en profundidad a los datos relacionados con la App.

    La Watch App funciona en tándem con una WatchKit Extension correspondiente que se ejecuta en el iPhone del usuario. 

    La Watch App no contiene ningún código y sólo se ejecuta para almacenar la interfaz gráfica y los archivos de recursos asociados con la interfaz de usuario.  

    WatchKit Extension es el cerebro de la operación. Contiene la lógica de negocio y el código que se utiliza para administrar su contenido, responder a las interacciones del usuario, y actualizar su interfaz de usuario.  

    Y ya que se ejecuta en el iPhone del usuario,  WatchKit Extension puede coordinarse fácilmente con su aplicación para iOS para recoger las actualizaciones de ubicación o realizar otras tareas de larga ejecución.


    Apple Watch

    Acerca de Apple Watch / WatchKit

    Apple ofrece a los usuarios una manera muy personal y discreta para acceder a los datos. En lugar de extraer el móvil del bolsillo, un usuario puede echar un vistazo a su Apple Watch para visualizar la información de forma rápida.

    Las aplicaciones Apple Watch deben de ofrecer la información más relevante de la manera más sencilla.

    Apple Watch requiere la presencia de un iPhone para ejecutar la aplicación desarrollada.

    Crear un aplicación requiere dos ejecutables separados: una aplicación de reloj que se ejecuta en en Apple Watch y un WatchKit extension que se ejecuta en el iPhone del usuario.

    - La aplicación del reloj contiene sólo la interfaz y archivos de recursos.

    - La extensión WatchKit contiene el código para la gestión de interfaz de usuario del reloj de aplicaciones y responder a las interacciones del usuario. 

    Tres tipos de interacciones con Apple Watch.


    • Watch App  contiene la interfaz de usuario completa de la aplicación. El usuario lanza la aplicación en la pantalla principal y utiliza la aplicación para ver o manipular datos.
    • Glance App es una interfaz sólo de lectura que se utiliza para mostrar la información oportuna y relevante de su aplicación.
    • Custom Notification permite modificar la interfaz predeterminada que se muestra para las notificaciones locales y remotas recientemente recibidas y añadir gráficos personalizados, contenido y formato. 

    Se requiere una aplicación de reloj para todas las interacciones en Apple Watch. 


    Debido a que una aplicación de reloj extiende el comportamiento de su aplicación para iOS existente, la Watch App y la WatchKit extension se agrupan y se empaquetan dentro de la aplicación iOS. 


    Durante la instalación de la aplicación para iOS, el sistema solicita al usuario que instale la aplicación del reloj si un Apple Watch emparejado esta presente.