Xcode 5 Essentials

Xcode 5 er et viktig skritt fremover for Apples økosystem, og gir flere muligheter, funksjoner og verktøy til utviklere enn noen gang før. Med versjon 5 har Xcode vokst til en ekstremt kraftig IDE. Les denne artikkelen for å lære hva som er nytt!

Introduksjon

Xcode 5 er full av forbedringer og tillegg, både store og små. Alle disse endringene gir enorm hjelp til utviklere. Endringer begynner i grensesnittet, hvor den oppdaterte look-and-feel-stilen ble justert for å passe inn i det nye iOS 7-økosystemet. Bare ved å turnere deg rundt, vil du legge merke til en rekke stilistiske modifikasjoner, som starter på velkomstskjermbildet.

De nye tilleggene er tydelige ved bruk av Xcode, og når du jobber med det en stund, vil du oppdage at Apple i denne versjonen har to hovedpunkter. Det første målet er å lindre utviklere fra ulike konfigurasjonsoppgaver angående deres applikasjoner. Den andre har til formål å forhøye debugging og testing til et helt nytt nivå og gi utviklere nyttige verktøy som gjør disse oppgaver enklere og mer effektive.

Alle de nye funksjonene vil bli introdusert til deg med en gang. Kort sagt, her er en liste over alle de nye funksjonene eller de med viktige endringer som du vil møte i denne opplæringen:

  • Automatisk konfigurasjon
  • Kildekontrollforbedringer
  • Grensesnittbygger og Autolayout-forbedringer
  • Asset Catalog
  • Debugger-forbedringer
  • Feilsøkingsmålere
  • Testing og Bots
  • Kompilatorforbedringer

1. Automatisk konfigurasjon

Å aktivere en Apple-tjeneste i et program var alltid en oppgave som krevde et visst antall trinn som skal utføres av utvikleren til appen er fullstendig installert og fungerer. Rammer må kobles til prosjektet, rettigheter må legges til App ID, nøkler bør legges til i * .plist-filen, og alle oppgaver må gjøres i henhold til tjenestens krav. De mange små trinnene gjorde dette til en vanskelig prosess.

Xcode 5 fjerner bryet med å gjøre alt ovenfor fra utviklere, takket være Automatisk konfigurasjon trekk. Med automatisk konfigurering er det eneste kravet til utviklere at de er Apple-ID-en (knyttet til et utviklerprogram). Xcode aktiverer og konfigurerer automatisk alle tjenester som utviklere ønsker, ved å koble sammen rammer, administrere rettigheter og gjøre alt annet som er nødvendig for en tjeneste å jobbe. Utviklere trenger egentlig ikke å gjøre noe annet, bortsett fra å velge de tjenestene de vil gjerne se i sine applikasjoner. Selv tilrettelegging av profiler kan eventuelt opprettes automatisk med de riktige innstillingene. Dette er en fantastisk funksjon for utviklere!

La oss se nærmere på Automatisk konfigurasjon.

Det er greit å tildele Apple-ID-en din i Xcode. Bare åpne Xcode-meny> Innstillinger ...> Kontoer. Fanen Kontoer er en ny funksjon i Xcode 5.


Nederst til venstre i Innstillinger-vinduet er det tre knapper: et plustegn, et minustegn og et kjøretøyskilt. Klikk på Pluss tegn> Legg til Apple ID ... alternativ. I skjemaet som vises, angi Apple-ID og passord og klikk Legg til.


Hvis alt går som planlagt, bør Apple-IDen du nettopp lagt til, være oppført på venstre side av vinduet. På høyre side, hvis du velger din ID og klikker på Vis detaljer knappen, et annet vindu vises på skjermen.


Denne inneholder alle dine signeringsidentiteter og provisjonsprofiler. Du kan opprette, fjerne eller tilbakekalle signeringsidentiteter ved hjelp av de riktige knappene under området for signeringsidentifikasjoner. Også med oppdateringsknappen nederst i vinduet kan du oppdatere alle endringene du utfører online på provisjonsprofiler.

For å slette en Apple-ID, velg bare den respektive ID-en fra listen i kontoene og klikk på meny-knappen nederst på venstre side av den.

De Capabilities fanen tillater automatisk at Apple-tjenester konfigureres. Denne funksjonen kan bli funnet hvis du klikker på prosjektet ditt på Prosjektnavigator.

Som du ser i figuren, handler det bare om å aktivere eller deaktivere en bryterknapp. Muligheter gir automatisk konfigurasjonsstøtte for følgende tjenester:

  1. iCloud
  2. Spillsenter
  3. Passbook
  4. In-App Purchase
  5. Maps
  6. Bakgrunnsmoduser
  7. Nøkkelring deling
  8. Inter-App Audio
  9. Data beskyttelse

Hvis du utvider noen av dem, blir en beskrivelse av den valgte tjenesten og informasjon om handlingene synlig. For eksempel, hvis du utvider Spillsenter service følgende figur vises, og sier at "Game Center" -retten ble lagt til App ID, "GameKit" -tasten ble lagt inn i infoplistfilen, og GameKit-rammen var knyttet til prosjektet ditt. Dette er handlinger og skritt som du kan gjøre manuelt, men nå kan Xcode gjøre det automatisk på dine vegne! Hvis du velger det, kan du fortsette å gjøre det alene, men Xcode sparer deg litt tid.

I Generell fanen (den til venstre for fanen Funksjoner), inne i Identitet delen er det Team nedtrekksmenyen. Hvis du har lagt til Apple-ID-en din i Xcode, klikker du på den for å velge et utviklingslag akkurat som det vises på iTunes Connect. For utviklere som spiller solo, vises deres fulle navn bare. Hvis du vil at automatisk konfigurasjon skal fungere for deg, anbefaler jeg at du velger teamet ditt (eller navnet) før du aktiverer en tjeneste i kategorien Kapasiteter. Hvis du forlater Team-verdien til Ingen, så når du prøver å aktivere en tjeneste vil du bli spurt av Xcode for å velge ditt lag.

Basert på Apple ID-en i fanen Kontoer for Xcode-preferanser, kan signaturidentifikasjonsinnstillingene og innstillingene for innstillinger, Xcode, opprette nye provisjonsprofiler for deg, ved hjelp av riktige innstillinger, i stedet for å gjøre det manuelt. Også rettelser blir brukt på eksisterende provisjonsprofiler med problemer.

For å gjenopprette, sparer automatisk konfigurasjon deg fra et krevende manuell arbeid ved å gjøre mange trinn for deg. Du kan imidlertid fortsatt opprette og sette alt manuelt som du tradisjonelt har gjort, eller gjør noen skritt selv og la andre automatisk bli gjort av Xcode. Det er en flott funksjon, bruk den etter din vilje.


2. Kildekontroll

Kild- og versjonskontrollsystemer er alltid nyttige, og de er obligatoriske for prosjekter som har en tendens til å bli store og utvikles av et team av programmerere. Selv lone-rider-utviklere bør anta vanen med å bruke et kildekontrollsystem, fordi det er et flott verktøy, spesielt når det gjelder kodeendringssporing. Et kildekontrollsystem lar deg holde oversikt over kodendringer og å gå tilbake til en mer stabil versjon når det er nødvendig. For teamutvikling er det bra fordi det tillater hver utvikler å bygge en del av prosjektet, ganske enkelt ved å lage en kopi av det (grenen) og uten å forstyrre andre utvikleres kode. Når ulike prosjektbrikker er klare, kan de settes sammen (fusjonert) i en fungerende versjon av koden. I tilfeller der for mange feil oppstår, kan utviklere også gå tilbake til en mer stabil versjon og spore kodendringene, bare ved å sammenligne to versjoner av samme fil. Git er et slikt kildekontrollsystem.

Xcode 5 gir spesiell tyngdekraften til kildekontroll. I Xcode 4.6, kan kildekontroll bli funnet under Fil Meny. I versjon 5 har kildekontroll sin egen toppnivå meny i Xcode menylinjen.


Som du ser på figuren, kan du direkte se det nåværende prosjektet du arbeider med, og få tilgang til bestemte operasjoner, for eksempel Begå, Trykk, Ny gren, Bytt til gren, Flette fra avdeling, og mange flere. Det er veldig enkelt og raskt å få tilgang til kildekontrollsystemet og for å beholde eventuelle endringer du vil ha i arkivene dine.

Når du snakker om repositorier, kan du nå dem direkte når du starter Xcode, selv fra velkomstskjermbildet, ved å klikke på Sjekk ut et eksisterende prosjekt alternativ.


Naviger til Sjekk ut skjema hvor du kan se en liste over alle dine arkiver, favoritter, eller de nyeste. Alternativt kan du skrive inn et sted der et lager kan bli funnet.

Et annet nyttig alternativ angående kildekontroll og Xcode 5 er Klandre for denne linjen operasjon under Redaktør Meny. Dette alternativet viser kommentarinformasjon om den aktuelle linjen som markøren er på og angir hvem som gjorde den siste kommentaren. Dette er spesielt nyttig i teamprosjekter fordi det gjør det enkelt å finne utvikleren som sist endret koden.


Merk at hvis du prøver å bruke Blame-alternativet uten å legge til minst en av filene dine ved hjelp av Source Control-menyen, vil ingen informasjon bli vist til deg.

Som mange andre aspekter av Xcode, kan også kildekontrollen konfigureres. Gå til Xcode> Innstillinger ...> Kildekontroll for å få tilgang til innstillingene for den. Hvis du vil, kan du helt deaktivere kildekontrollen for prosjektet ditt (men det anbefales ikke å gjøre det). Sett inn alternativene i henhold til dine preferanser og arbeid i ditt tilpassede miljø.

Hvis du ikke bruker Source Control når du utvikler programmer, blir du sterkt oppfordret til å begynne å gjøre det. Du vil legge merke til at det å holde versjoner av filene dine, å gå tilbake til eldre versjoner eller sammenligne dem, er en prosess som kan spare deg for mye tid når du prøver å spore feilene i koden din.

3. Grensesnittbygger og Autolayout

Interface Builder, GUI-designeren til Xcode, ser ikke ut til å ha mange åpenbare endringer, unntatt det manglende rutenettet og den generelle estetiske oppgraderingen. Imidlertid er en stor funksjon som ble lagt til i denne versjonen av Xcode evnen til forhåndsvisning Grensesnittoppsettet for iOS-versjoner er lik eller tidligere enn 6.1. Alle grafiske elementer (undervisninger) ble omformet og utviklere trenger å vite om posisjonen, størrelsen eller utformingen av undervisningen fungerer for både iOS 7 og tidligere versjoner av iOS.

For å bruke forhåndsvisningsfunksjonen på Interface Builder, må du først vise Assistent Editor.


Hvis Xcode automatisk viser hvilken fil som inneholder kode på Assistent Editor, så finn og åpne .xib eller storyboard-filen du vil forhåndsvise manuelt, som vist i neste figur.


Når du har GUI-filen åpnet i både Standard og Assistent Editor, klikker du på Knappen Relaterte filer> Forhåndsvisning> Din fil av assistentredaktøren.

Legg merke til en ramme nederst til høyre på skjermen, der det står iOS 7.0 og senere. Klikk på den, velg iOS 6.1 og tidligere alternativet og du får forhåndsvisningen klar.

Forhåndsvisning er et nyttig verktøy for utviklere som ønsker å beholde bakoverkompatibilitet i sine applikasjoner og for å støtte tidligere iOS-versjoner. Så hvis din søknad ikke bare støtter iOS 7, bruk den når du designer grensesnittet ditt.

La oss snakke om Autooppsett funksjonen nå. Autolayout er ikke noe nytt i iOS 7, men i Xcode 5 ble det redesignet fra grunnen, noe som gir utviklere den ultimate friheten til å sette og endre begrensninger. Det betyr at du kan angi eventuelle begrensninger du vil ha, de måten du vil ha (til og med slette dem) uten automatisk inngrep fra Xcode. Det vil advare deg om det er mangler eller begrensninger som ikke stemmer overens, men det vil la deg gjøre hva du vil uten begrensninger.

I motsetning til tidligere versjoner av Xcode, i versjon 5 ble et nytt undervisning lagt til i en visning som ikke inneholder noen begrensninger. Dette lar utviklere bestemme hvilke begrensninger de trenger. Også nye innstillinger for innstilling av begrensninger er tilgjengelig nederst til høyre i Interface Builder (Alternativt, i Redaktør menyen), som du kan bruke til å angi egendefinerte verdier og visse begrensninger, eller at Xcode automatisk kan konfigurere oppsettet for deg.

Når du angir begrensninger og Xcode oppdager at det finnes tvetydighet eller problemer, farger det begrensningslinjene i rødt i stedet for blått. De forblir på den måten til alle problemstillinger om problematisk undervisning er løst. Her er et eksempel hvor begrensninger mangler, og Xcode advarer oss om å bruke linjefarge:

Advarsler eller feil om manglende begrensninger eller feilplasserte visninger vises også ved Xcode i Dokumentoversikt, ved siden av visningen at inkonsekvenser eksisterer. For å undersøke hva problemet er, klikker du bare på den lille gule eller røde pilen som vises rett ved siden av visningen, og en liste over alle oppsettproblemene vises. Den enkleste måten å fikse alt på er å klikke på hver advarsel eller feilmelding som vises, og gjennom en liste over foreslåtte og mulige løsninger som Xcode gir, velger du den mest hensiktsmessige etter dine behov. Den andre måten er å fortsette å leke med begrensningene i visningen eller visningene som forårsaker problemene, til du klarer å stille alle advarsler eller feil.

Som et råd anbefaler jeg at når du bruker Oppdater begrensninger, Legg til manglende begrensninger, eller Tilbakestill til foreslåtte begrensninger alternativer for å la Xcode automatisk sette opp alle begrensningene du ikke trenger å manuelt berøre. Disse alternativene finnes enten i menyen Rediger> Løs opp automatiske layoutproblemer eller i den respektive knappen som vises nederst til høyre i tegningsområdet til Interface Builder.


4. Asset Catalog

Asset Catalog er en annen ny funksjon av Xcode 5 med to formål:

  1. Å sette alle bildene dine sammen og la deg holde dem på ett sted.
  2. For å avlaste deg behovet for å huske alle navngivningskonvensjoner som kreves for appikoner og start bilder.

Med Asset Catalog må du ikke huske reglene som gjelder for app-ikonet eller starte bildetavn. Eiendeler med slike bilder kan nå ha noe navn du liker. Xcode aksepterer alt og gir automatisk navnet til dem. Asset Catalog består også av det beste stedet å ha bildene dine sammen og for å få tilgang til dem alle samtidig når det er nødvendig.

Assetkatalog er representert som en gruppe med et blått mappeikon blant listen over grupper og filer på Project Navigator.


Merk: Hvis du oppretter et nytt iOS 7-applikasjonsprosjekt på Xcode, er Asset Catalogen på plass. Men hvis du flytter et eksisterende prosjekt til iOS 7, må du opprette Asset Catalog på egen hånd. Dette er lett å gjøre. I Generell fan av prosjektet ditt, inne i Appikoner delen er det en knapp med tittel Bruk Asset Catalog. Klikk på den og katalogformene.

Hvis du klikker på Asset Catalog-ikonet på Project Navigator, ser du en rekke tomme spor som venter på å godta ikonene til programmet. Asset Catalog-funksjonen viser spor for alle målenhetene du angir i prosjektet. Hvis du vil legge til et appikon, kan du bare dra og slippe en fra en katalog på datamaskinen til riktig spor. Den samme regelen gjelder også lanseringsbilder, der det er tomme spor for alle enhetene og støttet orientering du har i prosjektalternativene. Nok en gang vil jeg minne deg på at appikoner og start bilder kan ha noe navn du liker; Xcode setter de aktuelle automatisk.


Eventuelle andre bilder du vil legge til i et program, kan enkelt legges i Asset Catalog, bare ved å dra og slippe dem der inne. Hvis det allerede er bilder i prosjektet ditt, er det den raskeste måten å flytte dem fra Project Navigator til Asset Catalogen:

  1. Klikk på Plus-knappen som ligger nederst til venstre i venstre rute i aktivkataloget.
  2. Klikk på Importer fra prosjekt ... alternativ.
  3. Velg bildene du vil ha i vinduet som vises (hvis de ikke allerede er valgt), og klikk deretter på Importere knapp.

Når bildene er importert eller lagt til direkte fra datamaskinen din, vil du legge merke til at inne i aktivarkatalogen er det en plate for hvert bilde. Hvis du klikker på noen av dem, ser du at det er to spor knyttet til det. Den første aksepterer det normale oppløsningsbildet (1x), og det andre aksepterer retina-skjermoppløsningsbildet (2x).


5. Debugger

Feilsøking på Xcode 5 gir en ny opplevelse for utviklere, da nye funksjoner ble lagt til debuggeren. Sporing av variable verdier er enklere. Forhåndsvisning av bilder, dokumenter og andre objekter handler nå bare om et enkelt klikk, og stor fleksibilitet oppstår når du arbeider med breakpoints. Feilsøkeren på Xcode 5 er basert på LLDB motor, som helt erstattet gdb motor. LLDB er kraftigere og ligger til grunn for alle de nye feilsøkingsfunksjonene. Så, la oss se på forbedringene.

Den første store visuelle forbedringen eksisterer på datatips. En datatipp viser en variables verdi under feilsøking, når musepekeren svever over variabelen. For enkle datatypevariabler viser datatipset bare verdien, akkurat som i følgende figur:

Når det gjelder objekter, gir datatips summarisk informasjon for hvert objekt som svinger, men den største endringen er at mer enn tekst kan vises nå. Bilder, tekstdokumenter, bezierkurver og mer kan forhåndsvises på Xcode under feilsøking, så det er enklere for utviklere å undersøke sine objekter og være trygg på innholdet. Data- og grafikkombinasjonen gir super fleksibilitet når du prøver å finne feil, da både enkeltvariabler og objekter kan forhåndsvises samtidig. Dette er en flott funksjon som reduserer feilsøkingstid! Ta en titt nå på neste bilde for å se et eksempel:


Ved siden av hvert objekt som du kan forhåndsvise, akkurat som i forrige bilde, an øye og en info knappene vises. Du kan forhåndsvise (Quick Look-funksjonalitet) det valgte objektet ved å klikke på øyeknappen. Du kan også se detaljert informasjon ved å klikke på info-knappen.

Bortsett fra datatipsene, stoppunkter ble også forbedret. Hvis du tidligere har feilet et prosjekt, vet du at breakpoints kan settes ganske enkelt ved å klikke på venstre side av linjene hvor du vil at de skal være. Breakpoints kan aktiveres eller deaktiveres enten ved å klikke på hver enkelt av dem, eller ved å bruke knekkpunkter. Med Xcode 5 eksisterer dette ikke lenger på den øverste verktøylinjen, men den er flyttet til feilsøkingsverktøylinjen nederst i Xcode-vinduet. Ved hjelp av denne knappen kan du bytte alle bruddpunkter samtidig. Aktiverte brytepunkter vises i blått, og deaktiverte brytepunkter vises i grått. For å fullstendig fjerne et bruddpunkt, høyreklikk på det og velg Slett Breakpoint alternativ.

På Xcode 5 brytepunkter kreves betinget. Videre er handlinger knyttet til dem når en tilstand er tilfredsstilt. På den måten trenger utviklere ikke å sette og avbryte bruddpunkter hele tiden, de trenger bare å legge til forhold eller velge brytpunkter for å ignorere for bestemte tider og fokusere mer på feilsøking. De angitte handlingene som er tilgjengelige og kan knyttes til et bruddpunkt når en tilstand er oppfylt, er oppført nedenfor:

  • Apple
  • Capture OpenGL ES ramme
  • Debugger Command
  • Logg melding
  • Shell Command
  • Lyd

Flere enn en handling kan settes til brytepunkter når forholdene er oppfylt. For eksempel kan du logge en melding og samtidig spille av en lyd som gir deg beskjed om bruddpunkter. Her er et eksempel:


Så, når du bruker disse nye funksjonene, blir feilsøking mye lettere. Buggy-kode kan spores raskere og bortkastet tid kan nå lagres og gis til andre oppgaver. I kombinasjon med den neste splitter nye funksjonen blir feilsøking en helt ny opplevelse!


6. Feilsøkingsmålere

For lenge siden, da systemressurser (som CPU og minne) var begrenset i et datasystem, måtte programmører bruke mye tid på å sørge for at programmene jobber med så få ressurser som mulig. Det var en vanskelig oppgave, men det var den beste måten å sikre at det ikke oppstod minnehukninger eller en meningsløs CPU-bruk. I dag, med de nye kraftige og raske delsystemene som enhetene bruker, er det ganske vanlig for utviklere å ignorere noen lekkasje deres applikasjoner forårsaker, fordi de bare ser at deres apps kjører ganske fort på moderne enheter. Men ressursene er alltid begrenset, og ved å ignorere dem, vil et potensielt programkrasj definitivt føre til en dårlig brukeropplevelse.

Her er hvor Feilsøkingsmålere lage sin debut, som kommer til hjelp som feilsøkingsverktøy som lar utviklere spore uønsket bruk av systemressurser. Faktisk består Debug Gauges av en lett versjon av noen instrumenter verktøy, de er innebygd i Xcode (trenger ikke å åpnes i nytt vindu som Instrumenter), og fremfor alt kan de løpe hele tiden sammen med programmet under feilsøking. Målere lar deg observere følgende ressurser:

  • prosessor
  • Hukommelse
  • Energi
  • iCloud
  • OpenGL ES

Feilsøkingsmålere er tilgjengelige gjennom Debug Navigator, og de vises når et program kjører. De store grafiske elementene representerer hver ressurs som er sett, så det er enkelt å bruke dem.

Selvfølgelig, for en grundig og detaljert profilering av søknaden din, kan du bruke Instruments når som helst du trenger. En knapp som du kan klikke for å åpne Instrumenter samtidig, er alltid øverst til høyre på målevinduet. Når en app kjører, kan du klikke på måleren for å måle og se alle målinger som foregår i sanntid. Hvis du oppdager noen unormal atferd, kan du mistenke at noe er galt i koden din og må løses.

Du oppfordres til å bruke disse verktøyene så mye som mulig for å legge merke til og fikse feil.


7. Testing og Bots

Testing er en viktig del i utviklingsprosessen, og det må alltid gis spesiell forsiktighet. Heldigvis med Xcode 5 testing applikasjoner er mye enklere. Spesielt med det nye Test Navigator. Testnavigator finner du i navigasjonsruten, og den viser alle tester du oppretter.

Gjennom navigator kan tester enkelt redigeres, spores eller slettes. Ved siden av hver test vises den nåværende tilstanden, om den har lyktes, mislyktes eller ennå ikke kjørt. Stor fleksibilitet ble også gitt til måten testene kjører på. Så du kan starte en enkelt test, velge en haug med dem, eller la dem kjøre samtidig.

En ny enhetstestramme ble introdusert på Xcode 5, the XCTest, som eksisterer parallelt med forrige rammeverk, OCUnit. Den første vil imidlertid dominere fremtiden. Derfor anbefales det å bruke XCTest i prosjektene dine. Som standard bruker nye prosjekter dette rammeverket. Også i Xcode 5 kan den testede koden og selve testen plasseres side om side ved hjelp av assistentredigereren. På den måten kan du se både koden og testdetaljer mens den kjører.

bots er en helt ny funksjon på Xcode 5. En bot er en tjeneste som gjentatte ganger gjør en rekke oppgaver, for eksempel bygging, testing, analyse, arkivering og signering av et program (oppgaver som tradisjonelt ville bli gjort manuelt av utviklere). Disse oppgavene er kalt integrasjonsprosess. Med bots er integrasjonsprosessen automatisk og kan fortsette så lenge som nødvendig.

Det som gjør bots spesielt er at i stedet for å kjøre tester på den lokale datamaskinen, kan de flytte disse tester inn i en server og utføre integrasjonsprosessen der. På den måten blir datamaskiner som brukes til utvikling ikke belastet med testutførelse, og i tillegg kan testresultater deles med alle utviklingsgruppene samtidig. I tillegg kan bots kjøre flere tester for flere applikasjoner på enheter som er koblet til serveren.

Bots kan konfigureres til å fungere på to måter. Ifølge den første måten utfører bots integrasjonsprosessen på kode som er hentet fra et kildekontrollsystem som Git. Når nye endringer er tilgjengelige, starter bots integrasjonsprosessen over og fortsetter å gå til appen er fullført, og det er ikke nødvendig med mer testing. Disse bots kalles kontinuerlige. Den andre måten er at integrasjonsprosessen gjentas så snart som mulig. Bots som er konfigurert til å arbeide på denne måten kalles nattlig eller periodiske bots, og de signerer og arkiverer appen på hvert reproduksjonstrinn, med et enda resultat, for å holde oversikt over historien i løpet av tiden.

For å utvikle lag består bots av en fin måte å kjøre tester på og dele resultatene. Også gjennom den omfattende testingen som utføres på grunn av den kontinuerlige integrasjonsprosessen, er det lettere å finne feil og feil, samtidig som det på grunn av testingenes natur kan bugs være isolert eller plassert i forhold til spesifikke maskinvare- eller andre innstillinger . Bots er et enormt sprang for Xcode!


8. Kompilatorforbedringer

Inntil nå ble alle nye Xcode 5-funksjoner presentert en etter en, men denne veiledningen ville ikke være komplett hvis det ikke var referert til forbedringer under overflaten. Så, la oss få en kort gjennomgang av de store endringene og tilleggene til kompilatoren.

Først og fremst, til versjon 4.6, støttet Xcode to kompilatorer: Apple LLVM og LLVM-GCC 4.2. På Xcode 5 er sistnevnte borte, og bare Apple LLVM gjenstår, bemyndiget til nye funksjoner som gjør det enda mer nyttig.

LLVM compiler introduserer logikken til moduler. Men før du forklarer hva en modul er, la oss se kort om problemet som det motsetter. Når en kompilator analyserer en fil, analyserer den ikke bare koden som eksisterer i den filen, men det gjør det også for alle headerfiler som importeres (ved hjelp av #import-kommandoen) til filen. Denne prosessen fungerer rekursivt, og alle importerte filer blir endelig analysert til siste linje av kode. Dette betyr at i stedet for å analysere kun kodelinjene som eksisterer i den opprinnelige filen, må tusenvis flere linjer analyseres på grunn av fortsatt import. Dette er ikke et nytt problem, og modulene kom for å gi en løsning. En modul er en enkel, optimalisert database som holder den analyserte koden til en enkelt systemhovedfil (for eksempel UIKit.h, Webkit.h, etc.) innenfor. Kompilatoren bygger a sett av slike moduler, og når det er på tide å analysere vår egen fil, trenger den ikke å analysere toppfiler igjen. Med tanke på at de samme filene importeres igjen og igjen flere ganger, blir det tydelig at modulene gir god ytelse når det gjelder kompilering. Dessuten bruker Xcode moduler for å oppnå noen av sine avanserte funksjoner, for eksempel syntaks, utheving og automatisk fullføring.

En annen ny funksjon av kompilatoren er Auto-vectorizer, som ble lagt tydelig på grunn av ytelsesårsaker. Dens jobb er å analysere kode og finne segmenter, hvor to eller flere operasjoner (opptil 32) kan kjøre samtidig. Det er fordi de nye, moderne CPUene tilbyr flotte vektorfunksjoner for virtuell multi-threading, og Autovectorizer utnytter dette. I applikasjoner der det kreves intensive beregninger, kan denne funksjonen virkelig øke ytelsen, avhengig av type beregninger.

Kompilatoren kan nå lese kodedokumentasjonen og produsere hjelpetips, akkurat som det gjør med den innebygde dokumentasjonen. Så, jo mer du dokumenterer koden din, desto mer detaljert hjelp er det for Xcode. Disse funksjonene gir mye mer mening hvis du bruker tilpasset kode fra andre utviklere. Her er et eksempel på hjelpen som er gitt for tilpasset kode dokumentasjon:


Til slutt, om kompilatoren, er det et par poeng om statisk analysator funksjon som bør nevnes. Statisk analysator ble forbedret, og det kan nå gjøre dypere kodeanalyse for å hjelpe deg med å finne flere feil. Men det som faktisk gjør utviklere fornøyde, er den nye funksjonen som lar brukeren utføre statisk analyse på en enkelt fil, eller til og med bygge en enkelt fil, i stedet for å analysere hele prosjektet igjen og igjen. Det er en stor forbedring, og lar deg fokusere bare på filen du jobber med.


Konklusjon

Xcode 5 er en utviklerens drøm fordi den hjelper brukeren å bygge en feilfri og omfattende testet applikasjon. Det er ikke vanskelig å vedta alle endringene, og når du gjør det, vil du elske dem. Hvis du ikke har flyttet til den nyeste versjonen ennå, så oppfordrer jeg deg sterkt til å gjøre det, og nyt alle Xcodes nye funksjoner. Så langt som Xcode 5 er bekymret, fortsett å utforske og du vil bli belønnet!