iOS Simulator jest integralną częścią każdego procesu rozwoju iOS. Po prostu nie możemy go zignorować. Nowy Simulator z Xcode 9 przynosi wiele przydatnych sztuczek, które mogą sprawić, że będziesz jeszcze bardziej produktywny. W końcu Apple przypomniało sobie, że mają tam symulator! Porównując do poprzednich skromnych aktualizacji, ta wydaje się być sporym wydarzeniem. 🙌

Więc rozbijmy to i wymieńmy wszystkie funkcje, które znalazłem w nowym symulatorze iOS (niektóre sztuczki można wykorzystać w starych symulatorach, jak również).

#1 Użyj symulatora w trybie pełnoekranowym z Xcode

Gdy masz 13″ ekran tryb pełnoekranowy dla Xcode jest po prostu ratunkiem. Niestety, nie można było używać Simulatora z Xcode w trybie pełnoekranowym wcześniej. Cóż, teraz możesz 😎

Tryb pełnoekranowy z Xcode 9 i iOS Simulator

Ta funkcja jest domyślnie włączona, począwszy od Xcode 9b3. Więc nawet nie musisz nic robić, aby to zadziałało.

UPD: Okazało się, że ta funkcja jest domyślnie wyłączona dla niektórych osób, ale nie martw się, zawsze możesz ją włączyć poprzez menu Apple Internal jak opisałem dalej.

Jeśli chcesz poznać więcej sekretnych funkcji w nowym Simulatorze, powinieneś włączyć ukryte menu Apple Internals.

Aby to zrobić, musisz utworzyć pusty folder o nazwie „AppleInternal” w katalogu głównym. Wystarczy uruchomić poniższe polecenie i zrestartować Simulator:

sudo mkdir /AppleInternal

Nowa pozycja w menu powinna się pojawić. ☝️

Uwaga:
Testowałem to podejście na Symulatorze z Xcode 9b3. Jeśli go nie masz, pobierz najnowszy Xcode tutaj.

#2 Otwórz wiele symulatorów jednocześnie

Czy pamiętasz frustrację związaną z testowaniem swojej aplikacji na różnych symulatorach? Wcześniej byłeś zmuszony do otwierania tylko jednej instancji symulatora w danym momencie. Istniało wiele „hacków”, jak otworzyć wiele instancji symulatora iOS w starszej wersji Xcode. Ale w końcu, z Xcode 9 ta funkcja jest dostępna po wyjęciu z pudełka.

#3 Zmień rozmiar symulatora tak jak zwykłe okno

Przed Xcode 9 mieliśmy „Opcje skalowania” tylko po to, aby dostosować rozmiar okna symulatora. Teraz Apple wreszcie udostępniło możliwość zmiany rozmiaru okna symulatora. Jest to przydatny mały szczegół, który może pomóc w efektywnej organizacji przestrzeni roboczej, jeśli masz otwartych wiele symulatorów.

#4 Nagrywanie wideo symulatora

W oficjalnym dokumencie „Co nowego” dla Xcode 9, Apple twierdzi, że teraz można nagrać wideo ekranu symulatora. Nie jest to do końca prawda. Możesz to zrobić nawet w starszych wersjach z simctl. Nie znalazłem jednak żadnych dowodów na to, że można włączyć nagrywanie wideo z interfejsu (z wyjątkiem wbudowanego nagrywania ekranu w iOS 11).

Aby uzyskać plik wideo, wykonaj następujące polecenie:

xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>

booted – oznacza, że simctl wybiera aktualnie uruchomiony symulator. W przypadku, gdy masz więcej niż jeden uruchomiony Simulator, simctl wybiera aktualnie aktywną instancję.

#5 Udostępnianie plików do Simulatora bezpośrednio z Findera

Teraz Simulator posiada rozszerzenie Findera, które pozwala na udostępnianie plików bezpośrednio z okna Findera.

Możesz zrobić coś podobnego z plikami image/video używając poniższej komendy simctl:

xcrun simctl addmedia booted <PATH TO MEDIA FILE>

Miło jest mieć takie możliwości. Jednak przeciągnij&drop plik do okna Symulatora wydaje mi się znacznie szybsze.

#6 Otwórz adresy URL na Symulatorze

Ten jest również dostarczany z simctl. Możesz więc otwierać niestandardowe schematy URL także na starszych symulatorach.

Wykonaj poniższe polecenie z dowolnym adresem URL, którego potrzebujesz:

xcrun simctl openurl booted <URL>

Dla listy wszystkich schematów URL Apple’a sprawdź dokumentację.

#7 Szybko znajdź folder kontenera aplikacji

Jeszcze jedno polecenie z simctl. Możesz uzyskać kontener aplikacji w systemie plików za pomocą jednej komendy. Wystarczy znać identyfikator pakietu aplikacji i wykonać poniższe polecenie:

xcrun simctl get_app_container booted <APP'S BUNDLE ID>

Albo można to zrobić jeszcze szybciej, otwierając folder docelowy w Finderze poleceniem open:

open `xcrun simctl get_app_container booted <APP'S BUNDLE ID>` -a Finder

#8 Uruchamianie aplikacji w symulatorze za pomocą argumentów z wiersza poleceń

Z pomocą simctl można również uruchamiać aplikację z terminala i przekazywać tam pewne argumenty z wiersza poleceń (można nawet ustawić pewne zmienne środowiskowe). Może to być pomocne, jeśli chcesz dodać jakieś ukryte zachowanie tylko do debugowania do swojej aplikacji.

Pomogą ci w tym poniższe polecenia:

xcrun simctl launch --console booted <BUNDLE ID> <YOUR ARGUMENTS>

Możesz uzyskać te argumenty wiersza poleceń z CommandLine.arguments (tutaj jest link do dokumentacji).

#9 Get full application info with Bundle ID

Czasami warto dowiedzieć się, gdzie w systemie plików znajduje się plik twojej aplikacji lub dane tymczasowe. Jeśli potrzebujesz bardziej wyczerpujących informacji niż te, które może dać simctl get_app_container. simctl ma również to miłe małe narzędzie o nazwie appinfo, które pokaże ci pewne informacje w następującym formacie:

{
ApplicationType = User;
Bundle = <PATH TO APP FILE>;
BundleContainer = <PATH TO FOLDER WITH APP FILE>;
CFBundleDisplayName = TestiOSApp;
CFBundleExecutable = TestiOSApp;
CFBundleIdentifier = "com.ahmed.app.TestiOSApp";
CFBundleName = TestiOSApp;
CFBundleVersion = 1;
DataContainer = <PATH TO YOUR DATA>;
GroupContainers = {
};
Path = <PATH TO APP FILE>;
SBAppTags = (
);
}

Wykonaj poniższe polecenie i sprawdź wynik:

xcrun simctl appinfo booted <BUNDLE ID>

Jeszcze jedna rzecz…

Symulator iOS jest bardzo potężnym narzędziem, które może bardzo przyspieszyć twój proces rozwoju. Ale tylko wtedy, gdy znasz wszystkie małe szczegóły i sztuczki. I oczywiście, jako dobry inżynier, musisz znać swoje narzędzia.

Tutaj w Flawless, iOS Simulator jest dla nas niezwykle ważny. Naszym produktem jest wtyczka do iOS Simulator, która pozwala inżynierom na sprawdzenie dowolnego projektu na górze implementacji bezpośrednio w Simulatorze. Więc nie mogę nawet powiedzieć, jak bardzo jestem zadowolony z tego nowego wydania Xcode 9 i Simulatora. Nie mogę się doczekać wersji publicznej! Więc możemy wdrożyć więcej przydatnych funkcji, aby utrzymać wizualną jakość aplikacji iOS w dobrej formie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.