En bref
- Xcode publie des bannières Build Succeeded et Build Failed dans le Centre de notifications macOS, mais macOS ne les envoie jamais sur l’iPhone.
- Pour une solution gratuite dédiée à Xcode, associez un script curl + ntfy aux événements Build succeeds et Build fails dans Xcode → Settings → Behaviors.
- Pour transférer automatiquement les alertes de Xcode, de xcodebuild, de Claude Code et de Cursor sans maintenir de scripts, utilisez NotiFerry.
- Activez Notify using bezel or system notification dans Xcode Behaviors pour que la bannière soit émise même si Xcode reste ouvert.
Pourquoi les alertes de build Xcode restent sur le Mac
Une compilation propre (clean build), une suite de tests UI iOS ou une archive de release + notarisation dans Xcode prend facilement entre 3 et 20 minutes. Par défaut, Xcode publie une bannière Build Succeeded ou Build Failed dans le Centre de notifications de macOS—mais uniquement lorsque Xcode n’est pas l’application au premier plan, et uniquement sur l’écran du Mac.
Pour recevoir ce signal sur votre iPhone pendant que vous prenez un café, deux méthodes fonctionnent très bien : un script dans Xcode Behaviors, ou le transfert automatique du Centre de notifications macOS avec NotiFerry.
Méthode 1 : exécuter un script ntfy dans Xcode Behaviors (gratuit)
Xcode intègre un système de déclencheurs sous Xcode → Settings → Behaviors. Vous pouvez associer un script shell à des événements comme Build succeeds, Build fails, Testing succeeds ou Testing fails :
- Installez l’application gratuite ntfy sur votre iPhone et abonnez-vous à un sujet privé difficile à deviner.
- Enregistrez ce script dans
~/bin/xcode-ntfy.shet rendez-le exécutable avecchmod +x ~/bin/xcode-ntfy.sh:
#!/bin/sh
# ~/bin/xcode-ntfy.sh — rendre exécutable avec : chmod +x ~/bin/xcode-ntfy.sh
curl -s \
-H "Title: Xcode (${XcodeProject:-Projet})" \
-d "Événement de build ou de test terminé sur $(scutil --get ComputerName)" \
https://ntfy.sh/votre-sujet-prive >/dev/null 2>&1 &Dans Xcode → Settings → Behaviors, sélectionnez Builds → Succeeds (puis Fails), cochez Run et choisissez ~/bin/xcode-ntfy.sh. Cette méthode est gratuite et ne couvre que les événements Xcode où vous avez attaché le script.
Méthode 2 : transférer Xcode et vos autres outils Mac avec NotiFerry
Si vous souhaitez recevoir les alertes de Xcode sans maintenir de script par événement—et couvrir en même temps xcodebuild en ligne de commande, Claude Code, Cursor et Codex—transférez directement les bannières du Centre de notifications macOS avec NotiFerry.
Pour les builds lancés dans le terminal avec xcodebuild ou Fastlane, ajoutez simplement osascript en fin de commande afin que macOS enregistre la bannière :
xcodebuild -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 16' test \
&& osascript -e 'display notification "Tests réussis" with title "xcodebuild"' \
|| osascript -e 'display notification "Échec des tests" with title "xcodebuild"'Astuce : si vous quittez votre bureau en laissant Xcode au premier plan, Xcode peut considérer que vous regardez l’écran et omettre la bannière système. Dans Xcode → Settings → Behaviors, cochez Notify using bezel or system notification sur Build succeeds et Build fails, ou passez sur une autre application avant de vous éloigner.
Comparatif : Xcode Behaviors vs NotiFerry
| Critère | Script Xcode Behaviors + ntfy | NotiFerry + ntfy |
|---|---|---|
| Configuration | Créer un script shell et l’associer à chaque Behavior | Autoriser une fois le dossier du Centre de notifications |
| Couvre les autres apps Mac | Non (Xcode uniquement) | Oui (Cursor, Claude Code, Codex, Finder, etc.) |
| Filtres de confidentialité | Gérés manuellement dans votre script | Titre uniquement, Générique ou Complet dans la barre des menus |
| Coût | Gratuit | Essai 7 jours, puis achat unique (9,99 €) |
Voir comment NotiFerry fonctionne sur votre Mac
Autorisez en lecture seule le dossier du Centre de notifications (sans Accès complet au disque), abonnez-vous à votre sujet privé dans l’application gratuite ntfy sur iPhone et confirmez la réception d’un test réel pour démarrer l’essai de 7 jours.
brew install --cask n2ctech/tap/notiferry
Questions
Pourquoi Xcode n’affiche-t-il pas de notification macOS quand sa fenêtre est active ?
Par défaut, macOS et Xcode n’affichent une bannière système que lorsque Xcode est en arrière-plan. Activez Notify using bezel or system notification dans Xcode → Settings → Behaviors ou passez sur une autre fenêtre avant de quitter le bureau.
Cela fonctionne-t-il avec Xcode Cloud ?
Si Xcode est ouvert sur votre Mac éveillé et affiche des notifications de statut Xcode Cloud, NotiFerry peut les transférer. Pour des builds purement distants lorsque votre Mac est éteint, configurez plutôt un webhook Xcode Cloud.
Puis-je recevoir les fins de build sur mon Apple Watch ?
Oui. Dès que l’alerte ntfy arrive sur votre iPhone verrouillé, watchOS la relaie automatiquement sur votre Apple Watch.