Å få fart på karrieren med Xcode 6

Getting deg oppdatert med Xcode 6
40
Del
8
Del
Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

Hver utgivelse av Xcode presenterer utviklere med forbedrede verktøy for å hjelpe å bygge sine apps. Årets utgivelse, Xcode 6, introduserer nye måter for utviklere å designe og bygge deres programvare. I denne opplæringen, vil jeg skissere de nye og forbedrede funksjoner i Xcode 6 og ta en titt på hvordan du kan bruke dem.

1. Lekeplasser

I løpet av årets WWDC lanserte Apple Swift, et nytt programmeringsspråk for utvikling av programvare for sine enheter. I tråd med dette, Xcode 6 kommer med en ny funksjon kalt Lekeplasser som gir en interaktiv arbeidsområde der utviklere kan skrive Swift kode og få leve tilbakemeldinger uten å måtte kjøre kode på en enhet eller simulator. Dette er et fint tillegg til Xcode som du nå kan eksperimentere med kode og få rask, sanntid resultater før innlemme det inn i hovedkodebasen.

2. Interface Builder

Et viktig tema på årets WWDC var å bygge adaptive applikasjoner. I stedet for å bygge applikasjoner som er rettet mot spesifikke skjermstørrelser, er utviklere oppfordres til å utvikle programmer som tilpasser seg enheten de kjører på, uavhengig av størrelsen på skjermen.

Dette er et trekk som startet et par utgivelser tilbake med Innføringen av Auto Layout i iOS 6, for å muliggjøre utviklere lage programmer som fungerer på både 3,5 "og 4,0" skjermer. Det har nå blitt ytterligere forbedret for å muliggjøre iOS utviklere å bygge applikasjoner som kjører på alle støttede iPhone, inkludert den nye 4.7 "iPhone 6 og 5,5" iPhone 6 Plus, og iPads bruker samme kodebase.

Interface Builder har gjennomgått store endringer som gjør det mulig å utvikle slike adaptive apps. Nye funksjoner er også lagt som forbedrer brukergrensesnittet designprosessen. Vi skal se på disse nye endringene neste.

størrelsesklasser

Størrelse klasser definere lerretet størrelsen som brukes i oppsett. De lar deg spesifisere hvordan programmets brukergrensesnitt endres når den tilgjengelige størrelsen på View Controller endringer. Dette gjør det mulig å ha en enhetlig storyboard når du bygger en universell applikasjon. Tidligere måtte du designe to separate storyboards, en for iPad og en for iPhone.

En størrelsesklasse identifiserer en relativ mengde vise plass for høyden (loddrett dimensjon) og bredde (horisontale dimensjonen). Det er for tiden to størrelsesklasser, kompakt Kjøpe og vanlig
. For eksempel vil en iPhone i stående har en kompakt bredde og vanlig høyde. En iPad vil ha en vanlig bredde og høyde i både stående og liggende retning.

Men du bør være oppmerksom på at en størrelsesklasse ikke nødvendigvis kart til én enhet i én retning. For eksempel kan en iPad ha en visning med en iPhone stil layout (en kompakt horisontal og en vanlig vertikal størrelsesklasse) når presentert på en mindre plass på enheten, og en iPad stil layout (en vanlig horisontal og en vanlig vertikal størrelsesklasse ) når den tilgjengelige plassen er større.

Du endrer størrelsesklasser ved å bruke størrelsesklasser
styrer nær verktøylinjen oppsettet nederst i Interface Builder lerretet. Interface Builder starter du ut i alle
bredde og alle
høyde størrelsesklasse hvor du kan legge ut vanlige bruker komponenter og begrensninger grensesnitt for de ulike skjermstørrelser og orienteringer. Du kan deretter oppdatere de delene som må endres når tilgjengelig skjermstørrelsen endres ved å gjøre endringer i brukergrensesnittet i de ulike størrelsesklasser.

Adaptive følge Typer

Xcode 6 introduserer adaptive naturlig overgang typer som er mer egnet for de nye adaptive oppsett siden de presenterer synspunkter forskjellig avhengig av miljøet de er kjørt i. For eksempel bruker Vis Detalj
med et Delt visning på en iPad vil erstatte Detail, men på en iPhone det kommer til å presse at Detail til side på Master. Noen av de gamle segues, for eksempel push og modal, er nå foreldet.

Live Rende

Interface Builder lerretet er mer interaktiv enn noen gang. Tidligere måtte du kjøre programmet for å se endringer knyttet til egendefinerte objekter, tilpassede skrifter og lokalisering. Nå kan du velge tilpassede skrifter fra Interface Builder font picker og ha dem dukke opp i Interface Builder lerretet.

Du kan også opprette egendefinerte objekter og få dem gjengi på Interface Builder lerretet. Du gjør dette ved å opprette en egendefinert rammeverk, og legger til egendefinerte klasse til det målet, og merking at klassen medIBDesignable flagg (IB_DESIGNABLE i Objective-C). Dette lar Interface Builder vet at en klasse kan vise tilpasset innhold på sitt lerret.

Annet enn å være i stand til å vise egendefinerte objekter i Interface Builder, kan du også markere eiendommer medIBInspectable flagg og ha dem vises i Interface Builder inspektør menyen, der de kan redigeres akkurat som alle andre eiendommer på dine synspunkter. Det er ikke et krav for en klasse som skal merkes designable for det å ha inspectable egenskaper.

Du kan også angi design tid bare kode. Du kan bruke denne, for eksempel for å forhåndsutfylle utsikten med eksempeldata for å få et mer nøyaktig følelse for grensesnittet. Du gjør dette ved å overstyre prepareForInterfaceBuilder metoden. Annet enn det, kan du bruke #if TARGET_INTERFACE_BUILDER å velge kode inn eller ut for å bli kjørt i finalen Interface Builder gjengivelse.

Forhåndsvisning Editor

Forhåndsvisning Editor nå lar deg vise flere forhåndsvisninger av forskjellig simulerte enheter ved siden av hverandre. Ikke bare kan du se hvordan din app ser på forskjellige enheter, men du kan også sette hver av enhetene til å være i enten stående eller liggende modus. Dette gir en rask måte å forhåndsvise app brukergrensesnitt på forskjellige enheter og orientering uten først å kjøre den.

3. Game Development

Apple lagt nye spillteknologi til Xcode 6 og iOS 8, nemlig SceneKit og Metal. SceneKit, som tidligere var tilgjengelig på OS X, er en 3D-scene renderer. Metal er et rammeverk som kan brukes til å lage svært optimalisert grafikk rendering og beregningsoppgaver takket være sin lave overhead tilgang til A7 og A8 GPU.

SpriteKit har også blitt forbedret med per-pixel fysikk okklusjon, fysikk felt, universale kinematikk og begrensninger, shaders, lightings og skygger.

En annen betydelig ny funksjon i SpriteKit er SpriteKit Level Editor
som lar deg visuelt sammen scener. Akkurat som du kan lage din brukergrensesnittet i Interface Builder uten å skrive kode, kan du gjøre det samme når du er i en SpriteKit spill med SpriteKit Level Editor.

4. OS X Development

Storyboards

Storyboards har nå blitt introdusert for OS X utvikling. Akkurat som i iOS utvikling, de lar deg sette opp dine visningslayout og wire visninger sammen med ulike følge animasjoner. I skrivende stund, noen funksjoner, inkludert storyboards, er fortsatt deaktivert i Xcode (6.0.1) for OS X utvikling i påvente av OS X Yosemite utgivelse.

Bevegelsesgjenkjennere

gest kjennerne er nå tilgjengelig i AppKit. Disse benyttes stort sett på samme måte som i iOS utvikling. Du kan se de tilgjengelige bevegelser i Object Library
i Interface Builder.

5. Lokalisering

lokalisering er gjort annerledes i Xcode 6 enn det var tidligere. Du kan nå eksportere alle dine localizable innhold i XLIFF, som er bransjestandarden som er forstått av en rekke oversettelsestjenester. Når du får oversettelsene tilbake, du importere dem og Xcode vil fusjonere det nye innholdet i prosjektet. Du bør ha ett XLIFF fil for hvert språk du støtte i programmet ditt.

Du kan nå forhåndsvise lokalisert innhold uten å endre enhetens eller simulator locale i Innstillinger
. For å gjøre dette, velger du Product > Ordningen > Edit Scheme
, velg Kjør Hotell og klikk på kategorien Alternativer
. Du kan velge språk for valg fra Søknad Språk
menyen. Xcode kommer med Double Lengde Pseudolanguage
at du kan teste med hvis du ikke har lagt til noe annet språk. Når du kjører programmet, skal du se lokalisert innhold.

Du kan også vise lokalisert innhold uten å kjøre programmet ditt. For å gjøre dette, bruker du Forhåndsvisning Editor
å bytte mellom de ulike språkene som programmet ditt støtter. Standardspråket vil vises i nederste høyre hjørne av redaktør og når du klikker på den, blir du presentert med en liste over de tilgjengelige språkene. For å teste den ut uten å legge et språk, kan du bruke dobbel lengde Pseudolanguage.

6. iOS Simulator

Oppkalt Devices

Xcode 6 presenterer nå heter simulatorer som svarer til bestemte enheter, for eksempel iPhone 5s, i stedet for de tidligere generiske navn, for eksempel 64-bit iPhone Retina.

Endre størrelse Simulator

Blant de enhetene du kan velge mellom er resizable iPhone og resizable iPad. Disse lar deg angi bredde, høyde, og størrelsesklasser av simulatoren. Med denne kan du teste adaptivitet av din app på alle Apples eksisterende enheter samt eventuelle fremtidige enheter, uten å måtte laste ned en simulator for hver enhet.

Simulator tilpassede konfigurasjoner

Med den nye iOS simulator, kan du holde data og konfigurasjonsinnstillinger gruppert sammen. Kjør en konfigurasjon for én versjon av en app med sine egne data og annen konfigurasjon for en annen app versjon. Dette betyr at du kan simulere ha flere brukere på maskinen din. Hver bruker vil ha sine egne data og konfigurasjoner.

7. HomeKit Accessory Simulator

HomeKit rammeverket tillater appen til å kommunisere med og kontrollere tilkoblede tilbehør i brukerens hjem. I betaversjoner av Xcode 6, HomeKit Accessory Simulator kom som en del av Xcode, men det er nå en del av Hardware I /O Verktøy
for Xcode. Du kan laste det ned på iOS Dev Center.

8. Debugging

Vis Debugging

Xcode 6 gjør debugging appens brukergrensesnitt mye enklere med live view debugging funksjonen. Du er nå i stand til å stanse løpe app og dissekere stanset brukergrensesnittet i en 3D-visning. Utsikten debugger viser deg ditt syn hierarki og Auto Layout begrensninger. Hvis du velger en visning, kan du inspisere sine eiendommer i inspektør eller hoppe til den aktuelle koden i assisterende redaktør. Med denne kan du inspisere problemer slike spørsmål som Auto Layout konflikter, se hvorfor en visning er skjult eller klippet, etc.

For å starte live view debugger, starte programmet og klikk Debug Vis Hierarki
knappen på debug-verktøylinjen.

Dine app pauser og du presentert med en 3D-visualisering av sitt brukergrensesnitt. Du kan dra hvor som helst på lerretet for å rotere visningen

Du kan bytte mellom forskjellige utsikts tilstander med knappene under lerretet

Fra venstre til høyre:..
< li> Vis Clipped Innhold:.
Dette valget skjuler eller viser innhold som blir klippet i en valgt visning

Vis Begrensninger:
Det viser Auto Layout begrensninger av en valgt . vis

Reset Viewing Area.
Dette tilbake lerretet til standardinnstillingene

Juster visningsmodus:
Denne modusen lar deg velge hvordan du ønsker å se dine synspunkter. Det er en mulighet til å se det som en trådramme, visningen innholdet, eller begge

Zoom ut
, Faktisk størrelse
, Zoom inn.
Dette lar deg sette visningen målestokk.

Quick Look

Quick Look ble introdusert i Xcode 5, og det gjør det mulig å vise et objekts innholdet under feilsøking. Quick Look støtter vanlige gjenstander som bilder, Bezier stier, på kartet, osv

I Xcode 6, dette har blitt forbedret for å støtte to nye objekttyper, visninger (UIView og NSView) og egendefinerte objekter. For å aktivere Quick Look for egendefinerte objekter, du implementere debugQuickLookObject metoden i egendefinert klasse.

Enhanced Queue Debugging

De debug navigator poster og skjermer nylig henrettede blokker samt enqueued blokker. Du kan bruke den til å se hvor enqueued blokkene er og å undersøke detaljene i det som er blitt satt opp til å utføre. Du kan aktivere blokk debugging ved å velge Debug > Debug Arbeidsflyt > Alltid vise ventende Blokker i Køer
menyvalget.

Feilsøk Målere

Feilsøk målere gi informasjon om appens ressursbruk mens debugging. Xcode 6 Oppdaterte måleinstrumenter, som inkluderer graf profilering for den nye Metal rammeverk og iCloud-støtte for dokumenter i skyen og CloudKit funksjoner.

Annet enn disse forbedringene, Xcode 6 introduserer to nye debug målere, nettverk og disk aktivitet .

Nettverk aktivitet viser hvor mye data appen sender og mottar, samt en liste over åpne tilkoblinger. Du kan se en historie tidslinje for å overvåke nettverksbruk, hjelpe deg å regne ut når og hvorfor toppene i nettverksbruk eller nettverksfeil som skjedde.

Disk aktivitet viser sanntidsinformasjon fra appens leser og skriver til disk. Det gir også informasjon om alle åpne filer. Det er en historie tidslinje over denne disk I /O aktivitet for deg å overvåke.

9. Aktiva Catalog

aktiva kataloger nå støtte størrelsesklasser. Dette betyr at du kan nå enkelt tilpasse brukergrensesnittet for kompakt og vanlig høyde eller bredde ved å gi forskjellige bilder for hver størrelsesklasse.

Tidligere aktiva kataloger støttes bare PNG-bilder, men i Xcode 6, støtte for JPEG og PDF vektor bilder har blitt lagt til.

10. Lansere Images

Du kan bruke en XIB eller storyboard som din søknad lansering image. Operativsystemet genererer nødvendige lanseringen bilder for din app. Med dette, trenger du ikke å gi enkelte eiendeler for lanseringen bilder, og du kan designe den i Interface Builder.

Hvis du vil angi en XIB eller storyboard som appens lansering bildet, velger prosjektet i Prosjekt Navigator
og velger et mål fra listen over mål. Under kategorien Generelt
, finn delen app ikoner og Start Images og velg riktig fil fra menyen Launch Screen File
.

11. Testing

Asynchronous Testing

Nye APIer har blitt lagt til XCTest rammeverk som gjør det mulig å teste asynkron kode. Dette gjøres gjennom forventnings objekter, XCTestExpectation, som beskriver forventede hendelser. XCTestCase har en ny API som venter på en forventning om å oppfylle, og setter en timeout på den. En ferdigstillelse handler kalles enten når alle hendelsene er oppfylt eller når timeout den traff. Det kan være å vente på flere asynkrone hendelser på samme tid. Du kan nå enkelt teste for system interaksjoner som utfører asynkront, slik som fil I /O, nettverksforespørsler, etc.

Performance Measurement

Den forbedrede XCTest rammeverket kan nå kvantifisere resultatene for hver del av en app. Xcode kjører ytelsestester og lar deg definere en baseline resultatberegningen. Hver påfølgende testkjøring sammen ytelse, viser endringen over tid, og-ved å markere problemområdet-varsler deg for plutselige regressions en kode begår kunne presentere. Hvis den gjennomsnittlige ytelsen tiltaket avviker betydelig fra grunnlinjen, vil testen mislykkes. Dette er en flott måte å oppdage ytelses regresjoner i programmet ditt.

Test Profiling

Med innføringen av ytelsestesting kommer muligheten til å profilere tester i Instruments. Du kan velge en test eller testsuite å profilere og gjøre videre undersøkelser og analyser i Instruments for å finne ut hvorfor testen mislyktes og finne årsaken til regresjon.

12. Instrumenter

Instruments har et oppdatert brukergrensesnitt. Med den nye malen velgeren kan du velge enheten og målrette så vel som utgangspunkt for din profilering økten.

Det er en ny Merker
mal som har vært kombinert med Hendelser
å gi et kraftig visning i enkelte CPU hendelser. Du kan også angi formler for å måle hendelses aggregater, forholdstall og mer.

I Xcode 6, instrumenter også leveres med støtte for Swift og du kan også bruke den til å profilere app utvidelser. Det er også støtte for simulator konfigurasjoner. Simulatoren konfigurasjoner blir behandlet som enheter ved Instruments, noe som gjør det enkelt å starte eller legge til prosesser i simulatoren.

Konklusjon

Apple fortsetter å forbedre sine utviklerverktøy, og dette er sett i alle store frigjøring av Xcode. Xcode 6 forbedrer sine forgjengere for å gi utviklere verktøy som vil forbedre sin arbeidsflyt og gjøre hele utviklingsprosessen betydelig bedre.