För att göra detta måste du skapa en tom mapp med namnet ”AppleInternal” i rotkatalogen. Kör bara det här kommandot nedan och starta om Simulator:
sudo mkdir /AppleInternal
Det nya menyalternativet bör dyka upp. ☝️
Note: Jag har testat detta tillvägagångssätt på Simulator från Xcode 9b3. Om du inte har den kan du ladda ner senaste Xcode här.
#2 Öppna flera simulatorer samtidigt
Kommer du ihåg frustrationen när du testade din app på olika simulatorer? Tidigare var du tvungen att öppna endast en simulatorinstans åt gången. Det fanns många ”hack” hur man kunde öppna flera instanser av iOS-simulatorn i en äldre version av Xcode. Men äntligen är den här funktionen tillgänglig med Xcode 9.
#3 Ändra storleken på simulatorn precis som ett vanligt fönster
För Xcode 9 hade vi ”Skalalternativ” endast för att justera simulatorns fönsterstorlek. Nu har Apple äntligen gjort det möjligt att ändra storleken på simulatorns fönster. Det är en användbar liten detalj som kan hjälpa dig att organisera arbetsytan effektivt om du har flera simulatorer öppna.
#4 Spela in video av simulator
I det officiella dokumentet ”What’s new” för Xcode 9 hävdar Apple att det nu går att spela in en video av simulatorns skärm. Det är inte helt sant. Du kan göra det även i de äldre versionerna med simctl
. Jag hittade dock inga bevis för att du kan aktivera videoinspelning från gränssnittet (förutom den inbyggda skärminspelningen i iOS 11).
För att få fram videofilen utför du följande kommando:
xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>
booted
– innebär att simctl
väljer den för närvarande uppstartade simulatorn. Om du har mer än en uppstartad simulator väljer simctl
den för närvarande aktiva instansen.
#5 Dela filer till simulatorn direkt från Finder
Nu har Simulator Finder-tillägget som gör det möjligt att dela filer direkt från Finder-fönstret.
Du kan göra något liknande med bild-/videofiler med hjälp av kommandot simctl
nedan:
xcrun simctl addmedia booted <PATH TO MEDIA FILE>
Det är trevligt att ha sådana möjligheter. Men att dra&släppa filen till simulatorns fönster verkar mycket snabbare för mig.
#6 Öppna webbadresser i simulatorn
Den här kommer också med simctl
. Så du kan öppna anpassade URL-scheman på äldre Simulatorer också.
Uppför kommandot nedan med den URL du behöver:
xcrun simctl openurl booted <URL>
För en lista över alla Apples URL-scheman, se dokumentationen.
#7 Hitta snabbt appens behållarmapp
Ett till kommando från simctl
. Du kan hitta appens behållare i filsystemet med ett enda kommando. Du behöver bara känna till appens bundle-identifierare och utföra kommandot nedan:
xcrun simctl get_app_container booted <APP'S BUNDLE ID>
Och du kan göra det ännu snabbare genom att öppna målmappen i Finder med kommandot open
:
open `xcrun simctl get_app_container booted <APP'S BUNDLE ID>` -a Finder
#8 Starta appen i simulatorn med kommandoradsargument
Med simctl
kan du också starta appen från terminalen och skicka några kommandoradsargument dit (du kan till och med ställa in några miljövariabler). Det kan vara till hjälp om du vill lägga till ett dolt felsökningsbeteende i din app.
Kommandot nedan hjälper dig med det:
xcrun simctl launch --console booted <BUNDLE ID> <YOUR ARGUMENTS>
Dessa kommandoradsargument kan du hämta från CommandLine.arguments
(här är länken till dokumentationen).
#9 Få fullständig information om applikationen med Bundle ID
I vissa fall är det användbart att ta reda på var din app-fil eller temporära data finns i filsystemet. Om du behöver mer omfattande information än vad simctl get_app_container
kan ge. simctl
har också det här trevliga lilla verktyget som heter appinfo
som visar dig information i följande format:
{ 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 = ( ); }
Exekvera kommandot nedan och utforska resultatet:
xcrun simctl appinfo booted <BUNDLE ID>
En sista sak…
iOS Simulator är ett mycket kraftfullt verktyg som kan snabba upp din utvecklingsprocess rejält. Men bara om du känner till alla små detaljer och knep. Och självklart måste du som en bra ingenjör känna till dina verktyg.
Här på Flawless är iOS Simulator extremt viktigt för oss. Vår produkt är ett iOS Simulator-plugin som gör det möjligt för ingenjörer att inspektera vilken design som helst ovanpå implementeringen direkt i Simulator. Så jag kan inte ens säga hur glad jag är över den nya versionen av Xcode 9 och Simulator. Jag kan inte vänta på den offentliga versionen! Så att vi kan implementera fler användbara funktioner för att hålla en visuell kvalitet på iOS-appar i god form.