Symptôme → solution rapide : si un build App Store Connect reste en Processing, vérifiez d’abord son état et ses détails dans la section Build Uploads, plutôt que de vous fier uniquement à la liste TestFlight. Si le traitement dépasse 24 heures, Apple indique qu’un problème est possible et recommande de transmettre un signalement via Feedback Assistant ou de contacter l’assistance. La documentation Apple sur les états des téléversements ne présente pas ce seuil comme une durée normale garantie. Réenvoyer le build n’est donc pas la première réponse à adopter.
Cet article s’adresse aux développeurs indépendants qui viennent d’envoyer un build depuis Xcode ou Transporter et ne voient pas le statut évoluer. Les petites équipes qui publient avec TestFlight peuvent également s’en servir pour organiser leurs vérifications et leur escalade. Les personnes qui supervisent une machine de publication à distance y trouveront des repères pour séparer un problème de téléversement local d’un traitement encore en cours dans App Store Connect.
Identifier l’étape qui bloque avant toute nouvelle tentative
App Store Connect expose plusieurs informations qui ne répondent pas à la même question. La section Build Uploads renseigne sur le téléversement et son traitement. La liste des builds de TestFlight sert à retrouver les versions disponibles pour les tests, une fois le traitement effectué. Une absence dans cette liste ne prouve donc pas, à elle seule, que le téléversement a échoué.
Dans App Store Connect, ouvrez l’app concernée, puis sa section TestFlight et la zone Build Uploads. Repérez l’enregistrement correspondant et consultez son statut ainsi que les détails associés. Apple décrit notamment les états Processing, Failed et Complete dans sa référence sur les statuts des téléversements de builds. Utilisez cette information comme point de départ, puis vérifiez séparément si le build traité apparaît dans la liste attendue.
Cette distinction évite trois erreurs fréquentes :
- interpréter l’absence dans TestFlight comme un échec du téléversement ;
- relancer un envoi alors qu’un enregistrement correspondant est déjà en traitement ;
- confondre le traitement du build avec sa distribution aux testeurs ou son examen en vue d’une sortie.
Vérifiez aussi que la ligne consultée concerne la bonne app, la bonne plateforme, la version attendue et le numéro de build envoyé. Un historique contenant plusieurs tentatives peut facilement conduire à examiner une ancienne entrée plutôt que le dernier envoi. Apple explique comment retrouver les builds et leurs métadonnées dans son guide pour afficher les builds et leurs informations.
Le build reste en Processing : contrôler l’enregistrement
À partir de quand un statut Processing mérite-t-il une escalade ? Apple indique qu’un traitement toujours en cours après 24 heures peut révéler un problème. Ce seuil sert à décider quand signaler la situation ; il ne garantit ni un délai habituel de traitement ni une résolution à une heure précise. La recommandation officielle est de transmettre un rapport via Feedback Assistant ou de contacter l’assistance Apple lorsque le statut ne change pas après ce délai. La page consacrée aux états des téléversements précise ce point.
Avant de contacter l’assistance, ouvrez la ligne de téléversement et confirmez les éléments visibles :
- le nom de l’app et la plateforme sélectionnées ;
- la version et le numéro de build correspondant à l’archive envoyée ;
- le statut exact, y compris les informations affichées dans les détails ;
- la présence d’un enregistrement qui correspond bien au dernier téléversement.
Une vérification utile consiste à confronter le numéro de build de l’archive à celui de l’enregistrement App Store Connect. Si plusieurs versions sont en circulation, notez laquelle a été envoyée depuis l’environnement de publication et laquelle est visible dans la console. Ne déduisez pas la cause d’un blocage à partir du seul libellé Processing : l’état indique que le traitement n’est pas terminé, mais ne désigne pas nécessairement l’origine du délai.
Apple distingue l’envoi du build et son traitement ultérieur dans sa procédure de téléversement d’un build. La conséquence pratique est importante : si App Store Connect a créé une entrée et lui attribue Processing, le dossier n’est pas équivalent à un envoi local interrompu. Conservez l’enregistrement existant et évitez de lancer immédiatement une nouvelle tentative sans avoir compris l’état de la précédente.
Un build Processing est-il déjà disponible dans TestFlight ? Pas nécessairement. Apple indique qu’un build téléversé doit être traité avant d’apparaître parmi les builds TestFlight. Une recherche dans la liste des tests ne remplace donc pas la vérification du statut dans Build Uploads. Les informations d’Apple sur les statuts des builds permettent aussi de distinguer l’état du build de celui de la publication ou de la distribution.
Vérifier si le blocage vient de l’envoi local
Un statut affiché dans la console et un journal local ne décrivent pas le même segment du parcours. Dans le premier cas, la plateforme a enregistré un téléversement dont elle traite les éléments. Dans le second, Xcode, Transporter ou l’outil utilisé peut encore signaler que l’envoi n’a pas abouti. Ne classez pas ces deux situations sous le même diagnostic.
Commencez par consulter le résultat affiché par l’outil ayant servi à envoyer l’archive. La documentation Apple sur la distribution d’une app depuis Xcode décrit les étapes de distribution ; reportez-vous aux messages de l’outil pour déterminer si le téléversement s’est achevé ou s’il a échoué avant l’enregistrement côté App Store Connect.
Si un journal a été conservé dans un fichier local, vous pouvez y rechercher les lignes utiles sans supposer qu’un mot isolé donne la cause :
grep -iE 'error|warning|upload|processing' "$LOG_FILE"
Le résultat dépend du contenu du fichier et de l’outil qui l’a produit. Il sert à retrouver des messages pertinents, pas à confirmer par lui-même l’état côté Apple. Notez l’heure de la tentative, le nom de l’outil, le message final et tout identifiant de téléversement disponible. Puis comparez ces éléments avec Build Uploads.
Le diagnostic se divise alors en deux chemins :
- Aucun enregistrement correspondant n’apparaît dans Build Uploads : examinez d’abord le journal local et l’issue de la session d’envoi. Ne concluez pas que le traitement Apple est bloqué si l’envoi n’a pas été confirmé.
- L’enregistrement correspondant existe et affiche Processing : conservez les détails de cette entrée. Si le statut persiste au-delà du seuil indiqué par Apple, préparez une demande d’assistance au lieu de multiplier les envois.
Pour les archives créées sur une machine distante, la même séparation reste utile : l’archive, le journal de la commande d’envoi et l’enregistrement App Store Connect doivent être rapprochés. La machine utilisée pour compiler peut avoir terminé son travail alors que le téléversement n’a pas abouti, ou l’enregistrement peut exister tandis que le traitement reste en cours. Ce sont les traces de chaque étape, et non le seul résultat de la compilation, qui permettent de localiser le blocage.
En cas de Failed, lire les détails avant de corriger
Comment retrouver la raison d’un statut Failed ? Dans Build Uploads, sélectionnez l’entrée concernée et ouvrez les détails associés. Apple y distingue les erreurs, les avertissements et les informations liées au téléversement ; commencez par ces messages, plutôt que de modifier le projet sur la base d’une supposition. La documentation sur l’affichage des builds et des métadonnées décrit l’accès aux détails de l’enregistrement.
Une erreur documentée oriente vers une action ; un avertissement ne signifie pas automatiquement que l’envoi a échoué. Relevez le texte exact, l’élément concerné et le stade auquel le message apparaît. Ensuite, vérifiez si la correction concerne le projet, les réglages de signature, l’archive ou l’opération de téléversement. Évitez de traiter une remarque informative comme une cause établie.
Il faut également distinguer Failed dans les détails du téléversement d’un envoi qui n’a jamais terminé dans Xcode ou Transporter. Dans le premier cas, App Store Connect fournit un enregistrement et des informations à examiner. Dans le second, l’outil local peut indiquer que le processus s’est arrêté avant qu’un build exploitable soit enregistré. La documentation Apple sur les statuts des builds donne le cadre pour interpréter l’état du build ; elle ne permet pas d’attribuer une cause à un cas individuel sans consulter ses messages.
Après correction, vérifiez les réglages modifiés et le numéro du build suivant, puis effectuez un nouvel envoi en gardant la trace de cette tentative. Un build ultérieur doit être identifié séparément de l’entrée ayant échoué : sinon, l’équipe risque de suivre le mauvais enregistrement ou de prendre une nouvelle ligne pour la résolution de l’ancienne.
Build traité, mais invisible dans TestFlight
Que vérifier lorsque le traitement est terminé mais que le build n’apparaît pas dans TestFlight ? Commencez par vous assurer que la liste consultée appartient à la bonne app et à la bonne plateforme. Comparez ensuite la version et le numéro de build avec l’entrée traitée dans App Store Connect. La présence d’anciennes versions ou de plusieurs envois peut rendre la recherche ambiguë.
Un statut de traitement terminé ne signifie pas que toutes les étapes de distribution sont terminées. L’ajout de testeurs, la configuration d’un groupe de test et les autres actions liées à la distribution sont distincts du traitement du build. Apple détaille les étapes pour ajouter des testeurs internes à TestFlight. Consultez le statut propre à l’opération recherchée au lieu de déduire la disponibilité d’une build de son seul état de traitement.
Il ne faut pas non plus confondre un build traité avec une app examinée ou publiée sur l’App Store. Le traitement du build concerne les étapes nécessaires pour rendre la version visible dans l’environnement de distribution approprié ; l’examen et la mise à disposition publique relèvent d’autres étapes du flux App Store Connect. La présentation du flux de travail App Store Connect par Apple aide à situer ces opérations sans les assimiler.
Pour préparer une demande d’assistance, rassemblez les éléments permettant de retrouver précisément le cas : nom de l’app, plateforme, version, numéro de build, date et heure du téléversement, statut actuel et détails d’erreur éventuels. Joignez les messages pertinents du journal local si l’envoi a été effectué depuis Xcode, Transporter ou un autre outil pris en charge. Un dossier précis évite les échanges fondés sur une simple capture de la liste TestFlight, qui ne montre pas nécessairement l’étape où le processus s’est arrêté.
Organiser la vérification et la reprise
Une procédure courte, suivie dans le même ordre par toute l’équipe, limite les téléversements redondants et les erreurs de suivi :
- Ouvrir Build Uploads. Cherchez l’entrée correspondant au dernier envoi, sans commencer par conclure à partir de TestFlight.
- Vérifier l’identité du build. Confirmez app, plateforme, version et numéro de build.
- Lire le statut et ses détails. Pour Failed, relevez les erreurs, avertissements et informations. Pour Processing, notez qu’un traitement est toujours signalé.
- Comparer avec l’outil local. Vérifiez si Xcode ou Transporter a annoncé la fin du téléversement et conservez le journal associé.
- Choisir l’action selon les preuves. Corrigez une erreur décrite avant de renvoyer. Si le build est toujours en traitement et dépasse le seuil Apple, transmettez un rapport ou contactez l’assistance.
- Suivre la nouvelle entrée séparément. Après une correction et un nouvel envoi, contrôlez le nouvel enregistrement ; ne prenez pas l’existence d’un deuxième envoi pour la preuve que le premier est résolu.
| Situation observée | Vérification prioritaire | Action à privilégier |
|---|---|---|
| Aucun enregistrement dans Build Uploads | Résultat final de Xcode ou Transporter et journal local | Résoudre d’abord l’envoi inachevé ou interrompu |
| Build en Processing | Détails de l’entrée, app, plateforme, version et numéro | Suivre le statut ; si plus de 24 heures se sont écoulées, signaler le cas selon les recommandations Apple |
| Build en Failed | Messages d’erreur, d’avertissement et d’information | Corriger le point indiqué, puis suivre séparément le nouvel envoi |
| Build traité mais absent de TestFlight | App, plateforme, version, numéro et étapes de distribution | Vérifier la bonne liste et les étapes TestFlight requises |
La durée de 24 heures dans le tableau correspond au seuil de signalement indiqué par Apple, pas à une promesse de traitement. Pour un build en attente au-delà de ce seuil, suivez la recommandation officielle : transmettre un signalement via Feedback Assistant ou contacter l’assistance. Pour un envoi local non confirmé, commencez par les journaux de l’outil utilisé. Cette distinction évite de présenter une attente serveur comme un problème de compilation ou de renvoyer une archive sans diagnostic.
Choisir un environnement de publication adapté
Si les envois sont effectués depuis un poste partagé, fermé après chaque session ou difficile à retrouver, le suivi des archives et des journaux peut devenir une source supplémentaire d’incertitude. Un Mac local permet de conserver un environnement maîtrisé et convient lorsque l’équipe possède déjà le matériel, en a besoin au quotidien ou doit utiliser des interfaces physiques. En revanche, l’achat, la maintenance et la disponibilité permanente de cette machine sont à prendre en compte.
Pour un besoin temporaire de compilation ou une machine de publication accessible à distance, la location d’un Mac peut éviter l’achat immédiat tout en fournissant un environnement macOS utilisable pour les outils Apple. Elle ne supprime pas le traitement App Store Connect et ne remplace pas la vérification des statuts : elle offre plutôt un poste distant persistant depuis lequel organiser les archives, les journaux et les nouvelles tentatives. Si ce mode de travail correspond au besoin, consultez le guide de démarrage de NUMACS et comparez les offres de location de Mac de NUMACS.
La décision dépend donc du problème réel. Si le build n’a jamais été enregistré, il faut résoudre l’envoi local. Si un enregistrement est en Processing, la console et ses détails priment sur l’absence dans TestFlight ; au-delà du seuil Apple, il faut transmettre un signalement ou contacter l’assistance. Si le traitement est terminé mais que le build reste invisible, vérifiez son identité et les étapes de distribution. Et lorsque le point faible est un environnement de publication difficile à maintenir, un Mac loué par NUMACS peut fournir un poste distant plus simple à garder disponible, sans faire passer une nouvelle tentative pour une solution au traitement côté Apple.
Pour aller plus loin
Numacs Mac dans le cloud
Stabilisez vos builds avec un Mac dédié NUMACS
Exécutez vos builds iOS et macOS sur un véritable Mac physique NUMACS, accessible à distance par bureau graphique et SSH.
