Dinheiro real não pode se movimentar enquanto você testa uma assinatura. O sandbox resolve isso: é um ambiente de teste em que as compras se comportam como as reais, mas ninguém é cobrado. Este guia cobre a configuração, o relógio acelerado e um plano de teste para assinaturas. A Apple muda detalhes com o tempo, então trate as páginas vinculadas como referência e confira-as antes de confiar em um número.
Contas de sandbox
Segundo a Apple, você cria contas de sandbox no App Store Connect ("Users and Access" > "Sandbox", ou Usuários e Acesso > Sandbox) e entra com elas em aparelhos que rodam uma build do seu app assinada para desenvolvimento. O Modo de Desenvolvedor precisa estar ativado em cada aparelho. Pontos da página da Apple, acessada em 2026-10-23:
- O endereço de e-mail não pode já estar registrado como um ID Apple. A Apple sugere um endereço dedicado para cada testador.
- Contas de sandbox valem só para teste; elas não entram nem compram na App Store real.
- Cada conta pertence a uma loja (storefront), e você pode mudar o país ou a região dela depois, para testar outras lojas.
- No aparelho, use a opção de login de sandbox em "Settings" (Ajustes), não as configurações da sua conta Apple principal. Para compras no app, você não precisa sair da sua conta pessoal.
O relógio acelerado
Assinaturas no sandbox renovam mais rápido que as reais. Segundo a página da Apple (acessada em 2026-10-23), o padrão é 1 mês = 5 minutos, e a velocidade depende da duração da assinatura:
| Duração da assinatura | Renovação padrão no sandbox |
|---|---|
| 1 semana | 3 minutos |
| 1 mês | 5 minutos |
| 2 meses | 10 minutos |
| 3 meses | 15 minutos |
| 6 meses | 30 minutos |
| 1 ano | 1 hora |
Você pode mudar a velocidade de renovação de um testador nas configurações da conta de sandbox (opções: a cada 3 minutos, 5 minutos, 30 minutos ou por hora). A velocidade também define a duração das novas tentativas de cobrança e do período de carência de cobrança para aquele testador. A Apple informa que as assinaturas renovam até 12 vezes antes que a renovação automática pare na 13ª tentativa, então planeje testes longos com esse limite em mente.
O que verificar em assinaturas
- Compra. Compre cada produto. Confira a exibição do preço, o texto localizado e o desbloqueio após o sucesso.
- Estado de direitos. Depois da compra, reinicie o app e reinstale-o. O acesso continua correto?
- Renovação. Espere uma renovação e confirme que o app e o seu servidor registram o novo período.
- Cancelamento. Cancele e confirme que o acesso continua até o fim do período e então para.
- Expiração. Deixe a assinatura vencer. O app precisa bloquear o conteúdo pago e mostrar um caminho para voltar.
- Novas tentativas de cobrança e carência. Se você usa esses estados, teste-os na velocidade acelerada.
- Restaurar. Teste restaurar compras em uma instalação limpa com a mesma conta.
- Upgrade, downgrade, crossgrade. Troque entre planos do mesmo grupo e confira o estado resultante.
- Ofertas. Períodos de teste gratuitos e ofertas introdutórias: teste a elegibilidade e o que acontece quando o teste termina.
- Compra interrompida. Cancele a folha de compra ou perca a rede no meio da compra. O app não pode desbloquear nem quebrar.
- Verificações no servidor. Se seu backend valida recibos ou notificações, confirme que ele recebe e trata os eventos do sandbox separadamente dos de produção.
A tela de paywall em si precisa de checagens separadas: veja como testar seu paywall.
Limites
O comportamento do sandbox é parecido com o de produção, mas não idêntico. Faça uma checagem final em uma build distribuída do jeito que os usuários a recebem, e leia a documentação atual da Apple antes de enviar.
Próximo passo
Uma segunda pessoa comprando pelo seu fluxo encontra confusões que você não enxerga mais. Na AppReviewX, outros desenvolvedores dão feedback privado e estruturado; cada feedback que você escreve vale um crédito. Contas novas começam com 0 créditos.
Hub: guia de testes de apps iOS. Relacionados: conta de demonstração para a App Review, checklist de prontidão para a App Review do iOS.