Wprowadzenie do systemu watchOS

Uwaga

Zapoznaj się z artykułem Wprowadzenie do systemu watchOS 3 , aby zapoznać się z omówieniem najnowszych funkcji.

Informacje o systemie watchOS

Rozwiązanie aplikacji systemu watchOS ma 3 projekty:

  • Rozszerzenie zegarka — projekt zawierający kod aplikacji do obejrzenia.
  • Aplikacja do obejrzenia — zawiera scenorys i zasoby interfejsu użytkownika.
  • Aplikacja nadrzędna systemu iOS — ta aplikacja jest normalną aplikacją dla systemu i Telefon. Aplikacja i rozszerzenie zegarka są dołączane do aplikacji i Telefon do dostarczania do zegarka użytkownika.

W aplikacjach systemu watchOS 1 kod w rozszerzeniu działa na urządzeniu i Telefon — zegarek Apple Watch jest skutecznie wyświetlaczem zewnętrznym. aplikacje z systemem watchOS 2 i 3 działają w całości na zegarku Apple Watch. Ta różnica jest pokazana na poniższym diagramie:

The difference between watchOS 1 and watchOS 2 (and greater) is shown in this diagram

Niezależnie od tego, która wersja systemu watchOS jest przeznaczona, w okienku rozwiązania Visual Studio dla komputerów Mac kompletne rozwiązanie będzie wyglądać mniej więcej tak:

The Solution Pad

Aplikacja nadrzędna w rozwiązaniu systemu watchOS jest zwykłą aplikacją systemu iOS. Jest to jedyny projekt w rozwiązaniu widocznym na telefonie. Przypadki użycia tej aplikacji obejmują samouczki, ekrany administracyjne i filtrowanie warstwy środkowej, buforowanie itp. Jednak użytkownik może zainstalować i uruchomić aplikację/rozszerzenie zegarka bez konieczności otwierania aplikacji nadrzędnej, więc jeśli potrzebujesz aplikacji nadrzędnej do uruchomienia jednorazowej inicjalizacji lub administracji, musisz zaprogramować aplikację/rozszerzenie zegarka, aby poinformować użytkownika, że.

Mimo że aplikacja nadrzędna dostarcza aplikację i rozszerzenie zegarka, działają w różnych piaskownicach.

W systemie watchOS 1 mogą udostępniać dane za pośrednictwem udostępnionej grupy aplikacji lub za pośrednictwem funkcji WKInterfaceController.OpenParentApplicationstatycznej , która wyzwoli UIApplicationDelegate.HandleWatchKitExtensionRequest metodę w aplikacji AppDelegate nadrzędnej (zobacz praca z aplikacją nadrzędną).

W systemie watchOS 2 lub nowszym platforma watch Połączenie ivity służy do komunikowania się z aplikacją nadrzędną WCSession przy użyciu klasy .

Cykl życia aplikacji

W rozszerzeniu zegarka jest tworzona podklasa WKInterfaceController klasy dla każdej sceny sceny Sceny.

Te WKInterfaceController klasy są analogiczne do UIViewController obiektów w programowaniu systemu iOS, ale nie mają tego samego poziomu dostępu do widoku. Na przykład nie można dynamicznie dodawać kontrolek do interfejsu użytkownika ani restrukturyzacji. Można jednak ukryć i ujawnić kontrolki oraz, przy użyciu niektórych kontrolek, zmienić ich rozmiar, przezroczystość i opcje wyglądu.

Cykl życia WKInterfaceController obiektu obejmuje następujące wywołania:

  • Obudzić: większość inicjowania należy wykonać w tej metodzie.
  • WillActivate : wywoływana wkrótce przed wyświetleniem użytkownikowi aplikacji do obejrzenia. Użyj tej metody, aby wykonać inicjację ostatniej chwili, rozpocząć animacje itp.
  • W tym momencie zostanie wyświetlona aplikacja zegarka, a rozszerzenie zacznie odpowiadać na dane wejściowe użytkownika i aktualizować wyświetlanie aplikacji zegarka zgodnie z logiką aplikacji.
  • DidDeactivate Po tym, jak aplikacja watch została odrzucona przez użytkownika, ta metoda jest wywoływana. Po powrocie tej metody nie można modyfikować kontrolek interfejsu użytkownika do następnego wywołania WillActivate . Ta metoda zostanie również wywołana, jeśli połączenie z i Telefon zostanie przerwane.
  • Po dezaktywowaniu rozszerzenia jest on niedostępny dla programu. Oczekujące funkcje asynchroniczne nie będą wywoływane. Rozszerzenia zestawu watch kit mogą nie używać trybów przetwarzania w tle. Jeśli program zostanie ponownie aktywowany przez użytkownika, ale aplikacja nie została zakończona przez system operacyjny, pierwszą wywołaną metodą będzie WillActivate.

Application Lifecycle overview

Typy interfejsu użytkownika

Istnieją trzy typy interakcji, które użytkownik może mieć z aplikacją zegarka. Wszystkie są programowane przy użyciu niestandardowych podklas WKInterfaceController, więc wcześniej omówiona sekwencja cyklu życia ma zastosowanie uniwersalnie (powiadomienia są programowane z podklasami WKUserNotificationController, która sama jest podklasą WKInterfaceController):

Normalna interakcja

Większość interakcji z aplikacją/rozszerzeniem zegarka będzie dotyczyć podklasWKInterfaceController, które zapisujesz w celu odpowiadania scenom w scenach w scenach interfejsu.storyboard aplikacji zegarka. Opisano to szczegółowo w artykułach Instalacja i wprowadzenie . Na poniższej ilustracji przedstawiono część przykładu Watch Kit Catalog Storyboard. Dla każdej sceny pokazanej w tym miejscu w projekcie rozszerzenia istnieje odpowiedni niestandardowy (WKInterfaceControllerLabelDetailController, ButtonDetailController, SwitchDetailControlleritp.).

Normal Interaction examples

Notifications

Powiadomienia są głównym przypadkiem użycia zegarka Apple Watch. Obsługiwane są zarówno powiadomienia lokalne, jak i zdalne. Interakcja z powiadomieniami odbywa się na dwóch etapach, nazywanych krótkim i długim wyglądem.

Krótkie wyglądy są wyświetlane krótko i wyświetlają ikonę aplikacji zegarka, jej nazwę i tytuł (zgodnie z wartością WKInterfaceController.SetTitle).

Funkcja Long Look łączy obszar skrzydła dostarczonego przez system i przycisk Odrzuć z niestandardową zawartością opartą na scenie.

WKUserNotificationInterfaceController rozszerza się WKInterfaceController za pomocą metod DidReceiveLocalNotification i DidReceiveRemoteNotification. Zastąpij te metody, aby reagować na zdarzenia powiadomień.

Aby uzyskać więcej informacji na temat projektowania interfejsu użytkownika powiadomień, zapoznaj się z wytycznymi dotyczącymi interfejsu użytkownika zegarka Apple Watch

Sample notifications

Rozmiary ekranów

Zegarek Apple Watch ma dwa rozmiary twarzy: 38mm i 42mm, zarówno z współczynnikiem wyświetlacza 5:4, jak i wyświetlaczem Retina. Ich możliwe do użycia rozmiary to:

  • 38mm: 136 x 170 pikseli logicznych (272 x 340 pikseli fizycznych)
  • 42mm: 156 x 195 pikseli logicznych (312 x 390 pikseli fizycznych).

Użyj WKInterfaceDevice.ScreenBounds polecenia , aby określić, na którym ekranie działa aplikacja zegarka.

Ogólnie rzecz biorąc, łatwiej jest opracować projekt tekstu i układu przy użyciu bardziej ograniczonego ekranu 38mm, a następnie skalować w górę. Jeśli zaczniesz od większego środowiska, skalowanie w dół może prowadzić do brzydkiego nakładania się lub obcinania tekstu.

Przeczytaj więcej na temat pracy z rozmiarami ekranu.

Ograniczenia systemu watchOS

Istnieją pewne ograniczenia dotyczące systemu watchOS, o których należy pamiętać podczas tworzenia aplikacji systemu watchOS:

Niektóre inne znane ograniczenia / często zadawane pytania:

  • Firma Apple nie zezwoli na niestandardowe twarze zegarków innych firm.

  • Interfejsy API, które umożliwiają zegarkowi sterowanie aplikacją iTunes na połączonym telefonie, są prywatne.

Dalsze informacje

Zapoznaj się z dokumentacją firmy Apple: