Índice
1. O que é um Archive
Um Archive é um pacote gerado pelo Xcode que contém o binário compilado do seu app iOS em modo de produção (Release), junto com os símbolos de debug (dSYMs), metadados de assinatura e informações do build. É o arquivo intermediário entre o seu código-fonte e o que vai para a App Store.
Pense no Archive como o "instalador" do seu app — um pacote autocontido que pode ser enviado à Apple, distribuído via TestFlight ou entregue para clientes via distribuição ad hoc.
2. Archive vs. Build vs. Run
- Build (⌘B): compila o código para verificar erros. Não gera nenhum arquivo distribuível. Usado durante o desenvolvimento para checar se o código compila.
- Run (⌘R): compila e instala o app em um simulador ou dispositivo conectado para teste imediato. Usa configuração Debug, com otimizações mínimas.
- Archive (Product → Archive): compila o app na configuração Release (otimizada, assinada com certificado de distribuição) e gera o pacote .xcarchive. Usado exclusivamente para distribuição.
3. Como gerar o Archive
O que precisa estar correto antes
Antes de Archive, confirme: destino selecionado é "Any iOS Device (arm64)" — não simulador. Scheme está em modo Release. Signing está configurado com conta Apple Developer válida. Não há erros de compilação (teste com ⌘B antes).
Product → Archive
No menu do Xcode, clique em Product → Archive. O Xcode vai compilar o app inteiramente na configuração de Release — esse processo leva de 1 a 10 minutos dependendo do tamanho do projeto. Não interrompa.
Xcode Organizer abre automaticamente
Quando o archive termina, o Xcode Organizer abre automaticamente mostrando o archive gerado com data, versão e build number. Daqui você escolhe o que fazer com o archive.
4. O Xcode Organizer
O Organizer (Window → Organizer) é o gerenciador de archives do Xcode. Nele você pode:
- Ver todos os archives gerados para o projeto, organizados por data.
- Validar o archive antes de enviar (verifica assinatura, entitlements e conformidade básica).
- Distribuir o archive para App Store Connect, TestFlight, ad hoc ou enterprise.
- Baixar os dSYMs gerados pela Apple após processamento.
- Excluir archives antigos para liberar espaço em disco.
Archives ficam armazenados localmente em ~/Library/Developer/Xcode/Archives/. Cada archive pode ter vários gigabytes — é normal limpar os antigos periodicamente.
5. Distribuir o Archive
Com o archive selecionado no Organizer, clique em "Distribute App". Você vai escolher o método de distribuição:
- App Store Connect: envia o app para o App Store Connect para TestFlight e publicação na loja. O método padrão para publicação.
- Ad Hoc: gera um IPA instalável em dispositivos específicos (por UDID). Útil para testes internos sem TestFlight.
- Enterprise: para apps distribuídos internamente em empresas via Apple Developer Enterprise Program.
- Debugging: para desenvolvimento local com dispositivos físicos.
✓ Ao distribuir para App Store Connect, mantenha marcada a opção "Upload your app's symbols to receive symbolicated reports from Apple". Isso permite que relatórios de crash sejam legíveis no App Store Connect.
6. dSYMs — símbolos de debug
Cada archive gera arquivos dSYM (Debug Symbols) — mapeamentos entre o código compilado e o código-fonte. Eles são essenciais para interpretar relatórios de crash: sem os dSYMs, um crash report mostra apenas endereços de memória sem sentido.
Se você usa ferramentas de crash analytics como Crashlytics ou Sentry, elas precisam dos dSYMs correspondentes a cada versão do app para mostrar stack traces legíveis. Configure o upload automático de dSYMs nessas ferramentas.
7. Problemas comuns
- "Archive" cinza/desativado: destino selecionado é um simulador. Mude para "Any iOS Device (arm64)".
- Erro de assinatura durante archive: certificado expirado ou provisioning profile incompatível. Use Automatic Signing para renovar automaticamente.
- Archive leva muito tempo: normal em projetos grandes ou na primeira vez após limpar o build folder. Tenha paciência — não cancele.
- Archive aparece como "Generic Xcode Archive" no Organizer: o scheme selecionado não é o target do app principal. Verifique o scheme em Product → Scheme.
Quer que a gente publique por você?
App Store e Google Play em até 7 dias. A partir de R$1.800.
Solicitar publicação