← Retour au journal

Xcode fait chauffer votre portable ? Envoyez les builds sur un Mac mini M4 cloud

Portable léger pour éditer, Mac mini M4 en datacenter pour compiler
Mon quotidien : machine fine devant moi, compilation sur Mac mini en rack.

Mon poste du quotidien, c’est un portable léger : Swift, Storyboards, Slack, pas de souci. Mais dès que j’appuie sur Run — ou qu’un gros PR déclenche un rebuild complet — le spectacle recommence : ventilo à fond, trackpad chaud, swift-frontend qui monopolise le CPU, l’autocomplétion en diaporama. Derived Data, redémarrage d’Xcode, prière pour Indexing… Vous l’avez fait. Ce qui m’a aidé : ne pas tout faire sur cette machine ; envoyer xcodebuild, l’indexation longue et les Archives sur un Mac branché en permanence.

Aujourd’hui : portable léger en local + Mac mini M4 dédié dans le cloud. Le portable code et réunit ; le Mac en rack compile, simule, signe. En équipe Windows-first, voir Xcode depuis Windows. MacBook Pro ? TCO achat vs location ; pour la CI, runners macOS self-hosted. Ci-dessous : mon vrai workflow, pas une slide achat.

1) Xcode rame surtout parce que la machine digère trop

SourceKit sur tout le dépôt, Indexing sur le disque, le linker en Clean Build, le simulateur sur la RAM — cumulé. Les ultrabooks brident pour l’autonomie. Le guide efficacité de build m’a fait gagner quelques minutes, pas une après-midi de Cleans répétés.

En déplacement, je ne veux pas un portable qui Archive sur le Wi‑Fi d’hôtel. Depuis que je compile sur un Mac mini M4 en datacenter, le portable redevient un terminal — différence plus nette qu’un changement de CPU.

Ma règle : les mains en local, les muscles dans le cloud.

2) Répartition : coder ici, builder là-bas

  • Local : Git, Cursor/VS Code, maquettes. Build via SSH, ventilo au calme.
  • Mac mini M4 cloud : Xcode complet, Derived Data fixe, xcodebuild archive. Le dédié compte — pas un Mac partagé où un collègue remplit le disque.
  • CI (option) : runner macOS self-hosted, push, café, PR verte ou rouge.

Je choisis la région selon Git, pas ma fibre. Les VM macOS partagées m’ont fait perdre du temps sur signature et perf — cf. VM vs Mac mini nu.

3) Trois modes — je commencerais par B

ModeLocalCloud M4Pour qui
A Xcode 100 % distantSSH/VNCGUI, sim, buildsPortable non-Mac
B Hybride (mon défaut)Édition, pushxcodebuildComplétion locale, pas de ventilo
C CI seulementXcode local au quotidienRunner 24/7Beaucoup de PR

En solo, B : SwiftUI le jour, push le soir, Archive TestFlight sur le cloud. Cursor ? Remote-SSH vers l’hôte cloud.

4) Ajouter un Mac cloud ?

SignalOptimiser le portableMac mini M4 cloud
Clean >5 min, plusieurs fois/jourgain limitédéplacer les builds
Ventilo gêne les callspansementcompile ailleurs
Nouveau Xcode, macOS trop vieuxremplacerimage cloud à jour
Sim UI 2 h+/jourMac local utileVNC ou partage des rôles
Hors ligne avionbuild local requiscloud ne remplace pas

Je chronomètre un Archive sur le vrai dépôt — plus honnête qu’un article bench.

5) Mise en place

  1. Région proche GitHub/GitLab et artefacts.
  2. Xcode en SSH, bonne version ; notes de version.
  3. export DERIVED_DATA_PATH=~/DerivedData dans ~/.zshrc.
  4. git pull, Fastlane Match, VNC si confiance appareil.
  5. ssh build@cloud-mac 'cd ~/app && xcodebuild -scheme App -destination generic/platform=iOS build'

Peu importe le « gigabit maison » : SSH stable et upload IPA propre. Premier build plein = cache Derived Data chaud.

6) Pièges déjà vus

Deux Derived Data (local + cloud) = Xcode « fantôme ». UI au pixel près → Sim cloud en VNC ; tests → appareil local, IPA cloud. SWIFT_EXEC_JOBS un peu plus haut sur M4 si la RAM suit. Ne pas mélanger VNC et jobs CI — capacité runner.

7) Louer une 2ᵉ machine de build

Semaine pour une release, mois pour la CI. Tarifs, TCO. Bureau virtuel complet : location Mac cloud.

8) Questions des collègues

Plus lent ? Les clics oui ; builds >10 min souvent plus rapides sur M4 cloud. Hybride gagne.

Windows seulement ? Oui — article.

vs VPS Mac ? Signature App Store + CI stable → Apple Silicon dédié.

Sécurité ? Comme un Mac mini au bureau : clés SSH, pas de p12 dans Git.

Premier Archive ? Une après-midi si habitué ; centre d’aide.

Vieux Mac ? Si pas de full build local, gardez-le ; louez le cloud pour compiler.

Ce que j’utilise en prod (pour comparaison)

Ma machine de build : Mac mini M4 dédié chez Nuvcloud (SSH/VNC, facturation jour/semaine/mois), pas une VM macOS partagée.

Testez une journée sur votre dépôt réel — tarifs & régions · démarrer

LIMITED Tarifs