Compartilhar via


Introdução ao watchOS 5

Observação

Confira a Introdução ao watchOS 3 para obter uma visão geral dos recursos mais recentes.

Sobre o watchOS

Uma solução de aplicativo watchOS tem 3 projetos:

  • Watch Extension – Um projeto que contém o código para o aplicativo watch.
  • Watch App – Contém o storyboard e os recursos da interface do usuário.
  • iOS Parent App - Este aplicativo é um aplicativo normal para iPhone. O aplicativo e a extensão do relógio são incluídos no aplicativo do iPhone para entrega ao relógio do usuário.

Nos aplicativos do watchOS 1, o código na extensão é executado no iPhone – o Apple Watch é efetivamente uma tela externa. Os aplicativos watchOS 2 e 3 são executados inteiramente no Apple Watch. Essa diferença é mostrada no diagrama abaixo:

A diferença entre watchOS 1 e watchOS 2 (e superior) é mostrada neste diagrama

Independentemente de qual versão do watchOS é direcionada, no Solution Pad do Visual Studio para Mac uma solução completa será algo como isto:

O Solution Pad

O aplicativo pai em uma solução watchOS é um aplicativo iOS normal. Este é o único projeto na solução que é visível no telefone. Os casos de uso para este aplicativo incluiriam tutoriais, telas administrativas e filtragem de camada intermediária, cache, etc. No entanto, é possível que o usuário instale e execute o aplicativo/extensão do relógio sem nunca ter aberto o aplicativo pai, portanto, se você precisar que o aplicativo pai seja executado para inicialização ou administração única, você precisará programar seu aplicativo/extensão do relógio para informar isso ao usuário.

Embora o aplicativo pai forneça o aplicativo e a extensão do relógio, eles são executados em caixas de proteção diferentes.

No watchOS 1, eles podem compartilhar dados por meio de um grupo de aplicativos compartilhados ou por meio da função WKInterfaceController.OpenParentApplicationestática , que acionará o UIApplicationDelegate.HandleWatchKitExtensionRequest método no aplicativo AppDelegate pai (consulte Trabalhando com o aplicativo pai).

No watchOS 2 ou posterior, a estrutura Watch Connectivity é usada para se comunicar com o aplicativo pai, usando a WCSession classe.

Ciclo de vida do aplicativo

Na extensão de observação, uma subclasse da WKInterfaceController classe é criada para cada cena do Storyboard.

Essas WKInterfaceController classes são análogas aos UIViewController objetos na programação do iOS, mas não têm o mesmo nível de acesso à exibição. Por exemplo, você não pode adicionar dinamicamente controles ou reestruturar sua interface do usuário. No entanto, você pode ocultar e revelar controles e, com alguns controles, alterar suas opções de tamanho, transparência e aparência.

O ciclo de vida de um WKInterfaceController objeto envolve as seguintes chamadas:

  • Despertar : Você deve executar a maior parte da inicialização neste método.
  • WillActivate : Chamado pouco antes do Watch App aparecer para o usuário. Use esse método para executar inicialização de última hora, iniciar animações, etc.
  • Neste ponto, o Watch App é exibido e a Extensão começa a responder à entrada do usuário e a atualizar a exibição do Watch App de acordo com a lógica do aplicativo.
  • DidDeactivate Depois que o Watch App for descartado pelo usuário, esse método será chamado. Depois que esse método retorna, os controles da interface do usuário não podem ser modificados até que a próxima vez WillActivate seja chamada. Este método também será chamado se a conexão com o iPhone estiver quebrada.
  • Depois que a extensão for desativada, ela ficará inacessível ao seu programa. Funções assíncronas pendentes não serão chamadas. As extensões do Watch Kit podem não usar modos de processamento em segundo plano. Se o programa for reativado pelo usuário, mas o aplicativo não tiver sido encerrado pelo sistema operacional, o primeiro método chamado será WillActivate.

Visão geral do ciclo de vida do aplicativo

Tipos de interface do usuário

Há três tipos de interação que o usuário pode ter com seu aplicativo do relógio. Todos são programados usando subclasses personalizadas de , de modo que a sequência de ciclo de vida discutida WKInterfaceControlleranteriormente se aplica universalmente (as notificações são programadas com subclasses de WKUserNotificationController, que por sua vez é uma subclasse de WKInterfaceController):

Interação normal

A maior parte da interação do aplicativo de relógio/extensão será com subclasses das WKInterfaceController quais você escreve para corresponder às cenas no Interface.storyboard do aplicativo de relógio. Isso é abordado em detalhes nos artigos Instalação e Introdução . A imagem a seguir mostra uma parte do Storyboard do exemplo. Para cada cena mostrada aqui, há um costume WKInterfaceController correspondente (LabelDetailController, ButtonDetailController, SwitchDetailController, etc.) no projeto de extensão.

Exemplos de interação normal

Notificações

As notificações são um dos principais casos de uso do Apple Watch. Há suporte para notificações locais e remotas. A interação com as notificações ocorre em duas etapas, chamadas de Short- e Long-Look.

As Aparências curtas são exibidas brevemente e mostram o ícone do aplicativo de observação, seu nome e o Título (conforme especificado com WKInterfaceController.SetTitle).

O Long Look combina uma área de faixa fornecida pelo sistema e o botão Dispensar com seu conteúdo personalizado baseado em Storyboard.

WKUserNotificationInterfaceController estende-se WKInterfaceController com os métodos DidReceiveLocalNotification e DidReceiveRemoteNotification. Substitua esses métodos para reagir a eventos de notificação.

Para obter mais informações sobre o design da interface do usuário de notificação, consulte as Diretrizes de interface humana do Apple Watch

Notificações de exemplo

Tamanhos de tela

O Apple Watch tem dois tamanhos de face: 38 mm e 42 mm, ambos com uma proporção de ecrã de 5:4, e um ecrã Retina. Seus tamanhos utilizáveis são:

  • 38mm: 136 x 170 pixels lógicos (272 x 340 pixels físicos)
  • 42mm: 156 x 195 pixels lógicos (312 x 390 pixels físicos).

Use WKInterfaceDevice.ScreenBounds para determinar em qual tela seu aplicativo Watch está sendo executado.

Geralmente, é mais fácil desenvolver seu design de texto e layout com a tela de 38 mm mais restrita e, em seguida, aumentar a escala. Se você começar com o ambiente maior, reduzir a escala pode levar a uma sobreposição feia ou truncamento de texto.

Leia mais sobre como trabalhar com tamanhos de tela.

Limitações do watchOS

Existem algumas limitações do watchOS a serem observadas ao desenvolver aplicativos watchOS:

Algumas outras limitações conhecidas / perguntas frequentes:

  • A Apple não permitirá mostradores de relógio personalizados de 3ª parte.

  • As APIs que permitem que o Watch controle o iTunes no telefone conectado são privadas.

Leitura Adicional

Confira a documentação da Apple: