Aller au contenu
WebViewGold Du vibe coding à l'App Store
Français
Obtenir WebViewGold

ChatGPT & Codex

Erreurs de build et de signature Xcode dans un projet WebViewGold : ce que Codex peut corriger et ce que vous seul pouvez faire

La plupart des échecs de build iOS dans un projet WebViewGold ne sont pas des problèmes de code. Ce sont des problèmes de signature, de bundle ID et d'ouverture du projet, avec une poignée de messages bien connus. Codex excelle à lire le log et à modifier les fichiers du projet de manière cohérente ; le compte Apple, les certificats et le trousseau restent entre vos mains. Voici le tableau des erreurs de notre support et un prompt qui garde Codex du bon côté.

Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.

  • Garantie d'approbation – ou remboursement sous 14 jours
  • Aucun codage requis
  • Paiement unique, mises à jour gratuites
  • Support humain 24/7
  • Conçu en Allemagne depuis 2014 · ISO 27001

Cinq faits sur le projet Xcode WebViewGold

La plupart des impasses dans Xcode viennent du fait qu'on traite le projet comme un modèle Xcode tout neuf. Ce n'en est pas un, et cinq faits issus de la documentation d'installation iOS et de notre support expliquent la plupart des erreurs :

  • Ouvrez le workspace. Le projet utilise CocoaPods. Ouvrez toujours WebViewGold.xcworkspace, jamais le .xcodeproj seul, sinon les pods (OneSignal, AdMob et d'autres) manquent.
  • Il y a plus d'une target. À côté de la target d'app WebViewGold se trouvent des targets d'extension comme OneSignalNotificationServiceExtension (et un App Clip ou d'autres s'ils sont présents). Chacune a besoin d'une équipe, et chaque bundle ID doit commencer par celui de l'app : com.yourbrand.app.OneSignalNotificationServiceExtension.
  • Les versions doivent concorder. Toutes les targets portent la même version et le même numéro de build.
  • Le nom vit à deux endroits. Le Product Name dans les Build Settings ne doit pas contenir de lettres accentuées ; le nom affiché sur l'écran d'accueil, avec ses accents, va dans Bundle Display Name dans Info.plist. Ne renommez pas le projet lui-même (« WebViewGold ») ; la documentation de publication avertit que cela pose problème.
  • Une clé de Info.plist doit rester. Supprimez les textes d'autorisation dont vous n'avez pas besoin, mais gardez Privacy - Tracking Usage Description ; la documentation précise que l'app plante sans elle.

Et un fait côté Apple : depuis le 28 avril 2026, App Store Connect n'accepte que les builds créés avec Xcode 26 ou plus récent. Utilisez la version actuelle non bêta de Xcode depuis le Mac App Store et une version récente de WebViewGold.

Les erreurs que nous voyons le plus, et leurs corrections

Message ou symptômeCauseCorrectionQui
« No such module … » ou « framework not found Pods_WebViewGold »Le .xcodeproj a été ouvert au lieu du workspace, ou l'outil de décompression a abîmé les podsOuvrez WebViewGold.xcworkspace. Toujours en échec : téléchargez de nouveau le zip, décompressez-le avec un autre outil, gardez les noms de dossiers ; lancez pod install dans le dossier du projet si nécessaireCodex peut le lancer
« Pods-WebViewGold-frameworks.sh: Permission denied » avec « Command PhaseScriptExecution failed with a nonzero exit code »Le script a perdu son attribut exécutable lors de la décompressionchmod +x sur le script indiqué dans le log, puis Product → Clean Build FolderCodex
« … cannot be opened because the developer cannot be verified »Gatekeeper de macOS bloque le script téléchargéFermez Xcode, faites un Contrôle-clic sur le fichier dans le Finder (Pods/Target Support Files), choisissez Ouvrir, puis rouvrez le workspaceVous
« Signing for OneSignalNotificationServiceExtension requires a development team »L'équipe n'est définie que sur la target de l'appSélectionnez la même équipe dans Signing & Capabilities pour chaque targetVous, ou Codex avec votre Team ID
« Failed to register bundle identifier » / « … is not available »Le bundle ID du modèle, ou un ID déjà enregistré par un autre développeurChoisissez votre propre ID en notation DNS inversée et modifiez-le dans chaque targetCodex
« The embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier »L'ID de l'extension a encore l'ancien préfixeL'ID de votre app plus .OneSignalNotificationServiceExtensionCodex
ITMS-90685 « CFBundleIdentifier Collision »Une extension utilise le même ID que l'appDonnez à chaque extension son propre suffixeCodex
ITMS-90473 « CFBundleVersion Mismatch »Le numéro de build de l'extension diffère de celui de l'appMême version et même numéro de build dans toutes les targetsCodex
« Provisioning profile doesn't support the Push Notifications capability »L'App ID n'a pas la capabilityActivez Push Notifications et App Groups pour l'App ID dans le portail Apple Developer, supprimez puis rajoutez la capability dans Xcode, redémarrez XcodeVous
« Failed to create provisioning profile » / « No profiles for … were found »Mauvais identifiant Apple ou mauvaise équipe dans Xcode, ou un simulateur sélectionné comme destinationVérifiez Xcode Settings → Accounts ; archivez avec « Any iOS Device (arm64) »Vous
« errSecInternalComponent » / « Command CodeSign failed with a nonzero exit code »Trousseau verrouillé ou certificat manquantDéverrouillez le trousseau de session ; si aucun certificat Apple Distribution n'apparaît, créez-en un sous Settings → Accounts → Manage CertificatesVous
ITMS-90717 « Invalid App Store Icon » (transparence ou canal alpha)L'icône de 1024 px a un canal alphaExportez-la aplatie, sans alpha, et remplacez-la dans le set AppIconCodex peut le vérifier
ITMS-90725 « SDK version issue »Compilé avec un Xcode et un SDK trop anciensMettez Xcode à jour et recompilezVous
L'app plante dès le lancement après des modifications de Info.plistPrivacy - Tracking Usage Description a été suppriméeRétablissez la clé avec un texte court et véridique sur son usageCodex

Là où Codex aide, et là où il vous passe la main

Il lit le log

Donnez-lui la sortie complète de xcodebuild, pas une capture d'écran. Codex trouve la première vraie erreur sous des centaines d'avertissements et l'explique en termes simples, ce qui représente la moitié de chaque correction.

Il modifie les fichiers texte du projet de manière cohérente

Les bundle IDs et les numéros de version se trouvent dans project.pbxproj, les textes d'autorisation dans Info.plist, vos réglages dans Config.swift. Codex modifie chaque target dans un seul diff, au lieu de la seule dont vous vous êtes souvenu.

Il exécute des commandes, avec votre approbation

Avec la CLI Codex ou l'extension IDE sur votre Mac, il peut lancer xcodebuild, pod install, plutil et sips. Les commandes qui sortent de son sandbox (un build Xcode écrit dans DerivedData et peut contacter Apple) nécessitent votre approbation, ou bien vous les lancez vous-même et lui transmettez le log.

Jamais votre compte Apple

Les certificats, App IDs, capabilities et profils se trouvent dans votre compte Apple Developer, et le trousseau exige le mot de passe de votre Mac. Ne collez ni l'un ni l'autre dans un agent. Codex rédige le parcours clic par clic ; c'est vous qui cliquez.

Les tâches cloud n'ont pas Xcode

Une tâche cloud Codex peut modifier les fichiers du projet dans un dépôt et ouvrir une pull request, mais elle ne peut ni compiler, ni signer, ni archiver une app iOS. Les builds se font sur un Mac ou dans le Cloud Builder.

WebViewGold nous a permis d'avoir le temps de mise sur le marché le plus court et le plus efficace jamais possible parmi toutes les autres plates-formes d'application que nous avons essayées au cours des 5 dernières années. Je ne sais pas pourquoi je ne vous ai pas découvert plus tôt, mais je suis vraiment, vraiment content de l'avoir fait. Nous approchons actuellement les 6000 téléchargements d'application sur l'App Store iOS et Google Play Store sans aucun problème!

Antonio Davila · CodeCanyon

Transmettez à Codex un log complet

Exécutez ces commandes dans le Terminal, dans le dossier qui contient WebViewGold.xcworkspace, ou laissez Codex les exécuter. La commande d'archive fait la même chose que Product → Archive et enregistre tout dans build.log.

bash
# 1. Schemes and targets (use the scheme name it prints below)
xcodebuild -list -workspace WebViewGold.xcworkspace

# 2. Archive from the command line and keep the complete log
xcodebuild -workspace WebViewGold.xcworkspace -scheme WebViewGold \
  -configuration Release -destination "generic/platform=iOS" \
  -archivePath build/WebViewGold.xcarchive archive 2>&1 | tee build.log

# 3. The errors only, with line numbers
grep -n "error:" build.log | head -40

# 4. Bundle IDs and versions of every target (one prefix, one version)
grep -n "PRODUCT_BUNDLE_IDENTIFIER\|MARKETING_VERSION\|CURRENT_PROJECT_VERSION" *.xcodeproj/project.pbxproj

# 5. Signing identities in your keychain
security find-identity -v -p codesigning

# 6. Does the icon have an alpha channel? (path from your AppIcon set)
sips -g pixelWidth -g pixelHeight -g hasAlpha path/to/AppIcon-1024.png

Le prompt de triage Xcode

Remplissez les crochets. Le bloc de règles est la partie importante : il liste ce à quoi un agent ne doit jamais toucher dans ce projet.

À coller dans la CLI Codex ou l'extension IDE, ouverte dans le dossier du projet Xcode
Je compile l'app iOS à partir du projet Xcode WebViewGold de ce dossier, et l'archive échoue. Lisez build.log (la sortie complète de xcodebuild) et aidez-moi à corriger le problème.

Faits sur le projet :
- Compilez toujours WebViewGold.xcworkspace (CocoaPods), jamais le .xcodeproj seul.
- Targets : WebViewGold plus des targets d'extension comme OneSignalNotificationServiceExtension (et d'autres si elles sont présentes). Le bundle ID de chaque extension est le bundle ID principal plus un suffixe, p. ex. com.yourbrand.app.OneSignalNotificationServiceExtension.
- Toutes les targets utilisent la même version, le même numéro de build et la même équipe de développement.
- Mon bundle ID : [com.yourbrand.app]. Mon Team ID : [ABCDE12345]. Version [1.0], build [1].

Règles :
- Ne renommez pas le projet Xcode, ne lancez pas pod update, ne mettez pas à jour et ne supprimez pas de SDK (AdMob, OneSignal, autres), ne supprimez pas la clé NSUserTrackingUsageDescription, ne modifiez pas le deployment target.
- Avant de modifier project.pbxproj, montrez-moi les lignes exactes que vous allez changer. Ne modifiez que les bundle identifiers, les numéros de version et les réglages d'équipe.
- Je ne partagerai aucun mot de passe. Pour tout ce qui nécessite mon compte Apple, le portail Apple Developer ou le trousseau, donnez-moi plutôt les étapes clic par clic.

Répondez avec :
1. La première vraie erreur du log, citée telle quelle (ignorez les avertissements et les erreurs qui en découlent).
2. Sa cause dans ce projet, en une ou deux phrases.
3. La correction : les modifications que vous avez faites, ou les étapes à suivre pour moi.
4. La commande qui permet de vérifier.

Corrigez dans cet ordre

Chaque étape élimine toute une catégorie d'erreurs ; sauter des étapes rend les messages suivants trompeurs.

  1. Repartez de zéro

    Une décompression neuve de la version actuelle de WebViewGold avec les noms de dossiers intacts, la version actuelle de Xcode, le workspace ouvert. Reportez vos valeurs de Config.swift au lieu de soigner un vieux projet à moitié réparé.

  2. Bundle IDs

    Votre ID sur la target de l'app, le même préfixe plus un suffixe sur chaque extension. Fixez-le une fois pour toutes : choisissez le bundle ID une seule fois.

  3. Équipe et signature

    La même équipe sur toutes les targets, « Automatically manage signing » activé, connecté avec l'identifiant Apple rattaché à votre adhésion au programme développeur.

  4. Capabilities de l'App ID

    Dans le portail Apple Developer, activez Push Notifications et App Groups pour votre App ID (la documentation de publication demande les deux), puis redémarrez Xcode pour qu'il récupère les nouveaux profils.

  5. Versions

    Version et numéro de build identiques dans toutes les targets, et un numéro de build supérieur à celui de tout build envoyé auparavant.

  6. Archive

    Destination « Any iOS Device (arm64) », puis Product → Archive. Si Archive est grisé, c'est qu'un simulateur est sélectionné.

  7. Envoyez et lisez l'e-mail

    Distribuez depuis l'Organizer. Les erreurs de traitement d'App Store Connect arrivent par e-mail avec un numéro ITMS ; collez cet e-mail dans Codex exactement comme un log de build.

  8. Testez le vrai build

    Installez depuis TestFlight, pas seulement depuis Xcode : les builds de release utilisent la signature de distribution et le push de production. Voir TestFlight pour les apps créées en vibe coding.

Ce que Codex ne doit pas faire dans ce projet

  • Lancer pod update ou mettre à jour des SDK. Cela remplace les versions testées de OneSignal, AdMob et d'autres par des versions non testées ; pod install suffit.
  • Supprimer le SDK AdMob parce que vous n'affichez pas de publicités. La documentation avertit que cela produit de nombreuses erreurs de dépendances ; répondez plutôt à la question sur l'Ad ID dans App Store Connect comme le décrit la documentation de publication.
  • Renommer le projet Xcode, déplacer des dossiers ou relever le deployment target pour faire taire un avertissement.
  • Supprimer la description d'usage du tracking de Info.plist.
  • Modifier project.pbxproj sans commit ni sauvegarde préalable. Demandez les lignes exactes avant la modification.
  • Recevoir le mot de passe de votre identifiant Apple, un mot de passe pour app ou le mot de passe de votre Mac. Aucune étape de build n'exige que l'agent les connaisse.

Questions fréquentes

Codex dans le cloud peut-il compiler mon app iOS ?

Non. Les tâches cloud peuvent modifier les fichiers du projet Xcode dans un dépôt, mais compiler et signer une app iOS nécessite Xcode sous macOS. Utilisez la CLI Codex ou l'extension IDE sur un Mac, un Mac loué, ou le Cloud Builder.

Faut-il donner mon identifiant Apple à Codex pour qu'il corrige la signature ?

Non, et il n'en a pas besoin. Votre Team ID (l'identifiant de 10 caractères affiché dans le portail Apple Developer) suffit pour les réglages du projet ; tout ce qui nécessite le compte lui-même se résume à quelques clics que vous faites dans Xcode ou dans le portail.

Apple m'a envoyé un e-mail au sujet d'un entitlement de notifications push manquant. Est-ce un refus ?

Non, c'est un avertissement indiquant que le push n'est pas configuré. Si vous n'utilisez pas le push, poursuivez la soumission. Si vous l'utilisez, ajoutez la capability Push Notifications dans Xcode et sur l'App ID dans le portail Apple Developer.

Pourquoi Product → Archive est-il grisé ?

Un simulateur est sélectionné comme destination d'exécution. Choisissez Any iOS Device (arm64) dans la barre d'outils et réessayez.

Dois-je corriger tous les avertissements jaunes ?

Non. Les avertissements des pods tiers sont normaux dans les projets WebViewGold. Corrigez les erreurs, ainsi que les avertissements que mentionne App Store Connect dans son e-mail de traitement.

Trois façons de mettre votre app dans les stores

Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.

Faites-le vous-même

$109 par plateforme, paiement unique

La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.

Voir les offres sur la page principale

Full Service

$698 par plateforme $798

Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.

Détails du Full Service Propulsé par WeSetupYourWebViewApp

Prix Soldes d'hiver valables jusqu'au 31 décembre 2026.

Prêt à publier votre app ?

Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours

Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.

Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.