Creazione di app Objective-C o Swift per macOS

Importante

Visual Studio App Center è pianificato per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate a cui è possibile prendere in considerazione la migrazione.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Per iniziare a creare la prima app Mac, seguire questa procedura:

  1. Connettersi all'account del servizio repository (GitHub, Bitbucket, VSTS, Azure DevOps).
  2. Selezionare un repository e un ramo in cui risiede l'app.
  3. Configurare il progetto o l'area di lavoro della compilazione e lo schema da compilare.

Nota

Affinché l'app venga distribuita, la compilazione deve essere firmata con un certificato. Un profilo di provisioning è facoltativo. Inoltre, la compilazione per i programmi di installazione Mac non è attualmente supportata.

1. Collegamento del repository

È necessario connettersi all'account del servizio repository. Dopo aver connesso l'account, selezionare il repository in cui si trova il progetto Mac. Per configurare una compilazione per un repository, è necessaria l'autorizzazione di amministratore e pull.

2. Selezione di un ramo

Dopo aver selezionato un repository, selezionare il ramo da compilare. Per impostazione predefinita, verranno elencati tutti i rami attivi.

3. Configurazione della prima compilazione

Prima della prima compilazione, è necessario configurare il progetto Mac.

3.1. Progetto/area di lavoro e schema

Per una configurazione di compilazione, sono necessari un progetto Xcode o un'area di lavoro Xcode e uno schema condiviso. App Center rileva automaticamente i progetti, le aree di lavoro e gli schemi condivisi nel ramo. Selezionare il progetto o l'area di lavoro da compilare e lo schema corrispondente.

Se non è possibile trovare uno schema, verificare che lo schema con cui si vuole eseguire la compilazione sia condiviso e che il contenitore per lo schema sia il progetto o l'area di lavoro selezionata. Assicurarsi anche che queste modifiche vengano archiviate nel ramo per cui si sta configurando la compilazione.

Contrassegnare lo schema come condiviso

3.2. Versione Xcode

Selezionare la versione Xcode per eseguire la compilazione.

3.3. Trigger di compilazione

Per impostazione predefinita, viene attivata una nuova compilazione ogni volta che uno sviluppatore effettua il push in un ramo configurato. Questa operazione viene definita "Integrazione continua". Se si preferisce attivare manualmente una nuova compilazione, è possibile modificare questa impostazione nella configurazione della compilazione.

3.4. Incrementa il numero di build

Se abilitata, l'elemento nell'info.plist CFBundleVersion dell'app incrementa automaticamente per ogni compilazione. La modifica avviene in fase di pre-compilazione e non verrà eseguito il commit nel repository.

3.5. Test

Se lo schema selezionato include un'azione di test con una destinazione di test selezionata, è possibile configurare i test da eseguire come parte di ogni compilazione. App Center attualmente può eseguire unit test XCTest. App Center non supporta i test di avvio per le build Mac.

3.6. Firma del codice

Una compilazione completata produrrà un .app file. Per installare la compilazione in un dispositivo, è necessario firmare il certificato. Per firmare le compilazioni prodotte da un ramo, abilitare la firma del codice nel riquadro di configurazione e caricare un certificato valido (.p12) insieme alla password per il certificato. Le impostazioni nel progetto Xcode devono essere compatibili con i file caricati. Un profilo di provisioning è facoltativo per la firma del codice.

Attualmente App Center supporta solo queste configurazioni di firma:

  • Firma manuale con il metodo di esportazione sviluppo solo con un certificato di sviluppo
  • Firma manuale con il metodo di esportazione dell'ID sviluppatore
  • Firma automatica con il metodo di esportazione di sviluppo

Per altre informazioni sull'accesso al codice, vedere la guida per la firma del codice macOS di App Center e nella guida ufficiale per sviluppatori Apple.

3.7. CocoaPods

App Center analizza il ramo selezionato e, se trova un podfile, esegue automaticamente un pod install passaggio all'inizio di ogni compilazione. In questo modo si garantisce che tutte le dipendenze siano installate.

Se il repository contiene già una cartella /Pods , App Center presuppone che i pod siano stati memorizzati nel repository e non eseguano pod installpiù .

3.8. Distribuire in un gruppo di distribuzione

È possibile configurare ogni compilazione firmata correttamente da un ramo da distribuire a un gruppo di distribuzione creato in precedenza. È possibile aggiungere un nuovo gruppo di distribuzione dall'interno della sezione Distribuisci. Esiste sempre un gruppo di distribuzione predefinito denominato "Collaboratori" che include tutti gli utenti che hanno accesso all'app.

Dopo aver salvato la configurazione, verrà avviata automaticamente una nuova compilazione.

4. Compilare i risultati

Dopo l'attivazione di una compilazione, può trovarsi negli stati seguenti:

  • queued : la compilazione è in coda, in attesa che le risorse siano gratuite.
  • building : la compilazione esegue le attività predefinite.
  • operazione completata: la compilazione è stata completata correttamente.
  • non riuscito : la compilazione ha rilevato errori che hanno impedito il completamento. È possibile risolvere i problemi di compilazione scaricando ed esaminando i log di compilazione.
  • annullata : la compilazione è stata annullata da un'azione dell'utente o è scaduta.

4.1. Log di compilazione

Per una compilazione completata (riuscita o non riuscita), scaricare i log per altre informazioni su come è andata la compilazione. App Center fornisce un archivio con i file seguenti:

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1> (e.g. 2_Get Sources.txt)
    |-- <build-step-2> (e.g. 3_Pod install.txt)
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

I log specifici della compilazione (che si trovano nella build directory dell'archivio) sono utili per la risoluzione dei problemi e la comprensione del passaggio e del motivo per cui la compilazione non è riuscita.

4.2. L'app (.app)

Il .app file è un file di archivio dell'applicazione Mac, che contiene l'app Mac.

  • Se la compilazione è firmata correttamente, il .app file può essere installato in un dispositivo corrispondente al profilo di provisioning usato durante la firma. Altre informazioni sulla firma e la distribuzione del codice con App Center sono disponibili nella documentazione sulla firma del codice macOS di App Center.
  • Se la compilazione non è stata firmata, il .app file può essere firmato dallo sviluppatore. Ad esempio, usando la creazione condivisa.

4.3. File di simboli (con estensione dsym)

I .dsym file contengono i simboli di debug per l'app.

  • Se nell'app è stato aggiunto l'SDK di App Center con il modulo di segnalazione degli arresti anomali abilitata, il servizio di segnalazione degli arresti anomali richiede questo .dsym file per visualizzare report di arresto anomalo leggibili (simbolici).
  • Se è stato aggiunto un altro SDK per la segnalazione di arresti anomali nell'app, ad esempio HockeyApp SDK, il servizio richiede che il .dsym file visualizzi report di arresto anomalo leggibili.

I .dsym file non cambiano quando si firma il .appcodice . Se si decide di firmare il codice per la compilazione in un secondo momento, l'oggetto .dsym generato prima della firma del codice è ancora valido.

Creare internals

Per compilare il progetto, viene usato xcodebuild, uno strumento da riga di comando che consente di compilare, eseguire query, analizzare, testare e archiviare i progetti e le aree di lavoro Xcode.

Versioni e requisiti supportati

I dettagli della versione del computer di compilazione vengono aggiornati ogni volta che viene aggiunta una nuova versione di macOS. Sono incluse le versioni più recenti rilasciate da Apple il prima possibile nelle macchine virtuali di compilazione.