> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Builds e verificação em dispositivos

Diferencie um export bem-sucedido do Expo de um build nativo pronto para release.

## Instalação e configuração

Antes de qualquer etapa, leia [Antes de começar](https://supastack.dev/pt/docs/web/before-you-start.md) e [Noções básicas sobre terminal](https://supastack.dev/pt/docs/web/terminal-basics.md). Estas instruções presumem que você abriu o monorepo supastack completo no VS Code; sua raiz package.json marca a raiz do repositório. Nos comandos pnpm, um pacote de espaço de trabalho é um aplicativo ou uma pasta de código compartilhado; no produto, um espaço de trabalho é o contêiner de dados e o limite de segurança de uma equipe. corepack pnpm --filter ... seleciona um pacote do monorepo enquanto os comandos são executados a partir de sua raiz. Se você abriu apenas uma pasta móvel ou desktop sincronizada, ela não contém o back-end da Web, a configuração do Docker ou os scripts raiz: execute o back-end deste monorepo ou de um servidor hospedado acessível e use os próprios scripts da pasta da plataforma. Uma variável de ambiente é uma configuração nomeada armazenada em um arquivo .env local ou no painel de hospedagem; reinicie o aplicativo relevante após alterá-lo e mantenha os segredos do servidor fora dos valores NEXT_PUBLIC_ e EXPO_PUBLIC_.

1. Abra apps/mobile/eas.json e apps/mobile/app.json no VS Code para revisar as configurações de desenvolvimento, visualização e produção.

2. Adicione o cliente de desenvolvimento nativo da raiz do repositório com corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client. Execute corepack pnpm --filter @supastack/mobile typecheck e, em seguida, corepack pnpm --filter @supastack/mobile build para a exportação JavaScript local.

3. Para testes nativos, faça login em sua conta Expo, altere a pasta do terminal com cd apps/mobile e execute npx eas-cli@latest build --platform android --profile development. Use ios para solicitar uma versão iOS em nuvem EAS de qualquer sistema operacional; é necessário um Mac com Xcode para executar o simulador iOS ou compilar localmente. Esperado: a exportação verifica o pacote JavaScript e EAS produz um aplicativo de desenvolvimento nativo instalável. Consulte o [guia de construção de desenvolvimento de Expo](https://docs.expo.dev/develop/development-builds/faq/) para saber por que Expo Go não pode adicionar bibliotecas nativas.

A construção do espaço de trabalho móvel invoca seu script de exportação. Isso valida o agrupamento dos destinos configurados; assinatura de loja, configuração de distribuição e aceitação de dispositivos físicos permanecem trabalhos separados.

```
corepack pnpm --filter @supastack/mobile typecheck
corepack pnpm --filter @supastack/mobile test
corepack pnpm --filter @supastack/mobile build
```


## Comandos para copiar

Siga os comentários para ver em qual pasta um comando é executado. Se dois terminais estiverem rotulados, abra duas janelas de terminal e mantenha o primeiro comando em execução enquanto usa o segundo.

```
# From the monorepo root, install the native development client once:
corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client
corepack pnpm --filter @supastack/mobile typecheck
corepack pnpm --filter @supastack/mobile build

# EAS needs to run where apps/mobile/eas.json is located:
cd apps/mobile
npx eas-cli@latest build --platform android --profile development
```


## Fluxo de implementação

Depois de alterar um pacote usado pelo app móvel, execute os testes de contrato correspondentes. Verifique também áreas seguras da tela, comportamento do teclado, legibilidade do texto e redução de movimento nos dispositivos-alvo.

Mantenha as compras nativas atrás dos limites RevenueCat existentes. Um pacote bem-sucedido não deve introduzir o Stripe Checkout na interface móvel como um substituto para uma integração de compra nativa verificada.

Use uma versão de desenvolvimento EAS em iOS ou Android para validar `react-native-purchases` em relação a produtos sandbox configurados. Expo Go e o script de exportação do espaço de trabalho não validam transações de armazenamento.


## Verificação e resolução de problemas

Se a compilação EAS disser que expo-dev-client está faltando, repita o comando de instalação e confirme que apps/mobile/package.json agora o lista. Execute EAS de apps/mobile para encontrar eas.json. Se EAS relatar a falta de um projeto ou configuração de assinatura, verifique sua conta Expo e as configurações do projeto. Expo Go e uma exportação bem-sucedida ainda não testam StoreKit ou Play Billing; use uma compilação de desenvolvimento EAS com produtos sandbox. Uma construção iOS na nuvem pode ser iniciada no Windows ou Linux; apenas o trabalho de construção/simulador iOS local precisa de um Mac com Xcode.

Registre o dispositivo, o build, o ambiente da API e o método de login usados na aceitação. Verifique retorno de links profundos, restauração da sessão, negação de entitlements e logout. Registre o sucesso do export separadamente da aceitação em dispositivos e lojas.

Quando a exportação for aprovada e o objetivo for um lançamento, siga Enviar para as lojas de aplicativos — os perfis eas.json enviados e os scripts build:/submit: levam o aplicativo ao Google Play e à App Store.


Para continuar a configuração, leia [Publicação nas lojas de apps](https://supastack.dev/pt/docs/mobile/publishing.md).


## Seguinte

[Publicação nas lojas de apps](https://supastack.dev/pt/docs/mobile/publishing.md)
