iOSAppleXcodeApp StoreCode Signing

Como criar um certificado Apple Distribution

Sloth255
Sloth255
·6 min read·1,264 words

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.

  1. Abra o Acesso a Chaves (pesquise "Chaves" no Spotlight)
  2. Na barra de menus: Acesso a ChavesAssistente de CertificadoSolicitar um certificado de uma autoridade de certificação...

Tela do Assistente de Certificado no Acesso a Chaves

  1. 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"

Diálogo para selecionar o local de salvamento do CSR

  1. 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

  1. Clique no botão + (Adicionar) no canto superior direito
    Lista de certificados no Apple Developer

  2. Na seção Software, selecione Apple Distribution e clique em "Continue"
    Tela de seleção do Apple Distribution

  3. Na tela "Upload a Certificate Signing Request", envie o arquivo .certSigningRequest criado no Passo 1

  4. Clique em "Continue" → "Download" para baixar o arquivo do certificado (.cer)
    Tela de download do certificado


Passo 3 — Baixar e instalar o certificado no Acesso a Chaves

  1. Clique duas vezes no arquivo distribution.cer baixado
  2. Quando o diálogo "Adicionar ao Acesso a Chaves?" aparecer, clique em "Adicionar"
  3. Abra o Acesso a Chaves e verifique a categoria "Certificados" na chave de Login
  4. 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...

  1. Selecione o Apple ID desejado e clique em "Manage Certificates..."
  2. Confirme que uma entrada Apple Distribution aparece na lista
  3. Na aba Signing & Capabilities do projeto, desativar Automatically manage signing permite 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"

  • .cer instalado 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:

  1. Criar novo certificado Apple Distribution
  2. Regenerar perfis de provisionamento se necessário
  3. Atualizar certificado e perfil no Xcode ou CI/CD
  4. Redistribuir o novo .p12 para a equipe

🔴 Erro "Maximum number of certificates generated"

Máximo de 3 certificados Distribution. Exclua os desnecessários antes de criar um novo.


Resumo

  1. Gerar uma CSR (.certSigningRequest) com o Acesso a Chaves
  2. Criar um novo certificado Apple Distribution em developer.apple.com e fazer upload da CSR
  3. Clicar duas vezes no .cer baixado para instalá-lo no Acesso a Chaves
  4. 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.