Índice
1. O que é a Guideline 4.8
A Guideline 4.8 da App Store exige que apps que oferecem login de terceiros (Google, Facebook, Twitter/X, GitHub, etc.) também ofereçam o Sign In with Apple como opção equivalente. A regra existe desde 2019 e ainda surpreende desenvolvedores que não conhecem a exigência.
A ideia da Apple é garantir que seus usuários sempre tenham a opção de criar conta de forma privada — o Sign In with Apple permite que o usuário esconda seu e-mail real.
2. Quando o Sign In with Apple é obrigatório
É obrigatório quando o app oferece qualquer um dos seguintes métodos de autenticação:
- Login com Google
- Login com Facebook
- Login com Twitter / X
- Login com GitHub
- Login com LinkedIn
- Qualquer outro login OAuth de terceiro
Se o seu app tem "Entrar com Google", o Sign In with Apple precisa estar presente — com o mesmo destaque visual.
3. Exceções — quando não é obrigatório
Você não precisa do Sign In with Apple se:
- O app usa apenas login com e-mail e senha próprios (sem terceiros).
- O app é B2B e o login é feito via SSO corporativo (SAML, LDAP, Active Directory).
- O app é de uma empresa educacional e usa login de sistema educacional já existente.
- O app usa login de uma plataforma governamental específica.
- O app não tem sistema de contas — é 100% local, sem login.
✓ Se você removeu todos os logins de terceiros e ficou apenas com e-mail/senha próprio, a Guideline 4.8 não se aplica mais — e você pode explicar isso no Resolution Center ao responder a rejeição.
4. Regras de exibição do botão
A Apple é específica sobre como o botão deve aparecer:
- O botão "Sign In with Apple" deve ter destaque igual ou maior que os outros botões de login de terceiros — não pode ser menor ou mais discreto.
- Deve estar na mesma tela que os outros métodos de login.
- O design do botão deve seguir as diretrizes da Apple — uso do logo Apple branco no fundo preto ou preto no fundo branco. Não altere a aparência do botão padrão.
- O texto deve ser "Sign In with Apple", "Continue with Apple" ou "Log In with Apple" — sem variações.
⚠️ Colocar o botão "Sign In with Apple" em uma posição menos visível que os outros logins (abaixo da dobra, fonte menor, cor menos contrastante) é suficiente para gerar nova rejeição por não cumprir a guideline adequadamente.
5. Como implementar
AuthenticationServices framework
Use o framework nativo AuthenticationServices da Apple. A implementação básica envolve o ASAuthorizationAppleIDProvider e o ASAuthorizationController. A documentação oficial em developer.apple.com tem um tutorial completo com código de exemplo.
@invertase/react-native-apple-authentication
A biblioteca mais usada é @invertase/react-native-apple-authentication. Instale via npm, configure o capability "Sign In with Apple" no Xcode e siga a documentação da biblioteca para implementar o fluxo de login.
sign_in_with_apple package
Adicione o package sign_in_with_apple no pubspec.yaml. Habilite o capability "Sign In with Apple" no Xcode (Target → Signing & Capabilities → "+"). Siga a documentação do package para implementar o botão e o fluxo de autenticação.
expo-apple-authentication
Use o módulo oficial expo-apple-authentication. Adicione ao projeto com expo install expo-apple-authentication e configure o entitlement no app.json. Funciona com Expo Go no iOS 13+.
6. Como responder a rejeição
Se o app foi rejeitado por Guideline 4.8:
- Implemente o Sign In with Apple conforme descrito acima.
- Certifique-se de que o botão está com destaque equivalente aos outros logins.
- Habilite o capability "Sign In with Apple" no portal developer.apple.com e no Xcode.
- Gere um novo build, faça upload e responda no Resolution Center informando que a implementação foi adicionada.
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