Je bosse sur un MacBook Air 16 Go. Éditer du Swift, aucun souci ; un ⌘B full build et les ventilateurs partent, SourceKit et le compilateur se battent pour le SSD — impossible d’écrire du code proprement. Un gros MacBook Pro aiderait, mais ce qu’il me faut surtout : que la compilation ne monopolise pas ma seule machine.
La combo qui tient : ultrabook pour éditer et Git, un Mac mini M4 cloud dédié à xcodebuild. Pas Xcode en VNC toute la journée (latence transpacifique pire que local). Le distant = builder toujours allumé.
Build ou indexation ?
swift-frontend / XCBBuildService à fond → build. SourceKitService seul → nettoyer Derived Data d’abord. Déporter = enlever le lourd du portable, pas une baguette magique.
Répartition
- Local : code,
git commit, diffs MR. - M4 cloud : build, test, archive ; certificats là-bas.
- Appareil : sur le bureau → local, sinon builder.
Mise en route
Versions Xcode alignées ; Git seul ; Derived Data distant (doc Apple).
build-remote: git push origin HEAD ssh $(REMOTE) 'cd ~/workspace/$(REPO) && git pull --ff-only && xcodebuild -scheme $(SCHEME) -derivedDataPath ~/Cache/DerivedData build'
VNC : cas ponctuels
p12, Keychain, assistant Archive — puis on coupe. Ne codez pas en VNC.
Équipe : même M4 en runner
Self-hosted — voir note runner.
Erreurs
- rsync Derived Data
Package.resolvedoublié- dev quotidien en VNC
- disque plein → disque long terme
Config
M4 24 Go 512 Go. IP fixe : une IP par machine.
Alternatives
MBP, Xcode Cloud, VM hackintosh. Windows : Mac cloud. APAC : Release / notarisation.
En bref
Pas de « Run local, compile remote » sans VNC. RTT SSH ok pour les logs. Certificats hors laptop perso.