Para distribuir um aplicativo iOS na App Store, é obrigatório ter um certificado Apple Distribution. Esse certificado é usado para assinar o código do aplicativo, permitindo que a Apple verifique que o app foi criado por um desenvolvedor legítimo.
Este artigo explica detalhadamente como criar o certificado do zero usando o painel do Apple Developer Program.
Pré-requisitos
Antes de criar o certificado, verifique o seguinte:
- Inscrito no Apple Developer Program ($99 USD/ano)
- Conectado com um Apple ID com permissão de Admin ou Account Holder
- Xcode (versão mais recente recomendada) instalado no Mac
- Acesso ao Acesso a Chaves (app nativo do macOS)
Passo 1 — Criar o arquivo CSR (Certificate Signing Request)
O CSR (Certificate Signing Request) é o arquivo enviado à Apple para solicitar um certificado. Ele é criado com o Acesso a Chaves.
- Abra o Acesso a Chaves (pesquise "Chaves" no Spotlight)
- Na barra de menus:
Acesso a Chaves→Assistente de Certificado→Solicitar um certificado de uma autoridade de certificação...

-
Preencha os seguintes campos:
Campo Conteúdo Endereço de e-mail do usuário Endereço de e-mail registrado no seu Apple ID Nome comum Um nome descritivo (ex.: MyApp Distribution)Endereço de e-mail da AC Deixar em branco A solicitação está Selecione "Salva em disco"

- Clique em "Continuar" e salve o arquivo CSR (
.certSigningRequest) no local de sua preferência.
Passo 2 — Criar um novo certificado no portal Apple Developer
Acesse o site da Apple Developer para emitir o certificado.
URL:
developer.apple.com › Account › Certificates, IDs & Profiles › Certificates
-
Clique no botão
+(Adicionar) no canto superior direito

-
Na seção Software, selecione
Apple Distributione clique em "Continue"

-
Na tela "Upload a Certificate Signing Request", envie o arquivo
.certSigningRequestcriado no Passo 1 -
Clique em "Continue" → "Download" para baixar o arquivo do certificado (
.cer)

Passo 3 — Baixar e instalar o certificado no Acesso a Chaves
- Clique duas vezes no arquivo
distribution.cerbaixado - Quando o diálogo "Adicionar ao Acesso a Chaves?" aparecer, clique em "Adicionar"
- Abra o Acesso a Chaves e verifique a categoria "Certificados" na chave de Login
- Se
Apple Distribution: [Your Name/Team] (XXXXXXXXXX)for exibido, a instalação foi bem-sucedida
Clique no botão ▶ Expandir à esquerda do certificado para confirmar que uma chave privada (🔑) é exibida. Se a chave privada não estiver visível, a CSR pode ter sido gerada em um Mac diferente ou a chave privada não existe no Acesso a Chaves do Mac atual.
Passo 4 — Verificar se o Xcode reconhece o certificado
Local:
Xcode › Settings... › Accounts › Manage Certificates...
- Selecione o Apple ID desejado e clique em "Manage Certificates..."
- Confirme que uma entrada
Apple Distributionaparece na lista - Na aba Signing & Capabilities do projeto, desativar
Automatically manage signingpermite selecionar manualmente o certificado Distribution.
Relação entre certificados e perfis de provisionamento
O sistema de assinatura da Apple é composto por três elementos:
- Certificado (Certificate): Comprova qual desenvolvedor ou equipe assinou o aplicativo
- App ID: Identifica qual é o aplicativo
- Perfil de Provisionamento (Provisioning Profile): Define qual combinação de certificado, App ID, dispositivos e funcionalidades está autorizada a executar ou distribuir o aplicativo
Em resumo: o certificado identifica o assinante, o App ID identifica o aplicativo, e o perfil de provisionamento é um conjunto de condições de uso.
Diferenças em relação ao certificado Apple Development
| Item | Apple Development | Apple Distribution |
|---|---|---|
| Proprietário | Individual (nome do Mac no certificado) | Equipe (Account Holder / Admin apenas) |
| Uso em vários Macs | ✅ Possível (via .p12) |
✅ Possível (compartilhável via .p12) |
| Finalidade | Depuração e testes em dispositivo | App Store / Ad Hoc |
| TestFlight | ❌ Não possível | ✅ Possível |
| Assinatura Xcode | Esquema Debug |
Esquema Release |
| Número máximo | 2 por equipe | 3 por equipe |
| Validade | 1 ano | 1 ano |
Certificado Apple Development vs. conta pessoal
- Certificado Apple Development: Certificado oficial para equipes inscritas no Apple Developer Program
- Personal Team: Fluxo de trabalho para testes em dispositivo sem inscrição no Developer Program
| Item | Personal Team (gratuito) | Apple Development (Developer Program) |
|---|---|---|
| Requisito | Apenas conta Apple | Inscrição no Apple Developer Program |
| Uso principal | Testes pessoais | Desenvolvimento em equipe |
| Distribuição | ❌ Não possível | ❌ Não possível |
| TestFlight / App Store Connect | ❌ Não possível | ❌ Não possível |
| Validade do perfil | 7 dias | Normalmente 1 ano |
| App IDs / Dispositivos | Limitados | Disponíveis no Developer Program |
| Funcionalidades avançadas | Limitadas | Mais funcionalidades disponíveis |
Tabela de correspondência por método de distribuição
| Método | Certificado | Perfil de provisionamento | Observação |
|---|---|---|---|
| Depuração em dispositivo | Apple Development | Development | Apenas dispositivos registrados |
| TestFlight | Apple Distribution | Distribution App Store Connect | Upload para App Store Connect |
| Publicação App Store | Apple Distribution | Distribution App Store Connect | Após aprovação |
| Ad Hoc | Apple Distribution | Ad Hoc | UDIDs registrados |
| Enterprise / In-House | Apple Enterprise Distribution | In-House | Apple Developer Enterprise Program |
Tanto o TestFlight quanto a publicação na App Store usam o certificado Apple Distribution.
Assinatura automática vs. assinatura manual
Na maioria dos casos, recomenda-se ativar o Automatically manage signing no Xcode.
Considere a assinatura manual nas seguintes situações:
- Controle rigoroso sobre múltiplos targets ou Bundle Identifiers
- Gerenciamento explícito em pipeline CI/CD
- Uso de Fastlane Match para gerenciamento centralizado
- Os perfis automáticos do Xcode não oferecem o controle desejado
Erros comuns e soluções
🔴 "Nenhuma chave privada encontrada para o certificado"
.cerinstalado em outro Mac: A chave privada existe apenas no Acesso a Chaves do Mac onde a CSR foi gerada- Migração ou substituição do Mac: A chave privada não foi movida corretamente
- Redefinição do Acesso a Chaves: A chave privada é perdida
- Re-download do
.cer: Baixado em Mac diferente do da CSR
# Passos para exportar .p12 (Acesso a Chaves)
# 1. Abrir o Acesso a Chaves
# 2. Clique com o botão direito no certificado
# → "Exportar 'Apple Distribution: ...'"
# 3. Definir senha e salvar o .p12
# 4. Clicar duas vezes no outro Mac para importar
🔴 Certificado expirado
Os certificados são válidos por 1 ano. Renove nesta ordem:
- Criar novo certificado Apple Distribution
- Regenerar perfis de provisionamento se necessário
- Atualizar certificado e perfil no Xcode ou CI/CD
- Redistribuir o novo
.p12para a equipe
🔴 Erro "Maximum number of certificates generated"
Máximo de 3 certificados Distribution. Exclua os desnecessários antes de criar um novo.
Resumo
- Gerar uma CSR (
.certSigningRequest) com o Acesso a Chaves - Criar um novo certificado
Apple Distributionem developer.apple.com e fazer upload da CSR - Clicar duas vezes no
.cerbaixado para instalá-lo no Acesso a Chaves - Verificar se o certificado está reconhecido nas configurações de Contas do Xcode
Para o desenvolvimento em equipe, explore métodos de compartilhamento seguro de .p12 ou ferramentas como o Fastlane Match.
Links de referência (oficiais da Apple)
- Certificates – Apple Developer: Criação e gerenciamento de certificados
- Choosing a Membership – Apple Developer: Diferenças entre conta gratuita e Developer Program
- What is app signing? – Xcode Help: Tipos de certificados e visão geral
- Signing & Capabilities workflow – Xcode Help: Como funciona a assinatura automática
- Create, export, and delete signing certificates – Xcode Help: Operações de certificado no Xcode
- Distribute your app – Apple Developer: Guia oficial de distribuição de apps
- TestFlight – Apple Developer: Guia oficial de distribuição beta pelo TestFlight
