Prepariamo il nostro primo progetto scritto in Objective-C. Scarichiamo gratuitamente Xcode 8.1 (o successivo) dall' App Store. La dimensione del pacchetto è di quasi 5 GB, e l’installazione è abbastanza lunga. È quindi normale dover attendere un po’ in questa fase iniziale. Una volta completata l'installazione, potremo finalmente lanciare Xcode.
Creare un progetto con Xcode
All'avvio di Xcode, si aprirà la schermata di benvenuto dalla quale sceglierete la voce Create a new Xcode project.
Nella schermata successiva potete scegliere tra le 4 piattaforme Apple. Objective-C è attualmente supportato da iOS, macOS, watchOS e tvOS.
Per questo progetto di esempio sceglieremo macOS dal menù in alto, e Command Line Tool tra le opzioni disponibili.
Premiamo Next e compiliamo il modulo che appare, mostrato nella seguente figura.
La tabella che segue riassume il significato dei campi del suddetto form.
Campo | Descrizione |
---|---|
Product Name | Rappresenta il nome del progetto |
Team | Rappresenta il nome del team; per il momento, lasciamolo impostato su None |
Organization Name | Rappresenta il nome dello sviluppatore o della società per cui lavora |
Organization Identifier | Dovrebbe contenere una string univoca; generalmente si usa un dominio in nostro possesso, ma in forma inversa. |
Language | Ovviamente Objective-C |
Dopo la compilazione del form, procediamo cliccando su Next. Quindi scegliamo una cartella in cui salvare il progetto, e selezioniamo Create.
Se guardiamo sulla sinistra, all’interno del Project Navigator, troveremo il file main.m che Xcode ha automaticamente generato per noi.
Selezioniamo il file main.m, in modo tale da visualizzarlo nell’area principale. Il codice al suo interno dovrebbe essere simile al seguente:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
}
return 0;
}
Non rimane che selezionare Product --> Run da Xcode (o premere CMD + R sulla tastiera) per compilare ed eseguire il progetto.
Aprendo la debug area selezionando View > Debug Area > Show Debug Area, e aspettando che il progetto venga eseguito, vedremo il risultato dell'esecuzione dell'app di esempio appena realizzata, che produce in output la stringa Hello World.
Il codice
Prima di concludere questa lezione, diamo un'occhiata al codice appena eseguito.
La prima riga si occupa di importare la libreria che sta alla base di tutti i progetti macOS, iOS, watchOS e tvOS. Negli ultimi anni, tuttavia, Apple ha introdotto un sistema più robusto per effettuare l’import dei framework. La nuova sintassi è la seguente:
@import NomeDelFramework;
Possiamo quindi sostituire il vecchio #import
con la sintassi seguente, senza modificare in alcun modo la logica di funzionamento dell'app:
@import Foundation;
Dopo la direttiva di import
, vi è la funzione main
, ovvero l’entry point del nostro codice. Al suo interno, il comando @autoreleasepool
permette di creare uno scope in cui allocare la memoria per il nostro progetto, e successivamente rilasciarla in modo sicuro.
Finalmente, la funzione NSLog(@"Hello, World!")
si occupa di effettuare la stampa vera e proprio della nostra stringa sulla console di Debug, e costituisce il cuore vero e proprio della funzione >main
. Quest'ultima, infine, termina con il comando return 0;
.
Conclusione
Abbiamo visto come eseguire del codice Objective-C ed esaminarne l’output. Teniamo da parte questo progetto, perché lo utilizzeremo come riferimento durante l'intera guida per la realizzazione degli esempi via via sempre più complessi ed esaustivi.