Erros ITMS no App Store Connect — Causas e Soluções

Erros com prefixo ITMS aparecem quando o App Store Connect rejeita seu build automaticamente. Aqui estão os mais comuns e como resolver cada um.

Leitura: 8 min Atualizado: 2025 Verificado pela equipe AtlasTech

Índice

  1. O que são erros ITMS
  2. ITMS-90096
  3. ITMS-90683
  4. ITMS-90562
  5. ITMS-90725
  6. ITMS-90338
  7. ITMS-90189
  8. ITMS-90176
  9. Como diagnosticar erros não listados
  10. Prefere delegar tudo?

1. O que são erros ITMS

ITMS significa "iTunes Music Store" — o nome legado do sistema de entrega de conteúdo da Apple. Erros ITMS são gerados pelo sistema automatizado do App Store Connect quando detecta um problema no build antes mesmo de qualquer revisão humana.

Você recebe esses erros por e-mail, geralmente minutos ou horas após o upload. O build não aparece no TestFlight — ele foi rejeitado antes disso. Cada código ITMS corresponde a um problema específico.

2. ITMS-90096

ITMS-90096

This bundle is invalid — missing required icon

Causa: o app não inclui todos os tamanhos de ícone exigidos pela Apple, ou os arquivos de ícone estão corrompidos.

Solução: verifique o AppIcon no catálogo de assets do Xcode. Todos os slots obrigatórios precisam estar preenchidos. Para iOS 16+, o ícone de 1024×1024px para o App Store é obrigatório. Use uma ferramenta como makeappicon.com para gerar todos os tamanhos automaticamente.

✓ Fix: preencher todos os slots de AppIcon no Assets.xcassets e recompilar.

3. ITMS-90683

ITMS-90683

Missing purpose string in Info.plist

Causa: o app usa uma permissão do iOS (câmera, microfone, localização, contatos, etc.) mas não declarou o motivo no Info.plist. A Apple exige que cada permissão tenha um texto explicando ao usuário por que o app precisa daquele acesso.

Solução: no Info.plist, adicione a chave correspondente à permissão usada com uma string descritiva. Exemplos: NSCameraUsageDescription para câmera, NSLocationWhenInUseUsageDescription para localização, NSMicrophoneUsageDescription para microfone.

✓ Fix: adicionar todas as NSXxxUsageDescription necessárias no Info.plist.

4. ITMS-90562

ITMS-90562

This bundle is invalid — CFBundleVersion must be higher

Causa: o build number do novo build é igual ou menor ao de um build anteriormente enviado. O App Store Connect não aceita builds com número duplicado ou regressivo.

Solução: incremente o campo Build no Xcode (Target → General → Build) para um número maior que o último enviado. Gere um novo archive e faça upload novamente.

✓ Fix: incrementar o CFBundleVersion antes de gerar o archive.

5. ITMS-90725

ITMS-90725

SDK Version Issue — linked against iOS SDK older than required

Causa: o app foi compilado com uma versão do iOS SDK que a Apple não aceita mais. A Apple exige que todos os builds usem o SDK mais recente a partir de uma data anunciada anualmente.

Solução: atualize o Xcode para a versão mais recente disponível na Mac App Store. O Xcode mais recente inclui o iOS SDK mais recente automaticamente. Recompile e faça upload do novo build.

✓ Fix: atualizar o Xcode e recompilar.

6. ITMS-90338

ITMS-90338

Non-public API usage detected

Causa: o app (ou uma dependência) usa APIs privadas do iOS — funções internas que a Apple não documenta publicamente e proíbe o uso em apps da loja.

Solução: o e-mail geralmente lista os símbolos problemáticos. Se for um SDK de terceiro, verifique se há uma versão atualizada que resolve o problema ou remova a biblioteca. Se for código próprio, substitua o uso da API privada por alternativas públicas.

✓ Fix: remover ou atualizar o SDK que usa APIs privadas.

7. ITMS-90189

ITMS-90189

Redundant binary upload

Causa: você tentou fazer upload de um build com o mesmo bundle identifier e versão de um build que já está ativo ou em revisão no App Store Connect.

Solução: se há uma versão em revisão que você quer substituir, vá ao App Store Connect, remova a submissão atual, incremente a versão ou build number e faça upload novamente.

✓ Fix: remover a versão em revisão ou incrementar o build number.

8. ITMS-90176

ITMS-90176

Provisioning profile does not include entitlement

Causa: o provisioning profile usado para assinar o app não tem autorização para um entitlement que o app requer (push notifications, iCloud, Game Center, etc.).

Solução: no portal developer.apple.com, edite o App ID e habilite o capability necessário. Regenere o provisioning profile de distribuição, baixe e instale no Xcode. Recompile e faça upload.

✓ Fix: habilitar o capability no App ID e regenerar o provisioning profile.

9. Como diagnosticar erros não listados

Se você recebeu um código ITMS não listado aqui:

✓ Use o Xcode Organizer (Window → Organizer → Archives) para ver os detalhes completos do build e qualquer aviso gerado durante o archive — muitos problemas que resultam em erros ITMS são sinalizados como warnings antes do upload.

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