Wróć do bloga

Uruchamianie aplikacji iOS na PC i Macu: co naprawdę działa

W Windows nie ma legalnego emulatora iOS dla zwykłych użytkowników. Porównanie trzech dróg: prawdziwe urządzenia iOS w chmurze, bezpośrednia instalacja na Macu z chipem Apple i symulator dołączony do Xcode, wraz z kryteriami wyboru według zastosowania.

Jeśli chcesz uruchamiać aplikacje iOS na komputerze, najpierw trzeba zaakceptować jedno założenie: w Windows nie ma legalnego, konsumenckiego emulatora iOS. Narzędzia takie jak BlueStacks emulują Androida, czyli zupełnie inny system niż iOS. Aplikacje iOS są tworzone z myślą o chipach ARM i mechanizmie podpisywania Apple, a nie istnieje obraz systemu, który można legalnie rozpowszechniać i który działałby bezpośrednio w Windows.

Realnie dostępne są trzy drogi, a ich zastosowania i ograniczenia bardzo się różnią.

Droga 1: prawdziwe urządzenia iOS w chmurze

Na platformach testowych w chmurze działają prawdziwe iPhone'y i iPady. Obsługujesz je w przeglądarce: instalacja kompilacji testowej i klikanie w celu weryfikacji odbywają się zdalnie. Tak działają usługi takie jak BrowserStack, Sauce Labs i AWS Device Farm, a niektóre platformy dla badaczy bezpieczeństwa oferują dostęp na niższym poziomie.

Zaletą jest bliskość prawdziwego urządzenia: możliwości sprzętowe i wersje systemu są autentyczne, co dobrze sprawdza się przy odtwarzaniu problemów produkcyjnych i weryfikacji zgodności. Ograniczenia są równie jasne: rozliczenie za użycie, sesje to współdzielone zasoby niszczone po zakończeniu, każda operacja ma opóźnienie sieciowe, a długotrwałe trzymanie takiego środowiska nie ma sensu. Urządzenia w chmurze to w dodatku cudze maszyny, więc dane testowe, dane logowania i zrzuty ekranu pozostają zdalnie - nie wysyłaj tam niczego wrażliwego.

Droga 2: Mac z chipem Apple

Maki z chipami serii M mogą instalować aplikacje iPhone'a i iPada bezpośrednio z App Store, o ile deweloper nie wyłączył tej opcji. To obecnie najmniej kłopotliwy sposób korzystania z aplikacji iOS na komputerze: po instalacji to po prostu okno, a wydajność jest niemal natywna.

Są dwa ograniczenia: wspierane są tylko Maki z chipem Apple, modele z Intelem nie; a możliwość instalacji zależy od przełącznika dewelopera - sporo aplikacji samo zrezygnowało z dystrybucji na macOS. Po instalacji pozostaje też różnica w doświadczeniu: aplikacje iOS są projektowane pod dotyk palca, więc mysz i klawiatura w niektórych interakcjach wypadają nieporęcznie, a obracanie ekranu i funkcje zależne od żyroskopu nie zawsze działają gładko.

Droga 3: symulator dołączony do narzędzi deweloperskich

iOS Simulator instalowany razem z Xcode działa na macOS i jest narzędziem do tworzenia oraz debugowania: potrzebujesz kodu źródłowego albo gotowej kompilacji, a on emuluje środowisko uruchomieniowe iOS, a nie prawdziwe urządzenie. Kamera, czujniki, powiadomienia push i inne obszary silnie związane ze sprzętem nie są odtwarzane w pełni. Jeśli chcesz instalować aplikacje ze sklepu, ta droga jest zamknięta - nigdy nie była do tego projektowana. Jej zaletą jest możliwość trzymania kilku wersji iOS naraz i sprawdzania, jak zmiana zachowuje się w różnych systemach, co jest znacznie mniej uciążliwe niż ciągłe przeinstalowywanie fizycznego urządzenia.

Na czym naprawdę polegają różnice

Porównanie zastosowań i ograniczeń: prawdziwe urządzenia iOS w chmurze, Maki z chipem Apple i Xcode Simulator

W zgodności najbliżej prawdziwego urządzenia są urządzenia w chmurze, następnie natywne uruchomienie na chipie Apple, a Simulator najsłabiej wspiera możliwości związane ze sprzętem.

W wydajności chmura zależy od sieci, rozwiązania lokalne od samej maszyny, a natywne uruchomienie na chipie Apple jest najefektywniejsze.

W kwestii ryzyka konta obowiązuje twarda zasada: nie wpisuj Apple ID i hasła w podejrzany, rzekomy emulator iOS - większość takich narzędzi nie potrafi uruchomić iOS, a strona istnieje po to, by zbierać konta. Nie loguj się też swoim głównym kontem we współdzielonej sesji w chmurze, bo samo udostępnianie konta narusza regulamin Apple, a odzyskanie zablokowanego konta jest sporym kłopotem. Do testów używaj konta utworzonego specjalnie w tym celu i po zakończeniu je porzuć.

W kwestii zgodności z prawem umowa licencyjna Apple nie pozwala uruchamiać macOS i iOS na sprzęcie innym niż Apple. Każdy produkt konsumencki twierdzący, że emuluje iOS w Windows, jest albo nakładką na Androida, albo ma inny cel.

Wybór drogi według zastosowania

Do tworzenia i debugowania: codzienne zmiany obsłuż lokalnie w Simulatorze Xcode, a wszystko, co dotyczy różnic sprzętowych i wersji systemu, dotestuj na urządzeniach w chmurze.

Jeśli chcesz po prostu używać konkretnej aplikacji na komputerze: najpierw sprawdź, czy producent oferuje wersję webową lub klienta desktopowego; jeśli nie, najbardziej realnym rozwiązaniem jest Mac z chipem Apple, a dalej wynajem urządzenia za użycie na platformie w chmurze. Szukanie emulatora tylko po to, by długo uruchamiać jedną aplikację iOS, rzadko się opłaca.

Można też pomyśleć o kosztach od drugiej strony: jeśli potrzebujesz tego kilka razy w roku, urządzenia w chmurze rozliczane za użycie są korzystniejsze i nie kupujesz maszyny dla jednej weryfikacji; jeśli potrzebujesz codziennie, natywna instalacja na Macu daje wyraźnie lepsze doświadczenie i stabilność.

W zespołach pojawia się jeszcze mniejszy problem: gdy kilku członków ma różne konta testowe i loguje się na zmianę na tej samej maszynie, pliki cookie i sesje łatwo się nawzajem nadpisują, powodując niewyjaśnione wylogowania. Danie każdemu kontu własnego, odizolowanego środowiska przeglądarki pozwala uniknąć takich zakłóceń, a właśnie taką izolację środowisk oferuje PurpleMark.