iOS Simulator is een integraal onderdeel van elk iOS ontwikkelingsproces. We kunnen het gewoon niet negeren. De nieuwe Simulator van Xcode 9 brengt een hoop handige trucs, die je nog productiever kunnen maken. Eindelijk, Apple herinnerde zich dat ze Simulator hebben! Vergeleken met eerdere bescheiden updates, lijkt dit een grote deal. 🙌

Dus laten we dit afbreken en een lijst maken van alle functies die ik vond in de nieuwe iOS simulator (sommige trucs kun je ook gebruiken in de oude Simulators).

#1 Simulator gebruiken in full-screen mode met Xcode

Wanneer je 13″ scherm hebt is de full-screen mode voor Xcode gewoon een levens redder. Helaas kon je voorheen de Simulator niet gebruiken met Xcode in de volledig scherm modus. Nu kan dat wel 😎

Volledig-scherm-modus met Xcode 9 en iOS Simulator

Deze functie is standaard ingeschakeld vanaf Xcode 9b3. Je hoeft dus niets te doen om het te laten werken.

UPD: Het bleek dat deze functie voor sommige mensen standaard is uitgeschakeld, maar maak je geen zorgen, je kunt het altijd inschakelen via het Apple Internal menu zoals ik verder heb beschreven.

Als je meer geheime functies in de nieuwe Simulator wilt ontdekken moet je het verborgen Apple Internals menu inschakelen.

Om dit te doen moet je een lege map maken met de naam “AppleInternal” in de root directory. Voer het onderstaande commando uit en herstart Simulator:

sudo mkdir /AppleInternal

Het nieuwe menu item zou moeten verschijnen. ☝️

Note:
Ik heb deze aanpak getest op Simulator van Xcode 9b3. Als u die niet hebt, kunt u hier de nieuwste Xcode downloaden.

#2 Open meerdere simulators tegelijk

Herinnert u zich de frustratie van het testen van uw app op verschillende simulators? Voorheen was je gedwongen om slechts een simulator instantie tegelijk te openen. Er waren veel “hacks” hoe je meerdere instanties van iOS simulator in een oudere versie van Xcode kon openen. Maar met Xcode 9 is deze functie eindelijk beschikbaar.

#3 Simulator vergroten of verkleinen net als een gewoon venster

Voor Xcode 9 hadden we alleen “Schaal opties” om de grootte van het simulator venster aan te passen. Nu heeft Apple eindelijk de grootte van het venster van de simulator beschikbaar gemaakt. Dit is een handig detail dat je kan helpen om je werkruimte efficiënt in te delen als je meerdere simulators hebt geopend.

#4 Video opnemen van simulator

In het officiële “Wat is er nieuw” document voor Xcode 9, beweert Apple dat je nu een video van het scherm van de simulator kunt opnemen. Dat is niet helemaal waar. Je kunt het zelfs in de oudere versies doen met simctl. Ik heb echter geen bewijs gevonden dat je video-opname vanuit de interface kunt inschakelen (behalve de ingebouwde schermopname in iOS 11).

Om je videobestand te krijgen, voer je het volgende commando uit:

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

booted – betekent, dat simctl de momenteel opgestarte simulator selecteert. In het geval dat u meer dan een Simulator heeft, selecteert simctl de huidige actieve instantie.

#5 Deel bestanden naar Simulator direct vanuit de Finder

Nu heeft Simulator een Finder extensie waarmee u bestanden direct vanuit het Finder venster kunt delen.

Je kunt iets soortgelijks doen met afbeeldingen/video bestanden met het simctl commando hieronder:

xcrun simctl addmedia booted <PATH TO MEDIA FILE>

Het is leuk om zulke mogelijkheden te hebben. Echter, drag&drop het bestand naar het Simulator venster lijkt mij veel sneller.

#6 Open URLs op Simulator

Deze komt ook met simctl. U kunt dus ook op oudere simulators aangepaste URL-schema’s openen.

Voer het onderstaande commando uit met de URL die u nodig hebt:

xcrun simctl openurl booted <URL>

Voor een lijst met alle URL-schema’s van Apple, zie de documentatie.

#7 Vind snel de app-containermap

Nog een commando van simctl. U kunt app’s container op het bestandssysteem krijgen met een enkel commando. U hoeft alleen de bundel identifier van de app te weten en het onderstaande commando uit te voeren:

xcrun simctl get_app_container booted <APP'S BUNDLE ID>

Of u kunt het nog sneller maken door de doelmap in de Finder te openen met het open commando:

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

#8 Start uw app in de Simulator met command line args

Met simctl kunt u uw app ook vanaf terminal starten en daar een aantal command line argumenten doorgeven (u kunt zelfs een aantal omgevingsvariabelen instellen). Dit kan handig zijn als u verborgen debuggedrag aan uw app wilt toevoegen.

Het onderstaande commando helpt u daarbij:

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

U kunt deze commandoregelargumenten uit CommandLine.arguments halen (hier is de link naar de documentatie).

#9 Verkrijg volledige applicatie-info met bundel-ID

Soms is het handig om te weten waar uw app-bestand of tijdelijke gegevens zich op het bestandssysteem bevinden. Als u meer uitgebreide informatie nodig hebt dan simctl get_app_container kan geven. simctl heeft ook dit leuke kleine hulpprogramma genaamd appinfo dat u wat informatie zal laten zien in het volgende formaat:

{
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 = (
);
}

Voer het onderstaande commando uit en bekijk de uitvoer:

xcrun simctl appinfo booted <BUNDLE ID>

Een laatste ding …

iOS Simulator is een zeer krachtig hulpmiddel dat uw ontwikkelingsproces een stuk kan versnellen. Maar alleen als je alle kleine details en trucs kent. En natuurlijk, als een goede ingenieur, moet je je tools kennen.

Hier bij Flawless, iOS Simulator is uiterst belangrijk voor ons. Ons product is een iOS Simulator plugin die engineers in staat stelt om elk ontwerp te inspecteren bovenop de implementatie, direct in Simulator. Dus ik kan je niet eens vertellen hoe blij ik ben met deze nieuwe Xcode 9 en Simulator release. Ik kan niet wachten op de publieke versie! Zodat we meer nuttige functies kunnen implementeren om de visuele kwaliteit van iOS apps in een goede vorm te houden.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.