Xcode 5 Essentials

Xcode 5 è un importante passo in avanti per l'ecosistema Apple, portando più possibilità, funzionalità e strumenti agli sviluppatori che mai. Con la versione 5, Xcode è diventato un IDE estremamente potente. Leggi questo articolo per scoprire cosa c'è di nuovo!

introduzione

Xcode 5 è pieno di miglioramenti e aggiunte, sia grandi che piccoli. Tutte queste modifiche forniscono un'enorme assistenza agli sviluppatori. Le modifiche iniziano nell'interfaccia, dove lo stile look-and-feel aggiornato è stato adattato per adattarsi al nuovo ecosistema di iOS 7. Semplicemente girovagando, noterai una serie di modifiche stilistiche, a partire dalla schermata di benvenuto.

Le nuove aggiunte sono evidenti dall'uso di Xcode e, una volta che ci lavori per un po ', scoprirai che in questa versione Apple ha come obiettivo due punti principali. Il primo obiettivo è liberare gli sviluppatori da varie attività di configurazione relative alle loro applicazioni. L'altro obiettivo è di elevare debug e testing a un livello completamente nuovo e fornire agli sviluppatori strumenti utili che rendono queste attività più semplici ed efficaci.

Tutte le nuove funzionalità ti verranno presentate subito. In breve, ecco un elenco di tutte le nuove funzionalità o di quelle con le modifiche essenziali che incontrerai in questo tutorial:

  • Configurazione automatica
  • Miglioramenti del controllo del codice sorgente
  • Miglioramenti dell'interfaccia Builder e di Autolayout
  • Catalogo delle risorse
  • Miglioramenti del debugger
  • Indicatori di debug
  • Test e robot
  • Miglioramenti del compilatore

1. Configurazione automatica

Abilitare un servizio Apple in un'applicazione era sempre un'attività che richiedeva un certo numero di passaggi che devono essere eseguiti dallo sviluppatore fino a quando l'app non è completamente configurata e funzionante. I framework devono essere collegati al progetto, i diritti devono essere aggiunti all'app ID, le chiavi devono essere aggiunte nel file * .plist e tutte le attività devono essere eseguite in base ai requisiti del servizio. I molti piccoli passaggi hanno reso questo un processo difficile.

Xcode 5 rimuove il fastidio di fare tutto quanto sopra dagli sviluppatori, grazie a Configurazione automatica caratteristica. Con la configurazione automatica, l'unico requisito per gli sviluppatori è il loro ID Apple (associato a un programma per sviluppatori). Xcode abilita e imposta automaticamente tutti i servizi che gli sviluppatori desiderano, collegando i framework, gestendo le autorizzazioni e facendo qualsiasi altra cosa necessaria affinché un servizio funzioni. Gli sviluppatori non hanno davvero bisogno di fare altro, a parte selezionare i servizi che vorrebbero vedere nelle loro applicazioni. Anche i profili di provisioning possono essere creati automaticamente con le impostazioni corrette. Questa è una caratteristica fantastica per gli sviluppatori!

Diamo un'occhiata più dettagliata alla configurazione automatica.

È semplice assegnare il tuo ID Apple a Xcode. Semplicemente aperto Menu Xcode> Preferenze ...> Account. La scheda Account è una nuova funzionalità di Xcode 5.


In basso a sinistra della finestra delle preferenze ci sono tre pulsanti: un segno più, un segno meno e un segno di marcia. Clicca sul Segno più> Aggiungi ID Apple ... opzione. Nel modulo visualizzato, inserisci il tuo ID Apple e la tua password e fai clic Inserisci.


Se tutto va come previsto, l'ID Apple appena aggiunto dovrebbe essere elencato sul lato sinistro della finestra. Sul lato destro, se selezioni il tuo ID e fai clic su Visualizza dettagli pulsante, viene visualizzata un'altra finestra sullo schermo.


Questo contiene tutte le identità di firma e i profili di provisioning. È possibile creare, rimuovere o revocare le identità di firma utilizzando i pulsanti appropriati nell'area delle identità di firma. Inoltre, con il pulsante Aggiorna nella parte inferiore della finestra, è possibile aggiornare tutte le modifiche eseguite online sui profili di provisioning.

Per eliminare un ID Apple, basta selezionare il rispettivo ID dall'elenco degli account e fare clic sul pulsante Menu nella parte in basso a sinistra di esso.

Il funzionalità la scheda consente automaticamente la configurazione dei servizi Apple. Questa funzione può essere trovata se si fa clic sul progetto in Project Navigator.

Come si vede nella figura, si tratta semplicemente di abilitare o disabilitare un pulsante di commutazione. Le funzionalità forniscono il supporto della configurazione automatica per i seguenti servizi:

  1. iCloud
  2. Centro giochi
  3. libretto di banca
  4. Acquisto in app
  5. Mappe
  6. Modalità di background
  7. Condivisione di portachiavi
  8. Audio Inter-App
  9. Protezione dati

Se si espande uno di questi, diventa visibile una descrizione del servizio selezionato e informazioni sulle azioni. Ad esempio, se espandi il Centro giochi servizio la seguente figura appare, affermando che l'autorizzazione "Game Center" è stata aggiunta all'app ID, la chiave "GameKit" è stata aggiunta al file info plist e il framework GameKit è stato collegato al tuo progetto. Queste sono azioni e passaggi che potresti eseguire manualmente, ma ora Xcode può farlo automaticamente per tuo conto! Se lo desideri, puoi continuare a farlo da solo, ma Xcode ti risparmia un po 'di tempo.

Nel Generale scheda (quella a sinistra della scheda Capabilities), all'interno di Identità sezione, c'è il Squadra menu a discesa. Se hai aggiunto il tuo ID Apple in Xcode, fai clic su di esso per selezionare un team di sviluppo esattamente come appare su iTunes Connect. Per gli sviluppatori che giocano da soli, viene visualizzato solo il loro nome completo. Se si desidera che la configurazione automatica funzioni correttamente, si consiglia di selezionare il proprio team (o nome) prima di abilitare qualsiasi servizio nella scheda Funzionalità. Nel caso in cui si abbandoni il valore della squadra Nessuna, quando tenti di abilitare un servizio, Xcode ti chiederà di selezionare la tua squadra.

In base all'ID Apple nella scheda Account delle preferenze Xcode, alle impostazioni di identità della firma e alle impostazioni di Capacità, Xcode può creare nuovi profili di provisioning per te, utilizzando le impostazioni corrette, invece di farlo manualmente. Inoltre, le correzioni vengono applicate ai profili di provisioning esistenti con problemi.

Per ricapitolare, la Configurazione automatica ti salva da un lavoro manuale impegnativo facendo molti passaggi per te. Tuttavia, puoi sempre creare e impostare tutto manualmente come tradizionalmente hai fatto, o fare qualche passo da solo e lasciare che altri facciano automaticamente da Xcode. È una funzionalità eccezionale, usala a tuo piacimento.


2. Controllo del codice sorgente

I sistemi di controllo di origine e versione sono sempre utili e sono obbligatori per i progetti che tendono a diventare grandi e sviluppati da un team di programmatori. Anche gli sviluppatori di piloti solitari dovrebbero adottare l'abitudine di utilizzare un sistema di controllo del codice sorgente perché è un ottimo strumento, specialmente quando si tratta di tracciamento delle modifiche al codice. Un sistema di controllo sorgente ti consente di tenere traccia delle modifiche al codice e di tornare a una versione più stabile quando è necessario. Per lo sviluppo del team, è fantastico perché consente a ogni sviluppatore di creare una parte del progetto, semplicemente creando una copia di esso (ramo) e senza interferire con il codice di altri sviluppatori. Quando varie parti del progetto sono pronte, possono essere riunite (unite) in un'unica versione funzionante del codice. Inoltre, nei casi in cui appaiono troppi bug, gli sviluppatori possono tornare a una versione più stabile e rintracciare le modifiche al codice, semplicemente confrontando due versioni dello stesso file. Idiota è un tale sistema di controllo della sorgente.

Xcode 5 conferisce una gravità speciale al controllo della sorgente. In Xcode 4.6, il controllo del codice sorgente può essere trovato sotto File menu. Nel controllo sorgente della Versione 5 è disponibile il proprio menu di primo livello nella barra dei menu di Xcode.


Come vedi nella figura, in questo menu puoi vedere direttamente il progetto corrente su cui stai lavorando e accedere a determinate operazioni, come ad esempio Commettere, Spingere, New Branch, Passa al ramo, Unisci dal ramo, e tanti altri. È davvero facile e veloce accedere al sistema di controllo del codice sorgente e mantenere le modifiche desiderate nei repository.

Parlando di repository, è possibile raggiungerli direttamente quando si avvia Xcode, anche dalla schermata di benvenuto, semplicemente facendo clic sul Guarda un progetto esistente opzione.


Vai a Check-out modulo, in cui è possibile visualizzare un elenco di tutti i repository, i preferiti o quelli più recenti. In alternativa, è possibile digitare una posizione in cui è possibile trovare un repository.

Un'altra opzione utile per il controllo del codice sorgente e Xcode 5 è la Colpa per questa linea operazione sotto il editore menu. Questa opzione visualizza le informazioni sui commenti sulla riga corrente su cui si trova il cursore e indica chi ha effettuato l'ultimo commento. Ciò è particolarmente utile nei progetti di team perché semplifica la ricerca dello sviluppatore che ha modificato per ultimo il codice.


Nota che se provi a usare l'opzione Blame senza commettere almeno uno dei tuoi file usando il menu Controllo del codice sorgente, non ti verranno mostrate informazioni.

Come molti altri aspetti di Xcode, anche il controllo del codice sorgente è configurabile. Vai a Xcode> Preferenze ...> Controllo del codice sorgente per accedere alle impostazioni di esso. Se lo desideri, puoi disabilitare completamente il controllo del codice sorgente per il tuo progetto (ma si consiglia di non farlo). Imposta le opzioni in base alle tue preferenze e lavora nel tuo ambiente personalizzato.

Se non si utilizza il controllo del codice sorgente durante lo sviluppo di applicazioni, si consiglia vivamente di iniziare a farlo. Noterai che il mantenimento delle versioni dei tuoi file, il ripristino delle versioni precedenti o il loro confronto è un processo che può farti risparmiare un sacco di tempo quando cerchi di rintracciare gli errori nel tuo codice.

3. Interfaccia Builder e Autolayout

Interface Builder, il designer della GUI di Xcode, non sembra avere molti cambiamenti apparenti, tranne la griglia mancante e l'aggiornamento estetico generale. Tuttavia, una delle funzionalità principali che è stata aggiunta in questa versione di Xcode è la capacità di anteprima l'impostazione dell'interfaccia per le versioni iOS uguale o precedente a 6.1. Tutti gli elementi grafici (sottoview) sono stati ridisegnati e gli sviluppatori devono sapere se la posizione, la dimensione o il layout delle sottoview funziona sia per iOS 7 che per le precedenti versioni di iOS.

Per utilizzare la funzione di anteprima su Interface Builder, per prima cosa mostra il Assistente editore.


Se Xcode mostra automaticamente qualsiasi file contenente codice sull'Assistente, quindi individuare e aprire il file .xib o storyboard che si desidera visualizzare in anteprima manualmente, come mostrato nella figura successiva.


Una volta aperto il file GUI in Standard e Assistant Editor, fare clic su Pulsante File correlati> Anteprima> Il tuo file dell'Assistente.

Notare una cornice in basso a destra dello schermo, dove dice iOS 7.0 e versioni successive. Fare clic su di esso, selezionare il iOS 6.1 e precedenti opzione e avrai pronta l'anteprima.

L'anteprima è uno strumento utile per gli sviluppatori che desiderano mantenere la retrocompatibilità nelle loro applicazioni e supportare versioni precedenti di iOS. Quindi, se la tua applicazione non supporta solo iOS 7, usalo quando disegni la tua interfaccia.

Parliamo del autolayout funzione ora. L'autolayout non è una novità in iOS 7, ma in Xcode 5 è stato ridisegnato da zero, offrendo agli sviluppatori la massima libertà di impostare e modificare i vincoli. Ciò significa che è possibile impostare qualsiasi vincolo desiderato, nel modo desiderato (anche cancellato) senza un intervento automatico da Xcode. Ti avviserà in caso di mancanze o vincoli che non corrispondono, ma ti permetterà di fare tutto ciò che vuoi senza limitazioni.

Contraddittorio rispetto alle versioni precedenti di Xcode, nella versione 5 è stata aggiunta una nuova sottoview a una vista che non include alcun vincolo. Ciò consente agli sviluppatori di decidere quali vincoli hanno bisogno. Inoltre, sono disponibili nuove opzioni per l'impostazione dei vincoli nel frame in basso a destra di Interface Builder (in alternativa, in editore menu), che puoi utilizzare per impostare valori personalizzati e determinati vincoli o per consentire a Xcode di impostare automaticamente il layout per te.

Quando imposti i vincoli e Xcode rileva la presenza di ambiguità o problemi, colora le linee dei vincoli in rosso anziché in blu. Restano così finché non vengono risolti tutti i problemi relativi alla sottoveste problematica. Ecco un esempio in cui mancano i vincoli e Xcode ci avverte utilizzando il colore della linea:

Avvertenze o errori relativi a vincoli mancanti o visualizzazioni errate vengono anche mostrati da Xcode nel file Struttura del documento, accanto alla vista che esistono incoerenze. Per esaminare qual è il problema, fai semplicemente clic sulla piccola freccia gialla o rossa che appare proprio accanto alla vista e viene visualizzato un elenco di tutti i problemi di layout. Il modo più semplice per risolvere tutto è fare clic su ciascun avviso o errore visualizzato e attraverso un elenco di soluzioni suggerite e possibili fornite da Xcode, per selezionare quello più appropriato in base alle proprie esigenze. L'altro modo è di continuare a giocare con i vincoli della vista o le viste che causano i problemi, fino a quando non riesci a mettere a tacere tutti gli avvisi o gli errori.

Come consiglio, ti raccomando quando usi il Aggiorna vincoli, Aggiungi vincoli mancanti, o Ripristina i vincoli suggeriti opzioni per consentire a Xcode di configurare automaticamente tutti i vincoli che non è necessario toccare manualmente. Quelle opzioni possono essere trovate nel menu Editor> Risolvi problemi di layout automatico o nel rispettivo pulsante che appare in basso a destra nell'area di disegno di Interface Builder.


4. Catalogo delle risorse

Catalogo delle risorse è un'altra nuova funzionalità di Xcode 5 con duplice scopo:

  1. Mettere insieme tutte le tue immagini e lasciarle in un unico posto.
  2. Per alleviare la necessità di ricordare tutte le convenzioni di denominazione richieste per le icone delle app e le immagini di avvio.

Con il catalogo delle risorse non è necessario ricordare le regole applicabili all'icona dell'app o alla denominazione delle immagini di avvio. Le risorse con questo tipo di immagini possono ora avere qualsiasi nome che ti piace. Xcode accetta tutto e dà automaticamente il nome corretto a loro. Inoltre, il catalogo delle risorse è il posto migliore per riunire le immagini e accedervi tutte in una volta quando è necessario.

Il catalogo delle risorse è rappresentato come gruppo con l'icona di una cartella blu nell'elenco dei gruppi e dei file sul Navigatore di progetto.


Nota: se si crea un nuovo progetto di applicazione iOS 7 su Xcode, il Catalogo risorse è al suo posto. Tuttavia, se sposti un progetto esistente su iOS 7, devi creare il catalogo delle risorse da solo. È facile da fare. Nel Generale scheda del tuo progetto, all'interno del Icone di app sezione c'è un pulsante con il titolo Utilizzare il catalogo delle risorse. Fare clic su di esso e sui moduli del catalogo.

Se fai clic sull'icona Asset Catalog sul Project Navigator, vedrai una serie di slot vuoti in attesa di accettare le icone dell'applicazione. La funzione Catalogo beni visualizza gli slot per tutti i dispositivi di destinazione impostati nel progetto. Per aggiungere un'icona di app, puoi semplicemente trascinarne una da una directory sul tuo computer allo slot appropriato. La stessa regola si applica anche alle immagini di lancio, dove ci sono slot vuoti per tutti i dispositivi e l'orientamento supportato che hai nelle opzioni del progetto. Ancora una volta ti ricorderò che le icone delle app e le immagini di lancio possono avere qualsiasi nome tu voglia; Xcode imposta automaticamente quelli appropriati.


Qualsiasi altra immagine che si desidera aggiungere a un'applicazione può essere facilmente inserita nel catalogo delle risorse, semplicemente trascinandole e rilasciandole. Se ci sono già immagini nel tuo progetto, ecco il modo più veloce per spostarle dal Navigatore di progetto nel Catalogo delle risorse:

  1. Clicca sul Pulsante più che risiede nell'angolo in basso a sinistra nel riquadro sinistro del Catalogo delle risorse.
  2. Clicca sul Importa dal progetto ... opzione.
  3. Seleziona le immagini che vuoi sulla finestra che appare (se non sono già selezionate) e poi clicca su Importare pulsante.

Una volta che le immagini sono state importate o aggiunte direttamente dal tuo computer, noterai che all'interno del Catalogo delle risorse esiste un record per ogni immagine. Se fai clic su uno di essi, vedrai che ci sono due slot associati. Il primo accetta l'immagine di risoluzione normale (1x) e il secondo accetta l'immagine di risoluzione del display retina (2x).


5. Debugger

Il debug su Xcode 5 offre una nuova esperienza agli sviluppatori, poiché nuove funzionalità sono state aggiunte al debugger. Rintracciare i valori delle variabili è più facile. L'anteprima di immagini, documenti e altri oggetti ora è solo questione di un singolo clic e una grande flessibilità si verifica quando si lavora con i punti di interruzione. Il debugger su Xcode 5 è basato sul LLDB motore, che ha totalmente sostituito il gdb motore. LLDB è più potente e sottende tutte le nuove funzionalità di debug. Quindi, diamo un'occhiata ai miglioramenti.

Il primo grande miglioramento visivo esiste suggerimenti di dati. Un suggerimento dati mostra il valore di una variabile durante il debug, quando il puntatore del mouse passa sopra la variabile. Per semplici variabili del tipo di dati, la punta dei dati mostra semplicemente il valore, proprio come nella seguente figura:

Per quanto riguarda gli oggetti, i suggerimenti sui dati forniscono informazioni di riepilogo per ogni oggetto che si libra, ma il cambiamento più grande è che più di un testo può essere visualizzato ora. Immagini, documenti di testo, curve di Bezier e altro possono essere visualizzati in anteprima su Xcode durante il debug, quindi è più facile per gli sviluppatori esaminare i loro oggetti e essere certi del loro contenuto. La combinazione di dati e grafici offre una grande flessibilità quando si tenta di trovare bug, poiché sia ​​le singole variabili che gli oggetti possono essere visualizzati in anteprima contemporaneamente. Questa è una grande funzionalità che riduce i tempi di debugging! Dai un'occhiata ora alla prossima immagine per vedere un esempio:


Accanto a ciascun oggetto che è possibile visualizzare in anteprima, proprio come nell'immagine precedente, a occhio e un Informazioni i pulsanti sono visualizzati. È possibile visualizzare l'anteprima (funzionalità Quick Look) dell'oggetto selezionato facendo clic sul pulsante dell'occhio. Inoltre è possibile visualizzare informazioni dettagliate facendo clic sul pulsante delle informazioni.

Oltre ai suggerimenti sui dati, punti di interruzione sono stati migliorati pure. Se hai precedentemente eseguito il debug di un progetto, sai che i punti di interruzione possono essere impostati semplicemente facendo clic sul lato sinistro delle linee dove vuoi che siano. I punti di interruzione possono essere abilitati o disabilitati facendo clic su ognuno di essi o utilizzando il comando pulsante di interruzione. Con Xcode 5 questo non esiste più nella barra degli strumenti in alto, ma è stato spostato nella barra degli strumenti di debug nella parte inferiore della finestra di Xcode. Usando questo pulsante, puoi attivare tutti i punti di interruzione contemporaneamente. I punti di interruzione abilitati vengono visualizzati in blu e i punti di interruzione disattivati ​​sono visualizzati in grigio. Per rimuovere completamente un punto di interruzione, fare clic con il tasto destro su di esso e selezionare il Elimina punto di interruzione opzione.

Su Xcode 5 i breakpoint funzionano condizionatamente. Inoltre, le azioni si attengono a loro quando una condizione è soddisfatta. In questo modo, gli sviluppatori non devono impostare e disattivare i punti di interruzione continuamente, devono solo aggiungere condizioni o selezionare punti di interruzione da ignorare per determinati periodi e concentrarsi maggiormente sul debug. Le azioni fornite che sono disponibili e possono essere associate a un punto di interruzione quando viene soddisfatta una condizione sono elencate di seguito:

  • AppleScript
  • Cattura il frame OpenGL ES
  • Comando debugger
  • Log Message
  • Comando Shell
  • Suono

È possibile impostare più di un'azione sui punti di interruzione quando le condizioni sono soddisfatte. Ad esempio, puoi registrare un messaggio e allo stesso tempo riprodurre un suono che ti avvisa sulla condizione dei punti di interruzione. Ecco un esempio:


Quindi, quando si utilizzano queste nuove funzionalità, il debug diventa molto più semplice. Il codice Buggy può essere rintracciato più velocemente e il tempo sprecato può essere ora salvato e assegnato ad altre attività. In combinazione con la prossima nuova funzione, il debug diventa un'esperienza completamente nuova!


6. Debug calibri

Molto tempo fa, quando le risorse di sistema (come CPU e memoria) erano limitate in un sistema informatico, i programmatori dovevano impiegare molto tempo per assicurarsi che i loro programmi funzionassero usando il minor numero di risorse possibile. Era un compito difficile, ma era il modo migliore per assicurarsi che non esistessero perdite di memoria o che si fosse verificato un inutile utilizzo della CPU. Oggi, con i nuovi sottosistemi potenti e veloci utilizzati dai dispositivi, è abbastanza comune per gli sviluppatori ignorare le perdite causate dalle loro applicazioni, perché vedono semplicemente le loro app girare abbastanza velocemente sui dispositivi moderni. Tuttavia, le risorse sono sempre limitate e, ignorandole, un potenziale crash dell'applicazione porterebbe sicuramente a una brutta esperienza utente.

Ecco dove Indicatori di debug fanno il loro debutto, arrivando come strumenti di debug ausiliari che consentono agli sviluppatori di rintracciare l'uso indesiderato delle risorse di sistema. In realtà, Debug Gauges consiste in una versione leggera di alcuni strumenti strumenti, sono incorporati in Xcode (non c'è bisogno di aprirli in una nuova finestra come Strumenti) e, soprattutto, possono essere eseguiti tutto il tempo insieme all'applicazione durante il debug. Gli indicatori consentono di osservare le seguenti risorse:

  • processore
  • Memoria
  • Energia
  • iCloud
  • OpenGL ES

Gli indicatori di debug sono accessibili tramite Debug Navigator, e appaiono quando viene eseguita un'applicazione. I grandi elementi grafici rappresentano ogni risorsa che viene guardata, quindi è semplice usarli.

Naturalmente, per una profilazione approfondita e dettagliata della tua applicazione, puoi utilizzare gli strumenti in qualsiasi momento. Un pulsante su cui è possibile fare clic per aprire gli strumenti contemporaneamente è sempre nella parte in alto a destra della finestra degli indicatori. Quando si esegue un'app, è possibile fare clic da un indicatore all'altro e osservare tutte le misurazioni che si svolgono in tempo reale. Se noti un comportamento anomalo, puoi sospettare che qualcosa sia sbagliato nel tuo codice e debba essere corretto.

Si consiglia di utilizzare questi strumenti il ​​più possibile per rilevare e correggere i bug.


7. Test e robot

I test sono una parte importante del processo di sviluppo e bisogna sempre prestare particolare attenzione. Fortunatamente con Xcode 5 le applicazioni di test sono molto più semplici. In particolare con il nuovo Test Navigator. Test Navigator può essere trovato nel pannello di navigazione e elenca tutti i test che hai creato.

Attraverso il navigatore, i test possono essere facilmente modificati, eseguiti o cancellati. Accanto a ciascun test viene visualizzato lo stato corrente, se è riuscito, non è riuscito o non è ancora stato eseguito. Grande flessibilità è stata data anche al modo in cui vengono eseguiti i test. Quindi puoi iniziare un singolo test, selezionarne un po 'o lasciarli funzionare simultaneamente.

È stato introdotto un nuovo framework di test unitario su Xcode 5, il XCTest, che esiste in parallelo con il quadro precedente, il OCUnit. Tuttavia, il primo dominerà il futuro. Pertanto, si consiglia di utilizzare XCTest nei progetti. Per impostazione predefinita, i nuovi progetti utilizzano questo framework. Inoltre, in Xcode 5, il codice testato e il test stesso possono essere affiancati utilizzando Assistant Editor. In questo modo, puoi guardare sia il codice che i dettagli del test mentre è in esecuzione.

Motori di ricerca sono una funzionalità completamente nuova su Xcode 5. Un bot è un servizio, che esegue ripetutamente una serie di attività, come la creazione, il test, l'analisi, l'archiviazione e la firma di un'applicazione (attività che tradizionalmente sarebbero eseguite manualmente dagli sviluppatori). Queste serie di compiti sono chiamati processo di integrazione. Con i robot, il processo di integrazione è automatico e può continuare per tutto il tempo necessario.

Ciò che rende speciali i robot è che invece di eseguire test sul computer locale, possono spostare tali test su un server ed eseguire lì il processo di integrazione. In questo modo, i computer utilizzati per lo sviluppo non sono soggetti a compiti di esecuzione del test e inoltre i risultati dei test possono essere condivisi contemporaneamente a tutto il team di sviluppo. Inoltre, i robot possono eseguire più test per più applicazioni su dispositivi collegati al server.

I robot possono essere configurati per funzionare in due modi. Secondo la prima, i bot eseguono il processo di integrazione sul codice che viene preso da un sistema di controllo del codice sorgente come Git. Quando sono disponibili nuove modifiche, i robot avviano il processo di integrazione e continuano fino a quando l'app non è stata completata e non sono più necessari test. Questi robot sono chiamati continuo. Il secondo modo è che il processo di integrazione si ripete il prima possibile. I robot configurati per funzionare in questo modo vengono chiamati ogni notte o bot periodici, e firmano e archiviano l'app in ogni fase della riproduzione, con un altro risultato, per tenere traccia della storia nel tempo.

Per i team di sviluppo, i bot sono un ottimo modo per eseguire test e condividere i risultati. Inoltre, grazie ai numerosi test eseguiti grazie al continuo processo di integrazione, trovare bug ed errori è molto più semplice, mentre allo stesso tempo, a causa della natura dei test, i bug possono essere isolati o localizzati in relazione a specifiche impostazioni hardware o di altro tipo . I robot sono un enorme balzo per Xcode!


8. Miglioramenti del compilatore

Fino ad ora, tutte le nuove funzionalità di Xcode 5 sono state presentate una per una, ma questo tutorial non sarebbe completo se non fosse stato fatto alcun riferimento ai miglioramenti sotto la superficie. Quindi, facciamo un breve tour delle principali modifiche e aggiunte apportate al compilatore.

Prima di tutto, fino alla versione 4.6, Xcode supportava due compilatori: Apple LLVM e LLVM-GCC 4.2. Su Xcode 5, quest'ultimo è andato, e rimane solo Apple LLVM, dotato di nuove funzionalità che lo rendono ancora più utile.

Il compilatore LLVM introduce la logica di moduli. Ma prima di spiegare cos'è un modulo, vediamo in breve il problema che contrattacca. Quando un compilatore analizza un file, non analizza solo il codice esistente in quel file, ma lo fa anche per tutti i file di intestazione che vengono importati (usando il comando #import) nel file. Questo processo funziona in modo ricorsivo e tutti i file importati vengono infine analizzati fino all'ultima riga di codice. Ciò significa che anziché analizzare solo le righe di codice esistenti nel file iniziale, è necessario analizzare altre migliaia di righe a causa delle continue importazioni. Questo non è un nuovo problema e i moduli sono arrivati ​​a fornire una soluzione. Un modulo è un semplice database ottimizzato che conserva il codice analizzato di un singolo file di intestazione di sistema (ad esempio UIKit.h, Webkit.h, ecc.). Il compilatore costruisce a impostato di tali moduli e quando è il momento di analizzare il nostro file, non deve analizzare di nuovo i file di intestazione. Tenendo conto che gli stessi file vengono importati ancora e ancora più volte, diventa ovvio che i moduli offrono ottime prestazioni in fase di compilazione. Inoltre, Xcode stesso utilizza i moduli per ottenere alcune delle sue funzionalità avanzate, come la sintassi, l'evidenziazione e il completamento automatico.

Un'altra nuova funzionalità del compilatore è il Auto-vectorizer, che è stato aggiunto chiaramente per motivi di prestazioni. Il suo compito è analizzare il codice e trovare segmenti, in cui due o più operazioni (fino a 32) possono essere eseguite contemporaneamente. Questo perché le nuove e moderne CPU offrono grandi funzionalità vettoriali per il multi-thr