Need
Framework d’interface utilisateur
Default options
Why it's needed
Un excellent choix par défaut pour les fenêtres, les barres latérales, les barres d’outils, les paramètres et l’architecture d’une app Mac organisée autour de scènes.
.md to the page URL.
Codex use case
Utilisez Codex pour générer l’ossature d’apps Mac natives avec SwiftUI, les compiler et les déboguer.
Utilisez Codex pour développer des apps macOS avec SwiftUI, mettre en place une boucle de compilation et d’exécution qui privilégie le shell, puis, à mesure que l’app évolue, ajouter des flux de travail adaptés aux apps de bureau pour gérer les scènes, les fenêtres, l’interopérabilité avec AppKit et la signature.
Utilisez Codex pour générer l’ossature d’apps Mac natives avec SwiftUI, les compiler et les déboguer.
Utilisez Codex pour développer des apps macOS avec SwiftUI, mettre en place une boucle de compilation et d’exécution qui privilégie le shell, puis, à mesure que l’app évolue, ajouter des flux de travail adaptés aux apps de bureau pour gérer les scènes, les fenêtres, l’interopérabilité avec AppKit et la signature.
Utilisez Codex pour développer des apps macOS avec SwiftUI, mettre en place une boucle de compilation et d’exécution qui privilégie le shell, puis, à mesure que l’app évolue, ajouter des flux de travail adaptés aux apps de bureau pour gérer les scènes, les fenêtres, l’interopérabilité avec AppKit et la signature.
Liens connexes
| Skill | Why use it |
|---|---|
| Build macOS Apps | Développez et déboguez des apps macOS au moyen de flux de travail qui privilégient le shell, concevez des scènes et fenêtres SwiftUI conformes aux conventions Mac, établissez des passerelles vers AppKit si nécessaire et préparez les procédures de signature et de notarisation. |
Pour une nouvelle app Mac, demandez d’abord à Codex de choisir le modèle de scène approprié : WindowGroup, Window, Settings, MenuBarExtra ou DocumentGroup. Cela permet à l’app de respecter les conventions des apps de bureau dès la première version, plutôt que d’évoluer à partir d’une ContentView conçue dans le style iOS.
Veillez à ce que la boucle d’exécution privilégie le shell. Pour les projets Xcode, utilisez xcodebuild. Pour les apps organisées autour de packages, utilisez swift build et un script d’encapsulation script/build_and_run.sh propre au projet, qui arrête l’ancien processus, compile l’app, lance le nouvel artefact et peut, si nécessaire, exposer les journaux ou la télémétrie.
Si une app SwiftPM pure est dotée d’une interface graphique, empaquetez-la et lancez-la sous forme de .app plutôt que d’exécuter directement le binaire brut. Vous éviterez ainsi, lors de la validation locale, les problèmes de présence dans le Dock, d’activation ou d’identité du bundle.
Ajoutez le plugin Build macOS Apps dès que le travail devient plus spécifique aux apps de bureau. Il couvre les boucles de compilation et de débogage qui privilégient le shell, l’empaquetage d’apps SwiftPM, les modèles de scènes et de fenêtres SwiftUI conformes aux conventions Mac, l’interopérabilité avec AppKit, la journalisation unifiée, l’analyse des échecs de tests ainsi que les flux de travail de signature et de notarisation.
Pour en savoir plus sur l’installation et l’utilisation des Plugins et des Skills, consultez la documentation sur les Plugins et la documentation sur les Skills.
Préférez les conventions propres au Mac aux modèles de navigation d’iOS. Utilisez NavigationSplitView pour les interfaces avec barre latérale et panneau 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, ainsi que des éléments de la barre des menus pour les utilitaires légers toujours disponibles.
Utilisez d’abord les matériaux système, les couleurs sémantiques et les contrôles standard. N’ajoutez une apparence de fenêtre personnalisée, des zones de déplacement ou des surfaces Liquid Glass que si le produit a besoin d’une interface de bureau distinctive.
Si SwiftUI couvre presque votre besoin, ajoutez la plus petite passerelle AppKit possible. Les panneaux d’ouverture et d’enregistrement, le contrôle du premier répondant, la validation des menus, les cas limites du glisser-déposer et l’encapsulation d’un NSView pour un contrôle spécialisé s’y prêtent bien.
Pour observer le comportement à l’exécution, demandez à Codex d’ajouter quelques événements Logger liés à l’ouverture d’une fenêtre, à la sélection dans la barre latérale, à l’exécution de commandes de menu ou à la synchronisation en arrière-plan, puis de vérifier ces événements avec log stream après le lancement de l’app.
En cas d’échec de tests, demandez d’abord à Codex d’exécuter le plus petit périmètre de test utile avec xcodebuild test ou swift test, puis de déterminer si le problème relève de la compilation, de l’échec d’une assertion, d’un plantage, d’un test instable ou d’un problème d’environnement ou de configuration.
Lorsque vous passez des itérations locales à la distribution, demandez à Codex de préparer à la fois une procédure d’archivage manuel dans Xcode et une procédure par scripts pour l’archivage et la notarisation, afin de rendre la distribution reproductible. Demandez-lui d’inspecter le bundle de l’app, ses droits d’accès et l’environnement d’exécution renforcé avec codesign et plutil, et d’utiliser App Store Connect CLI si vous souhaitez que les envois s’effectuent eux aussi dans le terminal.
Modélisez la fenêtre principale, la fenêtre de paramètres, les fenêtres utilitaires et les éléments supplémentaires de la barre des menus comme des racines de scène distinctes, au lieu de dissimuler toute l’app dans une seule vue gigantesque.
Avant de créer des barres latérales, des barres d’outils ou des matériaux personnalisés, vérifiez si les API SwiftUI standard pour les scènes et les fenêtres offrent déjà le comportement Mac recherché.
Utilisez NSViewRepresentable, NSViewControllerRepresentable ou un utilitaire NSWindow ciblé pour ajouter une fonctionnalité manquante propre aux apps de bureau, mais conservez SwiftUI comme source de vérité pour la sélection et l’état de l’app.
Un lancement local réussi ne prouve ni que l’app est signée ni qu’elle est prête pour la notarisation. Conservez un flux de travail d’archivage manuel dans Xcode pour les vérifications ponctuelles avant publication, ajoutez un flux de travail scripté d’archivage et de notarisation pour assurer une distribution reproductible, et effectuez des vérifications avec codesign et plutil lorsque la tâche porte sur la distribution plutôt que sur les seules itérations locales.
Need
Default options
Why it's needed
Need
Framework d’interface utilisateur
Default options
Why it's needed
Un excellent choix par défaut pour les fenêtres, les barres latérales, les barres d’outils, les paramètres et l’architecture d’une app Mac organisée autour de scènes.
Need
Passerelle AppKit
Default options
Why it's needed
Utilisez de petites passerelles NSViewRepresentable, NSViewControllerRepresentable ou NSWindow lorsque SwiftUI ne permet pas à lui seul d’obtenir le comportement requis pour une app de bureau.
Need
Compilation et empaquetage
Default options
xcodebuild, swift build et App Store Connect CLI
Why it's needed
Maintenez les compilations locales, les archives manuelles, la notarisation par script et les envois vers l’App Store dans une boucle reproductible qui privilégie le terminal.
| Need | Default options | Why it's needed |
|---|---|---|
| Framework d’interface utilisateur | SwiftUI | Un excellent choix par défaut pour les fenêtres, les barres latérales, les barres d’outils, les paramètres et l’architecture d’une app Mac organisée autour de scènes. |
| Passerelle AppKit | AppKit | Utilisez de petites passerelles NSViewRepresentable , NSViewControllerRepresentable ou NSWindow lorsque SwiftUI ne permet pas à lui seul d’obtenir le comportement requis pour une app de bureau. |
| Compilation et empaquetage | xcodebuild , swift build et App Store Connect CLI | Maintenez les compilations locales, les archives manuelles, la notarisation par script et les envois vers l’App Store dans une boucle reproductible qui privilégie le terminal. |
Utilisez Codex et le plugin Build macOS Apps pour transformer une idée d’application en...
Utilisez Codex et le plugin Build macOS Apps pour ajouter quelques événements `Logger` à...
Utilisez Codex et le plugin Build iOS Apps pour identifier les actions et les entités que...