Need
Framework de interface
Default options
Why it's needed
Uma boa escolha para organizar o aplicativo em cenas e criar janelas, barras laterais, barras de ferramentas e telas de ajustes para Mac.
.md to the page URL.
Codex use case
Use o Codex para criar a estrutura inicial de aplicativos nativos para Mac com SwiftUI, compilá-los e depurá-los.
Use o Codex para criar aplicativos para macOS com SwiftUI e configurar um ciclo de compilação e execução pelo shell. À medida que o aplicativo evolui, adicione cenas e janelas nativas do Mac, integre o AppKit e configure a assinatura de código.
Use o Codex para criar a estrutura inicial de aplicativos nativos para Mac com SwiftUI, compilá-los e depurá-los.
Use o Codex para criar aplicativos para macOS com SwiftUI e configurar um ciclo de compilação e execução pelo shell. À medida que o aplicativo evolui, adicione cenas e janelas nativas do Mac, integre o AppKit e configure a assinatura de código.
Use o Codex para criar aplicativos para macOS com SwiftUI e configurar um ciclo de compilação e execução pelo shell. À medida que o aplicativo evolui, adicione cenas e janelas nativas do Mac, integre o AppKit e configure a assinatura de código.
Related links
| Skill | Why use it |
|---|---|
| Build macOS Apps | Compile e depure aplicativos para macOS pelo shell. Projete cenas e janelas em SwiftUI seguindo as convenções do Mac, integre o AppKit quando necessário e prepare o processo de assinatura e notarização. |
Ao criar um aplicativo para Mac, peça primeiro ao Codex que escolha o modelo de cena adequado entre WindowGroup, Window, Settings, MenuBarExtra e DocumentGroup. Assim, o aplicativo segue as convenções do Mac desde a primeira versão, sem partir de uma ContentView típica do iOS.
Use o shell como ponto de partida para compilar e executar o aplicativo. Em projetos do Xcode, use xcodebuild. Em aplicativos estruturados como pacotes, use swift build e um script do próprio projeto, script/build_and_run.sh, que encerre o processo anterior, compile o aplicativo e inicie a nova versão. O script também pode disponibilizar logs ou dados de telemetria.
Se um aplicativo criado exclusivamente com SwiftPM tiver interface gráfica, empacote-o e inicie-o como .app em vez de executar o binário diretamente. Assim, durante a validação local, você evita problemas como o aplicativo não aparecer no Dock, falhas de ativação ou erros de identificação do pacote.
Adicione o plugin Build macOS Apps quando o desenvolvimento passar a exigir recursos específicos do Mac. Ele abrange ciclos de compilação e depuração pelo shell, empacotamento de aplicativos SwiftPM, padrões nativos de cenas e janelas em SwiftUI, integração com AppKit, registro unificado de logs, triagem de falhas em testes e fluxos de assinatura e notarização.
Para saber como instalar e usar plugins e Habilidades, consulte a documentação de plugins e a documentação de Habilidades.
Dê preferência às convenções do Mac em vez dos padrões de navegação do iOS. Use NavigationSplitView para exibir a barra lateral ao lado do painel de detalhes e cenas Settings explícitas para as preferências. Use barras de ferramentas e comandos para facilitar a descoberta das ações e itens na barra de menus para manter pequenos utilitários sempre à mão.
Comece com materiais do sistema, cores semânticas e controles padrão. Adicione estilos de janela personalizados, áreas de arraste ou superfícies Liquid Glass somente quando o produto precisar de uma interface visual própria no Mac.
Se faltar algum recurso no SwiftUI, limite a integração com AppKit ao mínimo necessário. Bons exemplos incluem painéis para abrir e salvar arquivos, controle de qual elemento recebe eventos primeiro, validação de itens de menu, casos específicos de arrastar e soltar e a integração de uma NSView para um único controle especializado.
Para verificar o comportamento durante a execução, peça ao Codex que registre alguns eventos com Logger ao abrir janelas, selecionar itens na barra lateral, executar comandos de menu ou sincronizar dados em segundo plano. Depois de iniciar o aplicativo, confira os eventos com log stream.
Se houver falhas nos testes, peça ao Codex que comece executando xcodebuild test ou swift test com o menor conjunto de testes que ajude no diagnóstico. Em seguida, peça que classifique o problema como erro de compilação, falha de asserção, encerramento inesperado, falha intermitente ou problema no ambiente ou na configuração.
Quando passar do desenvolvimento local para a distribuição, peça ao Codex que prepare tanto um procedimento manual para gerar um arquivo de distribuição no Xcode quanto um script para automatizar o arquivamento e a notarização a cada versão. Peça que inspecione o pacote do aplicativo, os direitos de acesso e a configuração do Hardened Runtime com codesign e plutil. Use a App Store Connect CLI se também quiser fazer os envios pelo terminal.
Defina raízes de cena separadas para a janela principal, a janela de ajustes, as janelas de utilitários e os itens da barra de menus. Evite concentrar todo o aplicativo em uma única visualização enorme.
Antes de criar barras laterais, barras de ferramentas ou materiais personalizados, verifique se as APIs padrão de cenas e janelas do SwiftUI já oferecem o comportamento que você busca no Mac.
Use NSViewRepresentable, NSViewControllerRepresentable ou um auxiliar de NSWindow dedicado para implementar um recurso específico do Mac que esteja faltando. Mantenha o SwiftUI como fonte de verdade para a seleção e o estado do aplicativo.
Conseguir iniciar o aplicativo localmente não garante que ele esteja assinado ou pronto para notarização. Mantenha um procedimento manual de arquivamento no Xcode para verificações pontuais antes de um lançamento. Automatize o arquivamento e a notarização com um script para poder repetir o processo de distribuição. Quando passar do desenvolvimento local à preparação de uma versão para distribuição, execute as verificações com codesign e plutil.
Need
Default options
Why it's needed
Need
Framework de interface
Default options
Why it's needed
Uma boa escolha para organizar o aplicativo em cenas e criar janelas, barras laterais, barras de ferramentas e telas de ajustes para Mac.
Need
Integração com o AppKit
Default options
Why it's needed
Use NSViewRepresentable, NSViewControllerRepresentable ou NSWindow para integrações pontuais quando o SwiftUI não oferecer o comportamento de que você precisa no Mac.
Need
Compilação e empacotamento
Default options
xcodebuild, swift build e App Store Connect CLI
Why it's needed
Use o terminal como base de um processo repetível para compilar o aplicativo localmente, criar arquivos de distribuição manualmente, executar a notarização por script e enviar o aplicativo à App Store.
| Need | Default options | Why it's needed |
|---|---|---|
| Framework de interface | SwiftUI | Uma boa escolha para organizar o aplicativo em cenas e criar janelas, barras laterais, barras de ferramentas e telas de ajustes para Mac. |
| Integração com o AppKit | AppKit | Use NSViewRepresentable , NSViewControllerRepresentable ou NSWindow para integrações pontuais quando o SwiftUI não oferecer o comportamento de que você precisa no Mac. |
| Compilação e empacotamento | xcodebuild , swift build e App Store Connect CLI | Use o terminal como base de um processo repetível para compilar o aplicativo localmente, criar arquivos de distribuição manualmente, executar a notarização por script e enviar o aplicativo à App Store. |
Use o Codex e o plugin Build macOS Apps para transformar sua ideia em um aplicativo nativo...
Use o Codex e o plugin Build macOS Apps para registrar com `Logger` alguns eventos...
Use o Codex e o plugin Build iOS Apps para identificar quais ações e entidades seu...