Saltare al contenuto

Costruzioni iOS

Crea 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
  • You imparerai come configurare i certificati per Capgo Build Nativo
  • 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)
  • Un computer Mac con Xcode installato (è possibile configurare la build 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 caricare il primo upload di TestFlight, assicurati che l'account e il team Apple siano pronti:

  • Attiva l'autenticazione a due fattori per l'account 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 i certificati, i record dell'app, le API chiavi e TestFlight
  • Blocca il tuo ID bundle finale presto. Cambiarlo in seguito significa di solito ricominciare la configurazione di App Store
  • Pianifica questi elementi di App Store Connect prima della revisione di App Review: URL di supporto, URL di politica sulla privacy, età di valutazione, screenshot, conformità all'esportazione e dettagli di contatto di App Review
Inizia l'iscrizione a Apple Developer Continua l'iscrizione a Apple sul web Seleziona il tipo di entità Apple Developer corretto App Store Connect dopo l'iscrizione

Prima di poter iniziare a pensare a costruire l'app con Capgo, dovremmo prima di tutto impostarla e fare una prima build di TestFlight a mano. Ci sono alcuni 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 fatto ancora
  • Potrai capire eventuali problemi con il processo di costruzione legati all'app code

Prima di poter iniziare, è necessario che il certificato di distribuzione sia installato sul tuo computer locale. Questo è abbastanza complesso, ma spiegherò tutto qui sotto.

  1. Apre Xcode

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

    Impostazioni Xcode

  3. Vai a Accounts Tabella account Xcode

  4. Trova l'account Apple aggiunto all'account sviluppatore Apple Account Apple selezionato Xcode

  5. Trova il team che utilizzerai per distribuire l'app Trova team Xcode

  6. Clicca sul Manage Certificates... button Gestisci certificati Xcode

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

  8. Se non lo fai, devi creare un nuovo certificato

    1. Clicca sul + tasto e poi su Apple Distribution Aggiungi certificato 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 build.

  1. Apri l'app in Xcode

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

  2. Trova e clicca sul archive button

    Nella barra degli strumenti di Xcode, trova e clicca sul product -> archive button.

    Barra degli strumenti di Xcode

  3. Aspetta che la compilazione sia completata

  4. Clicca sul Distribute App button

    button di distribuzione di Xcode

  5. Scegli come metodo di distribuzione e clicca su TestFlight Internal Only button Distribute Metodo di distribuzione Xcode TestFlight interno solo

    Configura il record dell'app

  6. Compila i seguenti campi:

    Nome: Il nome della tua app - visibile nella App Store

    1. SKU - lo SKU della tua app - questo viene utilizzato per identificare la tua app nella App Store
    2. La lingua principale - la lingua principale della tua app
    3. Poi, clicca sul

    button next Metodo di distribuzione Xcode TestFlight configura record dell'app

    __CAPGO_KEEP_0__

  7. Se la creazione del record dell'app non riesce, prova a chiudere la finestra e riprova ad archiviare l'app di nuovo.

  8. Attendere la conclusione dell'upload

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

  10. Clicca sul Done bottoni

Potresti pensare istintivamente che tutto sia andato bene ora 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 affinché la costruzione diventi testabile
  3. Riempire i metadati di App Store Connect richiesti, come l'URL del tuo supporto, l'URL della tua politica sulla privacy e la classificazione di età
  4. Preparare screenshot che corrispondono ai dispositivi che effettivamente supporti
  5. Aggiungere i dettagli di contatto per la revisione dell'app e qualsiasi credenziale di test prima della sottoscrizione di produzione

Iniziamo con il primo:

  1. Vai al App Store Connect pagina Pagina di accesso a App Store Connect

  2. Accedi con il tuo account di sviluppatore Apple

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

  4. Clicca sul Apps button App Store Connect apps pulsante

  5. Trova l'app che hai creato nel passo precedente e clicca su di essa App Store Connect selezione app

  6. Clicca sul TestFlight pulsante App Store Connect testflight pulsante

  7. Clicca sul Internal Testers plus pulsante App Store Connect internal testers plus pulsante

  8. Crea un nuovo gruppo

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

    App Store Connect crea nuovo gruppo

  9. Clicca su Invite testers tasto invita tester App Store Connect button

  10. Aggiungiti al gruppo

    Trova te stesso nella lista e seleziona la casella accanto al tuo nome. (Potresti dover ricaricare la pagina per vederlo) Quindi, clicca su il Add tasto di selezione tester App Store Connect checkbox

    Verifica di essere stato aggiunto al gruppo

  11. Ora dovresti vedere te stesso nel gruppo.

    App Store Connect verifica tester

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

Congratulations 🎉 You have added yourself to TestFlight. Now, there is just one more thing you need to do before you can configure Capgo Native Build.

Ora hai bisogno di promettere a Apple che la tua app non utilizza alcuna crittografia non standard (come un algoritmo personalizzato). Se la tua app utilizza effettivamente alcuna crittografia non standard, ti consiglio di leggere il documentazione di Apple su come gestire questo aspetto. Ci sono due modi per farlo:

  1. Potresti farlo a mano ogni volta che costruisci l'app.
  2. Potresti configurare il file plist per impostare automaticamente questo valore su false.

Iniziamo con il primo:

  1. Segui tutti i passaggi della sezione precedente per trovare la sezione TestFlight in App Store Connect

  2. Clicca su Builds -> iOS Pulsante di costruzione iOS di App Store Connect

  3. Cerca il build con le informazioni sulla conformità mancanti e clicca su Manage Pulsante gestione build di App Store Connect

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

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

    Salva le informazioni di conformità di App Store Connect

  5. La tua app dovrebbe ora dire ready to test

    App Store Connect è pronto per il test

Per quanto riguarda la seconda, ecco i passaggi:

  1. Apri il Info.plist file

  2. Aggiungi la seguente chiave:

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

L'installazione dell'app TestFlight e l'accettazione dell'invito

Sezione intitolata “L'installazione dell'app TestFlight e l'accettazione dell'invito”

Ora, sei PRATICAMENTE pronto per testare la tua app in TestFlight. Prima, devi fare le seguenti cose:

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

Mi scuso per non fornire i dettagli su come installare l'app TestFlight sul tuo dispositivo. Se non sei sicuro su come installare un'app, Google ha alcune guide fantastiche su come farlo.

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

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

  2. Clicca su View in TestFlight button Clicca sul

  3. button Install Clicca sul button

  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 button. Installa l'app di TestFlight

  5. Aspetta che l'app venga installata

  6. Clicca su il Open button e cliccalo

Congratulazioni 🎉 Hai accettato l'invito per testare la tua app in TestFlight. Ora puoi configurare Capgo Build Nativo per costruire e inviare la tua app a TestFlight.

Ci sono alcune cose che devi configurare in Capgo Build Nativo per poter costruire e inviare la tua app a TestFlight. Ecco una lista delle cose che passerai al Capgo CLI:

ParametroDescrizione
--platformLa piattaforma per cui costruire (ios)
--apple-team-idIl tuo ID del team di sviluppatore Apple (trovato in Portale del sviluppatore Apple)
--apple-keyPercorso del tuo file chiave App Store Connect API (.p8 file)
--apple-key-idThe Key ID of your App Store Connect API Key
--apple-issuer-idIl tuo ID emittente App Store Connect
--certificatePercorso del tuo certificato di distribuzione (.p12 file)
--ios-provisioning-profileMappatura 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 della squadra. Trovarlo è abbastanza facile.

  1. Vai a Account del sviluppatore Apple e scorri verso il basso

  2. Trova la Team ID

    posizione dell'ID della squadra nel conto del sviluppatore

Chiave Apple, ID chiave Apple e ID rilasciatore Apple

Sezione intitolata “Chiave Apple, ID chiave Apple e ID rilasciatore Apple”

Ora, passiamo alla chiave Apple.

  1. Vai a pagina di accesso utente e accesso a App Store Connect

  2. Seleziona la squadra corretta nel menu a discesa

    1. Clicca sul tuo nome nell'angolo in alto a destra
    2. Clicca sul team che desideri utilizzare Selezione dei team per le chiavi dello sviluppatore Apple
  3. Clicca sul Integrations button integrazione del pulsante App Store Connect

  4. Trova il issuer

    Clicca sul copy tasto per copiare l' emittente Copiare l' emittente da App Store Connect

  5. Clicca sul tasto per aggiungere la chiave in App Store Connect

  6. Imposta il nome della chiave e impostalo per l'accesso a App manager e clicca sul Generate tasto Imposta il nome della chiave, impostalo per l'accesso al gestore delle app e generare

  7. Salva l'ID della chiave

    ID chiave per la copia di App Store Connect

  8. Scarica la chiave

    Chiave di download di App Store Connect

    Avviso chiave di download di App Store Connect

Congratulazioni 🎉 Hai creato la chiave Apple, ID chiave Apple e ID rilasciatore 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 capire come impostarlo:

  1. Aprite Keychain Access

    1. Clicca Command + Space per aprire la barra di ricerca
    2. Cerca Keychain Access
    3. Clicca sul Keychain Access app
  2. Seleziona la login categoria e clicca sul My Certificates tasto Categoria di accesso a Keychain

  3. Trova il tuo certificato nella lista

    Il certificato dovrebbe essere denominato Apple Distribution: [Your Name/Company] (your team ID) Keychain Access trova certificato

  4. Fai clic destro sul certificato e seleziona Export Keychain Access esporta certificato

  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 bottoni

    dialogo di salvataggio del certificato di Accesso alla chiave

  6. When richiesto la password, puoi scegliere:

    • Saltare la password (consigliato per semplicità): Clicca OK senza inserire una password
    • Imposta 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 Dialogo di salvataggio della password del certificato di Accesso alla chiave

    Quando richiesto la 'password della chiave di accesso', fornisci la password che utilizzi per accedere al tuo Mac

  7. Fornisci la password che utilizzi per accedere al tuo Mac. Poi, clicca sul

    tasto. Allow Dialogo di salvataggio della password della chiave di accesso del login

    Congratulazioni 🎉
Hai esportato il certificato.

Skip the password (recommended for simplicity): Click __CAPGO_KEEP_0__ without entering a password

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

  1. Vai a Profili sviluppatori Apple

  2. Seleziona il team corretto nella casella a discesa

    1. Clicca sul tuo nome nell'angolo in alto a destra
    2. Clicca sul team che desideri utilizzare Selezione del team delle chiavi sviluppatori Apple
  3. Assicurati di essere sulla pagina corretta Deve avere questo aspetto, se non è così clicca su profiles nella barra laterale

    pagina dei profili sviluppatori Apple

  4. Clicca sul + __CAPGO_KEEP_0__ button

  5. Aggiungi profilo sviluppatore Apple App Store Connect Seleziona il tipo di profilo Seleziona Continue __CAPGO_KEEP_0__

    button

  6. Seleziona il tipo di profilo sviluppatore Apple

    Seleziona l'app che vuoi costruire Continue Trova l'app nel menu a discesa e clicca sul

    __CAPGO_KEEP_0__

  7. button sviluppatore Apple seleziona app

    Seleziona il certificato che hai esportato nel passaggio precedente e clicca sul Continue __CAPGO_KEEP_0__

    Apple Developer seleziona certificato di distribuzione

    Se sei incerto su quale certificato selezionare, torna a Keychain Access e trova il certificato che hai esportato. Poi guarda la data di scadenza.

    Apple Developer seleziona data di scadenza del certificato di distribuzione

  8. Nome il profilo

    Dai un nome al profilo e clicca sul Generate __CAPGO_KEEP_0__

    Apple Developer nome profilo

  9. Scarica il profilo

    Clicca sul Download tasto per scaricare il profilo

    Profilo di download di Apple Developer

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

Lo hai fatto! Ora hai tutto ciò di cui hai bisogno per configurare Capgo Native Build.

Il comando che dovrai eseguire è:

Fenestra 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 del team, Chiave Apple, ID chiave Apple e ID rilasciatore Apple, Certificato, e Profilo di provisioning, hai già tutto ciò che ti serve per la CI/CD. Questa sezione copre solo come passare quei valori come segreti e variabili di ambiente di GitHub Actions.

1) Converti file di credenziali in base64 a riga singola

Sezione intitolata “1) Converti file di credenziali in base64 a riga singola”
Finestra del terminale
# 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 token Capgo API
APP_STORE_CONNECT_TEAM_IDID del team da ID del team
APPLE_KEY_IDID della chiave da Chiave Apple, ID della chiave Apple e ID dell'emittente Apple
APPLE_ISSUER_IDID dell'emittente da Chiave Apple, ID della chiave Apple e ID dell'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)Il tuo .p12 password se impostato durante l'esportazione

3) Utilizza le variabili di ambiente nei tuoi GitHub Actions workflow

Sezione intitolata “3) Utilizza le variabili di ambiente nei tuoi GitHub Actions workflow”
github/workflows/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 la tua app:

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

Congratulazioni 🎉 In questo punto, hai avuto successo nella costruzione della tua app e è pronta per essere inviata alla valutazione dell'App Store.

Il percorso di costruzione normale dell'App Store carica la costruzione su App Store Connect/TestFlight. Se il rilascio CI dovrebbe anche allegare la costruzione elaborata di TestFlight alla versione dell'App Store e inviarla per la valutazione, passa --submit-to-store-review con un rilascio di costruzione:

Finestra del 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

Richiede le credenziali chiave di App Store Connect API (APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, e APP_STORE_CONNECT_TEAM_ID). L'upload di password app-specific e la distribuzione non possono inviare una build per la revisione. ad_hoc è la versione di App Store; se omesso, __CAPGO_KEEP_0__ legge --store-release-name is the App Store version; if omitted, Capgo reads MARKETING_VERSION è il testo di What’s New di App Store di fallback, e ogni --store-release-notes entry può sovrascriverlo per una localizzazione di store. Utilizza --store-release-notes-locale "locale=notes" per rilasciare automaticamente dopo l'approvazione di Apple, o --ios-automatic-release per attendere un rilascio manuale. --no-ios-automatic-release è ancora disponibile per la distribuzione beta esterna, ma non è richiesta per la sottoscrizione di App Store. --ios-testflight-groups Modalità di distribuzione Ad-Hoc

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

targetLanguage

protectedTokens
  • Vuoi distribuire le IPAs direttamente ai dispositivi registrati (senza TestFlight)
  • Non hai o non vuoi utilizzare una chiave App Store Connect API
  • Vuoi raccogliere gli artefatti di costruzione via --output-upload senza sottoporre a valutazione l'App Store

Il build ad-hoc ha requisiti minori rispetto ai build per l'App Store:

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

Segui gli stessi passaggi come Profilo di provisioning, ma nel passo 5, seleziona Ad Hoc al posto di App Store:

  1. Vai a Profili sviluppatori Apple
  2. Clicca il + tasto
  3. Seleziona Ad Hoc e clicca Continua
  4. Seleziona la tua 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-id, o --apple-issuer-id necessario.

Finestra 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:

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

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

github/workflows/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 ripetibile. --ios-provisioning-profile Esempio: App + Estensione di condivisione

Finestra del terminale

Copia negli appunti
Ogni
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"

Legge ogni file mobileprovision --ios-provisioning-profile flag maps a bundle ID to its provisioning profile file. The CLI:

  1. Legge ogni file mobileprovision
  2. Estrae automaticamente il nome del profilo dal plist incorporato
  3. Codifica in Base64 il file
  4. Memorizza tutto come un singolo CAPGO_IOS_PROVISIONING_MAP credenziale

Migrazione da Profilo Singolo

Se hai utilizzato precedentemente

(profilo singolo), esegui: BUILD_PROVISION_PROFILE_BASE64 Finestra del terminale

__CAPGO_KEEP_0__
bunx @capgo/cli@latest build credentials migrate --platform ios

Questo converte i tuoi credenziali esistenti a profilo singolo in formato nuovo e elimina le chiavi legacy ( CAPGO_IOS_PROVISIONING_MAP Dopo la migrazione, aggiungi profili di estensione con il comando (merge additivo):BUILD_PROVISION_PROFILE_BASE64, APPLE_PROFILE_NAME).

Finestra del terminale update Copia nel portapenne

Suggerimento
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.”

A volte, potresti vedere l'errore seguente:

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

Ciò 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, è necessario rigenerare il profilo di provisioning.

  1. Apri Portale dello Sviluppatore Apple
  2. Scegli la squadra corretta dal menu a discesa Selezione della squadra Apple Developer chiavi
  3. Clicca sul Profiles tasto Selezione del profilo Apple Developer
  4. Trova il profilo di provisioning che desideri rigenerare Selezione del profilo Apple Developer
  5. Clicca sul Edit tasto Selezione del profilo Apple Developer
  6. Clicca sul Save tasto Salva profilo Apple Developer
  7. Clicca sul Download button Scarica profilo Apple Developer
  8. Riecco il comando di configurazione Capgo Native Build Esegui nuovamente il comando di configurazione __CAPGO_KEEP_0__ Native Build con il profilo scaricato.

Questo dovrebbe risolvere il problema.

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

Se stai utilizzando Costruzioni iOS per pianificare l'automazione CI/CD, connettilo con Capgo CI/CD per il flusso di lavoro del prodotto in Capgo CI/CD, Capgo Costruzioni Native per il flusso di lavoro del prodotto in Capgo Costruzioni Native, Capgo Integrazioni per il flusso di lavoro del prodotto in Capgo Integrazioni, Integrazione CI/CD per i dettagli di implementazione in Integrazione CI/CD, GitHub Azioni di integrazione per i dettagli di implementazione in GitHub Azioni di integrazione.