Condividi tramite


Introduzione a watchOS

Informazioni su watchOS

Una soluzione di app watchOS include 3 progetti:

  • Espressione di controllo : progetto che contiene il codice per l'app watch.
  • Watch App : contiene lo storyboard e le risorse dell'interfaccia utente.
  • App padre iOS: questa app è una normale app i Telefono. L'app watch e l'estensione vengono raggruppate nell'app i Telefono per il recapito all'orologio dell'utente.

Nelle app watchOS 1, il codice nell'estensione viene eseguito nell'i Telefono - Apple Watch è effettivamente un display esterno. le app watchOS 2 e 3 vengono eseguite interamente su Apple Watch. Questa differenza è illustrata nel diagramma seguente:

La differenza tra watchOS 1 e watchOS 2 (e versioni successive) è illustrata in questo diagramma

Indipendentemente dalla versione di watchOS di destinazione, nel riquadro della soluzione di Visual Studio per Mac una soluzione completa avrà un aspetto simile al seguente:

Riquadro della soluzione

L'app padre in una soluzione watchOS è una normale app iOS. Questo è l'unico progetto nella soluzione visibile sul telefono. I casi d'uso per questa app includono esercitazioni, schermate amministrative e filtri di livello intermedio, memorizzazione nella cache e così via. Tuttavia, è possibile che l'utente installi ed esegua l'app di controllo o l'estensione senza aver mai aperto l'app padre, quindi se è necessario che l'app padre venga eseguita per l'inizializzazione o l'amministrazione una tantum, è necessario programmare l'app di controllo o l'estensione per indicare all'utente che.

Anche se l'app padre offre l'app watch e l'estensione, vengono eseguite in sandbox diverse.

In watchOS 1 possono condividere i dati tramite un gruppo di app condiviso o tramite la funzione WKInterfaceController.OpenParentApplicationstatica , che attiverà il UIApplicationDelegate.HandleWatchKitExtensionRequest metodo nell'app AppDelegate padre (vedere Uso dell'app padre).

In watchOS 2 o versione successiva viene usato il framework Watch Connessione ivity per comunicare con l'app padre, usando la WCSession classe .

Ciclo di vita dell'applicazione

Nell'estensione espressioni di controllo viene creata una sottoclasse della WKInterfaceController classe per ogni scena storyboard.

Queste WKInterfaceController classi sono analoghe agli UIViewController oggetti nella programmazione iOS, ma non hanno lo stesso livello di accesso alla visualizzazione. Ad esempio, non è possibile aggiungere dinamicamente controlli o ristrutturare l'interfaccia utente. È tuttavia possibile nascondere e rivelare i controlli e, con alcuni controlli, modificarne le dimensioni, la trasparenza e le opzioni di aspetto.

Il ciclo di vita di un WKInterfaceController oggetto prevede le chiamate seguenti:

  • Sveglio : è consigliabile eseguire la maggior parte dell'inizializzazione in questo metodo.
  • WillActivate : chiamato poco prima che l'app Espressioni di controllo venga visualizzata all'utente. Usa questo metodo per eseguire l'inizializzazione dell'ultimo momento, avviare animazioni e così via.
  • A questo punto, viene visualizzata l'app Espressioni di controllo e l'estensione inizia a rispondere all'input dell'utente e aggiorna la visualizzazione dell'app espressioni di controllo in base alla logica dell'applicazione.
  • DidDeactivate Dopo che l'app Watch è stata chiusa dall'utente, questo metodo viene chiamato. Al termine di questo metodo, i controlli dell'interfaccia utente non possono essere modificati fino alla successiva chiamata WillActivate . Questo metodo verrà chiamato anche se la connessione all'i Telefono viene interrotta.
  • Dopo aver disattivato l'estensione, è inaccessibile al programma. Le funzioni asincrone in sospeso non verranno chiamate. Watch Kit Extensions potrebbe non usare le modalità di elaborazione in background. Se il programma viene riattivato dall'utente ma l'app non è stata terminata dal sistema operativo, il primo metodo chiamato sarà WillActivate.

Panoramica del ciclo di vita dell'applicazione

Tipi di interfaccia utente

Esistono tre tipi di interazione che l'utente può avere con l'app watch. Tutti sono programmati usando sottoclassi personalizzate di , quindi la sequenza del ciclo di WKInterfaceControllervita descritta in precedenza si applica universalmente (le notifiche vengono programmate con sottoclassi di WKUserNotificationController, che è una sottoclasse di WKInterfaceController):

Interazione normale

La maggior parte dell'interazione tra app e estensioni dell'orologio sarà costituita da sottoclassi di WKInterfaceController che scrivi per corrispondere alle scene nel file Interface.storyboard dell'app watch. Questo argomento è illustrato in dettaglio negli articoli Installazione e Introduzione . L'immagine seguente mostra una parte dello Storyboard dell'esempio. Per ogni scena mostrata qui, è presente un oggetto personalizzato WKInterfaceController corrispondente (LabelDetailController, ButtonDetailController, SwitchDetailControllere così via) nel progetto di estensione.

Esempi di interazione normale

Notifications

Le notifiche sono un caso d'uso importante per Apple Watch. Sono supportate sia le notifiche locali che remote. L'interazione con le notifiche avviene in due fasi, denominata Short- e Long-Look.

I look brevi vengono visualizzati brevemente e mostrano l'icona dell'app espressioni di controllo, il nome e il titolo (come specificato con WKInterfaceController.SetTitle).

L'aspetto lungo combina un'area di sash fornita dal sistema e il pulsante Ignora con il contenuto personalizzato basato su Storyboard.

WKUserNotificationInterfaceController si estende WKInterfaceController con i metodi DidReceiveLocalNotification e DidReceiveRemoteNotification. Eseguire l'override di questi metodi per reagire agli eventi di notifica.

Per altre informazioni sulla progettazione dell'interfaccia utente di notifica, vedere Linee guida sull'interfaccia umana di Apple Watch

Notifiche di esempio

Dimensioni dello schermo

Apple Watch ha due dimensioni del viso: 38mm e 42mm, entrambe con un rapporto di visualizzazione 5:4 e uno schermo Retina. Le dimensioni utilizzabili sono:

  • 38mm: 136 x 170 pixel logici (272 x 340 pixel fisici)
  • 42mm: 156 x 195 pixel logici (312 x 390 pixel fisici).

Usa WKInterfaceDevice.ScreenBounds per determinare in quale visualizzazione è in esecuzione l'app Watch.

In genere, è più facile sviluppare il testo e la progettazione del layout con lo schermo di 38mm più vincolato e quindi aumentare le prestazioni. Se si inizia con l'ambiente più ampio, il ridimensionamento può causare una brutta sovrapposizione o troncamento del testo.

Altre informazioni sull'uso delle dimensioni dello schermo.

Limitazioni di watchOS

Esistono alcune limitazioni di watchOS da tenere presenti durante lo sviluppo di app watchOS:

Altre limitazioni note/domande frequenti:

  • Apple non consentirà visi di orologi personalizzati di terze parti.

  • Le API che consentono all'orologio di controllare iTunes sul telefono connesso sono private.

Altre informazioni

Consultare la documentazione di Apple: