> ## 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

# Build e verifica su dispositivo

Distingui un export Expo riuscito da una build pronta al rilascio.

## Installazione e configurazione

Prima di qualsiasi passaggio, leggere [Prima di iniziare](https://supastack.dev/it/docs/web/before-you-start.md) e [Nozioni di base sui terminali](https://supastack.dev/it/docs/web/terminal-basics.md). Queste istruzioni presuppongono che tu abbia aperto l'intero supastack monorepo in VS Code; la sua radice package.json contrassegna la radice del repository. Nei comandi pnpm, un pacchetto dell'area di lavoro è un'app o una cartella di codice condiviso; nel prodotto, uno spazio di lavoro è il contenitore dei dati di un team e il limite di sicurezza. corepack pnpm --filter ... seleziona un pacchetto dal monorepo mentre i comandi vengono eseguiti dalla sua radice. Se hai aperto solo una cartella mobile o desktop sincronizzata, non contiene il backend Web, la configurazione di Docker o gli script root: esegui il backend da questo monorepo o da un server ospitato raggiungibile e utilizza gli script della cartella della piattaforma. Una variabile di ambiente è un'impostazione denominata memorizzata in un file .env locale o nel dashboard dell'hosting; riavvia l'app pertinente dopo averla modificata e mantieni i segreti del server fuori dai valori NEXT_PUBLIC_ e EXPO_PUBLIC_.

1. Apri apps/mobile/eas.json e apps/mobile/app.json in VS Code per rivedere le impostazioni di sviluppo, anteprima e produzione.

2. Aggiungere il client di sviluppo nativo dalla root del repository con corepack pnpm --filter @supastack/mobile exec expo install expo-dev-client. Esegui corepack pnpm --filter @supastack/mobile typecheck, quindi corepack pnpm --filter @supastack/mobile build per l'esportazione JavaScript locale.

3. Per i test nativi, accedi al tuo account Expo, modifica la cartella del terminale con cd apps/mobile, quindi esegui npx eas-cli@latest build --platform android --profile development. Utilizza ios per richiedere una build iOS cloud EAS da qualsiasi sistema operativo; è necessario un Mac con Xcode per eseguire il simulatore iOS o compilare localmente. Previsto: l'esportazione verifica il bundle JavaScript e EAS produce un'app di sviluppo nativa installabile. Consulta la [guida allo sviluppo di Expo](https://docs.expo.dev/develop/development-builds/faq/) per sapere perché Expo Go non può aggiungere librerie native.

La build dell'area di lavoro mobile richiama il proprio script di esportazione. Ciò convalida il raggruppamento per le destinazioni configurate; la firma del negozio, la configurazione della distribuzione e l'accettazione del dispositivo fisico rimangono attività separate.

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


## Comandi da copiare

Segui i commenti per vedere in quale cartella viene eseguito un comando. Se due terminali sono etichettati, apri due finestre di terminale e mantieni il primo comando in esecuzione mentre usi il secondo.

```
# 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
```


## Flusso di implementazione

Dopo aver modificato un pacchetto condiviso usato dal mobile, esegui i test del contratto. Controlla safe area native, tastiera, leggibilità del testo e movimento ridotto sui dispositivi supportati.

Mantieni gli acquisti nativi entro il confine RevenueCat esistente. Un pacchetto di successo non deve introdurre Stripe Checkout nell'interfaccia mobile come sostituto di un'integrazione di acquisto nativa verificata.

Utilizza una build di sviluppo EAS su iOS o Android per convalidare `react-native-purchases` rispetto ai prodotti sandbox configurati. Expo Go e lo script di esportazione dell'area di lavoro non convalidano le transazioni del negozio.


## Verifica e risoluzione dei problemi

Se la build EAS dice che manca expo-dev-client, ripeti il comando di installazione e conferma che apps/mobile/package.json ora lo elenca. Esegui EAS da apps/mobile in modo che trovi eas.json. Se EAS segnala un progetto o una configurazione di firma mancante, controlla il tuo account Expo e le impostazioni del progetto. Expo Go e un'esportazione riuscita continuano a non testare StoreKit o Play Billing; utilizzare una build di sviluppo EAS con prodotti sandbox. Una build iOS cloud può essere avviata su Windows o Linux; solo il simulatore/build iOS locale richiede un Mac con Xcode.

Registra dispositivo, build, ambiente API e metodo di accesso usati per l’accettazione. Verifica ritorno dai deep link, ripristino sessione, rifiuto degli entitlement e logout. Riporta l’export separatamente dalle verifiche store e dispositivo.

Quando l'esportazione viene completata e l'obiettivo è un rilascio, segui Invia agli app store: i profili eas.json spediti e gli script build:/submit: trasportano l'app su Google Play e sull'App Store.


Per continuare la configurazione, leggi [Pubblicazione sugli store](https://supastack.dev/it/docs/mobile/publishing.md).


## Successivo

[Pubblicazione sugli store](https://supastack.dev/it/docs/mobile/publishing.md)
