KasyKasy

Publicar no iOS

App Store com kasy ios no Mac, ou kasy codemagic na nuvem (sem Mac).

Você tem duas formas de publicar no iOS:

Mac (kasy ios)Nuvem (kasy codemagic)
Pré-requisitoMac com Xcode + conta Apple DeveloperConta Codemagic + conta Apple Developer
Setupkasy ios configure (uma vez)kasy codemagic configure (uma vez)
Publicarkasy ios releasekasy codemagic release --ios

Implementação

Publicar com kasy ios (Mac)

Pré-requisitos:

Confira o nome e o ID antes do primeiro envio. Depois que o app chega à loja (vale TestFlight e teste interno), o ID (com.seuapp.app) não muda mais. Se o projeto ainda está com nome provisório, troque agora: Nome do app.

1. Configurar uma vez

kasy ios configure

O wizard abre as páginas da Apple, pede:

Chave de API no App Store Connect com Key ID e Issuer ID
App Store Connect: Users and Access → Integrations, onde ficam o Key ID e o Issuer ID

Tudo é salvo em .kasy/apple.env (não vai para o Git).

Pelo MCP: com o Key ID, Issuer ID e o arquivo .p8 em mãos, peça ao assistente "configura a assinatura do iOS", ele roda configure_ios_signing por você. Veja MCP do Kasy.

2. Assinar no Xcode (uma vez)

O template Kasy remove o DEVELOPMENT_TEAM para você usar sua conta Apple.

  1. Abra ios/Runner.xcworkspace no Xcode
  2. Target Runner → Signing & Capabilities
  3. Marque Automatically manage signing
  4. Selecione seu Team
Aba Signing & Capabilities do Xcode
Xcode: Automatically manage signing marcado e Team selecionado

Confirme com:

kasy doctor    # seção "Release iOS"

3. Publicar cada versão

Pelo MCP: com o kasy ios configure e a assinatura no Xcode já feitos (passos acima), peça ao assistente "publica o iOS". Ele roda release_ios por você. Veja MCP do Kasy.

kasy ios release

Esse comando:

  1. Incrementa o build no pubspec.yaml
  2. Gera o IPA
  3. Envia para o App Store Connect (sem precisar do Transporter)

Outras opções:

kasy ios build                              # só gera o IPA, sem enviar
kasy ios release --no-bump                  # não incrementa o build
kasy ios release --version-name 1.0.2       # muda a versão visível
kasy ios clean                              # limpa cache Flutter/Xcode após erro

Pelo MCP: kasy ios build e kasy ios clean também têm tool própria, build_ios e clean_ios. Veja MCP do Kasy.

Publicar com Codemagic (sem Mac)

O Codemagic compila e envia iOS (e Android) na nuvem. Você não precisa de Mac.

Pré-requisitos:

  • Conta Codemagic
  • Repositório Git conectado
  • Conta Apple Developer + app no App Store Connect

1. Adicionar CI ao projeto

Projeto criado com kasy new? O codemagic.yaml já vem por padrão (nos dois modos, Rápido e Passo a passo; nesse último, CI/CD já vem pré-marcado no multiselect). Só rode o comando abaixo se você desmarcou CI/CD na criação, ou se o projeto é anterior a essa opção existir.

kasy add ci

Pelo MCP: "adiciona CI/CD no projeto" (add_feature).

Isso cria o codemagic.yaml com os workflows ios-workflow e android-workflow.

2. Configurar no painel Codemagic (uma vez)

  1. Abra codemagic.io/apps → conecte o repositório
  2. Integrations → Developer Portal → Connect: preencha os 4 campos, mesmos dados do passo 1 acima:
Formulário de integração com o Developer Portal no Codemagic, campos vazios
Codemagic: os 4 campos pedidos: nome, Issuer ID, Key ID e o arquivo .p8

Já gerou essa chave da App Store Connect API para o RevenueCat? É o mesmo arquivo .p8, não precisa criar outro. Ele serve para RevenueCat, Codemagic e para o kasy ios configure/kasy ios release da CLI, porque é sempre o mesmo tipo de chave.

Integração Developer Portal conectada no painel do Codemagic
Codemagic: Settings → Integrations → Developer Portal conectado com a chave da App Store Connect

3. Ajustar 2 campos no codemagic.yaml

O arquivo já marca esses pontos com um comentário <-- Put your...:

  • Crie um grupo de testers no TestFlight (App Store Connect → seu app → TestFlight → Grupos) e troque kasy pelo nome desse grupo em publishing.app_store_connect.beta_groups. Sem isso o build sobe, mas ninguém recebe convite
  • Troque o e-mail em publishing.email.recipients pelo seu (ou apague a seção email: inteira)

4. Configurar no terminal (uma vez)

kasy codemagic configure

O wizard abre a página do token da API do Codemagic, valida e lista seus apps para você escolher. Salva em .kasy/codemagic.env (não versionado).

Pelo MCP: esse passo também tem tool própria, peça "configura o Codemagic desse projeto" e o assistente roda configure_codemagic. Veja MCP do Kasy.

5. Publicar

Pelo MCP: com o Codemagic já configurado (passos acima), peça ao assistente "publica o iOS com o Codemagic". Ele roda codemagic_release (e pode acompanhar com codemagic_status). Veja MCP do Kasy.

kasy codemagic release --ios    # dispara build iOS na nuvem

O comando lê o .env e leva as chaves de produção junto no disparo. O build vai para o TestFlight automaticamente.

kasy codemagic status <buildId>    # acompanhar o status

Informações

Testar antes de enviar

Use TestFlight para distribuir para testadores antes de enviar para revisão da App Store.

Versão vs build

  • Versão (ex: 1.0.2): o que o usuário vê na loja. Mude quando lançar novidades.
  • Build (ex: 42): número interno. O kasy ios release incrementa automaticamente.

Demora na aprovação

A App Store geralmente aprova em 24 a 48 horas. Envie com antecedência. Rejeições por conteúdo ou política são respondidas com o motivo: ajuste e reenvie.

Atualizado em 03/11/2026