For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale
Theme
Codex

Codex use case

Développer pour macOS

Utilisez Codex pour créer la structure d’une application Mac native en SwiftUI, la compiler et la déboguer.

Difficulty Advanced
Time horizon 1h

Utilisez Codex pour développer une application macOS en SwiftUI et mettre en place un script shell qui la compile et la lance. À mesure que l’application évolue, ajoutez des workflows pour gérer les scènes et les fenêtres natives du Mac, intégrer AppKit et signer l’application.

Best for

  • Nouveaux projets macOS en SwiftUI pour lesquels vous souhaitez que Codex crée la structure d’une application Mac native et un script de compilation réutilisable
  • Applications Mac existantes pour lesquelles Codex doit modifier les fenêtres, les menus, les barres latérales ou les réglages, travailler sur l’intégration d’AppKit ou résoudre des problèmes de signature
  • Équipes qui souhaitent développer pour macOS principalement depuis le shell tout en respectant les conventions d’interface du Mac

Contents

    ← All use cases

    Développer pour macOS

    Utilisez Codex pour créer la structure d’une application Mac native en SwiftUI, la compiler et la déboguer.

    Utilisez Codex pour développer une application macOS en SwiftUI et mettre en place un script shell qui la compile et la lance. À mesure que l’application évolue, ajoutez des workflows pour gérer les scènes et les fenêtres natives du Mac, intégrer AppKit et signer l’application.

    Advanced
    1h

    Utilisez Codex pour développer une application macOS en SwiftUI et mettre en place un script shell qui la compile et la lance. À mesure que l’application évolue, ajoutez des workflows pour gérer les scènes et les fenêtres natives du Mac, intégrer AppKit et signer l’application.

    Advanced
    1h

    Best for

    • Nouveaux projets macOS en SwiftUI pour lesquels vous souhaitez que Codex crée la structure d’une application Mac native et un script de compilation réutilisable
    • Applications Mac existantes pour lesquelles Codex doit modifier les fenêtres, les menus, les barres latérales ou les réglages, travailler sur l’intégration d’AppKit ou résoudre des problèmes de signature
    • Équipes qui souhaitent développer pour macOS principalement depuis le shell tout en respectant les conventions d’interface du Mac

    Skills & Plugins

    • Compilez et déboguez des applications macOS principalement depuis le shell. Concevez des scènes et des fenêtres SwiftUI adaptées au Mac, intégrez AppKit si nécessaire et préparez les étapes de signature et de notarisation.
    Skill Why use it
    Build macOS Apps Compilez et déboguez des applications macOS principalement depuis le shell. Concevez des scènes et des fenêtres SwiftUI adaptées au Mac, intégrez AppKit si nécessaire et préparez les étapes de signature et de notarisation.

    Starter prompt

    Utilisez le plugin Build macOS Apps pour créer la structure initiale d’une application macOS en SwiftUI. Ajoutez au projet un script `script/build_and_run.sh` que je pourrai associer à une action `Run`. Contraintes : - Travaillez principalement depuis le shell. Privilégiez `xcodebuild` pour les projets Xcode et `swift build` pour les applications structurées autour d’un package Swift. - Définissez explicitement les scènes de l’application. Prévoyez une fenêtre principale et ajoutez `Settings`, `MenuBarExtra` ou des fenêtres utilitaires uniquement si l’application en a besoin. - Privilégiez les barres latérales, les barres d’outils, les menus, les raccourcis clavier et les matériaux visuels du système propres au Mac plutôt qu’une navigation par empilement d’écrans comme sur iOS. - Limitez l’intégration d’AppKit aux seuls comportements propres au Mac que SwiftUI ne permet pas d’exprimer simplement. - Pour chaque modification, effectuez un seul cycle de validation court. Indiquez précisément les commandes que vous avez exécutées pour compiler l’application, la lancer ou consulter ses journaux. Fournissez les éléments suivants : - la structure initiale de l’application ou la partie demandée de la fonctionnalité Mac - un script réutilisable pour compiler et lancer l’application - les étapes de validation minimales que vous avez effectuées - les éventuels travaux complémentaires que vous recommandez pour le Mac
    Utilisez le plugin Build macOS Apps pour créer la structure initiale d’une application macOS en SwiftUI. Ajoutez au projet un script `script/build_and_run.sh` que je pourrai associer à une action `Run`. Contraintes : - Travaillez principalement depuis le shell. Privilégiez `xcodebuild` pour les projets Xcode et `swift build` pour les applications structurées autour d’un package Swift. - Définissez explicitement les scènes de l’application. Prévoyez une fenêtre principale et ajoutez `Settings`, `MenuBarExtra` ou des fenêtres utilitaires uniquement si l’application en a besoin. - Privilégiez les barres latérales, les barres d’outils, les menus, les raccourcis clavier et les matériaux visuels du système propres au Mac plutôt qu’une navigation par empilement d’écrans comme sur iOS. - Limitez l’intégration d’AppKit aux seuls comportements propres au Mac que SwiftUI ne permet pas d’exprimer simplement. - Pour chaque modification, effectuez un seul cycle de validation court. Indiquez précisément les commandes que vous avez exécutées pour compiler l’application, la lancer ou consulter ses journaux. Fournissez les éléments suivants : - la structure initiale de l’application ou la partie demandée de la fonctionnalité Mac - un script réutilisable pour compiler et lancer l’application - les étapes de validation minimales que vous avez effectuées - les éventuels travaux complémentaires que vous recommandez pour le Mac

    Structurez l’application et sa boucle de compilation

    Pour créer une application Mac, demandez d’abord à Codex de choisir le modèle de scène adapté parmi WindowGroup, Window, Settings, MenuBarExtra ou DocumentGroup. L’application suit ainsi les conventions du Mac dès la première version, sans avoir à partir d’une ContentView conçue sur le modèle d’iOS.

    Pilotez la compilation et le lancement depuis le shell. Pour les projets Xcode, utilisez xcodebuild. Pour les applications structurées autour d’un package Swift, utilisez swift build et un script script/build_and_run.sh propre au projet. Ce script arrête le processus précédent, compile l’application et lance la nouvelle version. Il peut aussi donner accès aux journaux ou aux données de télémétrie.

    Si une application gérée entièrement avec SwiftPM possède une interface graphique, créez un bundle .app et lancez-le au lieu d’exécuter directement le binaire. Vous éviterez ainsi les problèmes d’affichage dans le Dock, d’activation de l’application et d’identité du bundle lors des vérifications locales.

    Utilisez les skills

    Ajoutez le plugin Build macOS Apps dès que vous abordez des fonctionnalités propres au Mac. Il couvre la compilation et le débogage depuis le shell, la création de bundles d’application avec SwiftPM, les modèles de scènes et de fenêtres natifs de SwiftUI, l’interopérabilité avec AppKit, la journalisation unifiée, le diagnostic des échecs de tests ainsi que les workflows de signature et de notarisation.

    Pour savoir comment installer et utiliser les plugins et les skills, consultez la documentation sur les plugins et la documentation sur les skills.

    Créez une interface native pour Mac

    Privilégiez les conventions du Mac par rapport aux modes de navigation d’iOS. Utilisez NavigationSplitView pour associer une barre latérale à une vue de détail, des scènes Settings explicites pour les préférences, des barres d’outils et des commandes pour rendre les actions faciles à trouver, et des éléments dans la barre des menus pour les petits utilitaires qui doivent rester accessibles à tout moment.

    Utilisez en priorité les matériaux système, les couleurs sémantiques et les contrôles standard. N’ajoutez des styles de fenêtre personnalisés, des zones permettant de déplacer la fenêtre ou des surfaces Liquid Glass que si le produit nécessite une interface de bureau qui lui est propre.

    Si SwiftUI couvre l’essentiel de vos besoins, limitez le recours à AppKit au comportement manquant. AppKit peut par exemple gérer les panneaux d’ouverture et d’enregistrement, le choix du premier répondant, la validation des commandes de menu ou certains cas particuliers du glisser-déposer. Vous pouvez aussi encapsuler une NSView pour intégrer un contrôle spécialisé.

    Déboguez, testez et préparez la distribution

    Pour observer le comportement de l’application à l’exécution, demandez à Codex d’ajouter quelques événements Logger lors de l’ouverture d’une fenêtre, d’un changement de sélection dans la barre latérale, de l’exécution d’une commande de menu ou d’une synchronisation en arrière-plan. Vérifiez ensuite ces événements avec log stream après le lancement de l’application.

    Si des tests échouent, demandez à Codex d’exécuter d’abord le plus petit ensemble de tests pertinent avec xcodebuild test ou swift test, puis de déterminer la cause de l’échec : erreur de compilation, échec d’une assertion, plantage, test instable ou problème d’environnement ou de configuration.

    Lorsque vous passez du développement local à la distribution, demandez à Codex de préparer deux procédures : l’une pour créer manuellement une archive dans Xcode, l’autre pour automatiser par script l’archivage et la notarisation à chaque livraison. Demandez-lui d’inspecter le bundle de l’application, les droits qui lui sont accordés et la configuration de la protection renforcée à l’exécution avec codesign et plutil. Si vous souhaitez également téléverser les versions depuis le terminal, utilisez App Store Connect CLI.

    Exemple de prompt

    Utilisez le plugin Build macOS Apps pour créer avec SwiftUI une version native pour macOS de cette fonctionnalité de l’application. Contraintes : - Organisez les scènes selon les conventions du Mac, avec une fenêtre principale, des réglages et, lorsque c’est pertinent, des actions accessibles depuis la barre d’outils ou les commandes. - Privilégiez une barre latérale avec une vue de détail plutôt qu’une navigation par empilement de vues comme sur iOS si la fonctionnalité gagne à ce que sa structure reste visible. - Limitez le recours à AppKit au strict nécessaire, et uniquement si SwiftUI ne permet pas d’implémenter simplement un comportement précis propre au Mac. - Créez ou mettez à jour `script/build_and_run.sh` pour continuer à piloter la compilation et le lancement depuis le shell. - Indiquez les commandes utilisées pour compiler, lancer et tester l’application, ainsi que pour consulter les journaux. Livrez la partie demandée de la fonctionnalité, vérifiez-la avec la compilation ou les tests les plus ciblés possible, puis résumez les étapes de signature ou de création du bundle qui restent à effectuer avant la distribution.

    Conseils pratiques

    Définissez chaque scène explicitement

    Définissez des racines de scène distinctes pour la fenêtre principale, la fenêtre des réglages, les fenêtres utilitaires et les éléments de la barre des menus. Évitez de regrouper toute l’application dans une seule grande vue.

    Appuyez-vous sur les éléments d’interface du système

    Avant de créer des barres latérales, des barres d’outils ou des matériaux personnalisés, vérifiez si les API standard de SwiftUI pour les scènes et les fenêtres offrent déjà le comportement recherché sur Mac.

    Réservez AppKit aux besoins ciblés

    Pour ajouter une fonctionnalité de bureau qui manque à SwiftUI, utilisez NSViewRepresentable, NSViewControllerRepresentable ou un utilitaire NSWindow dédié à cette fonctionnalité. Gardez SwiftUI comme source de vérité pour la sélection et l’état de l’application.

    Vérifiez la signature et la notarisation indépendamment de la compilation locale

    Un lancement local réussi ne garantit ni que l’application est signée ni qu’elle est prête pour la notarisation. Conservez une procédure d’archivage manuel dans Xcode pour les vérifications ponctuelles avant publication. Automatisez par script l’archivage et la notarisation pour pouvoir répéter la procédure de distribution, et lancez les vérifications avec codesign et plutil dès que vous préparez une livraison au-delà des essais locaux.

    Tech stack

    Need

    Framework d’interface utilisateur

    Default options

    SwiftUI

    Why it's needed

    SwiftUI convient bien à la gestion des fenêtres, des barres latérales, des barres d’outils et des réglages, ainsi qu’à l’organisation d’une application Mac en scènes.

    Need

    Intégration d’AppKit

    Default options

    AppKit

    Why it's needed

    Si SwiftUI ne prend pas en charge un comportement Mac dont vous avez besoin, intégrez AppKit de façon ciblée avec NSViewRepresentable, NSViewControllerRepresentable ou NSWindow.

    Need

    Compilation et création de paquets

    Default options

    xcodebuild, swift build et App Store Connect CLI

    Why it's needed

    Utilisez un workflow reproductible depuis le terminal pour compiler en local, créer des archives manuellement, lancer la notarisation par script et envoyer les builds sur l’App Store.

    Need Default options Why it's needed
    Framework d’interface utilisateur SwiftUI SwiftUI convient bien à la gestion des fenêtres, des barres latérales, des barres d’outils et des réglages, ainsi qu’à l’organisation d’une application Mac en scènes.
    Intégration d’AppKit AppKit Si SwiftUI ne prend pas en charge un comportement Mac dont vous avez besoin, intégrez AppKit de façon ciblée avec NSViewRepresentable , NSViewControllerRepresentable ou NSWindow .
    Compilation et création de paquets xcodebuild , swift build et App Store Connect CLI Utilisez un workflow reproductible depuis le terminal pour compiler en local, créer des archives manuellement, lancer la notarisation par script et envoyer les builds sur l’App Store.

    Related use cases