Saltare al contenuto

Costruzione di iOS

Esegui 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)
  • 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 costruirsi 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 attivare il primo caricamento 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 su 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
  • Utilizza 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 di App Store
  • Prepara questi elementi di App Store Connect prima della revisione di App: URL del supporto, URL della politica sulla privacy, età di valutazione, screenshot, conformità all'esportazione e dettagli di contatto per la revisione di App
Iniziare l'iscrizione al programma sviluppatore Apple Continuare l'iscrizione al programma sviluppatore Apple sul web Selezionare il tipo di entità sviluppatore Apple corretto Dopo l'iscrizione in App Store Connect

Prima di poter iniziare a pensare a costruire l'app 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 fatto ancora
  • Potrai risolvere eventuali problemi con il processo di costruzione collegato alla tua app code

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

Configurazione del certificato di distribuzione

Configurazione del certificato di distribuzione
  1. Apre Xcode

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

    Impostazioni di Xcode

  3. Vai a Accounts Tabella account di Xcode

  4. Cerca l'Account Apple aggiunto al Account sviluppatore Apple Account Apple selezionato di Xcode

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

  6. Clicca sul Manage Certificates... tasto Clicca su "Gestisci certificati" di Xcode

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

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

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

  1. Apre l'app in Xcode

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

  2. Cerca e clicca sul archive tasto

    In barra degli strumenti di Xcode, cerca 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 TestFlight Internal Only come metodo di distribuzione e clicca su Distribute button

    Metodo di distribuzione di Xcode TestFlight interno solo

  6. Configura il record dell'app

    Compila i seguenti campi:

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

    Poi, clicca sul pulsante next tasto

    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. Aspetta che l'upload sia completo

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

  10. Clicca sul pulsante Done tasto

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 affinché la costruzione diventi testabile
  3. Riempi i metadati obbligatori di App Store Connect come il tuo URL di supporto, il tuo URL di politica sulla privacy e la tua classificazione di età
  4. Prepara schermate che corrispondono ai dispositivi che effettivamente supporti
  5. Aggiungi i dettagli di contatto per la revisione App e qualsiasi credenziale di test prima della sottoscrizione di produzione

Iniziamo con la prima:

  1. Vai alla pagina App Store Connect pagina 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 App Store Connect apps

  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 App Store Connect testflight

  7. Click sul Internal Testers plus button App Store Connect pulsante di aggiunta di tester interni

  8. Crea un nuovo gruppo

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

    App Store Connect crea nuovo gruppo

  9. Click sul Invite testers button App Store Connect pulsante di invito dei tester

  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 button.

    Invita a testare App Store Connect casella di controllo

  11. Verifica di essere stato aggiunto al gruppo

    Ora dovresti vedere te stesso nel gruppo.

    Verifica testatore 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 la tua app non utilizza alcuna crittografia non standard (come un algoritmo personalizzato). Se la tua app utilizza alcuna crittografia non standard, ti consiglio di leggere la Dal documento di Apple Sui modi di gestire questo. Ci sono due modi per farlo:

  1. Puoi farlo a mano ogni volta che costruisci l'app.
  2. Puoi configurare il 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 il tuo app

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

    App Store Connect salva informazioni di conformità

  5. Ora il tuo app dovrebbe 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

Now, sei pronto a testare il tuo app su TestFlight. Prima, devi fare le seguenti cose: PRONTI Scarica l'app

  1. TestFlight dalla App Store sul tuo dispositivo iOS/iPadOS Accetta l'invito per testare il tuo app
  2. Saltiamo 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.

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

  1. Clicca sul

  2. bottone View in TestFlight button Bottone di invio email di TestFlight

  3. Clicca sul Install bottone Bottone 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 bottone. Installa l'app di TestFlight

  5. Aspetta che l'app si installi

  6. Clicca sul Open bottone e cliccalo

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

C'è pochissimo di cui devi occuparti per configurare Capgo Build Nativo e poter compilare e inviare il tuo app su TestFlight. Ecco una lista delle cose che passerai al Capgo CLI:

ParametroDescrizione
--platformLa piattaforma da costruire per (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 del tuo certificato di distribuzione (.p12 file)
--ios-provisioning-profilePercorso di mappatura del profilo di provisioning (bundleId=path o semplicemente percorso per un profilo singolo)

Esempio di comando:

Fenestra 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 è abbastanza facile.

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

  2. Trova la Team ID

    Posizione dell'ID del team nel account del developer

Ora, passiamo alla chiave Apple.

  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 Scegli il team per le chiavi dello sviluppatore Apple
  3. Clicca sul Integrations Pulsante Pulsante di integrazione App Store Connect

  4. Trova il issuer

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

  5. Clicca sul pulsante plus 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

  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 ad 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.

  1. Apre Keychain Access

    1. Clicca Command + Space per aprire la barra di ricerca
    2. Cerca Keychain Access
    3. Clicca sul Keychain Access L'applicazione
  2. Scegli la login categoria e clicca sul My Certificates tasto Accesso alla chiave di categoria 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

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

  5. Salva il certificato come un .p12 file

    1. Assicurati di selezionare un buon nome 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 semplicità): Clicca OK senza inserire alcuna 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 button

    DIALOGO DI SALVATAGGIO DELLA PAROLA D'ORDINE DEL CERTIFICATO DI ACCESSO AL KEYCHAIN

  7. Quando viene richiesto il "password della chiave di accesso", fornisci la password che usi per accedere al tuo Mac.

    Inserisci la password che usi per accedere al tuo Mac. Poi, clicca sul Allow button.

    Salva certificato di accesso al Keychain password di accesso al Keychain di login

Congratulazioni 🎉 Hai esportato con successo il certificato.

Profilo di provisioning

Profilo di provisioning

Ora sei pronto ad esportare il profilo di provisioning. Ti assicuro, questo è l'ultimo passo che dovrai fare per ottenere qualcosa da Apple.

  1. Vai a Profili sviluppatori Apple

  2. Seleziona la squadra corretta a discesa

    1. Clicca sul tuo nome nell'angolo in alto a destra
    2. Clicca sul team che vuoi 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

    Scegli il tipo di profilo di Apple Developer

  6. Seleziona l'app che desideri costruire

    Trova la tua app nel menu a discesa e clicca sul Continue bottone

    Scegli l'app di Apple Developer

  7. Seleziona il certificato di distribuzione corretto

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

    Scegli il certificato di distribuzione di Apple Developer

    Se sei incerto sul certificato da selezionare, torna a Keychain Access e trova il certificato che hai esportato. Poi controlla la data di scadenza.

    Scegli la data di scadenza del certificato di distribuzione di Apple Developer

  8. Nomi il profilo

    Dai un nome al profilo e clicca sul Generate bottone

    nome del profilo Apple Developer

  9. Scarica il profilo

    Clicca sul Download bottone per scaricare il profilo

    Profilo di download di Apple Developer

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

Hai fatto! Hai ora 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
Sottosezione 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 rilasciatore Apple
APPLE_ISSUER_IDID rilasciatore da Chiave Apple, ID chiave Apple e ID rilasciatore 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 variabili di ambiente nel tuo GitHub workflow di Actions

Sottosezione intitolata “3) Utilizza 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:

Fermata di 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 l'App Store carica il build su App Store Connect/TestFlight. Se il rilascio CI dovrebbe anche allegare il build elaborato di TestFlight alla versione di App Store e inviarla per la revisione, passa --submit-to-store-review con un rilascio di build:

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

Ciò 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 della password specifica per l'app e la distribuzione non possono inviare un 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 from the Xcode project. --store-release-notes è il testo di fallback per l'App Store per le novità, e ogni --store-release-notes-locale "locale=notes" può sovrascriverlo per una localizzazione di un negozio. 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 è richiesta per la sottoscrizione di valutazione 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 (nessun TestFlight)
  • You don’t have or don’t want to use an App Store Connect API key
  • Desideri raccogliere gli artefatti di costruzione tramite --output-upload senza inviarli alla App Store

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

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

Segui le stesse procedure di Profilo di provisioningcontext: Pagina/Area: Capgo Builder / prodotto di build nativo cloud. Ruolo: Etichetta di navigazione breve o elemento UI. Visto in: pagina native-build.astro. Chiave di messaggio `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 dello sviluppatore Apple + bottoni
  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 needed.

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/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 del proprio profilo di provisioning. Capgo supporta questo tramite la flag ripetibile --ios-provisioning-profile 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 di bundle al suo file di profilo di provisioning. Il CLI:

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

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

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

Questo converte le vostre credenziali esistenti di 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):

Fermata 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 casi 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. Seleziona la squadra corretta nella lista a discesa Scegliere la squadra dei chiavi dello sviluppatore Apple
  3. Clicca sul Profiles tasto tasto dei profili dello sviluppatore Apple
  4. Cerca il profilo di provisioning che desideri rigenerare Trova il profilo di Apple Developer
  5. Clicca sul pulsante Edit Clicca sul pulsante Clicca sul pulsante
  6. Clicca sul pulsante Save Clicca sul pulsante Clicca sul pulsante
  7. Riesegui il comando di configurazione di Native Build __CAPGO_KEEP_0__ con il profilo scaricato di recente. Download Scarica il profilo di Apple Developer Riesegui il comando di configurazione di Native Build __CAPGO_KEEP_0__ con il profilo scaricato di recente.
  8. Riesegui il comando di configurazione di Native Build Capgo con il profilo scaricato di recente. Riesegui il comando di configurazione di Native Build __CAPGO_KEEP_0__ con il profilo scaricato di recente.

Questo dovrebbe risolvere il problema.

Se per qualsiasi motivo hai problemi con la costruzione nativa di Capgo, la configurazione delle credenziali o la costruzione dell'applicazione, 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 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 la dettaglio di implementazione in Integrazione CI/CD, e GitHub Integrazione azioni per la dettaglio di implementazione in GitHub Integrazione azioni