iOS Simulator Tips og triks

Dette raske tipset vil introdusere deg til noen av de kraftige funksjonene som er tilgjengelige for testing og feilsøking av apper med Xcode og iOS-simulatoren.


Tips nr. 1: Gå hvor som helst med egendefinerte koordinater

I årevis har utviklere kjempet med feilsøking av CoreLocation-baserte applikasjoner i simulatoren på grunn av mangel på innebygd simulatorstøtte for tilpassede koordinater. Selv om prosjekter som FTLocationSimulator var en stor hjelp, ble mange av oss fortsatt avvigende Android-utviklere som enkelt kunne angi plasseringen av Android-simulatoren ved hjelp av de medfølgende DDMS-verktøyene.

Heldigvis har de dagene av rolig misunnelse vært borte i en stund. Med utgivelsen av Xcode 4.2 var iOS Developers i stand til å simulere en standard enhetsplassering for en rekke verdensomspennende byer. Denne tilnærmingen eksisterer fortsatt, og kan gjøres ved å velge "Rediger skjema":

Og deretter navigere til "Alternativer" -fanen i popup-vinduet:

Imidlertid har nyere versjoner av iOS Simulator gjort det enda enklere å endre den simulerte plasseringen, og du kan nå oppnå dette i kjøretid.

Etter at du har startet simulatoren, velger du Feilsøking> Beliggenhet vil produsere følgende menyalternativer:

Som du kan se, kan du nå enkelt sette dine egne koordinater ved hjelp av alternativet "Egendefinert plassering":

Selvfølgelig krever dette at du faktisk vet nøyaktig koordinatene til stedet du vil simulere, og ikke bare gateadressen. Prosessen med å generere breddegrad og lengdegradskoordinater fra en adresse refereres til som geokoding, og det finnes en rekke gratis nettsteder og iOS-apper som vil generere koordinater fra en gateadresse for deg. Den gratis IOS App Geocode Noe samt webområdet geocoder.us er begge verdt å nevne, og denne geocoder mashupen er en rask og enkel måte å trekke koordinater direkte fra Google Maps til..

Simulatoren kommer også med en rekke forhåndsdefinerte steder og stier du kan bruke til å teste dine egne applikasjoner. En kort beskrivelse av hver er gitt nedenfor.

Apple hovedkontor

Hvis du velger "Apple" fra lokaliseringsmenyen, blir den nåværende plasseringen til Apple HQ på 1 Infinite Loop, Cupertino, CA. For brukere av tidligere versjoner av Xcode, gjenkjenner du dette som den eneste plasseringen som støttes av Simulatoren.

By Sykkelritt

Hvis du velger alternativet "City Bicycle Ride", vil CoreLocation-rammen begynne å generere koordinater som følger en forhåndsinnstilt bane nær Apple HQ. Sykkelalternativet vil føre til at oppdateringer oppstår med en hastighet på omtrent 5 - 7 meter per sekund.

City Run

Alternativet "City Run" er akkurat som "City Bicycle Ride" -innstillingen, med unntak av at oppdateringer oppstår med en sporingshastighetsinnstilling på omtrent 3 - 4 meter per sekund.

Freeway Drive

Alternativet "Freeway Drive" er forskjellig fra de to foregående i både sti og hastighet i meter per sekund. Banen beveger seg langs Junipero Serra Freeway like nord for Apple HQ, og hastigheten ser vanligvis ut til å være mellom 20 og 35 meter per sekund.

Apple Stores

I teorien bør dette alternativet generere koordinater knyttet til Apple Store-steder. Men med iOS 6.0 Simulator og Xcode 4.5 synes dette alternativet å være dårlig ødelagt. I min erfaring med å teste dette, synes koordinatene alltid å begynne rundt ca. 33.7718 N, 112.9031 W, og deretter øke gradvis i både nord- og vest-avlesningene, og flytter nåværende sted på en diagonalbane til ingensteds. Jeg har sendt dette som en feilrapport til Apple, så hvis andre opplever det samme problemet, forhåpentligvis vil det bli løst snart!

Fordi Apple Maps-appen kan kjøre i simulatoren, er det enkelt å teste ut noen av alternativene ovenfor. Bare start iOS-simulatoren som du normalt ville, sett din simulerte plassering, og start deretter kartprogrammet.

Med iOS 6 SDK kan du nå kjøre programmer som bruker Maps direkte i simulatoren!


Tips nr. 2: Bend tid med Slow Motion

En annen flott funksjon av iOS Simulator er muligheten til å plassere animasjoner i slowmotion med Feilsøking> Slå langsomme animasjoner menyalternativ.

Å gjøre det kan være svært nyttig når du prøver å lage en tilpasset UIKit-animasjon og må sørge for at hver ramme ser akkurat ut.

Kanskje en mer praktisk bruk av denne funksjonen er å redusere animasjonene som oppstår når du roterer enheten for å polere orienteringsendringsanimasjonene (se Session 517 fra WWDC 2012 for mer informasjon om hvordan du kan polere orienteringsanimasjoner).


Tips nr. 3: Dynamisk fargevisninger

De Debug menyalternativet gir også den utrolig nyttige muligheten til å fargere visninger i sanntid:

Du kan bruke disse alternativene til å visuelt identifisere blandede lag, kopierte bilder, feiljusterte bilder og visninger som er gjengitt offscreen.

Dette er en nyttig funksjon for feilsøking av egne applikasjoner, og det kan også være innsiktsfullt for å undersøke standardprogrammene på simulatoren. Følgende skjermbilde viser Maps-appen og Passbook-appen med alternativet "Color Blended Layers" valgt:


Tips nr. 4: Simuler maskinvare- / programvarehendelser

Mens ingenting vil erstatte opplevelsen av å teste applikasjoner på ekte maskinvare, har simulatoren kommet langt i de siste årene med real-world event emulering. Faktisk er det mulig at noen hendelser, som å bytte en statuslinje "i samtale" eller generere minneadvarsler, er enklere å feilsøke i simulatoren enn med en faktisk enhet.


SIMULERT LÅSKERM

En titt på maskinvare menyen vil avsløre følgende arrangement alternativer:

  • Rotér mot venstre
  • Roter til høyre
  • Shake Gesture
  • Startknapp Trykk
  • Lås skjermen Trykk
  • Simuler minnevarsling
  • Slå på statuslinjen for samtale
  • Simuler maskinvare tastatur
  • TV-utgang

De fleste av disse er selvforklarende, men noen fortjener ytterligere notat.

Alternativet "Simuler maskinvare-tastatur" er hovedsakelig for feilsøking av iPad-applikasjoner der brukeren sannsynligvis vil ha et fysisk tastatur koblet via Bluetooth eller dockekontakten. Testing med maskinvare tastaturet alternativet bør være en viktig del av iPad app beta test.

Med "TV-ut" -alternativet kan du simulere VGA / HDMI-tilkoblinger ved å lage et nytt vindu som kan ha en oppløsning så lav som 640x480 eller så høyt som 1920x1080 (dvs. 1080p).


Tips nr. 5: Legge til simulatorbilder

Den enkleste måten å legge til bilder på iOS-simulatoren, er å dra og slippe dem enkeltvis fra OS X Finder-vinduet til simulatorvinduet.

Men hvis du trenger å legge til mange forskjellige bilder for testing, blir denne prosessen raskt ineffektiv. Når du trenger å legge til mange bilder samtidig, kan du vurdere å skrive et enkelt iOS-program som kan gå gjennom bildelisten og legge til hvert bilde i fotobiblioteket med UIImageWriteToSavedPhotosAlbum funksjon. For å se hvordan dette er gjort, ta en titt på Trinn 6 i Min Build a Photo App med GPUImage opplæring.

En annen tilnærming ville være å legge til bildefiler direkte i Simulator-filsystemet, men trinnene for å oppnå dette synes å endres med hver ny versjon av iOS. Å bygge din egen importør kan være en mer pålitelig tilnærming på lang sikt (vite om en bedre måte å oppnå dette på? Legg igjen en kommentar nedenfor!).


Bonus: Last ned 5.0 / 5.1-simulatorene

For mine egne iOS-programmer prøver jeg alltid å distribuere for både den nåværende versjonen av IOS og en tidligere versjon. Som standard inneholder Xcode imidlertid bare en simulator for gjeldende iOS-versjon. Heldigvis er det en enkel metode for å få simulatoren til den forrige iOS-versjonen også.

Med Xcode åpen, velg Xcode> Innstillinger fra menylinjen, og naviger deretter til "Nedlastinger" -fanen. Herfra har du muligheten til å installere tidligere iOS-simulatorer samt kommandolinjeverktøy-pakken. Jeg anbefaler å installere alle tre alternativene som vises:

Etter at installasjonen er fullført, kan du velge 5,0 / 5,1 iOS-simulatorene når du bygger og kjører programmene dine.


Hvordan bruker du simulatoren?

Hvilke tips eller triks har du for å jobbe med iOS-simulatoren? Legg igjen din tilbakemelding i kommentarfeltet nedenfor!