Xcode 5 Essentials

Xcode 5 is een grote stap voorwaarts voor het Apple-ecosysteem en biedt ontwikkelaars meer mogelijkheden, functies en hulpmiddelen dan ooit tevoren. Met versie 5 is Xcode uitgegroeid tot een extreem krachtige IDE. Lees dit artikel om te ontdekken wat er nieuw is!

Invoering

Xcode 5 zit vol met verbeteringen en toevoegingen, zowel groot als klein. Al deze veranderingen bieden enorme hulp aan ontwikkelaars. Wijzigingen beginnen in de interface, waar de bijgewerkte look-and-feel-stijl is aangepast om te passen in het nieuwe iOS 7-ecosysteem. Gewoon door rond te toeren, merk je een aantal stilistische aanpassingen op, beginnend bij het welkomstscherm.

De nieuwe toevoegingen zijn duidelijk bij het gebruik van Xcode, en als je er een tijdje mee werkt, zul je ontdekken dat Apple in deze versie twee belangrijke punten target. Het eerste doel is om ontwikkelaars te ontheffen van verschillende configuratietaken met betrekking tot hun applicaties. Het andere doel is om het debuggen en testen naar een geheel nieuw niveau te tillen en ontwikkelaars bruikbare tools te bieden die deze taken eenvoudiger en effectiever maken.

Alle nieuwe functies worden meteen aan u voorgesteld. Kortom, hier is een lijst met alle nieuwe of essentiële functies die u in deze zelfstudie zult tegenkomen:

  • Automatische configuratie
  • Verbeteringen in bronbeheer
  • Uitbreidingen voor Interface Builder en Autolayout
  • Asset Catalog
  • Debugger-verbeteringen
  • Debug-meters
  • Testen en bots
  • Compiler verbeteringen

1. Automatische configuratie

Het inschakelen van een Apple-service in een applicatie was altijd een taak waarvoor een bepaald aantal stappen moest worden uitgevoerd door de ontwikkelaar totdat de app volledig is ingesteld en werkt. Kaders moeten aan het project worden gekoppeld, rechten moeten aan de app-ID worden toegevoegd, sleutels moeten in het * .plist-bestand worden toegevoegd en alle taken moeten worden uitgevoerd volgens de vereisten van de service. De vele kleine stappen maakten dit een moeilijk proces.

Xcode 5 verwijdert het gedoe van het doen van al het bovenstaande van ontwikkelaars, dankzij de Automatische configuratie voorzien zijn van. Met Automatische configuratie is de enige vereiste voor ontwikkelaars hun Apple ID (gekoppeld aan een ontwikkelaarsprogramma). Xcode schakelt vervolgens automatisch alle diensten in die ontwikkelaars nodig hebben, en stelt ze in, door frameworks te koppelen, rechten te beheren en al het andere te doen dat nodig is om een ​​dienst te laten werken. Ontwikkelaars hoeven echt niets anders te doen dan alleen de services te selecteren die ze graag zouden zien in hun applicaties. Zelfs provisioningprofielen kunnen optioneel automatisch worden gemaakt met de juiste instellingen. Dit is een geweldige functie voor ontwikkelaars!

Laten we een meer gedetailleerde kijk nemen op Automatische configuratie.

Het is eenvoudig om uw Apple ID binnen Xcode toe te wijzen. Gewoon open Xcode-menu> Voorkeuren ...> Accounts. Het tabblad Accounts is een nieuwe functie in Xcode 5.


Linksonder in het venster Voorkeuren staan ​​drie knoppen: een plusteken, een minteken en een versnellingsteken. Klik op de Plusteken> Apple-ID toevoegen ... keuze. Geef in het formulier dat wordt weergegeven uw Apple ID en uw wachtwoord op en klik op Toevoegen.


Als alles volgens plan verloopt, moet de Apple ID die je zojuist hebt toegevoegd aan de linkerkant van het venster worden weergegeven. Aan de rechterkant, als u uw ID selecteert en op klikt Bekijk details knop, een ander venster verschijnt op het scherm.


Deze bevat al uw ondertekeningsidentiteiten en provisioningprofielen. U kunt ondertekeningsidentiteiten maken, verwijderen of intrekken met behulp van de juiste knoppen onder het gebied Ondertekeningsidentiteiten. Met de knop Vernieuwen onder aan het venster kunt u alle wijzigingen bijwerken die u online op uw inrichtingsprofielen uitvoert.

Om een ​​Apple ID te verwijderen, selecteert u simpelweg de betreffende ID in de lijst op de Accounts en klikt u op de knop Menu's aan de linker onderkant ervan.

De mogelijkheden tabblad zorgt ervoor dat Apple-services automatisch kunnen worden geconfigureerd. Deze functie is te vinden als u op uw project klikt op uw Project Navigator.

Zoals je in de figuur kunt zien, is het gewoon een kwestie van het in- of uitschakelen van een schakelknop. Capabilities bieden automatische configuratieondersteuning voor de volgende services:

  1. iCloud
  2. Game Center
  3. rekening-courantboekje
  4. In App aankopen
  5. Kaarten
  6. Achtergrond Modi
  7. Sleutelhanger delen
  8. Inter-app audio
  9. Gegevensbescherming

Als u een van deze uitbreidt, wordt een beschrijving van de geselecteerde service en informatie over de acties zichtbaar. Als u bijvoorbeeld het Game Center service verschijnt de volgende afbeelding, waarin staat dat de "Game Center" -rechten zijn toegevoegd aan de app-ID, de "GameKit" -sleutel is toegevoegd aan het info plist-bestand en het GameKit-framework gekoppeld was aan uw project. Dit zijn acties en stappen die u handmatig zou kunnen uitvoeren, maar nu kan Xcode het namens u automatisch doen! Als u dat wilt, kunt u het gewoon zelf blijven doen, maar Xcode bespaart u tijd.

In de Algemeen tabblad (links van het tabblad Mogelijkheden), binnen de Identiteit sectie, daar is de Team drop-down menu. Als u uw Apple ID met succes hebt toegevoegd aan Xcode, klikt u erop om een ​​ontwikkelteam te selecteren precies zoals het wordt weergegeven op iTunes Connect. Voor ontwikkelaars die solo spelen, wordt alleen de volledige naam weergegeven. Als u wilt dat Automatische configuratie voor u werkt, raad ik u aan uw team (of naam) te selecteren voordat u een service inschakelt op het tabblad Functies. In het geval dat u de teamwaarde verlaat Geen, wanneer u vervolgens een service probeert in te schakelen, wordt u door Xcode gevraagd om uw team te selecteren.

Op basis van de Apple ID op het tabblad Accounts van Xcode-voorkeuren, de ondertekenings-identiteitsinstellingen en de Capabilities-instellingen, kan Xcode nieuwe provisioningprofielen voor u maken, met de juiste instellingen, in plaats van dit handmatig te doen. Herstellingen worden ook toegepast op bestaande provisioningprofielen met problemen.

Om samen te vatten, bespaart automatische configuratie u van veelvuldig handmatig werk door vele stappen voor u te doen. U kunt echter nog steeds alles handmatig maken en instellen zoals u dat traditioneel hebt gedaan, of enkele stappen alleen doen en anderen automatisch door Xcode laten doen. Het is een geweldige functie, gebruik het naar wens.


2. Bronbeheer

Bron- en versiecontrolesystemen zijn altijd nuttig en zijn verplicht voor projecten die meestal groot worden en door een team programmeurs worden ontwikkeld. Zelfs eenzame ontwikkelaars zouden de gewoonte moeten aannemen om een ​​bronbesturingssysteem te gebruiken, omdat het een geweldig hulpmiddel is, vooral als het gaat om het volgen van codeverandering. Met een broncontrolesysteem kunt u codewijzigingen bijhouden en teruggaan naar een stabielere versie wanneer dit nodig is. Voor teamontwikkeling is het geweldig omdat het elke ontwikkelaar in staat stelt om een ​​deel van het project te bouwen, simpelweg door er een kopie van te maken (branch) en zonder zich te bemoeien met de code van andere ontwikkelaars. Wanneer verschillende projectstukken gereed zijn, kunnen ze worden samengevoegd (samengevoegd) tot één werkende versie van de code. Ook kunnen ontwikkelaars in gevallen waarin teveel bugs voorkomen teruggaan naar een stabielere versie en de codewijzigingen opsporen door simpelweg twee versies van hetzelfde bestand te vergelijken. Git is zo'n broncontrolesysteem.

Xcode 5 geeft speciale zwaartekracht aan bronbesturing. In Xcode 4.6 kon bronbeheer worden gevonden onder de het dossier menu. In versie 5 heeft bronbeheer een eigen hoofdmenu in de Xcode-menubalk.


Zoals u in de afbeelding ziet, kunt u in dit menu direct het huidige project zien waaraan u werkt en toegang krijgen tot bepaalde bewerkingen, zoals plegen, Duwen, Nieuwe tak, Schakel over naar filiaal, Samenvoegen van filiaal, en nog veel meer. Het is heel gemakkelijk en snel om toegang te krijgen tot het bronbesturingssysteem en om eventuele wijzigingen in uw opslagplaatsen te behouden.

Over opslagplaatsen gesproken, u kunt ze direct bereiken bij het starten van Xcode, zelfs vanaf het welkomstscherm, gewoon door te klikken op de Bekijk een bestaand project keuze.


Navigeer naar de Uitchecken formulier, waar u een lijst kunt zien met al uw opslagplaatsen, uw favorieten of de meest recente. Als alternatief kunt u een locatie typen waar een repository kan worden gevonden.

Een andere handige optie met betrekking tot bronbesturing en Xcode 5 is de De schuld voor deze regel werking onder de Editor menu. Deze optie geeft commentaarinformatie weer over de huidige regel waarop de cursor staat en geeft aan wie de laatste opmerking heeft gemaakt. Dit is vooral handig bij teamprojecten omdat het gemakkelijk is om de ontwikkelaar te vinden die de code voor het laatst heeft gewijzigd.


Merk op dat als u de optie Schuld probeert te gebruiken zonder ten minste één van uw bestanden in het menu Bronbeheer te gebruiken, er geen informatie aan u wordt getoond.

Net als vele andere aspecten van Xcode, is bronbesturing ook configureerbaar. Ga naar Xcode> Voorkeuren ...> Bronbeheer om toegang te krijgen tot de instellingen ervan. Als u wilt, kunt u het bronbeheer voor uw project volledig uitschakelen (maar het wordt aanbevolen dit niet te doen). Stel de opties in volgens uw voorkeur en werk in uw aangepaste omgeving.

Als u Source Control niet gebruikt bij het ontwikkelen van applicaties, wordt u sterk aangeraden om dit te doen. U zult opmerken dat het bijhouden van versies van uw bestanden, het terugkeren naar oudere versies of het vergelijken ervan een proces is dat u veel tijd kan besparen wanneer u de fouten in uw code probeert op te sporen.

3. Interfacebouwer en Autolayout

Interface Builder, de GUI-ontwerper van Xcode, lijkt niet veel duidelijke veranderingen te hebben, behalve het ontbrekende raster en de algemene esthetische upgrade. Een belangrijke functie die in deze versie van Xcode is toegevoegd, is de mogelijkheid om voorvertoning de interface-instelling voor iOS-versies gelijk of eerder dan 6.1. Alle grafische elementen (subweergaven) zijn opnieuw ontworpen en ontwikkelaars moeten weten of de positie, de grootte of de lay-out van de subweergaven werkt voor zowel iOS 7 als eerdere versies van iOS.

Als u de voorbeeldfunctie op Interface Builder wilt gebruiken, moet u eerst de Assistent redacteur.


Als Xcode automatisch een bestand met code toont in de assistent-editor, zoek en open dan het .xib- of storyboard-bestand waarvan je een voorbeeld wilt bekijken, zoals weergegeven in de volgende afbeelding.


Zodra u het GUI-bestand hebt geopend in zowel de standaard- als de assistent-editor, klikt u op de Knop Verwante bestanden> Voorbeeld> Jouw bestand van de assistent-editor.

Let op een kader rechtsonder op het scherm, waar het zegt iOS 7.0 en hoger. Klik erop, selecteer de iOS 6.1 en eerder optie en je hebt de preview klaar.

Preview is een handig hulpmiddel voor ontwikkelaars die achterwaartse compatibiliteit willen behouden in hun applicaties en om eerdere iOS-versies te ondersteunen. Dus als uw applicatie niet alleen iOS 7 ondersteunt, gebruik hem ook wanneer u uw interface ontwerpt.

Laten we het hebben over de AutoIndeling functie nu. Autolayout is niet iets nieuws in iOS 7, maar in Xcode 5 is het opnieuw ontworpen vanaf het begin, waardoor ontwikkelaars de ultieme vrijheid hebben om beperkingen in te stellen en te veranderen. Dat betekent dat u elke gewenste beperking kunt instellen, zoals u wilt (zelfs verwijderen) zonder een automatische interventie van Xcode. Het zal je waarschuwen als er ontbrekende of beperkingen zijn die niet overeenkomen, maar het laat je doen wat je wilt zonder beperkingen.

In tegenstelling tot eerdere versies van Xcode, is in versie 5 een nieuwe subweergave toegevoegd aan een weergave die geen beperkingen bevat. Hiermee kunnen ontwikkelaars beslissen welke beperkingen ze nodig hebben. Nieuwe opties voor het instellen van beperkingen zijn ook beschikbaar in het kader rechtsonder van de Interface Builder (of, in de Editor menu), die u kunt gebruiken om aangepaste waarden en bepaalde beperkingen in te stellen of om Xcode toe te staan ​​de lay-out automatisch voor u in te stellen.

Wanneer u beperkingen instelt en Xcode detecteert dat er ambiguïteit of problemen zijn, kleuren de beperkingsregels rood in plaats van blauw. Ze blijven zo totdat alle problemen met betrekking tot de problematische subweergave zijn opgelost. Hier is een voorbeeld waar beperkingen ontbreken en Xcode ons waarschuwt met de lijnkleur:

Waarschuwingen of fouten over ontbrekende beperkingen of verkeerd geplaatste weergaven worden ook getoond door Xcode in de Documentoverzicht, naast de mening dat inconsistenties bestaan. Om te onderzoeken wat het probleem is, klikt u eenvoudig op de kleine gele of rode pijl naast de weergave en verschijnt er een lijst met alle lay-outproblemen. De eenvoudigste manier om alles te repareren, is door op elke waarschuwing of foutmelding die verschijnt te klikken en door een lijst met voorgestelde en mogelijke oplossingen die Xcode biedt, om de meest geschikte te selecteren op basis van uw behoeften. De andere manier is om te blijven spelen met de beperkingen van de weergave of de weergaven die de problemen veroorzaken, totdat u erin slaagt alle waarschuwingen of fouten te dempen.

Als een advies adviseer ik dat wanneer u de Beperkingen bijwerken, Voeg ontbrekende beperkingen toe, of Resetten op voorgestelde beperkingen opties om Xcode automatisch alle beperkingen te laten instellen die u niet handmatig hoeft aan te raken. Die opties zijn te vinden in het menu Editor> Los problemen in de automatische lay-out op of in de respectieve knop die rechtsonder in het tekengebied van de Interface Builder wordt weergegeven.


4. Asset-catalogus

Asset Catalog is nog een nieuwe functie van Xcode 5 met een tweeledig doel:

  1. Zet al je afbeeldingen bij elkaar en laat je ze op één plek bewaren.
  2. Om u te ontlasten van de noodzaak om alle benamingsconventies te onthouden die vereist zijn voor app-pictogrammen en startafbeeldingen.

Met Asset Catalog hoeft u de regels die van toepassing zijn op het app-pictogram of de naamgeving van de afbeeldingsafbeelding niet te onthouden. Activa met dit soort afbeeldingen kunnen nu elke gewenste naam hebben. Xcode accepteert alles en geeft automatisch de juiste naam aan hen. Asset Catalog is ook de beste plaats om uw afbeeldingen bij elkaar te hebben en ze allemaal tegelijkertijd te openen wanneer dat nodig is.

Asset Catalog wordt weergegeven als een groep met een blauwe mappictogram in de lijst van uw groepen en bestanden op de Projectnavigator.


Opmerking: als u een nieuw iOS 7-toepassingsproject op Xcode maakt, is de inventariscatalogus op zijn plaats. Als u een bestaand project echter naar iOS 7 verplaatst, moet u de Asset-catalogus zelf maken. Dit is gemakkelijk te doen. In de Algemeen tab van je project, binnen de App-pictogrammen sectie is er een knop met titel Gebruik Asset Catalog. Klik erop en de catalogus vormt.

Als u op het Asset Catalog-pictogram op de Projectnavigator klikt, ziet u een reeks lege slots die wachten om de pictogrammen van de toepassing te accepteren. De Asset Catalog-functie geeft slots weer voor alle doelapparaten die u in uw project instelt. Om een ​​app-pictogram toe te voegen, kunt u eenvoudig een van een map op uw computer naar het juiste slot slepen en neerzetten. Dezelfde regel is ook van toepassing op de startafbeeldingen, waar er lege slots voor alle apparaten en ondersteunde oriëntatie in de projectopties zijn. Nogmaals, ik zal u eraan herinneren dat app-pictogrammen en startafbeeldingen elke gewenste naam kunnen hebben; Xcode stelt automatisch de juiste in.


Alle andere afbeeldingen die u aan een toepassing wilt toevoegen, kunnen gemakkelijk in de inventariscatalogus worden geplaatst door ze eenvoudig daar naartoe te slepen en neer te zetten. Als er al afbeeldingen in uw project staan, dan is dit de snelste manier om ze vanuit de Project Navigator naar de inventariscatalogus te verplaatsen:

  1. Klik op de Plus-knop die zich bevindt in de linkerbenedenhoek aan de linkerkant van de inventariscatalogus.
  2. Klik op de Importeren vanuit project ... keuze.
  3. Selecteer de gewenste afbeeldingen in het venster dat verschijnt (als ze nog niet zijn geselecteerd) en klik vervolgens op de Importeren knop.

Nadat de afbeeldingen rechtstreeks van uw computer zijn geïmporteerd of toegevoegd, ziet u dat er binnen de inventariscatalogus één record is voor elke afbeelding. Als u op een van de knoppen klikt, ziet u dat er twee slots aan gekoppeld zijn. De eerste accepteert de afbeelding met normale resolutie (1x) en de tweede accepteert de resolutie van de resolutie van de retina-weergave (2x).


5. Debugger

Fouten opsporen op Xcode 5 biedt ontwikkelaars een nieuwe ervaring, omdat nieuwe functies aan de foutopsporing zijn toegevoegd. Het traceren van variabele waarden is eenvoudiger. Het bekijken van afbeeldingen, documenten en andere objecten is nu slechts een kwestie van één klik, en er is veel flexibiliteit bij het werken met breekpunten. De foutopsporing op Xcode 5 is gebaseerd op de LLDB motor, die de gdb motor. LLDB is krachtiger en ligt ten grondslag aan alle nieuwe functies voor foutopsporing. Laten we de verbeteringen eens bekijken.

De eerste grote visuele verbetering is er op gegevenstips. Een gegevenstip geeft de waarde van een variabele weer tijdens foutopsporing, wanneer de muisaanwijzer over de variabele zweeft. Voor eenvoudige variabelen van het gegevenstype toont de gegevenstip eenvoudig de waarde, net als in de volgende afbeelding:

Wat betreft objecten geven gegevenstips samenvattende informatie voor elk zwevend object, maar de grootste verandering is dat meer dan tekst nu kan worden weergegeven. Afbeeldingen, tekstdocumenten, bezier-curven en meer kunnen tijdens het debuggen worden bekeken op Xcode, zodat het voor ontwikkelaars gemakkelijker is om hun objecten te bekijken en verzekerd te zijn van hun inhoud. De combinatie van gegevens en afbeeldingen biedt superflexibiliteit bij het zoeken naar fouten, omdat zowel afzonderlijke variabelen als objecten in één keer kunnen worden bekeken. Dit is een geweldige functie die foutopsporingstijd vermindert! Bekijk nu de volgende afbeelding om een ​​voorbeeld te zien:


Naast elk object dat u kunt bekijken, net als in de vorige afbeelding, een oog en een info knoppen worden weergegeven. U kunt een voorvertoning (Quick Look-functionaliteit) van het geselecteerde object bekijken door op de oogknop te klikken. U kunt ook gedetailleerde informatie bekijken door op de infoknop te klikken.

Afgezien van de gegevenstips, breekpunten waren ook verbeterd. Als u eerder een probleem met een project hebt opgelost, weet u dat breekpunten eenvoudig kunnen worden ingesteld door aan de linkerkant van de regels te klikken waar u ze wilt hebben. Breekpunten kunnen worden ingeschakeld of uitgeschakeld door op elk van deze te klikken of door de breekpunten knop. Met Xcode 5 bestaat dit niet meer in de bovenste werkbalk, maar is het verplaatst naar de werkbalk voor foutopsporing onder aan het Xcode-venster. Met deze knop kunt u alle breekpunten tegelijk schakelen. Ingeschakelde onderbrekingspunten worden blauw weergegeven en uitgeschakelde onderbrekingspunten worden grijs weergegeven. Als u een breekpunt volledig wilt verwijderen, klikt u er met de rechtermuisknop op en selecteert u het Verwijder breekpunt keuze.

Op Xcode 5 werken onderbrekingspunten voorwaardelijk. Bovendien zijn er acties aan verbonden als aan een voorwaarde is voldaan. Op die manier hoeven ontwikkelaars niet altijd breekpunten in en uit te schakelen, maar moeten ze alleen voorwaarden toevoegen of breekpunten selecteren om bepaalde tijden te negeren en zich meer richten op foutopsporing. De beschikbare acties die beschikbaar zijn en kunnen worden gekoppeld aan een onderbrekingspunt wanneer aan een voorwaarde is voldaan, worden hieronder weergegeven:

  • AppleScript
  • Capture OpenGL ES-frame
  • Debugger Command
  • Logbericht
  • Shell Command
  • Geluid

Meer dan één actie kan worden ingesteld als breekpunten wanneer aan de voorwaarden is voldaan. U kunt bijvoorbeeld een bericht loggen en tegelijkertijd een geluid afspelen dat u op de hoogte stelt van de breekpuntenvoorwaarde. Hier is een voorbeeld:


Dus, bij gebruik van deze nieuwe functies wordt het debuggen veel eenvoudiger. Buggy code kan sneller worden opgespoord en verspilde tijd kan nu worden opgeslagen en aan andere taken worden gegeven. In combinatie met de volgende gloednieuwe functie, wordt het debuggen een geheel nieuwe ervaring!


6. Debug-meters

Heel lang geleden, toen systeembronnen (zoals CPU en geheugen) beperkt waren in een computersysteem, moesten programmeurs heel wat tijd besteden om ervoor te zorgen dat hun programma's met zo min mogelijk middelen werken. Dat was een moeilijke taak, maar het was de beste manier om ervoor te zorgen dat er geen geheugenlekken bestonden of dat er sprake was van zinloos CPU-gebruik. Met de nieuwe krachtige en snelle subsystemen die apparaten gebruiken, is het tegenwoordig heel gewoon voor ontwikkelaars om eventuele lekken van hun applicaties te negeren, omdat ze gewoon zien dat hun apps redelijk snel werken op moderne apparaten. Bronnen zijn echter altijd beperkt en als je ze negeert, zou een potentiële crash van een applicatie zeker tot een slechte gebruikerservaring leiden.

Hier is waar Debug-meters debuteren, komen als hulpopsporingshulpmiddelen waarmee ontwikkelaars ongewenst gebruik van systeembronnen kunnen opsporen. Debug-meters bestaan ​​eigenlijk uit een lichtgewicht versie van sommigen instrumenten tools, ze zijn ingebed in Xcode (niet nodig om te openen in een nieuw venster zoals Instrumenten) en ze kunnen bovendien tijdens de foutopsporing altijd samen met de applicatie draaien. Met meters kunt u de volgende bronnen observeren:

  • processor
  • Geheugen
  • Energie
  • iCloud
  • OpenGL ES

Debug-meters zijn toegankelijk via de Debug Navigator, en ze verschijnen wanneer een applicatie wordt uitgevoerd. De grote grafische elementen vertegenwoordigen alle bronnen die worden bekeken, dus het is eenvoudig om ze te gebruiken.

Natuurlijk, voor een grondige en gedetailleerde profilering van uw toepassing, kunt u Instrumenten gebruiken wanneer u maar wilt. Een knop waarop u kunt klikken om Instrumenten tegelijk te openen, bevindt zich altijd rechts bovenaan in het metersvenster. Wanneer een app wordt uitgevoerd, kunt u klikken op de meter om te meten en alle metingen in realtime bekijken. Als u abnormaal gedrag constateert, dan vermoedt u dat er iets mis is in uw code en moet dit worden opgelost.

U wordt aangemoedigd om deze tools zo veel mogelijk te gebruiken om bugs op te merken en op te lossen.


7. Testen en bots

Testen is een belangrijk onderdeel van het ontwikkelingsproces en er moet altijd voor worden gezorgd dat het wordt getest. Gelukkig is het testen met Xcode 5 een stuk eenvoudiger. Vooral met het nieuwe Test Navigator. Testnavigator bevindt zich in het navigatievenster en toont alle tests die u hebt gemaakt.

Via de navigator kunnen tests eenvoudig worden bewerkt, uitgevoerd of verwijderd. Naast elke test wordt de huidige status weergegeven, ongeacht of deze is geslaagd, mislukt of nog niet is uitgevoerd. Grote flexibiliteit werd ook gegeven aan de manier waarop tests werden uitgevoerd. U kunt dus een enkele test starten, een aantal selecteren of tegelijkertijd laten werken.

Een nieuw unit test framework werd geïntroduceerd op Xcode 5, de XCTest, die parallel met het vorige kader bestaat, de OCUnit. De eerste zal echter de toekomst domineren. Daarom is het aanbevolen om de XCTest in uw projecten te gebruiken. Standaard gebruiken nieuwe projecten dit kader. In Xcode 5 kunnen de geteste code en de test zelf naast elkaar worden geplaatst met behulp van de assistent-editor. Op die manier kunt u zowel de code als de testdetails bekijken terwijl deze actief is.

bots zijn een geheel nieuwe functie op Xcode 5. Een bot is een service die herhaaldelijk een reeks taken uitvoert, zoals het bouwen, testen, analyseren, archiveren en ondertekenen van een toepassing (taken die traditioneel handmatig door ontwikkelaars worden gedaan). Deze reeks taken wordt genoemd integratieproces. Met bots is het integratieproces automatisch en kan zo lang als nodig worden voortgezet.

Wat bots speciaal maakt, is dat in plaats van tests uit te voeren op de lokale computer, ze die tests naar een server kunnen verplaatsen en daar het integratieproces kunnen uitvoeren. Op die manier zijn computers die voor ontwikkeling worden gebruikt niet belast met testuitvoeringsverplichtingen en bovendien kunnen testresultaten tegelijkertijd aan alle ontwikkelaars worden gedeeld. Bovendien kunnen bots meerdere tests uitvoeren voor meerdere toepassingen op apparaten die op de server zijn aangesloten.

Bots kunnen worden geconfigureerd om op twee manieren te werken. Volgens de eerste manier voeren bots het integratieproces uit op code die is overgenomen van een bronbesturingssysteem zoals Git. Wanneer er nieuwe wijzigingen beschikbaar zijn, start bots het integratieproces en blijft doorgaan totdat de app is voltooid en er geen tests meer nodig zijn. Deze bots worden genoemd doorlopend. De tweede manier is dat het integratieproces zo snel mogelijk wordt herhaald. Bots die zo zijn geconfigureerd dat ze op deze manier werken, worden gebeld nachtelijk of periodieke bots, en zij ondertekenen en archiveren de app bij elke reproductiestap, met nog een resultaat, om de geschiedenis in de loop van de tijd bij te houden.

Voor het ontwikkelen van teams zijn bots een uitstekende manier om tests uit te voeren en de resultaten te delen. Door de uitgebreide tests die worden uitgevoerd als gevolg van het continue integratieproces, is het vinden van fouten en fouten veel gemakkelijker, terwijl door de aard van de tests bugs kunnen worden geïsoleerd of gelokaliseerd met betrekking tot specifieke hardware of andere instellingen. . Bots zijn een enorme sprong voor Xcode!


8. Compilerverbeteringen

Tot nu toe werden alle nieuwe Xcode 5-functies een voor een gepresenteerd, maar deze tutorial zou niet compleet zijn als er niet werd verwezen naar verbeteringen aan de oppervlakte. Laten we dus een korte rondleiding geven over de belangrijkste wijzigingen en toevoegingen aan de compiler.

Ten eerste, tot versie 4.6 ondersteunde Xcode twee compilers: Apple LLVM en LLVM-GCC 4.2. Op Xcode 5 is dit laatste verdwenen, en alleen Apple LLVM is nog steeds aanwezig, gemachtigd met nieuwe functies die het nog nuttiger maken.

LLVM-compiler introduceert de logica van modules. Maar voordat we uitleggen wat een module is, laten we in het kort het probleem zien dat het tegenaanvalt. Wanneer een compileerprogramma een bestand parseert, wordt niet alleen de code in dat bestand geanalyseerd, maar ook voor alle headerbestanden die worden geïmporteerd (met de # import-opdracht) naar het bestand. Dit proces werkt recursief en alle geïmporteerde bestanden worden uiteindelijk geparseerd tot de laatste regel met code. Dit betekent dat in plaats van alleen de regels met code die in het oorspronkelijke bestand aanwezig zijn, te parseren, er nog duizenden regels moeten worden geparseerd vanwege de voortdurende import. Dit is geen nieuw probleem en modules kwamen om een ​​oplossing te bieden. Een module is een eenvoudige, geoptimaliseerde database die de geparseerde code van een enkel systeemheaderbestand (bijvoorbeeld UIKit.h, Webkit.h, enz.) Bewaart. Compiler bouwt een reeks van dergelijke modules, en wanneer het tijd is om ons eigen bestand te ontleden, hoeft het de header-bestanden niet opnieuw te ontleden. Rekening houdend met het feit dat dezelfde bestanden steeds opnieuw meerdere keren worden geïmporteerd, wordt het duidelijk dat modules uitstekende prestaties leveren bij het compileren. Bovendien gebruikt Xcode zelf modules om een ​​aantal van zijn geavanceerde functies te realiseren, zoals syntaxis, markeren en automatisch aanvullen.

Een andere nieuwe functie van de compiler is de Auto-vectorizer, die om prestatieredenen duidelijk is toegevoegd. Het is zijn taak om code te analyseren en segmenten te vinden, waar twee of meer bewerkingen (maximaal 32) tegelijkertijd kunnen worden uitgevoerd. Dat komt omdat de nieuwe, moderne CPU's geweldige vectorfuncties bieden voor virtuele multi-threading, en Autovectorizer profiteert hiervan. In toepassingen waar intensieve berekeningen vereist zijn, kan deze functie de prestaties echt verbeteren, afhankelijk van het type berekeningen.

De compiler kan nu de codedocumentatie lezen en helptips maken, net als bij de ingebouwde documentatie. Dus hoe meer u uw code documenteert, des te meer gedetailleerde hulp wordt geboden door Xcode. Deze functie is veel logischer in het geval dat u aangepaste code van andere ontwikkelaars gebruikt. Hier is een voorbeeld van de hulp die wordt geboden voor documentatie met aangepaste code:


Tot slot, met betrekking tot de compiler, zijn er een paar punten over de statische analysator functie die moet worden vermeld. De statische analyser is verbeterd en kan nu diepgaandere codeanalyses uitvoeren om u te helpen meer bugs te vinden. Maar wat ontwikkelaars echt blij maakt, is de nieuwe functie waarmee de gebruiker statische a