Creazione di app Objective-C o Swift per iOS

Importante

Visual Studio App Center è previsto 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 che è possibile considerare la migrazione a.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Per creare la prima app iOS nativa, è necessario eseguire le azioni seguenti:

  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

Per eseguire l'app in un dispositivo reale, la compilazione deve essere firmata con un profilo di provisioning valido e un certificato.

1. Collegamento del repository

Se non è stata precedentemente connessa all'account del servizio repository, è necessario autorizzare la connessione. Dopo la connessione dell'account, selezionare il repository in cui si trova il progetto iOS. App Center richiede che l'account abbia Amministrazione e l'autorizzazione Pull per configurare una compilazione per un repository.

2. Selezione di un ramo

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

3. Configurazione della prima compilazione

Configurare il progetto iOS prima della prima compilazione.

3.1 Progetto/area di lavoro e schema

Per una configurazione di compilazione, è necessario 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 (purché gli schemi si trovino nella cartella corretta) nel ramo. Selezionare il progetto o l'area di lavoro da compilare e lo schema corrispondente.

Se non viene trovato alcun schema, assicurarsi che lo schema desiderato sia condiviso e il relativo contenitore sia il progetto o l'area di lavoro selezionata. È anche consigliabile verificare che tali modifiche vengano controllate nel ramo che si sta configurando.

Tenere presente che non è possibile esportare un .xcscheme file e inserirlo ovunque nel progetto. Deve trovarsi nella xcshareddata/xcschemes/ cartella. Assicurarsi che questo percorso non sia nel .gitignore file.

Contrassegnare lo schema come contrassegno condiviso come schema condiviso

3.2. Versione Xcode

Selezionare la versione Xcode in cui eseguire la compilazione.

3.3. Trigger di compilazione

Per impostazione predefinita, viene attivata una nuova compilazione ogni volta che uno sviluppatore esegue il push in un ramo configurato. Questo processo viene definito "Integrazione continua". Se si preferisce attivare manualmente una nuova compilazione, è possibile modificare questa impostazione nella configurazione di compilazione.

3.4. Numero di compilazione incrementa

Quando è abilitato, l'elemento CFBundleVersion nell'app Info.plist aumenta automaticamente per ogni compilazione. La modifica viene eseguita prima della compilazione e non verrà eseguito il commit nel repository.

Nota

Per rendere funzionante il numero di compilazione Increment, assegnare il .plist file nome ad *Info.plistProduction-Info.plistesempio a .

3.5. Test

Se lo schema selezionato ha un'azione di test con una destinazione di test selezionata, è possibile configurare i test da eseguire come parte di ogni compilazione. App Center può attualmente eseguire unit test XCTest.

3.6. Firma del codice

La creazione di un'app iOS per i dispositivi reali richiede la firma con credenziali valide. Per firmare le compilazioni in App Center, abilitare la firma del codice nel riquadro di configurazione e caricare un profilo di provisioning () e un certificato valido (.mobileprovision.p12) insieme alla password per il certificato.

Le impostazioni del progetto Xcode devono essere compatibili con i file caricati. Per altre informazioni sull'accesso al codice, vedere la documentazione ufficiale di Apple Developer.

Le app con le estensioni app o watchOS richiedono la firma di un profilo di provisioning aggiuntivo per estensione.

3.7. Avviare la compilazione riuscita in un dispositivo reale

Usare il file appena prodotto .ipa per testare se l'app inizia su un dispositivo reale. L'avvio in un dispositivo reale aggiungerà circa 10 minuti al tempo di compilazione totale. Altre informazioni su come configurare i test di avvio.

3.8. CocoaPods

App Center analizza il ramo selezionato e, se trova un podfile, eseguirà automaticamente un pod install passaggio all'inizio di ogni compilazione. Questo passaggio garantisce che tutte le dipendenze siano installate.

Avviso

Se il repository contiene già una cartella /Pods , App Center presuppone che i pod nel repository non vengano più eseguiti pod install. Se si rimuove o si modifica la cartella /Pods , potrebbe essere necessario ripristinare manualmente la configurazione di compilazione usando Save o Save and Build per l'esecuzione dell'aggiornamento.

3.9. Distribuire a un gruppo di distribuzione

È possibile configurare ogni compilazione corretta 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 aver attivato una compilazione, può essere presente negli stati seguenti:

  • accodato : la compilazione è in coda in attesa che le risorse vengano liberate.
  • compilazione : la compilazione esegue le attività predefinite.
  • riuscito: la compilazione viene completata e ha avuto esito positivo.
  • non riuscita: la compilazione è stata completata, ma non è riuscita. È possibile risolvere il problema controllando 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 (presenti nella directory dell'archivio build/ ) sono utili per la risoluzione dei problemi e la comprensione del passaggio e del motivo per cui la compilazione non è riuscita.

4.2. App (.ipa)

Il .ipa file è un file di archivio dell'applicazione dispositivo iOS che contiene l'app iOS.

  • Le compilazioni senza segno non generano un .ipa file. L'artefatto di una compilazione senza segno è il .xcarchive file che può essere usato per generare un .ipa file con l'organizzatore di Xcode Archives.
  • Se la compilazione è firmata correttamente, il .ipa file può essere installato in un dispositivo reale corrispondente al profilo di provisioning usato durante la firma. Altre informazioni sulla firma del codice e sulla distribuzione con App Center sono disponibili nella documentazione della firma del codice iOS di App Center.
  • Se la compilazione non è stata firmata, il .ipa file può essere firmato dallo sviluppatore (ad esempio usando codesign) o usato per altri scopi (ad esempio, caricare il servizio test per il test dell'interfaccia utente nei dispositivi reali o eseguire nel simulatore).

4.3. File simboli (con estensione dsym)

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

  • Se in precedenza è stato integrato App Center SDK nell'app con il modulo di segnalazione degli arresti anomali abilitati, il servizio di segnalazione degli arresti anomali richiede questo .dsym file per una compilazione per visualizzare report di arresto anomalo leggibili (simbolici).
  • Se in precedenza è stato integrato un altro SDK per la segnalazione di arresti anomali nell'app (ad esempio HockeyApp SDK), il servizio corrispondente richiede che il .dsym file visualizzi i report sugli arresti anomali leggibili.

Tenere presente che i file non cambiano al momento della .dsym firma del .ipacodice . 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.

Versioni e requisiti supportati

I dettagli della versione Xcode del computer di compilazione vengono aggiornati ogni volta che viene aggiunta una nuova versione di Xcode. Microsoft tiene d'occhio le versioni più recenti rilasciate da Apple e includerle il prima possibile sulle macchine virtuali usate per eseguire le compilazioni.