Workplace, Project, Scheme e Target nello sviluppo iOS

Dec 17 2022
Molti di noi hanno visto l'area di lavoro, il progetto, l'obiettivo e lo schema abbastanza spesso durante lo sviluppo di iOS, ma cosa sono esattamente e come sono correlati tra loro? Workplace Workplace in Xcode è uno strumento per la gestione e l'organizzazione dei file di progetto. Ti consente di navigare e modificare facilmente il tuo codice, nonché di gestire le risorse del tuo progetto come immagini, file audio e altre risorse.

Molti di noi hanno visto workspace, project, targete schemeabbastanza spesso durante lo sviluppo di iOS, ma cosa sono esattamente e come sono collegati tra loro?

Posto di lavoro

Workplace in Xcode è uno strumento per la gestione e l'organizzazione dei file di progetto. Ti consente di navigare e modificare facilmente il tuo codice, nonché di gestire le risorse del tuo progetto come immagini, file audio e altre risorse. Workplace può aiutarti a rimanere organizzato ed efficiente quando lavori a progetti grandi o complessi in Xcode. Contiene uno o più progetti, solitamente denominati come file [workspace_name].xcworkspace. Questo è spesso visto durante l'utilizzo cocoapodsdi per gestire le librerie. Ogni posto di lavoro ha uno o più progetti.

Progetto

Contiene codice e risorse, normalmente denominate come [project_name].xcodeproj. Analogamente, un progetto è un contenitore per tutti i file, le risorse e le informazioni necessarie per creare un'app. Organizza tutti i componenti necessari e fornisce un unico luogo in cui gli sviluppatori possono lavorare sul codice e sulle risorse.

Quando crei un nuovo progetto in Xcode, ti viene chiesto di scegliere un modello per il progetto. Questo modello determina il tipo di app che stai creando e configura i file e le risorse necessari per tale app. Ad esempio, se scegli il modello "App a vista singola", Xcode creerà un progetto con un'interfaccia utente di base e un controller a vista singola.

Obbiettivo

Un "target" è un prodotto specifico creato dai file nel progetto.

  • Ogni progetto ha uno o più obiettivi
  • Utilizzato per diverse distribuzioni dello stesso progetto, ad esempio, il progetto richiede di avere una proversione e una normalversione, la cui versione pro ha caratteristiche leggermente diverse come icone diverse e così via.
  • Utilizzato per aggiungere un'estensione, ad esempio l'aggiunta di un'estensione per Apple Watch e così via. Con l'orologio e il widget Apple (iOS 14 e versioni successive), possiamo avere più estensioni per un'app.
  • Utilizzato per aggiungere test, ad esempio test unitari e test dell'interfaccia utente
  • La firma è su ciascuno degli obiettivi, il che significa che possiamo avere

Uno "schema" è un insieme di istruzioni che specifica quali obiettivi devono essere compilati, quali test devono essere eseguiti e quali configurazioni di compilazione devono essere utilizzate durante la creazione del progetto.

  • Ogni obiettivo ha uno o più schemi
  • Scheme definisce la configurazione su Build, Rune Testcosì via. Ad esempio, nel target Unit test, possiamo definire quali unit test possono essere eseguiti, inoltre possiamo escludere alcuni unit test durante il test.