Passer à la navigation

Constructions iOS

Construirez et soumettrez des applications iOS à TestFlight et à l'App Store à l'aide de l'infrastructure Mac dédiée de Capgo.

  • Vous allez apprendre à télécharger votre application via Capgo Native build
  • Vous allez apprendre à configurer les certificats pour Capgo Native Build
  • Un compte Capgo (un essai gratuit suffit pour commencer)
  • Votre application déjà enregistrée dans Capgo (exécutez bunx @capgo/cli@latest app add si pas
  • Pas de Mac nécessaire : Capgo Build compile et signe votre application iOS dans le cloud, vous pouvez donc exécuter cela depuis macOS, Windows ou Linux
  • Compte Apple valide (99 $/an) (Vous devez avoir des droits d'administrateur ou propriétaire sur le compte Apple Developer)
  • Votre application doit se construire avec succès (en Xcode localement, ou avec Capgo Build)
  • Une application Capacitor
  • Un icône configuré pour l'application. Les applications sans icône ne peuvent pas être mises en ligne sur l'App Store.

Avant de commencer dans les portails d'Apple

Avant de commencer dans les portails d'Apple

Avant de configurer les certificats ou de déclencher votre première mise en ligne TestFlight, assurez-vous que le compte Apple et l'équipe soient prêts.

  • Section intitulée « Avant de commencer dans les portails d'Apple »
  • Choisissez le bon type de membership :
    • Individuel / Propriétaire unique: votre nom personnel légal devient le nom du vendeur sur l'App Store
    • Organisation: nécessite une entité juridique, un numéro D-U-N-S, un site web de société public, un courriel de travail sur le domaine de la société, et une personne ayant l'autorité de lier l'organisation aux accords d'Apple
  • Utilisez un compte pouvant accéder à Apple Developer et App Store Connect pour les certificats, les enregistrements d'applications, les clés API et TestFlight.
  • Fixez votre ID de bundle final tôt. Le changement ultérieur implique généralement de refaire la configuration de l'App Store.
  • Planifiez ces éléments App Store Connect avant la revue d'App : URL de support, URL de politique de confidentialité, note d'âge, captures d'écran, conformité à l'exportation et détails de contact pour la revue d'App
Démarrer l'inscription Apple Developer Continuer l'inscription Apple sur le web Sélectionner le type d'entité Apple Developer correct App Store Connect après l'inscription

La première construction manuelle

La première construction manuelle

Before we can start thinking about building the app with Capgo, we should first set it up, and do a first TestFlight build by hand. There are some advantages to doing a manual build first:

  • Vous allez configurer le certificat de distribution sur votre machine locale.
  • Vous configurerez le certificat de distribution sur votre machine locale
  • Vous pourrez identifier les problèmes liés au processus de construction associé à votre application code.

Avant de commencer, vous devez avoir le certificat de distribution installé sur votre machine locale. Cela est assez complexe, mais je vais l'expliquer ci-dessous.

  1. Ouvrez Xcode

  2. Cliquez sur Xcode -> Settings... Alternativement, vous pouvez utiliser la raccourci Cmd + ,

    Paramètres Xcode

  3. Allez à Accounts Onglet Comptes Xcode

  4. Trouvez le compte Apple qui est ajouté au compte développeur Apple Compte Apple sélectionné Xcode

  5. Trouvez l'équipe que vous utiliserez pour déployer l'application Trouvez l'équipe Xcode

  6. Cliquez sur le bouton Manage Certificates... bouton Gérez les certificats Xcode

  7. Vérifiez que vous pouvez voir le certificat de distribution dans la liste Certificat de distribution Xcode

  8. Si vous ne le voyez pas, vous devez créer un nouveau certificat

    1. Cliquez sur le bouton + button et puis sur Apple Distribution Xcode ajouter le certificat
    2. Le certificat sera créé automatiquement. Vous pouvez le voir dans la liste. Regardez l'étape précédente pour vous assurer que vous le voyez.

Maintenant que vous avez le certificat de distribution installé, vous pouvez commencer le processus de build.

  1. Ouvrir l'application dans Xcode

    Exécuter bunx cap open ios Ouvrir l'application dans Xcode.

  2. Pour ouvrir l'application dans Xcode. archive button

    Dans la barre d'outils Xcode, recherchez et cliquez sur le product -> archive button.

    Barre d'outils Xcode

  3. Attendez que la construction soit terminée

  4. Cliquez sur le Distribute App bouton

    bouton de distribution Xcode

  5. Sélectionnez TestFlight Internal Only comme méthode de distribution et cliquez sur Distribute bouton

    méthode de distribution TestFlight interne Xcode uniquement

  6. Configurez l'enregistrement de l'application

    Remplissez les champs suivants :

    1. Nom : Le nom de votre application - visible dans l'App Store
    2. SKU - le SKU de votre application - il s'agit de l'identifiant de votre application sur l'App Store
    3. La langue principale - la langue principale de votre application

    Ensuite, cliquez sur le next bouton

    Enregistrement Xcode TestFlight configure l'application

  7. Si la création de l'enregistrement de l'application échoue, essayez de fermer la fenêtre et essayez d'archiver l'application à nouveau.

  8. Attendez la fin de l'envoi

  9. Si tout s'est bien passé, vous devriez voir l'écran suivant Xcode TestFlight l'envoi complet

  10. Cliquez sur le Done bouton

Vous pourriez penser instinctivement que tout va bien maintenant et que vous pourrez voir votre application dans TestFlight maintenant, mais il y a encore quelques choses à terminer :

  1. Ajoutez-vous à TestFlight
  2. Complétez la conformité à l'exportation afin que la construction devienne testable
  3. Remplissez les métadonnées App Store Connect obligatoires, telles que votre URL de support, votre politique de confidentialité et votre note d'âge.
  4. Préparez des captures d'écran correspondant aux appareils que vous soutenez réellement
  5. Ajoutez les coordonnées de contact de la revue d'application et tout les crédentiels de test avant la soumission de production

Commencez par le premier :

  1. Allez à la page App Store Connect page page de connexion d'App Store Connect

  2. Se connecter avec votre compte développeur Apple

  3. Sélectionnez l'équipe que vous avez utilisée lors de la création du dossier d'application. Si vous n'avez qu'un seul compte développeur, vous pouvez passer cette étape. Sélection de l'équipe App Store Connect

  4. Cliquez sur le Apps bouton bouton d'applications App Store Connect

  5. Trouvez l'application que vous avez créée dans l'étape précédente et cliquez dessus Sélection d'application App Store Connect

  6. Cliquez sur le TestFlight bouton bouton App Store Connect Testflight

  7. Cliquez sur le Internal Testers plus bouton bouton App Store Connect pour les testeurs internes et plus

  8. Créer un nouveau groupe

    J'aime nommer le groupe « interne ». Vous pouvez le nommer comme vous le souhaitez.

    App Store Connect créer un nouveau groupe

  9. Cliquez sur Invite testers bouton bouton App Store Connect pour inviter les testeurs

  10. Ajoutez-vous au groupe

    Trouvez-vous dans la liste et sélectionnez la case à côté de votre nom. (Vous pouvez avoir besoin de rafraîchir la page pour vous voir) Ensuite, cliquez sur le Add bouton.

    Invitation d'invité de App Store Connect pour les tests

  11. Vérifiez que vous êtes ajouté au groupe

    Vous devriez maintenant vous voir dans le groupe.

    App Store Connect vérifie le testeur

Félicitations ! Vous avez ajouté votre propre compte à TestFlight. Il ne vous reste plus qu'une chose à faire avant de configurer Capgo Native Build.

Vous devez maintenant promettre à Apple que votre application ne utilise aucune cryptage non standard (comme un algorithme personnalisé). Si votre application utilise une cryptage non standard, je vous conseille de lire la documentation d'Apple sur la façon de gérer cela. Il existe deux façons de procéder :

  1. You can do this by hand every time you build your app.
  2. Vous pouvez configurer votre fichier plist pour définir automatiquement cette valeur à false.

Commencez par la première option :

  1. Suivez toutes les étapes de la section précédente pour trouver la section TestFlight dans App Store Connect

  2. Appuyez sur Builds -> iOS App Store Connect construit l'application iOS

  3. Trouvez la build avec des informations de conformité manquantes et appuyez sur Manage App Store Connect gère la build

  4. Sélectionnez l'option qui décrit le mieux votre application

    Pour moi, c'est nonemais cela pourrait être différent pour vous. Ensuite, cliquez sur Enregistrer

    App Store Connect enregistre les informations de conformité

  5. Votre application devrait maintenant dire ready to test

    App Store Connect prête à la mise en ligne

Pour la deuxième étape, voici les étapes :

  1. Ouvrir le Info.plist le fichier

  2. Ajoutez la clé suivante :

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>
  3. Sauvegarder le fichier

L'installation de l'application TestFlight et l'acceptation de l'invitation

Installation de l'application TestFlight et acceptation de l'invitation

Maintenant, vous êtes PRÈS d'être prêt à tester votre application dans TestFlight. Avant, vous devez faire les choses suivantes :

  1. Télécharger l' application TestFlight à partir de l'App Store sur votre appareil iOS/iPadOS
  2. Accepter l'invitation pour tester votre application

Je passerai sous silence les détails sur l'installation de l'application TestFlight sur votre appareil. Si vous n'êtes pas sûr de savoir comment installer une application, Google propose des guides excellents sur la façon de le faire.

Pour accepter l'invitation, vous recevrez un courrier électronique de l'Apple avec un lien pour accepter l'invitation.

  1. Ouvrez le courrier électronique de l'Apple avec le lien pour accepter l'invitation

  2. Cliquez sur View in TestFlight le bouton Bouton d'envoi de l'e-mail de TestFlight

  3. Cliquez sur le Install bouton bouton d'installation de TestFlight

  4. Installez l'application sur votre appareil

    Si vous avez déjà installé l'application à l'aide de Xcode, vous pouvez voir l'écran suivant. Cliquez sur le install button. Attendez que l'application soit installée

  5. bouton et cliquez dessus

  6. Cliquez sur le Open Cliquez sur le bouton et appuyez dessus.

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.

Il existe quelques choses que vous devez configurer dans la mise en œuvre native Capgo pour pouvoir construire et soumettre votre application à TestFlight. Voici une liste des choses que vous transmettrez au Capgo CLI:

ParamètreDescription
--platformLa plateforme à construire pour (ios)
--apple-team-idVotre identifiant de développeur Apple (trouvé dans Portail du développeur Apple)
--apple-keyChemin vers votre fichier de clé API App Store Connect (.p8 fichier)
--apple-key-idL'ID de clé de votre clé API App Store Connect
--apple-issuer-idVotre ID émetteur App Store Connect
--certificateChemin vers votre certificat de distribution (.p12 fichier)
--ios-provisioning-profileMappage de profil de provisionnement (bundleId=path ou simplement chemin pour un profil unique)

Exemple de commande :

Fenêtre de terminal
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'

Commencez par l'ID de l'équipe. Le trouver est relativement facile.

  1. Allez à Compte Apple Developer Compte Apple Developer

  2. Trouvez la Team ID

    Emplacement de l'ID d'équipe dans le compte développeur

l'ID de clé Apple, l'ID de clé Apple et l'ID émetteur Apple

Clé Apple, ID de clé Apple et ID émetteur Apple

Maintenant, passons à la clé Apple.

  1. Allez à Page d'utilisateur et de connexion d'App Store Connect

  2. Sélectionnez l'équipe correcte dans le menu déroulant

    1. Cliquez sur votre nom dans le coin supérieur droit
    2. Cliquez sur l'équipe que vous souhaitez utiliser Sélection de l'équipe de clés Apple Developer
  3. Cliquez sur le bouton Integrations button Intégrations App Store Connect

  4. bouton issuer

    Cliquez sur le copy bouton pour copier l'identifiant de l'éditeur App Store Connect copier l'identifiant de l'éditeur

  5. Cliquez sur le bouton plus bouton d'ajout de clé App Store Connect

  6. Définissez le nom de la clé et définissez l'accès à App manager et cliquez sur le Generate bouton App Store Connect add key name, set access to app manager and generate button

  7. Sauvegardez l'ID de la clé

    App Store Connect copiez l'ID de la clé

  8. Téléchargez la clé

    Clé de téléchargement App Store Connect

    Avertissement de téléchargement de clé App Store Connect

Félicitations 🎉 Vous avez créé la clé Apple, l'ID de clé Apple et l'ID émetteur Apple.

Maintenant, vous êtes prêt à exporter le certificat. Comme vous vous souvenez, l'une des premières étapes de ce guide était la mise en place du certificat de distribution.

Cependant, Apple dans leur sagesse infinie, a décidé que la façon dont vous exportez le certificat est très différente de la façon dont vous les créez 😂 Commençons par configurer cela :

  1. Ouvrez Keychain Access

    1. Cliquez Command + Space pour ouvrir la barre de recherche
    2. Recherchez Keychain Access
    3. Cliquez sur le Keychain Access app
  2. Sélectionnez la login catégorie et cliquez sur le My Certificates bouton Catégorie de connexion Keychain Access

  3. Trouvez votre certificat dans la liste

    Le certificat doit s'appeler Apple Distribution: [Your Name/Company] (your team ID) Recherchez le certificat dans Keychain Access

  4. Right-click on the certificate and select Export L'accès à la clé export de certificat

  5. Enregistrez le certificat sous forme de .p12 fichier

    1. Assurez-vous de choisir un bon nom pour le fichier de certificat
    2. Assurez-vous que le format de fichier est défini sur Personal Information Exchange (.p12)
    3. Cliquez sur le Save bouton

    dialogue de sauvegarde du certificat par Keychain Access

  6. When asked for the password, you can either:

    • Ignorer le mot de passe (recommandé pour la simplicité) : Cliquez OK sans entrer de mot de passe
    • Définir un mot de passe : Si vous préférez protéger votre certificat avec un mot de passe, vous pouvez le définir ici. Mot de passe protégé .p12 Les fichiers sont pleinement pris en charge par le Capgo CLI - il suffit de fournir le mot de passe à l'aide du --p12-password option lors de l'exécution de la commande de configuration.

    dialogue de sauvegarde du mot de passe du certificat par Keychain Access

  7. Lorsque demandé le mot de passe de la "clé de connexion", entrez le mot de passe que vous utilisez pour vous connecter à votre Mac.

    Entrez le mot de passe que vous utilisez pour vous connecter à votre Mac. Cliquez ensuite sur Allow button.

    Félicitations !
Vous avez exporté le certificat.

Félicitations ! Vous avez exporté le certificat.

Maintenant, vous êtes prêt à exporter le profil de provisionnement. Je vous promets, c'est la dernière chose que vous aurez besoin de récupérer auprès d'Apple.

  1. Allez à Profils développeurs Apple

  2. Sélectionnez l'équipe correcte dans le menu déroulant

    1. Cliquez sur votre nom dans le coin supérieur droit
    2. Appuyez sur l'équipe que vous souhaitez utiliser  Sélection de l'équipe Apple Developer
  3. Assurez-vous d'être sur la bonne page Elle devrait ressembler à ceci, si ce n'est pas le cas, appuyez sur profiles dans le menu latéral

    Page des profils Apple Developer

  4. Appuyez sur le + bouton bouton Ajouter un profil Apple Developer

  5. Sélectionnez le type de profil Sélectionnez App Store Connect et appuyez sur le Continue bouton

    Apple Developer sélectionner le type de profil

  6. Sélectionnez l'application que vous souhaitez construire

    Trouvez votre application dans le menu déroulant et cliquez sur le Continue bouton

    Apple Developer sélectionner l'application

  7. Sélectionnez le certificat de distribution correct

    Sélectionnez le certificat que vous avez exporté dans l'étape précédente et cliquez sur le Continue bouton

    Apple Developer sélectionner le certificat de distribution

    Si vous êtes incertain de savoir quel certificat sélectionner, revenez à Keychain Access et trouvez le certificat que vous avez exporté. Regardez ensuite la date d'expiration.

    Apple Developer sélectionner la date d'expiration du certificat de distribution

  8. Nommez le profil

    Donnez un nom au profil et cliquez sur le Generate bouton

    nom de profil Apple Developer

  9. Téléchargez le profil

    Cliquez sur le Download bouton pour télécharger le profil

    - Profil de téléchargement Apple Developer

Félicitations ! Vous avez maintenant tout ce dont vous avez besoin pour configurer Capgo Native Build.

Vous l'avez fait ! Vous avez maintenant tout ce dont vous avez besoin pour configurer Capgo Native Build.

La commande que vous devrez exécuter est :

Fenêtre de terminal
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

Si tout s'est bien passé, vous devriez voir le résultat suivant :

Capgo CLI credentials save output

Si vous avez déjà complété ID d'équipe, Apple key, Apple key ID et Apple ID émetteur, Certificat, et Profil de provisionnementVous avez déjà tout ce qu'il vous faut pour CI/CD. Cette section ne couvre que la façon de passer ces valeurs sous forme de secrets d'actions GitHub et de variables d'environnement.

1) Convertir les fichiers de credenciaux en base64 à une ligne unique

1) Convertissez les fichiers de credenciaux en base64 à une ligne
Fenêtre de terminal
# 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

Dans GitHub > Repository > Settings > Secrets and variables > Actions, ajoutez :

Nom du secretValeur
CAPGO_TOKENVotre jeton Capgo API
APP_STORE_CONNECT_TEAM_IDID d'équipe depuis ID d'équipe
APPLE_KEY_IDID de clé depuis Clé Apple, ID de clé Apple et ID émetteur Apple
APPLE_ISSUER_IDIdentifiant émetteur depuis Clé Apple, ID de clé Apple et ID émetteur Apple
BUILD_CERTIFICATE_BASE64Contenu de certificate_base64.txt
CAPGO_IOS_PROVISIONING_MAPGénéré par CLI — copier depuis .capgo-credentials fichier
APPLE_KEY_CONTENTContenu de apple_key_base64.txt
P12_PASSWORD (facultatif)Votre .p12 mot de passe si défini lors de l'exportation

3) Use env vars in your GitHub Actions workflow

Section titled “3) Use env vars in your 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 }}

Maintenant, vous êtes prêts à lancer votre première build.

Exécutez la commande suivante pour construire votre application :

Fenêtre de terminal
bunx @capgo/cli@latest build request --platform ios

Félicitations 🎉 À ce stade, vous avez réussi à construire votre application et elle est prête à être soumise à la revue de l'App Store.

Soumettre à la revue de l'App Store

Soumission à la revue de l'App Store

La voie de construction normale de l'App Store envoie la construction à App Store Connect/TestFlight. Si votre lancement CI doit également attacher la construction traitée de TestFlight à la version de l'App Store et la soumettre à la revue, passez --submit-to-store-review Avec une mise en production :

Copier dans le presse-papier
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

Cette opération nécessite les clés de connexion App Store Connect API (APPLE_KEY_ID, APPLE_ISSUER_ID, APPLE_KEY_CONTENT, and APP_STORE_CONNECT_TEAM_IDTéléchargements de mot de passe d'application et ad_hoc est la version de l'App Store ; si omis, --store-release-name C'est la version de l'App Store ; si elle est omise, Capgo lit MARKETING_VERSION est le texte What’s New de l'App Store par défaut, et chaque --store-release-notes est le texte What’s New de l'App Store par défaut, et chaque --store-release-notes-locale "locale=notes" l'entrée peut le remplacer pour une localisation de magasin. Utilisez --ios-automatic-release pour libérer automatiquement après l'approbation d'Apple, ou --no-ios-automatic-release pour attendre une mise à jour manuelle. --ios-testflight-groups est toujours disponible pour la distribution bêta externe, mais il n'est pas requis pour la soumission de la revue de l'App Store.

Par défaut, les Capgo construisent des applications iOS pour la distribution de l'App Store (TestFlight + App Store). Si vous avez besoin de builds ad-hoc au lieu (pour des tests internes ou la collecte d'artefacts CI), vous pouvez utiliser le --ios-distribution flag.

  • Vous souhaitez distribuer des IPAs directement aux appareils enregistrés (pas TestFlight)
  • Vous n'avez pas ou ne voulez pas utiliser une clé API App Store Connect
  • Vous souhaitez collecter des artefacts de construction via --output-upload sans soumettre à l'App Store

Les builds ad-hoc ont moins de exigences que les builds de l'App Store :

AuthentificationRequired?
Certificat de distribution (.p12)Oui
Profil de provisionnement ad-hoc (".mobileprovision)Oui
ID d'équipe (--apple-team-id)Oui
Clé App Store Connect API (.p8)No
Clé ID Apple / ID émetteurNon

Suivez les mêmes étapes que Profil de provisionnementProfil de provisionnement Ad Hoc Ad Hoc au lieu de:

  1. App Store Profils Apple Developer
  2. Cliquez sur + Cliquez sur le
  3. Sélectionner Ad Hoc Cliquez sur Continuer
  4. Sélectionnez votre application et votre certificat de distribution
  5. Sélectionnez les appareils que vous souhaitez enregistrer
  6. Nommez et téléchargez le profil

Enregistrement des informations d'identification Ad Hoc

Enregistrement des informations de connexion ad-hoc
Fenêtre de terminal
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'

Non --apple-key, --apple-key-id, ou --apple-issuer-id nécessaire.

Fenêtre de terminal
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc

Pour collecter l'IPA en tant qu'artifact de build, ajoutez --output-upload:

Fenêtre de terminal
bunx @capgo/cli@latest build request \
--platform ios \
--ios-distribution ad_hoc \
--output-upload

Pour les GitHub Actions, vous avez besoin de moins de secrets que les builds de l'App Store :

github/flux de travail/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

Applications avec Extensions (Signature Multi-Cible)

Section intitulée « Applications avec Extensions (Signature Multi-Cible) »

Si votre application comprend des extensions (extensions de partage, widgets, extensions de services de notification, etc.), chaque cible d'extension nécessite son propre profil de provisioning. Capgo prend en charge cela via la flag répétitive. --ios-provisioning-profile flag.

Section intitulée « Exemple : Application + Extension de partage »

Extensions de partage, widgets, extensions de services de notification
Fenêtre de terminal
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"

Chacun --ios-provisioning-profile La balise maps un ID de bundle à son fichier de profil de provisioning. Le CLI:

  1. Lis chaque fichier mobileprovision
  2. Extrait automatiquement le nom de profil à partir du plist intégré
  3. Encode en Base64 le fichier
  4. Stocke tout cela sous forme de fichier unique CAPGO_IOS_PROVISIONING_MAP credential

Si vous avez utilisé précédemment BUILD_PROVISION_PROFILE_BASE64 (exécutez avec un profil unique), exécutez :

Copier dans le presse-papier
bunx @capgo/cli@latest build credentials migrate --platform ios

Après la migration, ajoutez des profils d'extension avec la commande (fusion additive) : CAPGO_IOS_PROVISIONING_MAP formatte et supprime les clés legacy ("BUILD_PROVISION_PROFILE_BASE64, APPLE_PROFILE_NAME).

Après la migration, ajoutez des profils d'extension avec le update commande (fusion additive) :

Copier dans le presse-papier
bunx @capgo/cli@latest build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.share-extension=./share_ext_profile.mobileprovision"

Le profil de provisionnement ne comprend pas la capacité XYZ.

Section intitulée « Le profil de provisionnement ne comprend pas la capacité XYZ. »

Parfois, vous pouvez voir le message d'erreur suivant :

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

Cela se produit car vous avez activé une nouvelle capacité après la création du profil de provisionnement. Le profil de provisionnement ancien ne comprend pas encore la nouvelle capacité.

Pour résoudre ce problème, vous devez régénérer le profil de provisionnement.

  1. Ouvrir Portail du développeur Apple
  2. Sélectionnez l'équipe correcte dans le menu déroulant Sélection de l'équipe des clés du développeur Apple
  3. Cliquez sur le Profiles bouton bouton de profils du développeur Apple
  4. Trouvez le profil de provisionnement que vous souhaitez régénérer Recherche de profil du développeur Apple
  5. Cliquez sur le bouton Edit bouton Modifier le profil Apple Developer
  6. Cliquez sur le bouton Save bouton Enregistrer le profil Apple Developer
  7. Cliquez sur le bouton Download bouton Télécharger le profil Apple Developer
  8. Re-run the Capgo Native Build setup command Cela devrait résoudre le problème.

Cela devrait résoudre le problème.

Si, pour une raison quelconque, vous rencontrez des problèmes avec la construction native de Capgo, la configuration des informations d'identification ou la construction de l'application, n'hésitez pas à nous contacter via notre support.

Si vous utilisez Constructions iOS pour planifier l'automatisation CI/CD, connectez-l’avec Capgo CI/CD pour le flux de travail du produit dans Capgo CI/CD, Capgo Constructions natives pour le flux de travail du produit dans les Capgo Builds natifs, les Capgo Intégrations pour le flux de travail du produit dans Capgo Intégrations, Intégration CI/CD pour les détails d'implémentation dans l'Intégration CI/CD, et les GitHub Actions d'intégration pour les détails d'implémentation dans les GitHub Actions d'intégration.