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:
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:
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.OpenParentApplication
statycznej , 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
.
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 (WKInterfaceController
LabelDetailController
, ButtonDetailController
, SwitchDetailController
itp.).
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
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:
Urządzenia Apple Watch mają ograniczony magazyn — należy pamiętać o dostępnym miejscu przed pobraniem dużych plików (np. plików audio lub filmów).
Wiele kontrolek watchOS ma analogie w zestawie UIKit, ale są różne klasy (
WKInterfaceButton
zamiastUIButton
,WKInterfaceSwitch
dlaUISwitch
, itp.) i mają ograniczony zestaw metod w porównaniu z ich odpowiednikami UIKit. Ponadto system watchOS ma pewne kontrolki, takie jakWKInterfaceDate
(na potrzeby wyświetlania daty i godziny), których zestaw UIKit nie ma.- Nie można kierować powiadomień tylko do zegarka lub tylko i Telefon (jakiego rodzaju kontrola użytkownika nad routingiem nie została ogłoszona przez firmę Apple).
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: