# Pubblicare un'app iOS senza Mac: guida Expo ed EAS

> Da un PC Windows, Expo ed EAS compilano e inviano la tua app iOS ad Apple. Cosa funziona senza Mac, cosa si blocca e perché ti serve un iPhone.

Pagina originale: [Pubblicare un'app iOS senza Mac: guida Expo ed EAS](https://devoria.fr/it/blog/pubblicare-app-ios-senza-mac-expo-eas)
Autore: [Mehdi Azizi](https://devoria.fr/it/mehdi-azizi)
Pubblicazione: 2026-09-23
Ultima revisione dei contenuti: 2026-10-09


## Si può pubblicare un'app iOS senza Mac?

Sì. Puoi pubblicare un'app iOS senza Mac se la costruisci con Expo e React Native. EAS Build compila la tua app su Mac ospitati da Expo, nel cloud, e poi EAS Submit la invia ad App Store Connect. La documentazione di Expo lo dice chiaramente: EAS Submit funziona su macOS, Linux e Windows, [quindi non ti serve un Mac per consegnare una build iOS](https://docs.expo.dev/submit/ios/).

Ti servono invece tre cose che niente può sostituire: un [account Apple Developer a pagamento](https://devoria.fr/it/blog/account-sviluppatore-apple-prezzo), un iPhone per testare la tua app sul serio e un browser per compilare la scheda in App Store Connect. Il resto di questa guida spiega cosa funziona da un PC Windows, cosa si blocca e in che ordine procedere.

Le mie app iOS passano tutte da questa catena: Expo, EAS Build, poi EAS Submit. Solys e TradaZen sono sull'App Store così. Io lavoro su Mac, ma nessun passaggio della pubblicazione dipende da questo: le build vengono fatte nel cloud di Expo e l'invio ad Apple passa dalla riga di comando.

## Come Expo ed EAS sostituiscono il Mac

Per capire cosa è possibile, devi sapere perché il Mac era obbligatorio. Un'app iOS va compilata con Xcode, lo strumento di Apple, che gira solo su macOS, in una versione abbastanza recente da evitare il rifiuto ITMS-90725. Poi va firmata con un certificato legato al tuo account sviluppatore e infine inviata ad App Store Connect.

Expo divide questo lavoro in tre strumenti:

- **Expo e React Native**: scrivi la tua app in JavaScript o TypeScript, su qualsiasi computer.
- **EAS Build**: lanci il comando dal tuo PC, il codice parte verso un Mac di Expo, che compila e firma l'app per te. Ottieni un file pronto da installare o da inviare.
- **[EAS Submit](https://devoria.fr/it/blog/eas-submit-ios-pubblicare-app-expo-app-store)**: prende questa build e la invia ad App Store Connect. Dopo l'elaborazione da parte di Apple, che controlla per esempio l'icona (ITMS-90717), compare in TestFlight.

Il Mac esiste ancora nella catena. Solo che non è più il tuo. Se vuoi capire perché consiglio questo stack ai principianti, leggi la pagina [React Native ed Expo per un'app mobile](https://devoria.fr/it/expertise/app-mobile-react-native-expo).

## Cosa puoi fare da un PC Windows

### Scrivere il codice dell'app

Tutto lo sviluppo si fa su Windows senza limiti: il tuo editor (VS Code, Cursor), Node.js, il terminale. Se programmi con l'aiuto di Claude o di ChatGPT, non cambia niente nemmeno lì. Su questo tema, leggi [creare un'app iOS con l'IA](https://devoria.fr/it/blog/creare-app-ios-con-ia-errori-verifiche).

### Vedere la tua app sull'iPhone mentre programmi

Per cominciare, l'app Expo Go, installata sul tuo iPhone, legge un QR code mostrato nel terminale e carica il tuo progetto. Ogni modifica compare sul telefono in pochi secondi. È perfetto per le prime schermate. Da maggio 2026, [la versione App Store di Expo Go resta sull'SDK 54](https://expo.dev/changelog/expo-go-and-app-store-may-2026): crea il progetto scegliendo la compatibilità con essa, oppure passa da `eas go` e TestFlight per un SDK più recente.

Expo Go ha un limite: contiene solo i moduli nativi forniti da Expo. Appena la tua app usa una libreria nativa che non c'è, come l'SDK di RevenueCat per gli abbonamenti, ti serve una build di sviluppo: una versione tutta tua dell'app, compilata da EAS Build, che installi sul tuo iPhone.

### Installare una build sull'iPhone senza passare dall'App Store

EAS offre la distribuzione interna. Registri il tuo iPhone con il comando `eas device:create`, poi lanci una build con la distribuzione `internal`. Ricevi un link di installazione. Apple limita questo metodo: [un account può distribuire così al massimo a 100 iPhone all'anno](https://docs.expo.dev/build/internal-distribution/), e ogni nuovo dispositivo richiede una nuova build o una nuova firma. Per te e qualche persona vicina, basta e avanza.

### Gestire i certificati senza Xcode

La firma è ciò che blocca più principianti su Mac, fino all'errore ITMS-90034 all'invio. Con EAS ti colleghi al tuo account Apple dalla riga di comando, e lo strumento [può generare da solo il certificato di distribuzione e il provisioning profile](https://docs.expo.dev/build/setup/). Non apri mai Accesso Portachiavi.

### Inviare la tua app ad Apple e pubblicarla

`eas submit --platform ios` invia la tua build ad App Store Connect. Puoi anche concatenare i due passaggi con l'opzione `--auto-submit` di `eas build`. Tutto il resto avviene nel browser: la scheda App Store, gli [screenshot](https://devoria.fr/it/blog/dimensioni-screenshot-app-store), le dichiarazioni sulla privacy, gli abbonamenti, TestFlight e l'invio in revisione. App Store Connect è un'applicazione web e funziona benissimo su Windows.

## Cosa non è possibile (o è più difficile) senza Mac

### Il simulatore iOS in locale

Il simulatore iOS fa parte di Xcode, quindi non gira su Windows. In pratica non è grave: per i test il tuo iPhone fa meglio del simulatore. A settembre 2026 Expo ha annunciato un simulatore iOS nel cloud, [EAS Simulator](https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators), ancora ad accesso limitato mentre scrivo. Non costruirci sopra il tuo modo di lavorare finché non è aperto a tutti.

### Fare il debug del codice nativo

Se un crash viene dal codice nativo (Swift, Objective-C, una libreria configurata male), gli strumenti di diagnostica di Apple sono in Xcode. Senza Mac dipendi dai log di build di EAS e da uno strumento come Sentry, che riporta i crash dell'app installata. Si può fare, ma è più lento. Ecco perché, per una prima app, conviene restare su librerie compatibili con Expo e mantenute, il che evita anche un rifiuto ITMS-90338 all'invio.

### Scrivere estensioni native a mano

Widget, estensioni di notifica, target nativi specifici: con Expo si può fare grazie ai config plugin, ma senza Xcode per ispezionare il progetto generato, ogni errore ti costa una build in più. Per una prima app, tieni queste funzioni per dopo.

### Compilare in locale

Le build locali di EAS (opzione `--local`) [non sono supportate su Windows](https://docs.expo.dev/build-reference/local-builds/). Su PC, quindi, le tue build iOS passano dal cloud di Expo. Il piano gratuito di EAS include un numero limitato di build al mese, con una coda d'attesa: controlla le condizioni attuali sulla pagina dei prezzi di Expo prima di pianificare una settimana di lavoro intenso.

## L'account Apple Developer: obbligatorio, senza eccezioni

Nessun trucco aggira questo punto, nemmeno l'Apple Developer Enterprise Program, riservato alle app interne delle grandi organizzazioni. Senza [iscrizione all'Apple Developer Program](https://devoria.fr/it/blog/abbonamento-apple-developer-rinnovo-disdetta) niente App Store Connect, niente TestFlight, niente distribuzione interna e [niente invio all'App Store](https://developer.apple.com/support/compare-memberships/). L'iscrizione costa [99 $ all'anno](https://developer.apple.com/help/account/membership/programs-overview/), addebitati nella tua valuta.

Due consigli prima di iscriverti:

- **Scegli bene tra account individuale e organizzazione.** Con l'account individuale, sull'App Store compare il tuo nome come venditore. Con l'organizzazione compare il nome della tua struttura, ma Apple chiede un numero D-U-N-S e una verifica più lunga.
- **Mettici in conto qualche giorno.** La convalida dell'account non è sempre immediata. Iscriviti appena sai che pubblicherai, non il giorno prima dell'invio.

## Il vero bisogno di un iPhone per i test

Tecnicamente puoi pubblicare un'app iOS senza averla mai avuta in mano. Te lo sconsiglio decisamente, e Apple pure: le sue [linee guida di revisione](https://developer.apple.com/app-store/review/guidelines/) (guideline 2.1) chiedono che l'app sia stata testata su un dispositivo, per bug e stabilità, prima dell'invio. I tuoi utenti avranno solo quello: un iPhone vero.

Ecco cosa ti mostra solo un iPhone vero:

- **Il primo avvio reale**, senza server di sviluppo: è lì che si nascondono i crash all'avvio.
- **Gli acquisti in-app** in ambiente di test, per verificare che il tuo paywall mostri i prezzi giusti e che l'abbonamento sblocchi davvero l'app.
- **Le notifiche, la fotocamera, le vibrazioni, i permessi**, che altrove si comportano in modo diverso o non funzionano proprio.
- **Il layout reale**: il notch o la Dynamic Island, la barra Home, la tastiera che copre un campo.
- **La fluidità**, che un computer potente spesso nasconde.

Basta un iPhone usato recente, a patto che giri una versione di iOS supportata dalla tua versione dell'SDK Expo. E se puoi, fatti prestare anche un iPhone di dimensioni diverse: un'app che va bene su uno schermo grande può risultare tagliata su uno piccolo. È proprio quello che mi è costato un rifiuto su Solys, come racconto in [perché Apple rifiuta un'app](https://devoria.fr/it/blog/app-rifiutata-da-apple-perche-casi-reali).

> Senza Mac si può. Senza iPhone, mandi ad Apple un'app che non hai mai visto funzionare.

## I passaggi, in ordine, da Windows

1. **Crea il progetto** con `npx create-expo-app` e testa le prime schermate con Expo Go.
2. **Installa EAS CLI** con `npm install -g eas-cli`, poi `eas login` ed `eas build:configure`.
3. **Iscriviti all'Apple Developer Program** appena il progetto prende forma.
4. **Registra il tuo iPhone** con `eas device:create` e lancia una build di sviluppo.
5. **Crea la scheda dell'app** in App Store Connect, con lo stesso bundle identifier della tua configurazione Expo.
6. **Lancia la build di produzione** con `eas build --platform ios`.
7. **Inviala** con `eas submit --platform ios`, poi testala in TestFlight. La guida [TestFlight per testare la tua app](https://devoria.fr/it/blog/testflight-testare-app-iphone-prima-invio) spiega nel dettaglio questo passaggio.
8. **Compila la scheda e [inviala in revisione](https://devoria.fr/it/blog/waiting-for-review-app-store-connect-stati)** dal browser. Il testo promozionale, invece, potrai cambiarlo dopo senza una nuova versione.

A questo punto tornano spesso tre trappole. Il numero di build deve aumentare a ogni invio: attiva l'incremento automatico di EAS e non ci pensi più. La domanda sulla crittografia blocca ogni build finché non hai risposto: puoi dichiararla una volta per tutte nella configurazione dell'app. E il bundle identifier deve essere identico ovunque, altrimenti EAS Submit non trova la tua app. Per il seguito, dalla scheda all'approvazione, la pagina [pubblicare un'app sull'App Store](https://devoria.fr/it/expertise/pubblicare-app-su-app-store) copre ogni passaggio.

## Pubblicare la tua prima app, senza Mac e senza perderti

Il Mac non è più il vero ostacolo. I veri ostacoli sono altrove: scegliere un'app che abbia una possibilità di guadagnare, collegare abbonamenti che funzionano, preparare un dossier che Apple accetti. È quello che copre il percorso in quattro tappe dell'[iOS Kit](https://devoria.fr/it/kits/ios), da seguire con i tuoi tempi. Per il dossier, l'[Apple Review Kit](https://devoria.fr/it/kits/review-apple) raccoglie la mia checklist prima dell'invio e le note per il revisore. La home mostra come [creare un'app mobile senza partire da zero](https://devoria.fr/it) con Expo e Claude Code, Mac o no.

La decisione finale sulla pubblicazione della tua app resta ad Apple, e nessun kit può garantirla. Quello che posso darti è il metodo che applico sulle mie app.

## Domande frequenti

### Come pubblicare un'app iOS senza Mac?

Con Expo e React Native, un Mac ospitato da Expo sostituisce il tuo. Programmi su qualsiasi computer, EAS Build compila e firma l'app nel cloud, poi EAS Submit la invia ad App Store Connect. Ti servono anche un account Apple Developer a pagamento, un browser per compilare la scheda e un iPhone per testare la tua app sul serio.

### Quali sono i passaggi per pubblicare un'app iOS da Windows?

Crea il progetto con Expo, installa EAS CLI e iscriviti all'Apple Developer Program. Registra il tuo iPhone, lancia una build di sviluppo, poi crea la scheda in App Store Connect con lo stesso bundle identifier della tua configurazione Expo. Lancia poi la build di produzione, inviala con EAS Submit e testala in TestFlight, quindi compila la scheda e invia l'app in revisione dal browser.

### Quanto costa pubblicare un'app sull'App Store?

L'iscrizione all'Apple Developer Program costa 99 $ all'anno, addebitati nella tua valuta. È obbligatoria: senza, non hai né App Store Connect, né TestFlight, né distribuzione interna, né invio all'App Store. Lato Expo, il piano gratuito di EAS include un numero limitato di build al mese, con una coda d'attesa: controlla le condizioni attuali sulla pagina dei prezzi di Expo.

### Serve un iPhone per pubblicare un'app iOS senza Mac?

Tecnicamente no, ma te lo sconsiglio decisamente, e Apple pure: le sue linee guida di revisione (guideline 2.1) chiedono che l'app sia stata testata su un dispositivo per bug e stabilità prima dell'invio. Basta un iPhone usato recente, a patto che giri una versione di iOS supportata dalla tua versione dell'SDK Expo.

### Come testare un'app iOS senza Mac?

Installa l'app Expo Go sul tuo iPhone: legge un QR code mostrato nel terminale e carica il tuo progetto, con ogni modifica visibile in pochi secondi. Expo Go contiene solo i moduli nativi forniti da Expo. Appena la tua app usa una libreria nativa che non c'è, come l'SDK di RevenueCat, ti serve una build di sviluppo compilata da EAS Build. Per testare la build finale, leggi [TestFlight per testare la tua app](https://devoria.fr/it/blog/testflight-testare-app-iphone-prima-invio).

### Quali sono i limiti dello sviluppo iOS senza Mac?

Non puoi usare il simulatore iOS in locale: fa parte di Xcode, quindi non gira su Windows. Le build locali di EAS (`--local`) non sono supportate su Windows: le tue build iOS passano dal cloud di Expo. Fare il debug del codice nativo e scrivere estensioni native a mano resta possibile, ma è più difficile, perché gli strumenti di Apple sono in Xcode.


## Il tuo progetto

[iOS Kit](https://devoria.fr/it/kits/ios): Crea la tua app iPhone con Claude Code: lo Starter Code delle mie app, gli skill che verificano il suo lavoro, e l'Apple Review Kit, l'App Store Screenshots Kit e l'ASO Kit. 129,99 €.
