Saltare al contenuto

Costruzione iOS

Costruisci e invia app iOS su TestFlight e App Store utilizzando l'infrastruttura Mac dedicata di Capgo.

  • Imparerai a caricare il tuo app tramite Capgo Native build
  • Imparerai a configurare i certificati per Capgo Native Build
  • Un account Capgo (un periodo di prova gratuito è sufficiente per iniziare)
  • La tua app già registrata in Capgo (esegui bunx @capgo/cli@latest app add se non è così)
  • A un computer Mac con Xcode installato (è possibile configurare la costruzione su una macchina Linux/Windows, ma non è ancora documentato)
  • Un account di sviluppatore Apple valido (99€/anno) (Devi avere diritti di amministratore o proprietario sull'account di sviluppatore Apple)
  • La tua app deve essere in grado di costruire con successo tramite Xcode
  • Un'app Capacitor
  • Un'icona configurata per l'app. Le app senza un'icona non possono essere caricate su App Store

Prima di configurare i certificati o di inviare il primo upload di TestFlight, assicurati che l'account e il team Apple siano pronti:

  • Attiva l'autenticazione a due fattori per il conto Apple utilizzato per l'iscrizione
  • Scegli il tipo di abbonamento giusto:
    • Individuale / Proprietario unico: il tuo nome personale legale diventa il nome del venditore sull'App Store
    • Organizzazione: richiede un'entità legale, un numero D-U-N-S, un sito web aziendale pubblico, un indirizzo email di lavoro sul dominio della società e una persona autorizzata a vincolare l'organizzazione agli accordi di Apple
  • Usa un account che possa accedere sia a Apple Developer che a App Store Connect per certificati, registri app, API chiavi e TestFlight
  • Assicurati di fissare il tuo ID bundle finale presto. Cambiarlo in seguito significa di solito ricominciare la configurazione dell'App Store
  • Pianifica questi elementi di App Store Connect prima della revisione dell'app: URL del supporto, URL della politica sulla privacy, età di accesso, screenshot, conformità all'esportazione e dettagli di contatto per la revisione dell'app
Iniziare l'iscrizione al programma sviluppatore Apple Continuare l'iscrizione al web del programma sviluppatore Apple Scegliere il tipo di entità sviluppatore Apple corretto Dopo l'iscrizione in App Store Connect

Prima di poter iniziare a pensare a costruire l'applicazione con Capgo, dovremmo prima configurarla e fare una prima costruzione di TestFlight a mano. Ci sono alcune vantaggi nel fare una costruzione manuale prima:

  • Configurerai il certificato di distribuzione sul tuo computer locale
  • Creerai il record dell'App Store se non l'hai già fatto
  • Potrai risolvere eventuali problemi con il processo di costruzione collegato alla tua app code

Prima di poter iniziare, devi avere installato il certificato di distribuzione sul tuo computer locale. Questo è un po' complesso, ma ti spiegherò come fare di seguito.

Impostazione del certificato di distribuzione

Impostazione del certificato di distribuzione
  1. Apri Xcode

  2. Clicca su Xcode -> Settings... Alternativamente, puoi utilizzare la scorciatoia Cmd + ,

    Impostazioni di Xcode

  3. Vai a Accounts Tabella delle impostazioni di Xcode

  4. Trova l'Account Apple aggiunto all'Account dello Sviluppatore Apple Account Apple selezionato di Xcode

  5. Trova l'insieme di sviluppatori che utilizzerai per distribuire l'app Trova l'insieme di sviluppatori Xcode

  6. Clicca sul pulsante Manage Certificates... Pulsante Clicca su Xcode per gestire le chiavi

  7. Assicurati di poter vedere il certificato di distribuzione nella lista Certificato di distribuzione Xcode

  8. Se non riesci a vederlo, devi creare un nuovo certificato

    1. Clicca sul + cliccare su questo pulsante e poi su Apple Distribution aggiungere il certificato in Xcode
    2. Il certificato verrà creato automaticamente. Puoi vederlo nella lista. Guarda il passaggio precedente per confermare che lo vedi.

Ora che hai installato il certificato di distribuzione, puoi iniziare il processo di costruzione.

  1. Apri l'app in Xcode

    Esegui bunx cap open ios per aprire l'app in Xcode.

  2. Cerca e clicca sul archive pulsante

    Nella barra degli strumenti di Xcode, cerca e clicca sul product -> archive Clicca.

    Barra degli strumenti di Xcode

  3. Attendere la fine della compilazione

  4. Clicca sul Distribute App Clicca sul

    Clicca sul pulsante di distribuzione di Xcode

  5. Seleziona TestFlight Internal Only come metodo di distribuzione e clicca sul Distribute Clicca sul metodo di distribuzione di TestFlight interno solo di Xcode

    Configura il record dell'app

  6. Compila i seguenti campi:

    __CAPGO_KEEP_0__

    1. Nome: Il nome della tua app - visibile nella App Store
    2. Codice articolo - il codice articolo della tua app - questo viene utilizzato per identificare la tua app nella App Store
    3. La lingua principale - la lingua principale della tua app

    Clicca quindi sul pulsante next Pulsante

    Configura il record dell'applicazione Xcode TestFlight

  7. Se la creazione del record dell'applicazione fallisce, prova a chiudere la finestra e riprovare a creare l'archivio dell'applicazione.

  8. Attendere la conclusione dell'upload

  9. Se tutto è andato bene, dovresti vedere lo schermo seguente Upload completo di Xcode TestFlight

  10. Clicca sul pulsante Done Pulsante

Potresti pensare che tutto sia pronto adesso e che potrai vedere la tua app in TestFlight adesso, ma ci sono ancora alcune cose da completare:

  1. Aggiungiti a TestFlight
  2. Completa la conformità all'esportazione per rendere il build testabile
  3. Compila i metadati richiesti di App Store Connect, come il tuo URL di supporto, il tuo URL di politica sulla privacy e la tua classificazione di età
  4. context:Pagina/Area: Pagina di soluzione sezione esempi di app. Ruolo: Etichetta UI breve o elemento di navigazione. Visualizzato in: componente soluzioni/SolutionAppExample.astro. Chiave messaggio `solution_app_examples_rating` (Classificazione delle app esemplari).
  5. Prepara schermate che corrispondono ai dispositivi che effettivamente supporti

Aggiungi i dettagli di contatto di App Review e qualsiasi credenziale di test prima della sottoscrizione di produzione

Cominciamo con la prima:

Aggiungerti a TestFlight
  1. Sezione intitolata “Aggiungerti a TestFlight” Vai alla Pagina di App Store Connect Pagina di accesso a App Store Connect

  2. Accedi con il tuo account di sviluppatore Apple

  3. Scegli il team che hai utilizzato quando hai creato il record dell'app. Se hai solo un account di sviluppatore, puoi saltare questo passaggio. Scegli il team di App Store Connect

  4. Clicca sul Apps tasto Tasto App Store Connect app

  5. Cerca l'app che hai creato nel passaggio precedente e clicca su di essa Scegli l'app di App Store Connect

  6. Clicca sul TestFlight tasto Tasto App Store Connect testflight

  7. Clicca sul Internal Testers plus bottone App Store Connect pulsante interni tester plus

  8. Crea un nuovo gruppo

    Mi piace chiamare il gruppo “interni”. Puoi chiamarlo come vuoi.

    App Store Connect crea nuovo gruppo

  9. Clicca sul Invite testers bottone App Store Connect invita tester bottone

  10. Aggiungiti al gruppo

    Trova te stesso nella lista e seleziona la casella accanto al tuo nome. (Potresti dover ricaricare la pagina per vederlo) Poi, clicca sul Add bottone.

    Invita tester App Store Connect casella di controllo

  11. Verifica di essere stato aggiunto al gruppo

    Ora dovresti vedere te stesso nel gruppo.

    Verifica tester App Store Connect

Congratulazioni 🎉 Hai aggiunto te stesso a TestFlight. Ora c'è solo una cosa in più che devi fare prima di poter configurare Capgo Build Nativo.

Ora devi promettere a Apple che il tuo app non utilizza alcuna crittografia non standard (come un algoritmo personalizzato). Se il tuo app utilizza alcuna crittografia non standard, ti consiglio di leggere la Dal documento Apple su come gestire questo. Ci sono due modi per farlo:

  1. Puoi farlo a mano ogni volta che costruisci il tuo app.
  2. Puoi configurare il tuo file plist per impostare automaticamente questo valore a false.

Cominciamo con il primo:

  1. Segui tutte le fasi della sezione precedente per trovare la sezione TestFlight in App Store Connect

  2. Clicca su Builds -> iOS App Store Connect crea build iOS

  3. Cerca il build con informazioni di conformità mancanti e clicca su Manage App Store Connect gestisci build

  4. Scegli l'opzione che meglio descrive la tua app

    Per me, è nonema potrebbe essere diverso per te. Dopo, clicca su salva

    App Store Connect salva informazioni di conformità

  5. La tua app dovrebbe ora dire ready to test

    App Store Connect pronto per il test

Ecco i passaggi per il secondo caso:

  1. Apre il Info.plist file

  2. Aggiungi la seguente chiave:

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
  3. Salva il file

Ora, sei ALMOST pronto a testare il tuo app in TestFlight. Prima, devi fare le seguenti cose:

  1. Scarica l'app TestFlight dal negozio App Store sul tuo dispositivo iOS/iPadOS
  2. Accetta l'invito per testare il tuo app

Saltare i dettagli su come installare l'app TestFlight sul tuo dispositivo. Se non sei sicuro su come installare un'app, Google ha alcune guide eccellenti su come farlo.

Per quanto riguarda l'accettazione dell'invito, riceverai un'email da Apple con un link per accettare l'invito.

  1. Apre l'email da Apple con il link per accettare l'invito

  2. Clicca sul View in TestFlight tasto Invia email di TestFlight

  3. Clicca sul Install Clicca sul Clicca sul pulsante di installazione di TestFlight

  4. Installa l'app sul tuo dispositivo

    Se hai già installato l'app utilizzando Xcode, potresti vedere la seguente schermata. Per favore clicca sul install Clicca sul pulsante di installazione dell'app di TestFlight Aspetta che l'app venga installata

  5. Clicca sul

  6. Clicca sul pulsante e cliccalo Open Congratulazioni 🎉 Hai accettato l'invito a testare la tua app in TestFlight. Ora puoi configurare __CAPGO_KEEP_0__ Build Nativo per costruire e inviare la tua app a TestFlight.

Congratulations 🎉 You have accepted the invitation to test your app in TestFlight. Now, you can configure Capgo Native Build to build and submit your app to TestFlight.

C'è bisogno di configurare alcune cose in Capgo Build Nativo per poter costruire e inviare l'applicazione su TestFlight. Ecco una lista delle cose che passerete al Capgo CLI:

ParametroDescrizione
--platformLa piattaforma per cui costruire (ios)
--apple-team-idIl tuo ID di sviluppatore Apple (trovabile nel Portale dello Sviluppatore Apple)
--apple-keyPercorso del tuo file API Key di App Store Connect (.p8 file)
--apple-key-idL'ID Chiave del tuo file API Key di App Store Connect
--apple-issuer-idL'ID emittente di App Store Connect
--certificate Percorso per il tuo certificato di distribuzione (.p12 file)
--ios-provisioning-profile Mappatura del profilo di provisioning (bundleId=path o solo percorso per un profilo singolo)

Esempio di comando:

Finestra del terminale
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id YOUR_TEAM_ID \
--apple-key '/path/to/AuthKey_XXXXX.p8' \
--apple-key-id YOUR_KEY_ID \
--apple-issuer-id YOUR_ISSUER_ID \
--certificate '/path/to/certificate.p12' \
--ios-provisioning-profile '/path/to/profile.mobileprovision'

Iniziamo con l'ID del team. Trovarlo è piuttosto facile.

  1. Vai a Account del Developer Apple e scorrere verso il basso

  2. Trovate la Team ID

    Posizione dell'ID del team nel account del developer

Ora, passiamo all'Apple key.

  1. Vai a Pagina di accesso per l'utente di App Store Connect

  2. Scegli il team corretto dal menu a discesa

    1. Clicca sul tuo nome nell'angolo in alto a destra
    2. Clicca sul team che vuoi utilizzare Sceglizione del team per le chiavi dello sviluppatore Apple
  3. Clicca sul Integrations Tasto Button App Store Connect integrations

  4. Trova il issuer

    Clicca sul copy tasto per copiare l'issuer App Store Connect copia issuer

  5. Clicca sul pulsante con il segno più App Store Connect aggiungi chiave

  6. Imposta il nome della chiave e impostare l'accesso App manager e clicca sul Generate bottone App Store Connect aggiungi nome chiave, impostare l'accesso al gestore dell'app e generare bottone

  7. Salva l'ID della chiave

    App Store Connect copia l'ID della chiave

  8. Scarica la chiave

    Chiave di download per App Store Connect

    Avviso per la chiave di download di App Store Connect

Congratulazioni 🎉 Hai creato la chiave Apple, l'ID chiave Apple e l'ID emittente Apple.

Ora, sei pronto per esportare il certificato. Come ricorderai, uno dei primi passaggi di questa guida era la configurazione del certificato di distribuzione.

Tuttavia, Apple, nella loro infinita saggezza, ha deciso che il modo in cui esportare il certificato è molto diverso da quello in cui crearli 😊 Vediamo di impostarlo:

  1. Aprite Keychain Access

    1. Cliccate Command + Space per aprire la barra di ricerca
    2. Cercate Keychain Access
    3. Cliccate sul Keychain Access L'applicazione
  2. Selezionate la login categoria e cliccate sul My Certificates tasto Accesso alla chiave di catena di accesso

  3. Trovare il tuo certificato nella lista

    Il certificato dovrebbe essere denominato Apple Distribution: [Your Name/Company] (your team ID) Trova il certificato in Accesso alla chiave di catena

  4. Clicca con il pulsante destro sul certificato e seleziona Export Esporta il certificato in Accesso alla chiave di catena

  5. Salva il certificato come un .p12 file

    1. Assicurati di selezionare un nome adatto per il file del certificato
    2. Assicurati che il formato del file sia impostato su Personal Information Exchange (.p12)
    3. Clicca sul Save tasto

    dialogo di salvataggio del certificato di Accesso alla chiave

  6. Quando ti viene chiesto la password, puoi scegliere di:

    • Saltare la password (consigliato per la semplicità): Clicca OK senza inserire alcuna password
    • Impostare una password: Se preferisci proteggere il tuo certificato con una password, puoi impostarla qui. I file protetti da password sono pienamente supportati dal __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ - basta fornire la password utilizzando l' .p12 files are fully supported by the Capgo CLI - just provide the password using the --p12-password option when running configuration command.

    Accesso alla chiave di rete salva password del certificato di dialogo

  7. Quando ti viene chiesto il "password della chiave di rete di accesso", inserisci la password che utilizzi per accedere al tuo Mac

    Inserisci la password che utilizzi per accedere al tuo Mac. Poi, clicca sul Allow tasto.

    Accesso alla chiave di rete salva password del certificato di accesso alla chiave di rete

Congratulazioni 🎉 Hai esportato il certificato.

Ora sei pronto ad esportare il profilo di provisioning. Ti prometto, è l'ultima cosa che dovrai ottenere da Apple.

  1. Vai a Profili dello sviluppatore di Apple

  2. Scegli il team corretto dal menu a discesa

    1. Clicca sul tuo nome nell'angolo in alto a destra
    2. Clicca sul team che desideri utilizzare Sceglienza del team delle chiavi dello sviluppatore Apple
  3. Assicurati di essere sulla pagina corretta Deve assomigliare a questo, se non è così clicca su profiles in il menu a discesa

    Pagina dei profili dello sviluppatore Apple

  4. Clicca sul + tasto Tasto di aggiunta del profilo dello sviluppatore Apple

  5. Scegli il tipo di profilo Scegli App Store Connect e clicca sul Continue tasto

    Seleziona il profilo del tipo Apple Developer

  6. Seleziona l'app che desideri costruire

    Trovate l'app nel menu a discesa e cliccate sul Continue button

    Seleziona il profilo Apple Developer

  7. Seleziona il certificato di distribuzione corretto

    Selezionate il certificato che avete esportato nel passaggio precedente e cliccate sul Continue button

    Seleziona il certificato di distribuzione Apple Developer

    Se siete incerti sul certificato da selezionare, tornate a Keychain Access e trovate il certificato che avete esportato. Poi guardate la data di scadenza.

    Seleziona il certificato di distribuzione Apple Developer data di scadenza

  8. Nominare il profilo

    Dai un nome al profilo e clicca sul Generate bottone

    nome profilo Apple Developer

  9. Scarica il profilo

    Clicca sul Download bottone per scaricare il profilo

    Profilo di download di Apple Developer

Congratulazioni 🎉 Ora hai tutto ciò di cui hai bisogno per configurare Capgo Build Nativo.

Hai fatto! Ora hai tutto ciò di cui hai bisogno per configurare Capgo Build Nativo.

Il comando che dovrai eseguire è:

Fermata del terminale
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id UVTJ336J2D \
--apple-key ./capgo-tutorial/AuthKey_66FGQZB566.p8 \
--apple-key-id 66FGQZB566 \
--apple-issuer-id 0cd4db4a-5598-45b8-9d32-75cdf127d005 \
--certificate ./capgo-tutorial/capgo-build-tutorial-certificate.p12 \
--ios-provisioning-profile ./capgo-tutorial/capgo_native_build_tutorial.mobileprovision

Se tutto è andato bene, vedrai l'output seguente:

Capgo CLI output di salvataggio delle credenziali

Se hai già completato ID di squadra, Chiave Apple, ID chiave Apple e ID rilasciatore Apple, Certificato, e Profilo di provisioning, you already have everything needed for CI/CD. This section only covers how to pass those values as GitHub Actions secrets and environment variables.

Questo sezione copre solo come passare questi valori come segreti di azione __CAPGO_KEEP_0__ e variabili di ambiente.

1) Converti i file di credenziali in base64 a riga singola
Sezione intitolata “1) Converti i file di credenziali in base64 a riga singola”
# Distribution certificate (.p12)
base64 -i ./capgo-tutorial/capgo-build-tutorial-certificate.p12 | tr -d '\n' > certificate_base64.txt
# Provisioning profile (.mobileprovision)
base64 -i ./capgo-tutorial/capgo_native_build_tutorial.mobileprovision | tr -d '\n' > profile_base64.txt
# App Store Connect API key (.p8)
base64 -i ./capgo-tutorial/AuthKey_66FGQZB566.p8 | tr -d '\n' > apple_key_base64.txt

In GitHub > Repository > Settings > Secrets and variables > Actions, aggiungi:

Nome segretoValore
CAPGO_TOKENIl tuo Capgo API token
APP_STORE_CONNECT_TEAM_IDID del team da ID del team
APPLE_KEY_IDID della chiave da Chiave Apple, ID chiave Apple e ID emittente Apple
APPLE_ISSUER_IDID emittente da Chiave Apple, ID chiave Apple e ID emittente Apple
BUILD_CERTIFICATE_BASE64Contenuto di certificate_base64.txt
CAPGO_IOS_PROVISIONING_MAPGenerato da CLI — copia da .capgo-credentials file
APPLE_KEY_CONTENTContenuto di apple_key_base64.txt
P12_PASSWORD (facoltativo)La tua .p12 password se impostata durante l'esportazione

3) Utilizza le variabili di ambiente nel tuo GitHub workflow di Actions

Sottosezione intitolata “3) Utilizza le variabili di ambiente nel tuo GitHub workflow di Actions”
github/workflow/ios-build.yml
name: iOS Cloud Build
on:
workflow_dispatch:
push:
branches: [main]
jobs:
ios-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request iOS build with Capgo
run: bunx @capgo/cli@latest build request --platform ios
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }}
APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }}
APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }}
P12_PASSWORD: ${{ secrets.P12_PASSWORD }}

Ora sei pronto a eseguire la tua prima costruzione.

Esegui il seguente comando per costruire il tuo app:

Fenestra del terminale
bunx @capgo/cli@latest build request --platform ios

Congratulazioni 🎉 In questo punto, hai costruito con successo il tuo app e è pronto per essere inviato alla App Store.

La normale via di build per la App Store carica il build su App Store Connect/TestFlight. Se il rilascio CI dovrebbe anche allegare il build elaborato di TestFlight alla versione della App Store e inviarla per la revisione, passa --submit-to-store-review con un build di rilascio:

Fermata di terminale
npx @capgo/cli@latest build request com.example.app \
--platform ios \
--build-mode release \
--ios-distribution app_store \
--submit-to-store-review \
--store-release-name "1.2.3" \
--store-release-notes "General improvements" \
--store-release-notes-locale "en-US=General improvements" \
--store-release-notes-locale "nl-NL=Algemene verbeteringen" \
--store-release-notes-locale "fr-FR=Ameliorations generales" \
--no-ios-automatic-release

Questa richiede le credenziali di chiave API di App Store Connect (APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, e APP_STORE_CONNECT_TEAM_IDle password di upload specifiche per l'app e ad_hoc la distribuzione non possono inviare un build per la revisione. --store-release-name è la versione della App Store; se omesso, Capgo legge MARKETING_VERSION dal progetto Xcode. --store-release-notes è il testo di fallback per l'App Store What’s New, e ogni --store-release-notes-locale "locale=notes" ingresso può sovrascriverlo per una localizzazione di store. Utilizza --ios-automatic-release per rilasciare automaticamente dopo l'approvazione di Apple, o --no-ios-automatic-release per attendere un rilascio manuale. --ios-testflight-groups è ancora disponibile per la distribuzione beta esterna, ma non è richiesto per la presentazione di revisione dell'App Store.

Di default, Capgo costruisce app iOS per la distribuzione dell'App Store (TestFlight + App Store). Se hai bisogno di costruzioni ad-hoc al posto di quelle (per test interni o raccolta di artefatti di CI), puoi utilizzare la --ios-distribution Nota

  • Desideri distribuire le IPA direttamente ai dispositivi registrati (senza TestFlight)
  • Non hai o non vuoi utilizzare una chiave API App Store Connect
  • Desideri raccogliere gli artefatti di costruzione tramite --output-upload senza sottoporre a valutazione da parte dell'App Store

Costruzioni ad-hoc hanno poche richieste rispetto alle costruzioni di App Store:

La credenzialeÈ richiesta?
Certificato di distribuzione (.p12)
Profilo di provisioning ad-hoc (.mobileprovision)
ID del team (--apple-team-id)
Chiave App Store Connect API (.p8)No
ID chiave Apple / ID emittenteNo

Segui gli stessi passaggi come Profilo di provisioningcontext: Pagina/Area: Capgo Builder / prodotto di build nativo cloud. Ruolo: Etichetta di navigazione o elemento UI breve. Visto in: pagina native-build.astro. Messaggio chiave `native_build_v2_wiz_ios_s3_l` (Native Build V2 Wiz Ios S3 L). , ma in passo 5, seleziona Ad Hoc al posto di:

  1. App Store Vai a
  2. Profili sviluppatori di Apple + bottoni
  3. Seleziona Ad Hoc e clicca Continua
  4. Seleziona il tuo app e il certificato di distribuzione
  5. Seleziona i dispositivi che desideri registrare
  6. Nome e download del profilo
Finestra del terminale
bunx @capgo/cli@latest build credentials save \
--platform ios \
--ios-distribution ad_hoc \
--apple-team-id YOUR_TEAM_ID \
--certificate './certificate.p12' \
--ios-provisioning-profile './adhoc_profile.mobileprovision'

No --apple-key, --apple-key-ido, oppure --apple-issuer-id necessario.

Fenestra del terminale
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc

Per raccogliere l'IPA come artefatto di build, aggiungi --output-upload:

Fenestra del terminale
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc \
--output-upload

Per GitHub Azioni, hai bisogno di meno segreti rispetto ai build per l'App Store:

github/workflow/ios-adhoc-build.yml
name: iOS Ad-Hoc Build
on:
workflow_dispatch:
jobs:
ios-adhoc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Request iOS ad-hoc build
run: bunx @capgo/cli@latest build request --platform ios --ios-distribution ad_hoc --output-upload
env:
CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }}
APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP_ADHOC }}
CAPGO_IOS_DISTRIBUTION: ad_hoc

Applicazioni con Estensioni (Multi-Target Signing)

Sezione intitolata “Applicazioni con Estensioni (Multi-Target Signing)”

Se la tua app include estensioni (estensioni di condivisione, widget, estensioni di servizio di notifica, ecc.), ogni target di estensione necessita di un proprio profilo di provisioning. Capgo supporta questo tramite la flag --ios-provisioning-profile ripetibile.

Esempio: App + Estensione di condivisione

Esempio: App + Estensione di condivisione
Fermata di terminale
bunx @capgo/cli@latest build credentials save \
--platform ios \
--apple-team-id YOUR_TEAM_ID \
--apple-key '/path/to/AuthKey_XXXXX.p8' \
--apple-key-id YOUR_KEY_ID \
--apple-issuer-id YOUR_ISSUER_ID \
--certificate '/path/to/certificate.p12' \
--ios-provisioning-profile "com.example.app=./app_profile.mobileprovision" \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

Ogni --ios-provisioning-profile la bandiera mappa un ID bundle a suo profilo di provisioning file. Il CLI:

  1. Legge ogni file mobileprovision
  2. Auto-strappa il nome del profilo dall'embedded plist
  3. Codifica in base 64 il file
  4. Memorizza tutto come un singolo CAPGO_IOS_PROVISIONING_MAP Credenziale

Se avete precedentemente utilizzato BUILD_PROVISION_PROFILE_BASE64 (profilo singolo), eseguite:

Fenestra del terminale
bunx @capgo/cli@latest build credentials migrate --platform ios

Questo converte le vostre credenziali esistenti del profilo singolo nel nuovo CAPGO_IOS_PROVISIONING_MAP formato e rimuove le chiavi legacy (BUILD_PROVISION_PROFILE_BASE64, APPLE_PROFILE_NAME).

Dopo la migrazione, aggiungere profili di estensione con il update comando (merge additivo):

Fenestra del terminale
bunx @capgo/cli@latest build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

Il profilo di provisioning non include la capacità XYZ.

Sezione intitolata “Il profilo di provisioning non include la capacità XYZ.”

Alcuni volte, potresti vedere l'errore seguente:

Provisioning profile "YOUR_PROVISIONING_PROFILE_NAME" doesn't include the XYZ capability. (in target 'App' from project 'App')"

Questo accade perché hai abilitato una nuova capacità dopo la creazione del profilo di provisioning. Il vecchio profilo di provisioning non include ancora la nuova capacità.

Per risolvere questo problema, devi rigenerare il profilo di provisioning.

  1. Apre Portale dello sviluppatore Apple
  2. Scegli il team corretto dal menu a discesa Scegli il team Apple Developer
  3. Clicca sul Profiles tasto tasto Apple Developer
  4. Cerca il profilo di provisioning che vuoi rigenerare Trova il profilo di Apple Developer
  5. Clicca sul Edit bottone Modifica il profilo di Apple Developer
  6. Clicca sul Save bottone Salva il profilo di Apple Developer
  7. Clicca sul Download bottone Scarica il profilo di Apple Developer
  8. Esegui nuovamente il comando di configurazione di build nativa Capgo con il profilo scaricato di recente.

Questo dovrebbe risolvere il problema.

Se per qualsiasi ragione hai problemi con la costruzione nativa Capgo, la configurazione delle credenziali o la costruzione dell'app, non esitare a contattarci tramite il nostro supporto.

Se stai utilizzando Costruzione iOS per pianificare l'automazione CI/CD, connettilo con Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD Capgo Native Builds for the product workflow in Capgo Native Builds, Capgo Integrations for the product workflow in Capgo Integrations, Integrazione CI/CD per la dettaglio di implementazione in Integrazione CI/CD, e GitHub Actions Integration for the implementation detail in GitHub Actions Integration.