Xcode 5 Essentials

Xcode 5 är ett viktigt steg framåt för Apples ekosystem, vilket ger fler möjligheter, funktioner och verktyg till utvecklare än någonsin tidigare. Med Version 5 har Xcode vuxit till en extremt kraftfull IDE. Läs den här artikeln för att lära dig vad som är nytt!

Introduktion

Xcode 5 är full av förbättringar och tillägg, både stora och små. Alla dessa förändringar ger enormt stöd till utvecklare. Ändringar börjar i gränssnittet, där den uppdaterade look-and-feel-stilen justerades för att passa in i det nya ekosystemet iOS 7. Bara genom att turnera dig själv, märker du ett antal stilistiska modifieringar, som börjar på välkomstskärmen.

De nya tilläggen är tydliga när du använder Xcode, och när du jobbar med det ett tag kommer du att upptäcka att Apple i denna version riktar sig till två huvudpunkter. Det första målet är att lätta utvecklare från olika konfigurationsuppgifter avseende sina applikationer. Den andra syftar till att höja felsökning och provning till en helt ny nivå och ge utvecklare användbara verktyg som gör dessa uppgifter enklare och effektivare.

Alla nya funktioner presenteras direkt med dig. Kort sagt, här är en lista över alla nya funktioner eller sådana med väsentliga förändringar som du kommer att stöta på i denna handledning:

  • Automatisk konfiguration
  • Källa kontrollförbättringar
  • Gränssnittsbyggare och Autolayout-förbättringar
  • Asset Catalog
  • Debugger-förbättringar
  • Felsökningsmätare
  • Test och Bots
  • Kompilatorförbättringar

1. Automatisk konfiguration

Att aktivera en Apple-tjänst i en applikation var alltid en uppgift som krävde ett visst antal steg som ska utföras av utvecklaren tills appen är helt inställd och fungerar. Ramar måste kopplas till projektet, rättigheter måste läggas till App ID, nycklarna ska bifogas i * .plistfilen och alla uppgifter måste utföras enligt tjänstens krav. De många små stegen gjorde detta till en svår process.

Xcode 5 tar bort det krångel med att göra allt ovan från utvecklare tack vare Automatisk konfiguration funktion. Med automatisk konfiguration är det enda kravet för utvecklare deras Apple-ID (kopplat till ett utvecklarprogram). Xcode aktiverar automatiskt och ställer in alla tjänster som utvecklare vill ha genom att länka ramar, hantera rättigheter och göra allt som behövs för att en tjänst ska fungera. Utvecklare behöver verkligen inte göra något annat, förutom att välja de tjänster som de skulle älska att se i sina applikationer. Till och med skapande av profiler kan eventuellt skapas automatiskt med rätt inställningar. Detta är en fantastisk funktion för utvecklare!

Låt oss ta en mer detaljerad titt på automatisk konfiguration.

Det är enkelt att tilldela ditt Apple-ID inom Xcode. Helt enkelt öppen Xcode-menyn> Inställningar ...> Konton. Fliken Konton är en ny funktion i Xcode 5.


Längst ner till vänster i fönstret Inställningar finns tre knappar: ett plustecken, ett minustecken och ett växeltecken. Klicka på Plus tecken> Lägg till Apple ID ... alternativ. Ange ditt Apple-ID och ditt lösenord i det formulär som visas och klicka på Lägg till.


Om allt går som planerat bör det Apple-ID du just lagt till vara listat på vänstra sidan av fönstret. På höger sida, om du väljer ditt ID och klickar på Visa detaljer knappen visas ett annat fönster uppe på skärmen.


Den här innehåller alla dina signeringsidentiteter och provisioning profiler. Du kan skapa, ta bort eller återkalla signeringsidentiteter med hjälp av lämpliga knappar under området för signeringsidentitet. Även med uppdateringsknappen längst ner i fönstret kan du uppdatera alla ändringar som du utför online på dina provisionprofiler.

Om du vill ta bort ett Apple-ID väljer du bara respektive ID från listan i kontona och klickar på menyerna längst ner till vänster.

De Förmågor fliken tillåter automatiskt att Apple-tjänster konfigureras. Den här funktionen kan hittas om du klickar på ditt projekt på Project Navigator.

Som du ser i figuren handlar det bara om att aktivera eller inaktivera en växelknapp. Möjligheter ger automatiskt konfigurationsstöd för följande tjänster:

  1. icloud
  2. Spelcenter
  3. Motbok
  4. Köp inom appen
  5. Kartor
  6. Bakgrundsmetoder
  7. Nyckelring delning
  8. Inter-App Audio
  9. Dataskydd

Om du utökar någon av dessa visas en beskrivning om den valda tjänsten och information om åtgärderna. Om du till exempel expanderar Spelcenter service följande bild visas och anger att "Spelcenter" -rättigheten har lagts till App-id, "GameKit" -nyckeln har lagts till i infoplistfilen och GameKit-ramverket kopplades till ditt projekt. Det här är åtgärder och steg som du kan göra manuellt, men nu kan Xcode göra det automatiskt på dina vägnar! Om du väljer det kan du fortsätta göra det själv, men Xcode sparar dig lite tid.

I Allmän fliken (den till vänster om fliken Funktioner), inuti Identitet avsnitt, det finns Team rullgardinsmenyn. Om du framgångsrikt har lagt till ditt Apple-ID i Xcode, klicka på det för att välja ett utvecklingslag precis som det visas på iTunes Connect. För utvecklare som spelar solo visas bara deras fullständiga namn. Om du vill att Automatisk konfiguration ska fungera korrekt för dig rekommenderar jag att du väljer ditt lag (eller namn) innan du aktiverar någon tjänst på fliken Funktioner. Om du lämnar Team-värdet till Ingen, då när du försöker aktivera en tjänst kommer du att bli frågad av Xcode för att välja ditt lag.

Baserat på Apple ID på fliken Konton i Xcode-inställningar kan de undertecknade identitetsinställningarna och Möjlighetsinställningarna Xcode skapa nya provisioneringsprofiler för dig med hjälp av lämpliga inställningar istället för att göra det manuellt. Dessutom tillämpas fixer på befintliga provningsprofiler med problem.

För att återskapa, sparar automatisk konfiguration dig från ett krävande manuellt arbete genom att göra många steg för dig. Du kan dock fortfarande skapa och ställa in allt manuellt som du traditionellt har gjort, eller gör några steg själv och låt andra automatiskt göras av Xcode. Det är en bra funktion, använd den på din vilja.


2. Källkontroll

Käll- och versionsstyrningssystem är alltid till hjälp, och de är obligatoriska för projekt som tenderar att bli stora och utvecklas av ett team av programmerare. Även ensamstående utvecklare borde anta vanan att använda ett källkontrollsystem eftersom det är ett bra verktyg, särskilt när det gäller kodändringsspårning. Ett källkontrollsystem gör att du kan hålla koll på kodändringar och återgå till en mer stabil version när det är nödvändigt. För teamutveckling är det bra eftersom det gör det möjligt för varje utvecklare att bygga en del av projektet, helt enkelt genom att skapa en kopia av det (filialen) och utan att störa andra utvecklarens kod. När olika projektstycken är klara kan de sammanfogas (sammanslagna) till en arbetsversion av kod. I de fall där alltför många fel uppstår kan utvecklare gå tillbaka till en mer stabil version och spåra kodändringarna, helt enkelt genom att jämföra två versioner av samma fil. Git är ett sådant källkontrollsystem.

Xcode 5 ger särskild gravitation till källkontrollen. I Xcode 4.6 kunde källkontroll hittas under Fil meny. I Version 5 har källkontrollen sin egen toppnivås meny i menyn Xcode.


Som du ser i figuren kan du direkt se det aktuella projektet du arbetar på och få tillgång till vissa operationer, till exempel Begå, Tryck, Ny gren, Byt till gren, Sammanfoga från filial, och många fler. Det är väldigt enkelt och snabbt att komma åt källkontrollsystemet och för att behålla de ändringar du vill ha i dina arkiv.

När du talar om repositories kan du nå dem direkt när du startar Xcode, även från välkomstskärmen, genom att klicka på Kolla in ett befintligt projekt alternativ.


Navigera till Checka ut formulär där du kan se en lista över alla dina arkiv, dina favoriter eller de senaste. Alternativt kan du skriva en plats där ett förråd finns.

Ett annat användbart alternativ avseende källkontroll och Xcode 5 är Skyll för den här raden operation under Redaktör meny. Det här alternativet visar kommentarinformation om den aktuella raden som markören är på och anger vem som gjorde den senaste kommentaren. Detta är särskilt användbart i teamprojekt eftersom det är lätt att hitta utvecklaren som senast ändrade koden.


Observera att om du försöker använda Blame-alternativet utan att begära åtminstone en av dina filer med källkontrollmenyn, visas ingen information till dig.

Liksom många andra aspekter av Xcode kan källkontroll också konfigureras. Gå till Xcode> Inställningar ...> Källkontroll för att komma åt inställningarna för det. Om du vill kan du helt avaktivera källkontrollen för ditt projekt (men det rekommenderas att du inte gör det). Ställ in alternativen enligt dina önskemål och arbeta i din anpassade miljö.

Om du inte använder källkontroll när du utvecklar applikationer, uppmanas du starkt att börja göra det. Du kommer att märka att det går att spara versioner av dina filer, återgå till äldre versioner eller jämföra dem är en process som kan spara mycket tid när du försöker spåra fel i koden.

3. Gränssnittsbyggare och Autolayout

Gränssnittsbyggare, GUI-designern för Xcode, verkar inte ha många tydliga ändringar, förutom det saknade nätet och den allmänna estetiska uppgraderingen. Men en stor egenskap som lagts till i den här versionen av Xcode är förmågan att förhandsvisning gränssnittet för iOS-versioner är lika med eller tidigare än 6.1. Alla grafiska element (undervyer) har redesignats och utvecklare behöver veta om positionen, storleken eller layouten för undervynningarna fungerar för både iOS 7 och tidigare versioner av iOS.

För att använda förhandsgranskningsfunktionen på Interface Builder, visa först Assistent Editor.


Om Xcode automatiskt visar vilken fil som innehåller kod på Assistent Editor, letar du efter och öppnar filen .xib eller storyboard som du vill förhandsgranska manuellt, som visas i nästa bild.


När du har öppnat GUI-filen i både Standard och Assistent Editor klickar du på Knappen Relaterade filer> Förhandsgranskning> Din fil av assistentredigeraren.

Lägg märke till en ram längst ned till höger om skärmen, där det står iOS 7.0 och senare. Klicka på den, välj iOS 6.1 och tidigare alternativet och du får förhandsgranskningen klar.

Förhandsgranskning är ett användbart verktyg för utvecklare som vill behålla bakåtkompatibilitet i sina applikationer och för att stödja tidigare iOS-versioner. Så om din applikation inte bara stöder iOS 7, använd den när du designar gränssnittet.

Låt oss prata om autolayout funktionen nu. Autolayout är inte något nytt i iOS 7, men i Xcode 5 redesignades det från grunden, vilket ger utvecklare den ultimata friheten att ställa in och ändra begränsningar. Det betyder att du kan ställa in eventuella begränsningar, de vill du (även radera dem) utan ett automatiskt ingripande från Xcode. Det kommer att varna dig om det finns några misslyckanden eller hinder som inte matchar, men det låter dig göra vad du vill utan begränsningar.

I motsats till tidigare versioner av Xcode, i Version 5 har en ny undervy lagts till i en vy som inte innehåller några begränsningar. Detta låter utvecklare bestämma vilka begränsningar de behöver. Dessutom finns nya alternativ för att ställa in begränsningar i den nedre högra ramen på gränssnittsbyggaren (alternativt i Redaktör menyn), som du kan använda för att ange anpassade värden och vissa begränsningar eller att låta Xcode automatiskt konfigurera layouten för dig.

När du ställer in begränsningar och Xcode upptäcker att det finns tvetydighet eller problem, färgar det begränsningslinjerna i rött istället för blått. De håller sig så långt tills alla problem angående den problematiska undersikten löses. Här är ett exempel där begränsningar saknas och Xcode varnar oss med hjälp av linjens färg:

Varningar eller fel om saknade begränsningar eller felplacerade visningar visas också av Xcode i Dokumentbeskrivning, bredvid den uppfattning att inkonsekvenser existerar. För att undersöka vad problemet är, klicka helt enkelt på den lilla gula eller röda pilen som visas bredvid vyn och en lista över alla layoutproblem visas. Det enklaste sättet att åtgärda allt är att klicka på varje varning eller feltecken som visas och genom en lista över förslag och möjliga lösningar som Xcode tillhandahåller, väljer du den mest lämpliga efter dina behov. Det andra sättet är att fortsätta spela med begränsningarna i vyn eller de åsikter som orsakar problemen, tills du lyckas tömma alla varningar eller fel.

Som ett råd rekommenderar jag det när du använder Uppdatera begränsningar, Lägg till saknade begränsningar, eller Återställ till föreslagna begränsningar alternativ för att låta Xcode automatiskt ställa in alla de begränsningar som du inte behöver manuellt röra. Dessa alternativ finns antingen i menyn Redigerar> Lös upp automatiska layoutproblem eller i respektive knapp som visas längst ner till höger om gränssnittsbyggarens ritningsområde.


4. Asset Catalog

Asset Catalog är en annan ny egenskap hos Xcode 5 med dubbelt syfte:

  1. Att sätta alla dina bilder tillsammans och låta dig behålla dem på ett ställe.
  2. För att befria dig från behovet av att komma ihåg alla namnkonventioner som krävs för appikoner och starta bilder.

Med tillgångskatalogen behöver du inte komma ihåg de regler som gäller för appikonen eller starta bildnamn. Tillgångar med denna typ av bilder kan nu ha något namn du vill ha. Xcode accepterar allt och ger automatiskt namnet till dem. Asset Catalog består också av det bästa stället att ha dina bilder tillsammans och tillgång till dem alla omedelbart när det är nödvändigt.

Assetkatalog är representerad som en grupp med en blå mappikon bland listan över dina grupper och filer på projektnavigatorn.


Obs! Om du skapar ett nytt iOS 7-applikationsprojekt på Xcode, är tillgångskatalogen på plats. Om du flyttar ett befintligt projekt till iOS 7 måste du dock skapa Asset Catalogen själv. Detta är lätt att göra. I Allmän fliken på ditt projekt, inuti Appikoner avsnittet finns en knapp med titel Använd Asset Catalog. Klicka på den och katalogformuläret.

Om du klickar på ikonen för tillgångskatalog på projektnavigatorn ser du en serie tomma slots som väntar på att acceptera ikonerna för programmet. Aktivitetskatalogfunktionen visar slots för alla målenheter du ställt in i ditt projekt. För att lägga till en appikon kan du helt enkelt dra och släppa en från en katalog på datorn till lämplig plats. Samma regel gäller för lanseringsbilderna, där det finns tomma luckor för alla enheter och stödd orientering du har i projektalternativen. Återigen påminner jag dig om att appikoner och starta bilder kan ha något namn du gillar; Xcode sätter de lämpliga automatiskt.


Alla andra bilder du vill lägga till i en applikation kan enkelt sättas i Asset Catalog, helt enkelt genom att dra och släppa dem in där. Om det redan finns bilder i ditt projekt är här det snabbaste sättet att flytta dem från Project Navigator till Asset Catalog:

  1. Klicka på Plus-knappen som ligger längst ner till vänster i den vänstra rutan i tillgångskatalogen.
  2. Klicka på Importera från projekt ... alternativ.
  3. Välj de bilder du vill ha i fönstret som visas (om de inte redan är markerade) och klicka sedan på Importera knapp.

När bilderna importeras eller läggs till direkt från din dator märker du att det finns en post för varje bild i Asset Catalog. Om du klickar på någon av dem ser du att det finns två slots i samband med det. Den första accepterar den normala upplösningsbilden (1x) och den andra accepterar bildskärmsupplösningsbilden för näthinnan (2x).


5. Debugger

Felsökning på Xcode 5 ger en ny upplevelse för utvecklare, eftersom nya funktioner har lagts till felsökaren. Spårning av variabla värden är enklare. Förhandsgranskning av bilder, dokument och andra objekt handlar nu bara om ett enda klick och stor flexibilitet uppstår när man arbetar med brytpunkter. Felsökaren på Xcode 5 är baserad på LLDB motor som helt ersatte gdb motor. LLDB är kraftfullare och ligger till grund för alla nya felsökningsfunktioner. Så, låt oss ta en titt på förbättringarna.

Den första stora visuella förbättringen finns på datatips. En datatips visar ett värde för en variabel under felsökning när muspekaren sveper över variabeln. För enkla datatypvariabler visar datatipset helt enkelt värdet, precis som i följande bild:

När det gäller objekt ger datatips sammanfattande information för varje objekt som svävar, men den största förändringen är att mer än text kan visas nu. Bilder, textdokument, bezierkurvor och mer kan förhandsgranskas på Xcode vid felsökning, så det är lättare för utvecklare att granska sina objekt och vara säkra på innehållet. Data- och grafisk kombination ger super flexibilitet när du försöker hitta fel, eftersom både enskilda variabler och objekt kan förhandsgranskas samtidigt. Det här är en utmärkt funktion som minskar felsökningstid! Ta en titt nu på nästa bild för att se ett exempel:


Bredvid varje objekt som du kan förhandsgranska, precis som i föregående bild, en öga och en info knapparna visas. Du kan förhandsgranska (Quick Look-funktionalitet) det valda objektet genom att klicka på ögonknappen. Du kan också se detaljerad information genom att klicka på info-knappen.

Bortsett från datatipsen, brytpunkter förbättrades också. Om du tidigare debuggerat ett projekt vet du att brytpunkter kan ställas in genom att klicka på vänster sida av raderna där du vill att de ska vara. Brytpunkter kan aktiveras eller inaktiveras antingen genom att klicka på var och en av dem, eller genom att använda brytpunkterna. Med Xcode 5 finns det inte längre på verktygsfältet, men det har flyttats till felsökningsverktygsfältet längst ner i Xcode-fönstret. Med den här knappen kan du växla alla brytpunkter samtidigt. Aktiverade brytpunkter visas i blått och deaktiverade brytpunkter visas i grått. För att helt ta bort en brytpunkt, högerklicka på den och välj Radera brytpunkt alternativ.

På Xcode 5 brytpunkter fungerar villkorligt. Vidare bifogas åtgärder när ett villkor är uppfyllt. På så sätt behöver utvecklare inte ställa in och avbryta brytpunkter hela tiden, de behöver bara lägga till villkor eller välja brytpunkter för att ignorera för vissa tider och fokusera mer på felsökning. De angivna åtgärder som är tillgängliga och kan fästa vid en brytpunkt när ett villkor är uppfyllt listas nedan:

  • Applescript
  • Fånga OpenGL ES-ram
  • Debugger Command
  • Logmeddelande
  • Shell Command
  • Ljud

Mer än en åtgärd kan ställas in till brytpunkter när villkoren är uppfyllda. Du kan till exempel logga in ett meddelande och samtidigt spela ett ljud som meddelar dig på brytpunkterna. Här är ett exempel:


Så, när du använder dessa nya funktioner blir felsökning mycket lättare. Buggy-kod kan spåras snabbare och bortkastad tid kan nu sparas och ges till andra uppgifter. I kombination med nästa helt nya funktion blir felsökning en helt ny upplevelse!


6. Debugmätare

För länge sedan, när systemresurser (t.ex. CPU och minne) var begränsade i ett datorsystem, måste programmerare ägna mycket tid på att se till att deras program fungerar med så lite resurser som möjligt. Det var en svår uppgift, men det var det bästa sättet att se till att det inte fanns några minnesläckor eller en meningslös CPU-användning. Idag, med de nya kraftfulla och snabba delsystemen som enheter använder, är det ganska vanligt för utvecklare att ignorera eventuella läckor som deras applikationer orsakar, eftersom de helt enkelt ser att deras appar körs ganska snabbt på moderna enheter. Resurser är dock alltid begränsade, och genom att ignorera dem skulle en potentiell programkrasch definitivt leda till en dålig användarupplevelse.

Här är var Felsökningsmätare göra sin debut, som kommer som hjälpfelsökningsverktyg som låter utvecklare spåra oönskad användning av systemresurser. I själva verket består Debug Gauges av en lätt version av vissa instrument verktyg, de är inbäddade i Xcode (behöver inte öppnas i nytt fönster som Instruments) och framför allt kan de springa hela tiden tillsammans med programmet under debugging. Mätare tillåter dig att observera följande resurser:

  • CPU
  • Minne
  • Energi
  • icloud
  • OpenGL ES

Debugmätare är tillgängliga via Debug Navigator, och de visas när en applikation körs. De stora grafiska elementen representerar varje resurs som ses, så det är enkelt att använda dem.

Naturligtvis, för en noggrann och detaljerad profilering av din ansökan, kan du använda Instruments när du behöver. En knapp som du kan klicka för att öppna instrumenten samtidigt är alltid längst upp till höger om mätinstrumentets fönster. När en app körs kan du klicka på mätaren för att mäta och titta på alla mätningar som äger rum i realtid. Om du märker något onormalt beteende, kan du misstänka att något är fel i din kod och måste åtgärdas.

Du uppmanas att använda dessa verktyg så mycket som möjligt för att upptäcka och åtgärda fel.


7. Test och Bots

Testning är en viktig del i utvecklingsprocessen, och det bör alltid ges särskild vård. Tack och lov med Xcode 5 testprogram är mycket lättare. Särskilt med det nya Test Navigator. Testnavigatorn finns i navigeringsfönstret och det listar alla tester du skapar.

Genom navigator kan test enkelt redigeras, springer eller raderas. Bredvid varje test visas dess nuvarande tillstånd, om det lyckats, misslyckades eller ännu inte körts. Stor flexibilitet gavs också på hur testen körs. Så du kan initiera ett enda test, välja ett gäng dem eller låta dem springa samtidigt.

Ett nytt enhetstestramverk infördes på Xcode 5, the XCTest, som existerar parallellt med den tidigare ramen, OCUnit. Den första kommer dock att dominera framtiden. Därför rekommenderas att du använder XCTest i dina projekt. Som standard använder nya projekt denna ram. Också i Xcode 5 kan den testade koden och själva testet placeras sida vid sida med hjälp av assistentredigeraren. På så sätt kan du se både koden och testinformationen medan den körs.

bots är en helt ny funktion på Xcode 5. En bot är en tjänst, som upprepade gånger gör en rad uppgifter, som att bygga, testa, analysera, arkivera och signera en applikation (uppgifter som traditionellt skulle göras manuellt av utvecklare). Dessa serier av uppgifter kallas integrationsprocessen. Med bots är integrationsprocessen automatisk och kan fortsätta så länge som behövs.

Det som gör bots särskilda är att istället för att köra tester på den lokala datorn kan de flytta testen till en server och utföra integrationsprocessen där. På så sätt är datorer som används för utveckling inte belastade med testutförande, och dessutom kan testresultat delas med alla utvecklingsgrupper samtidigt. Dessutom kan robotar köra flera test för flera applikationer på enheter som är anslutna till servern.

Bots kan konfigureras för att fungera på två sätt. Enligt det första sättet utför bots integrationsprocessen på kod som tas från ett källkontrollsystem som Git. När nya ändringar är tillgängliga startar bots integrationsprocessen över och fortsätter tills appen har slutförts och ingen testning behövs. Dessa bots kallas kontinuerlig. Det andra sättet är att integrationsprocessen upprepas så snart som möjligt. Bots som är konfigurerade att fungera på detta sätt kallas nattlig eller periodiska robotar, och de undertecknar och arkiverar appen på varje reproduktionssteg, med ytterligare ett resultat, för att hålla reda på historien under tiden.

För att utveckla lag består bots av ett bra sätt att köra tester och dela resultaten. Genom den omfattande testningen som utförs på grund av den kontinuerliga integrationsprocessen är det också mycket lättare att hitta buggar och fel, samtidigt som det kan på grund av testningens natur, buggar kan isoleras eller lokaliseras med avseende på specifika maskinvaror eller andra inställningar . Bots är ett enormt steg för Xcode!


8. Kompilatorförbättringar

Hittills presenterades alla nya Xcode 5-funktioner en efter en, men denna handledning skulle inte vara komplett om det inte hänvisades till förbättringar under ytan. Så, låt oss få en kort rundtur i de stora förändringarna och tilläggen till kompilator.

Först och främst till version 4.6 stödde Xcode två kompilatorer: Apple LLVM och LLVM-GCC 4.2. På Xcode 5 är den senare borta, och endast Apple LLVM kvarstår, bemyndigad med nya funktioner som gör den ännu mer användbar.

LLVM compiler introducerar logiken till moduler. Men innan vi förklarar vad en modul är, låt oss kortfattat se det problem som det motverkar. När en kompilator analyserar en fil analyserar den inte bara koden som finns i den filen, men det gör det också för alla huvudfiler som importeras (med kommandot #import) till filen. Denna process fungerar rekursivt, och alla importerade filer analyseras äntligen till sista koden. Det betyder att istället för att analysera endast de linjer med kod som finns i den ursprungliga filen måste tusentals rader analyseras på grund av den fortsatta importen. Detta är inte ett nytt problem och moduler kom för att ge en lösning. En modul är en enkel, optimerad databas som håller den analyserade koden för en enda systemhuvudfil (till exempel UIKit.h, Webkit.h, etc.) inom. Kompilatorn bygger a uppsättning av sådana moduler, och när det är dags att analysera vår egen fil, behöver den inte parsa huvudfilerna igen. Med tanke på att samma filer importeras igen och igen flera gånger blir det uppenbart att moduler ger stor prestanda vid sammanställning. Dessutom använder Xcode moduler för att uppnå några av sina avancerade funktioner, som syntax, markering och automatisk slutförande.

En annan ny egenskap hos kompilatorn är Auto-vectorizer, vilket tillsattes tydligt av prestationsskäl. Dess jobb är att analysera kod och hitta segment där två eller flera operationer (upp till 32) kan köras samtidigt. Det beror på att de nya moderna processorerna erbjuder bra vektorfunktioner för virtuell multi-threading, och Autovectorizer drar nytta av detta. I applikationer där intensiva beräkningar krävs kan den här funktionen verkligen öka prestanda beroende på vilken typ av beräkningar.

Kompilatorn kan nu läsa koddokumentationen och producera hjälptips, precis som det gör med den inbyggda dokumentationen. Så, ju mer du dokumenterar din kod, desto mer detaljerad hjälp tillhandahålls av Xcode. Funktionerna ger mycket större betydelse om du använder anpassad kod från andra utvecklare. Här är ett exempel på hjälp som tillhandahålls för anpassad koddokumentation:


Slutligen, om kompilatorn, finns det några punkter om statisk analysator funktion som bör nämnas. Statisk analysator har förbättrats och det kan nu göra en djupare kodanalys som hjälper dig att hitta fler buggar. Men det som faktiskt gör utvecklare glada är den nya funktionen som gör det möjligt för användaren att utföra statisk analys på en enda fil, eller till och med bygga en enda fil istället för att analysera hela projektet om och om igen. Det är en stor förbättring och låter dig fokusera bara på filen du jobbar med.


Slutsats

Xcode 5 är en utvecklars dröm, eftersom den hjälper användaren att bygga en buggfri och omfattande testad applikation. Det är inte svårt att anta alla förändringar, och när du gör det kommer du att älska dem. Om du inte har flyttat till den senaste versionen än, rekommenderar jag starkt dig att göra det och njut av alla Xcodes nya funktioner. När det gäller Xcode 5, fortsätt utforska och du kommer att bli belönad!