Le secret que les devs iOS ne veulent pas partager


Vous pensez que Xcode est incontournable pour développer en Swift ? Détrompez-vous. Il existe une alternative qui change la donne : Cursor.
Basé sur VSCode, Cursor est un éditeur de code intelligent qui surpasse Xcode sur de nombreux points : plus rapide, plus fluide et surtout boosté à l’IA. En le combinant avec Xcode, vous obtenez un environnement de développement Swift optimal, et bien plus performant.
Ce guide vous explique comment configurer Cursor pour vous affranchir en grande partie de Xcode. Une fois adopté, vous aurez du mal à faire marche arrière 😉
Pourquoi combiner Cursor et Xcode ?
Xcode est l’outil officiel d’Apple, mais il traîne des défauts bien connus : lourdeur, manque de personnalisation et performances parfois frustrantes. Cursor propose une alternative moderne et intelligente, tout en restant parfaitement compatible avec l’écosystème Apple grâce à ses nombreuses extensions.
Voici pourquoi de plus en plus de développeurs Swift l’adoptent :
Un éditeur léger et modulable basé sur VSCode, loin de la rigidité de Xcode.
Une assistance IA intégrée pour coder plus vite et avec moins d’erreurs.
Des performances supérieures, notamment sur les projets volumineux.
Un écosystème d’extensions puissant, conçu pour améliorer votre productivité en Swift.
En combinant Cursor avec Xcode, vous obtenez le meilleur des deux mondes : la puissance du compilateur Apple, sans les contraintes de son éditeur.
Configuration étape par étape
1. 💾 Installation de Cursor
Commencez par installer Cursor depuis le site officiel
Préférences > Cursor Settings
pour protéger vos données de code.Cette étape est cruciale pour les développeurs travaillant sur des projets sensibles ou propriétaires.
2. 💾 Installation de xcodebuild
En utilisant Cursor, vous ne pourrez plus compter sur Xcode pour compiler directement vos projets. Mais pas de panique : xcodebuild, l’outil en ligne de commande intégré à Xcode, prend le relais. Il vous permettra de compiler, tester et générer vos builds sans passer par l’interface graphique d’Xcode
xcode-select --install
3. 💾 Installation de xcode-build-server
Le serveur de compilation Xcode joue un rôle clé dans l’activation de fonctionnalités avancées permettant d’améliorer la navigation dans le code telles que l’indexation du code ou le "saut vers la référence" (jump to reference). Il agit comme un pont entre Cursor et l’infrastructure de compilation d’Xcode, permettant à Cursor d’accéder aux métadonnées du projet.
brew install xcode-build-server
⚙ Configuration de xcode-build-server
Ouvrez le terminal dans Cursor avec Cmd + Maj + P
puis exécutez la commande suivante :
> Build server config
En suivant les instructions, vous générerez un fichier de configuration buildServer.json
à la racine de votre app. N’hésitez pas à y jeter un coup d’œil pour vérifier les paramètres du build, comprendre comment Cursor communique avec Xcode et ajuster la configuration si nécessaire.
4. 💾 Installation des extensions essentielles
Pour finaliser la transformation de Cursor en un véritable environnement de développement Swift, voici quelques extensions indispensables qui doivent être ajoutées directement depuis Cursor.
Extension Swift
Cette extension permet la reconnaissance du langage Swift, l'autocomplétion et la coloration syntaxique.
Extension SweetPad
Cette extension transforme Cursor en un environnement de développement complet avec compilation intégrée, débogueur et gestion de projets Xcode
Extension SwiftFormat
Cette extension active le formatage automatique du code Swift selon les règles de style définies.
Extension CodeLLDB
Cette extension permet de déboguer votre app en utilisant les commandes habituelles (po, e, etc..) son utilisation est décrite plus bas
Extension ErrorLens
Cette extension met en évidence les erreurs et avertissements directement dans l’éditeur, tout comme le fait Live Issues dans Xcode
Extension de thème Xcode
Cette extension reproduit l'apparence familière de Xcode dans Cursor pour une transition en douceur.
Extension xcbeautify
Cette librairie qui n’est pas une extension de Cursor à proprement parler, formate les sorties verbeuses de xcodebuild en un format clair et coloré, rendant le débogage beaucoup plus simple.
brew install xcbeautify
🏃♂️ Compiler votre projet
Pour lancer votre application sur un simulateur ou un appareil physique :
Utilisez le raccourci
Cmd + Maj + P
dans CursorTapez la commande build & run dans le terminal contextuel
> build & run
Sélectionnez ensuite la cible (target) lorsque demandée et votre app compilera naturellement !
Astuces avancées et bonnes pratiques
🎯 Sélection de target, d'environnement, d’appareil physique ou de simulateur
Pour modifier la cible (target) ou l'environnement de build :
Ouvrez la palette de commandes avec
Cmd + Maj + P
Tapez "
set scheme
" pour changer de schemeTapez "
select build configuration
" pour basculer entre Debug/ReleaseTapez "
select destination
" pour choisir un appareil spécifique
🧹 Optimisations de performance
Indexation intelligente
Ajoutez les dossiers volumineux comme Pods ou Carthage à .
cursorignore
Cela accélère considérablement l'indexation et les recherches
Gestion de la mémoire
Fermez les fichiers non utilisés via
Cmd + W
Pensez à supprimer vos Derived Datas périodiquement, notamment en cas de problème que vous n’arrivez pas à résoudre
🐞 Débogage
Pour debugguer votre app, vous utiliserez l’extension CodeLLDB dans Cursor, elle vous permettra d’utiliser les commandes classiques de LLDB et les breakpoints
Ajoutez l'extension CodeLLDB dans Cursor (voir plus haut)
Lancez
cmd + maj + P
Debug select and start debugging
pour lancer le débogueurUtilisez
po
pour inspecter les objets pendant le débogage
🧠 Intelligence Artificielle
Pour obtenir l’aide de l’IA sur une ligne spécifique :
Placez le curseur sur la ligne concernée
Utilisez
Cmd + K
pour ouvrir le compositeur IA
Pour obtenir l'aide de l’IA globalement sur votre projet :
- Utilisez
Cmd + Maj + K
pour ouvrir le compositeur IA en mode Agent
Pensez également à renseigner des cursorRules pour l’IA dans vos settings Xcode. Plusieurs modèles sont déjà disponibles sur internet, n’hésitez pas à vous en inspirer
Inconvénients connus
❌ Gestion des XCAssets
Cursor ne gère pas correctement les XCAssets, rendant l’édition des fichiers Contents.json fastidieuse.
Solution: Gardez Xcode ouvert et basculez avec CMD + Tab
lorsque vous devez modifier des assets.
❌ Preview SwiftUI
Les previews SwiftUI ne sont pas disponibles dans Cursor. Il est nécessaire de conserver Xcode ouvert en parallèle pour bénéficier des previews en temps réel.
❌ Interface Builder
Cursor ne propose pas à ce jour d’extension permettant d'utiliser l'Interface Builder pour les fichiers XIB/Storyboard. Si vous pouvez toujours utiliser Xcode pour le faire, c’est peut-être également le bon moment pour passer à autre chose en privilégiant à snapKit ou swiftUI. Vos reviewers n’en seront que plus heureux !
❌ Analyse avancée
Cursor ne propose pas d'Instruments ou d'autres outils d'analyse de performance (CPU, mémoire, réseau) tels que Xcode, il vous faudra donc basculer sur Xcode pour ces phases d’analyses de performances / débogage
❌ Documentation Apple
Cursor ne permet pas d’ouvrir rapidement la documentation Apple via des hyperliens comme Xcode, vous aurez néanmoins accès à la codeBase Apple elle-même documentée.
❌ SPM & configuration
Cursor ne permet pas facilement d’ajouter des packages spm, de même l’interface de configuration des targets de Xcode est manquante. À moins que vous n’ayez le courage de faire vos modifications et ajouts en textuel dans le pbxproj, utiliser Xcode pour cette étape semble plus raisonnable à l’heure actuelle
Conclusion
Avec ce guide, vous avez désormais entre les mains un environnement Swift optimisé, alliant la puissance du compilateur Xcode et la flexibilité de Cursor. Cette combinaison vous permet de gagner en fluidité, en rapidité et en confort, sans renoncer aux outils d’Apple.
Vous l’aurez compris, Cursor ne remplace pas encore Xcode sur tous les aspects du développement, mais il le transforme en un véritable espace de travail moderne et performant dont les avantages surpassent les inconvénients. Une fois adopté, il sera difficile de revenir en arrière.
Si vous souhaitez approfondir, voici une sélection d’articles de qualité sur ce sujet :
https://levelup.gitconnected.com/working-on-an-xcode-project-with-cursor-vscode-56c20fce94ac
https://kazaimazai.com/cursor-for-ios-development-installation-guide/
https://kazaimazai.com/personal-experience-of-using-cursor-for-ios-development/
https://medium.com/@ahmedsulaiman/debugging-swift-code-with-lldb-b30c5cf2fd49
https://dimillian.medium.com/how-to-use-cursor-for-ios-development-54b912c23941
Subscribe to my newsletter
Read articles from Pierre César directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
