iOS 9 Beta i WatchOS 2 dla programistów
Opublikowany: 2022-03-11Najnowszy mobilny system operacyjny Apple jest już dostępny, a jeśli jesteś programistą iOS, oto, co musisz wiedzieć. Zmiany w iOS 9.x są nie tylko głębokie, chociaż brak gruntownego przeprojektowania może skłonić zwykłego obserwatora do wniosku, że nie jest to duża aktualizacja. To ewolucyjny krok, w iOS 9.x nie ma nic rewolucyjnego, ale zawiera kilka nowych funkcji.
Omówiliśmy już 3D Touch, który pojawi się w odświeżonych iPhone'ach z serii 6S, ale to tylko jedna funkcja iOS 9.x, o której warto wspomnieć. Nowa aktualizacja wprowadza również wiele ulepszeń zorientowanych na tablety, co jest zrozumiałe, biorąc pod uwagę decyzję Apple o uruchomieniu przewymiarowanego iPada Pro z naciskiem na produktywność. Wielozadaniowość dla iPadów wkrótce stanie się znacznie lepsza, ponieważ będzie zawierała tryby podzielonego widoku, przesuwania i obrazu w obrazie.
Deweloperzy Androida i Microsoftu mogą powiedzieć, że ich platformy już posiadały taką funkcjonalność i mieliby rację: Apple spóźnia się na imprezę, a iOS od lat pozostaje w tyle za Androidem pod względem wielozadaniowości.
Jednak oprócz aplikacji wielozadaniowych i zwiększających produktywność, iOS 9.x oferuje również szereg funkcji zaprojektowanych z myślą o konsumpcji treści. Apple ulepszyło SceneKit, SpriteKit i Metal, umożliwiając twórcom gier na iOS korzystanie z niektórych zaawansowanych funkcji i jeszcze bardziej rozbudowane gry. Wyszukiwarka otrzymuje aktualizację z lepszym indeksowaniem treści, historią i znacznikami internetowymi.
Aha, i nie zapominajmy o 3D Touch, czyli rozmowie marketingowej Apple dla Force Touch. Szczegółowo omówiłem ten temat już w momencie zapowiedzi iOS 9, a w razie gdybyście go przegapili, musicie to sprawdzić, bo nie widzę sensu, żeby go powtarzać i dodawać puchu do nowego posta.
Na czym więc powinniśmy się tym razem skupić?
Wielozadaniowość w iOS 9
Myślę, że wielozadaniowość byłaby dobrym miejscem na rozpoczęcie, po prostu po to, aby usunąć to z drogi i pozwolić programistom Androida napisać kilka protekcjonalnych komentarzy, które mieliśmy od lat, bez konieczności przewijania całego posta.
Apple dodał trzy różne tryby wielozadaniowości w iOS9:
- Podzielony widok
- Przesuń się
- Obraz w obrazie (PiP)
Podział widoku to znana koncepcja. Obie aplikacje współistnieją obok siebie, podobnie jak Windows 8.x i niektóre tablety z systemem Android (Samsung). Użytkownicy mogą przeciągać aplikacje i ustawiać rozmiar swojego quasi-okna, na przykład umieszczając pasek Skype'a obok przeglądarki.
Slide over jest podobny do widoku Split View, ale wyświetla drugą aplikację w nakładce wywołanej przez użytkownika po prawej stronie ekranu, umożliwiając użytkownikowi szybkie wybranie aplikacji i interakcję z nią. Aplikacje są wyświetlane w pionowym pasku, podobnym do przełącznika aplikacji w systemie Android 4.x.
Obraz w obrazie, zwykle używany do wideo, umożliwia użytkownikom przeglądanie aplikacji w małej ramce. Na przykład, jeśli oglądasz program telewizyjny i otrzymujesz wiadomość Skype, możesz odpowiedzieć, zachowując wideo w ramce PiP.
Wszystkie trzy tryby mogą być używane jednocześnie, dzięki czemu możesz mieć ramkę PiP, gdy iPad wyświetla dwie aplikacje w widoku dzielonym.
Apple zachęca programistów do przyjęcia przesuwania i dzielenia widoku, chyba że mają konkretny powód, aby tego nie robić. Aplikacje aparatu i pełne aplikacje urządzenia, takie jak gry, są wymienione jako wyjątki. Jeśli chodzi o PiP, jest on przeznaczony dla aplikacji wideo i można zrezygnować, nawet jeśli masz aplikację wideo, ale nie jest konieczna obsługa PiP.
Powinienem również zauważyć, że każdy szablon aplikacji na iOS w Xcode 7 jest teraz wstępnie skonfigurowany do obsługi przesuwania i dzielenia widoku. Jest jeszcze jedno zastrzeżenie: widok Split nie jest obsługiwany na większości iPadów. W rzeczywistości jest dostępny tylko na iPadzie Air 2 i iPadzie Pro, podczas gdy przesuwanie nadchodzi do pierwszej generacji Air wraz z iPadem Mini 2 i Mini 3.
Innym problemem, który może powodować bóle głowy programistom iOS, jest układ i skalowanie. Wszystkie dotychczasowe iPady były wyposażone w wyświetlacze 4:3, więc projektanci są przyzwyczajeni do pracy na płótnie o proporcjach 4:3. Czy wszystkie starsze aplikacje będą wyglądać prawidłowo w widoku dzielonym? Zależy to od wielu czynników, więc odpowiedź w tym miejscu byłaby bezczelna. Należy jednak o tym pamiętać, jeśli masz za sobą wiele aplikacji na iPada.
Firma Apple opublikowała już niezbędne informacje na temat nowych trybów wielozadaniowości, więc zdecydowanie powinieneś zajrzeć do oficjalnej biblioteki programistów iOS, aby uzyskać szczegółowe informacje.
iOS 9.1 i 9.2 Beta, wprowadzenie na rynek
Firma Apple wydała iOS 9.1 mniej więcej miesiąc temu, a wersja beta iOS 9.2 jest już dostępna do pobrania za pośrednictwem programu beta oprogramowania firmy Apple. Obie wersje to drobne aktualizacje.
W rzeczywistości iOS 9.1 był jak dotąd trzecią aktualizacją iOS 9. Wprowadzono obsługę Unicode 7 i 8, a także szereg nowych emotikonów (w tym jednorożca). Xcode dotarł do wersji 7.1, a niektóre komponenty Apple TV również zostały zaktualizowane. Wprowadzono również drobne poprawki aparatu, takie jak aktualizacja zdjęć na żywo, która wykorzystuje informacje z czujnika, aby dowiedzieć się, kiedy urządzenie jest opuszczane, aby zatrzymać nagrywanie wideo.
Wersja beta iOS 9.2 jest dostępna od około tygodnia i jest kolejną aktualizacją przyrostową. Zawiera pewne zmiany w Safari, dodaje obsługę języka arabskiego do Siri i obejmuje obsługę systemu NumberSync firmy AT&T. Nic zbyt znaczącego z perspektywy dewelopera.
Kilka tygodni po rozpoczęciu wdrażania systemu iOS 9 firma Apple poinformowała, że nowy mobilny system operacyjny wykazuje najszybszy do tej pory wskaźnik przyjęcia dowolnej wersji systemu iOS. Pod koniec września ponad 50 procent urządzeń z systemem iOS zostało zaktualizowanych do wersji iOS 9. To powiedziawszy, wiele starszych urządzeń nie otrzyma aktualizacji, ale wszyscy użytkownicy z iPhonem lub iPadem zakupionym w ciągu ostatnich czterech lat powinni być w porządku. Użytkownicy starego dobrego iPhone'a 4 i iPada pierwszej generacji nie otrzymają iOS 9.
Szybka adopcja pozostaje atutem Apple. Gdy Google wypuszcza nową wersję Androida, zwykle zajmuje to miesiące, zanim jego partnerzy sprzętowi publikują aktualizacje dla swoich urządzeń, a wiele urządzeń małych marek nie jest aktualizowanych.
WatchOS 2 przynosi szereg ulepszeń konsumenckich
Podczas gdy iOS 9.x może być postrzegany jako przyrostowa, ewolucyjna aktualizacja, WatchOS 2 nie jest aktualizacją głęboką dla skóry. Nowy system operacyjny pozwala Apple Watch na znacznie więcej, tworząc nowe możliwości dla programistów. Jednak nie jest to zmiana gry pod żadnym pozorem.
Większość zmian jest zorientowana na konsumenta, więc WatchOS 2 zawiera wiele aktualizacji aplikacji. Na przykład zegarek może być teraz używany do wysyłania tekstów i plików audio przez Facebook Messenger, iTranslate pozwoli użytkownikom szybko tłumaczyć mowę, a nowa aplikacja Airstrip jest narzędziem opieki zdrowotnej. Rozszerzono również obsługę Siri, wraz z nową funkcją podróży w czasie, która pozwala użytkownikom sprawdzać pogodę i spotkania. Interfejs muzyczny został przeprojektowany. Użytkownicy mogą teraz odpowiadać na e-maile za pomocą dyktowania głosu, a gdy nadejdzie czas, aby iść spać, zegarek można przełączyć w tryb nocny.
Apple Watch łączy się teraz z sieciami Wi-Fi bez iPhone'a; nie potrzebuje uwięzi. Google wdrożyło tę funkcję w Android Wear już kilka miesięcy temu, więc trudno się dziwić, że Apple również ją dodaje.
Apple poprawiło również estetykę, wprowadzając szereg nowych tarcz zegarka (i przeprojektowanych), dodatkowe komplikacje oraz nowe sposoby ich dostosowywania i organizowania. Nowe ustawienia wyświetlania, dzięki którym ekran będzie żył dłużej, do 70 sekund.
Szczerze mówiąc, większość z tych aktualizacji nie wydaje mi się zbyt ekscytująca, a kilka z nich można określić jako wręcz efekciarskie.
WatchOS 2 dla programistów
Chociaż aktualizacja nie przyniesie konsumentom wielu nowych funkcji, otworzy przed programistami nowe możliwości. Wielką wiadomością jest to, że WatchOS 2 umożliwia dostęp do większej liczby czujników i innych komponentów sprzętowych.
Deweloperzy będą mogli teraz używać Digital Crown do znacznie więcej niż zoomu; korony można używać do przewijania treści, powiadomień i tak dalej. Problem polega na tym, że bardzo niewiele aplikacji skorzysta z tych nowych funkcji korony; zajmie trochę czasu, zanim zostaną zaktualizowane w celu ich obsługi. Z drugiej strony celem umożliwienia głębszego dostępu do różnych komponentów jest zmuszenie programistów do tworzenia natywnych aplikacji dla Apple Watch.

Oprócz nowych cyfrowych elementów sterujących koroną aplikacje innych firm mogą również uzyskać dostęp do mikrofonu i akcelerometru.
A co z komplikacjami? Z perspektywy programisty możliwość tworzenia, zarządzania i dostosowywania nowych komplikacji może być jedną z największych aktualizacji. Nowa platforma ClockKit.framework
jest wykorzystywana do zarządzania komplikacjami związanymi z aplikacjami Apple Watch. Platforma umożliwia programistom korzystanie z różnych źródeł danych dla Complications, a następnie dostosowywanie wyglądu wizualnego, aby zapewnić dobre dopasowanie do aplikacji. Wszystko odbywa się przy użyciu różnych klas ClockKit.framework
, a dodatkowe szczegóły można znaleźć w oficjalnym podręczniku Apple ClockKit.
Te zmiany mogą nie brzmieć jak wielka sprawa, ale na dłuższą metę mogą zmienić sposób, w jaki użytkownicy wchodzą w interakcję z urządzeniami Watch OS. Mogą również tworzyć nowe przypadki użycia i motywować więcej programistów do tworzenia natywnych aplikacji dla platformy.
Nowa architektura WatchOS
Zmiany w WatchOS 2 nie są głębokie. Apple przerobił architekturę WatchOS, ale dobrą wiadomością jest to, że zmiany nie powinny stwarzać wielu problemów programistom.
W pierwszym wcieleniu WatchOS rozszerzenie WatchKit działało na iPhonie użytkownika, ale w WatchOS 2 działa na Apple Watch. Apple twierdzi, że przeniesienie rozszerzenia na zegarek sprawia, że komunikacja między aplikacją Watch a rozszerzeniem jest „znacznie szybsza” i pozwala aplikacji działać, gdy iPhone użytkownika jest niedostępny. Pamiętasz ten bezprzewodowy dostęp do Wi-Fi, o którym wspomniałem wcześniej? Cóż, to jedna z rzeczy, które to umożliwiają. Jest to również ważne dla rozszerzonej funkcjonalności komplikacji.
Przeniesienie rozszerzenia WatchKit na Apple Watch nie wpływa na jego funkcjonalność. Apple zauważa, że „podział pracy” między aplikacją Watch a rozszerzeniem WatchKit pozostaje niezmieniony w WatchOS 2.
Aplikacja nadal zawiera scenorysy, które definiują ekrany używane przez aplikację do prezentowania informacji, podczas gdy rozszerzenie WatchKit używa podklas WKInterfaceController
do zarządzania tymi ekranami. Wszystkie interakcje są nadal obsługiwane przez framework WatchKit.
Apple wskazuje, że w większości przypadków istniejący kod rozszerzenia WatchKit powinien działać w WatchOS 2. Jednak decyzja o przeniesieniu rozszerzeń WatchKit do zegarka zmieni sposób projektowania aplikacji. Rozszerzenia będą implementowane przy użyciu frameworków WatchOS SDK zamiast iOS SDK. Jednak w przypadku funkcji nieobsługiwanych w ramach WatchOS programiści nadal będą musieli polegać na aplikacji na iOS. Oznacza to również, że dane są zwykle przechowywane na zegarku Apple, ale jeśli aplikacja potrzebuje danych z aplikacji towarzyszącej na urządzeniu z systemem iOS, pobierze je bezprzewodowo i prześle do zegarka Apple Watch. Deweloperzy nie będą mogli używać wspólnego kontenera grupy do wymiany plików z aplikacją na iOS.
Migracja do WatchOS 2
Warto również zauważyć, że programiści nie muszą jeszcze migrować do WatchOS 2, chociaż Apple wskazuje, że wiele funkcji nie będzie dostępnych, jeśli programiści uznają, że nie jest to warte zachodu. Niektóre zmiany architektoniczne, opisane powyżej, mogą być konieczne, ale praca może się zwrócić w niektórych scenariuszach.
Apple wskazuje trzy podstawowe pytania, które programiści muszą zadać, zanim zdecydują, czy migracja istniejącej aplikacji do WatchOS 2 jest warta zachodu.
- Czy programista musi obsługiwać wcześniejsze wersje Apple Watch?
- Czy aplikacja w dużym stopniu opiera się na technologiach iCloud?
- Czy aplikacja zegarka opiera się na danych z towarzyszącej aplikacji na iOS?
Możliwe jest dostarczenie aplikacji Apple Watch w dwóch wersjach, dla WatchOS 1 i WatchOS 2, przy użyciu tego samego pakietu aplikacji na iOS. W wyniku zmian architektonicznych aplikacja WatchOS 2 musi zostać ponownie skompilowana do osobnego pliku wykonywalnego. Apple zauważa, że udostępnianie kodu może wymagać więcej wysiłku i wprowadzać większą złożoność niż posiadanie dwóch całkowicie oddzielnych aplikacji.
Ponieważ rozszerzenie WatchKit w WatchOS 2 działa na Apple Watch, nie ma już bezpośredniego dostępu do technologii iCloud. Wszystkie operacje związane z iCloud muszą być wykonywane przez aplikację towarzyszącą iOS. Dane są następnie przesyłane bezprzewodowo do rozszerzenia WatchKit, więc programiści prawdopodobnie będą musieli zmienić sposób zarządzania danymi i ich synchronizowania między dwoma urządzeniami.
Ze względu na nową architekturę zmieniono również komunikację z aplikacją towarzyszącą iOS. W przypadku, gdy aplikacja potrzebuje danych z aplikacji iOS, programiści muszą jawnie przenieść niezbędne pliki z urządzenia iOS na urządzenie WatchOS. Dane muszą być zarządzane lokalnie w obu lokalizacjach, a programiści muszą pamiętać, że dane na Apple Watch nie są automatycznie tworzone. Aby utworzyć kopię zapasową, należy go odesłać do urządzenia z systemem iOS.
Zakończyć
W kilku postach omówiliśmy iOS 9, więc tym razem postanowiłem skupić się na nowych możliwościach wielozadaniowości i wersji beta. Uważam, że aspekt wielozadaniowości jest interesujący ze względu na decyzję Apple o wprowadzeniu na rynek iPada Pro, który zbiera świetne recenzje.
W przeciwieństwie do iPada i iPada mini, wersja Pro jest bardziej ambitna. Jest przeznaczony do konsumpcji treści i tworzenia treści, podczas gdy stare dobre iPady o przekątnej 9,7 cala i 7,9 cala służą głównie do korzystania z treści. Ulepszona wielozadaniowość ma kluczowe znaczenie dla produktu o „profesjonalnych” aspiracjach. Nie potrzebujesz świetnej obsługi wielozadaniowości podczas przeglądania IMDB lub grania okazjonalnie w grę, ale jeśli potrzebujesz edytować kilka dokumentów, poprawiać kilka szkiców i Skype w tym samym czasie, obsługa wielozadaniowości na najwyższym poziomie jest koniecznością.
Dzięki iPadowi Pro firma Apple chce wykroić nową niszę dla systemu iOS. System operacyjny jest wystarczająco dojrzały, aby można go było wykorzystać w biznesie, a dzięki nowemu procesorowi A9X opartemu na architekturze ARM firma Apple ma do tego potężną platformę sprzętową. Oczywiście Apple nie jest w tej przestrzeni osamotniony i można argumentować, że iPad Pro został „zainspirowany” tabletem Microsoft Surface Pro. Apple zdecydowało się użyć swojego mobilnego systemu operacyjnego dla iPada Pro, pozostawiając OS X zarezerwowany dla MacBooków. Microsoft porzucił Windows RT (Windows dla ARM) i odszedł od procesorów ARM.
Jednak najnowsze 14-nanometrowe procesory Intel Core M i Cherry Trail są niezwykle energooszczędne i miałem okazję wypróbować je w kilku systemach Windows klasy podstawowej i średniej (od 150 do 500 USD). Mogę tylko powiedzieć: nie lekceważ ich . Nowy sprzęt Intela jest znakomity, Windows 10 to mieszana torba (przynajmniej moim zdaniem), ale ceny będą niezwykle konkurencyjne.
Jeśli chodzi o WatchOS 2, jest to nieco większa aktualizacja w porównaniu do iOS 9.x. Jestem jednak zaskoczony decyzją Apple o przeprojektowaniu podstawowej architektury stojącej za nią na tak wczesnym etapie gry. Apple Watch był w pracach od dłuższego czasu i został pokonany na rynku przez zegarki Android Wear o kilka kwartałów.
Właściwie nie spodziewałem się zmian architektonicznych w drugiej iteracji ubieralnego systemu operacyjnego Apple. Może mam nierealistyczne oczekiwania, ale kiedy gigant technologiczny o wartości 600 miliardów dolarów wypuszcza na rynek produkt kilka miesięcy po swoich rywalach, nie spodziewam się, że powróci on do deski kreślarskiej kilka miesięcy później. Bezprzewodowe Wi-Fi, rozszerzenie WatchKit działające na Apple Watch? Mogli i powinni byli zostać uwzględnieni w WatchOS 1.
Być może dlatego wiele aplikacji innych firm nie działało dobrze po uruchomieniu Apple Watch.