Publicar una app iOS sense Mac: guia amb Expo i EAS
Per Mehdi Azizi
Actualitzat el , 9 min
Des d'un PC amb Windows, Expo i EAS compilen la teva app iOS i l'envien a Apple. Què funciona sense Mac, què no, i per què necessites un iPhone.
Es pot publicar una app iOS sense Mac?
Sí. Pots publicar una app iOS sense Mac si la construeixes amb Expo i React Native. EAS Build compila la teva app en Macs allotjats per Expo, al núvol, i després EAS Submit l'envia a App Store Connect. La documentació d'Expo ho diu clarament: EAS Submit funciona a macOS, Linux i Windows, així que no necessites cap Mac per lliurar una build iOS.
En canvi, necessites tres coses que res no substitueix: un compte Apple Developer de pagament, un iPhone per provar la teva app de debò i un navegador per omplir la fitxa a App Store Connect. La resta d'aquesta guia explica què funciona des d'un PC amb Windows, què falla i l'ordre dels passos.
Totes les meves apps iOS passen per aquesta cadena: Expo, EAS Build i després EAS Submit. Solys i TradaZen són a l'App Store així. Jo treballo amb Mac, però cap pas de la publicació en depèn: les builds es fan al núvol d'Expo i l'enviament a Apple passa per la línia d'ordres.
Com Expo i EAS substitueixen el Mac
Per entendre què és possible, cal saber per què el Mac era obligatori. Una app iOS s'ha de compilar amb Xcode, l'eina d'Apple, que només funciona a macOS, i en una versió prou recent per evitar el rebuig ITMS-90725. Després s'ha de signar amb un certificat vinculat al teu compte de desenvolupador i enviar-la a App Store Connect.
Expo divideix aquesta feina en tres eines:
- Expo i React Native: escrius la teva app en JavaScript o TypeScript, en qualsevol ordinador.
- EAS Build: llances l'ordre des del teu PC, el codi va a un Mac d'Expo, que compila i signa l'app per tu. Recuperes un fitxer llest per instal·lar o enviar.
- EAS Submit: agafa aquesta build i l'envia a App Store Connect. Després del processament d'Apple, que comprova per exemple la icona (ITMS-90717), apareix a TestFlight.
El Mac continua existint a la cadena. Simplement, ja no és el teu. Si vols entendre per què recomano aquesta stack als principiants, llegeix la pàgina React Native i Expo per a una app mòbil.
Què pots fer des d'un PC amb Windows
Programar l'app
Tot el desenvolupament es fa a Windows sense restriccions: el teu editor (VS Code, Cursor), Node.js, el terminal. Si programes amb l'ajuda de Claude o de ChatGPT, tampoc no canvia res. Sobre aquest tema, llegeix crear una app iOS amb IA.
Veure la teva app a l'iPhone mentre programes
Per començar, l'app Expo Go, instal·lada al teu iPhone, llegeix un codi QR que surt al terminal i carrega el teu projecte. Cada canvi apareix al telèfon en pocs segons. És ideal per a les primeres pantalles. Des del maig del 2026, la versió d'Expo Go de l'App Store es queda a l'SDK 54: crea el projecte triant la compatibilitat amb aquesta versió, o fes servir eas go i TestFlight per a un SDK més recent.
Expo Go té un límit: només conté els mòduls natius que proporciona Expo. Quan la teva app fa servir una biblioteca nativa que no hi és, com l'SDK de RevenueCat per a les subscripcions, necessites una build de desenvolupament: una versió pròpia de la teva app, compilada per EAS Build, que instal·les al teu iPhone.
Instal·lar una build a l'iPhone sense passar per l'App Store
EAS ofereix la distribució interna. Registres el teu iPhone amb l'ordre eas device:create i després llances una build amb la distribució internal. Reps un enllaç d'instal·lació. Apple limita aquest mètode: un compte pot distribuir així a un màxim de 100 iPhone l'any, i cada dispositiu nou demana una build nova o una signatura nova. Per a tu sol i uns quants coneguts, n'hi ha de sobres.
Gestionar els certificats sense Xcode
La signatura és el que bloqueja més principiants amb Mac, fins a l'error ITMS-90034 en l'enviament. Amb EAS, et connectes al teu compte d'Apple des de la línia d'ordres, i l'eina pot generar ella mateixa el certificat de distribució i el perfil d'aprovisionament. No obres mai Keychain Access.
Enviar l'app a Apple i publicar-la
eas submit --platform ios envia la teva build a App Store Connect. També pots encadenar els dos passos amb l'opció --auto-submit de eas build. Tota la resta passa al navegador: la fitxa de l'App Store, les captures de pantalla, les declaracions de privadesa, les subscripcions, TestFlight i l'enviament a revisió. App Store Connect és una aplicació web i funciona perfectament a Windows.
Què no pots fer (o és més difícil) sense Mac
El simulador d'iOS en local
El simulador d'iOS forma part de Xcode, així que no funciona a Windows. A la pràctica, no és greu: el teu iPhone és millor que el simulador per provar. Expo va anunciar el setembre del 2026 un simulador d'iOS al núvol, EAS Simulator, encara amb accés limitat quan escric això. No hi basis la teva organització mentre no estigui obert a tothom.
Depurar codi natiu
Si un error greu ve del codi natiu (Swift, Objective-C, una biblioteca mal configurada), les eines de diagnòstic d'Apple són a Xcode. Sense Mac, depens dels registres de build d'EAS i d'una eina com Sentry, que recull els tancaments inesperats de l'app instal·lada. Es pot fer, però és més lent. Per això, per a una primera app, val la pena quedar-se amb biblioteques compatibles amb Expo i mantingudes, cosa que també evita un rebuig ITMS-90338 en l'enviament.
Escriure extensions natives a mà
Widgets, extensions de notificacions, targets natius específics: és possible amb Expo gràcies als plugins de configuració, però sense Xcode per inspeccionar el projecte generat, cada error et costa una build més. Per a una primera app, deixa aquestes funcions per més endavant.
Compilar en local
Les builds locals d'EAS (opció --local) no són compatibles amb Windows. Al PC, doncs, les teves builds iOS passen pel núvol d'Expo. El pla gratuït d'EAS inclou un nombre limitat de builds al mes, amb cua d'espera: comprova les condicions actuals a la pàgina de preus d'Expo abans de planificar una setmana de feina intensa.
El compte Apple Developer: obligatori, sense excepcions
Cap truc no se salta aquest punt, ni tan sols l'Apple Developer Enterprise Program, reservat a les apps internes de grans organitzacions. Sense inscripció a l'Apple Developer Program, no hi ha App Store Connect, ni TestFlight, ni distribució interna, ni enviament a l'App Store. La inscripció costa 99 $ l'any, cobrats en la teva moneda.
Dos consells abans d'inscriure't:
- Tria bé entre compte individual i d'organització. En individual, és el teu nom el que surt com a venedor a l'App Store. En organització, és el nom de la teva estructura, però aleshores Apple demana un número D-U-N-S i una verificació més llarga.
- Compta uns quants dies. La validació del compte no sempre és immediata. Inscriu-te tan bon punt sàpigues que publicaràs, no el dia abans de l'enviament.
La necessitat real d'un iPhone per provar
Tècnicament es pot publicar una app iOS sense haver-la tingut mai a les mans. T'ho desaconsello rotundament, i Apple també: les seves normes de revisió (guideline 2.1) demanen que l'app s'hagi provat en un dispositiu, per detectar errors i problemes d'estabilitat, abans de l'enviament. Els teus usuaris només tindran això: un iPhone de veritat.
Això és el que només un iPhone de veritat et mostra:
- El primer arrencament real, sense servidor de desenvolupament: aquí s'amaguen els tancaments en iniciar l'app.
- Les compres integrades en entorn de proves, per comprovar que el teu paywall mostra els preus correctes i que la subscripció desbloqueja bé l'app.
- Les notificacions, la càmera, les vibracions, els permisos, que es comporten diferent, o no funcionen gens, en altres llocs.
- La disposició real: la ranura o la Dynamic Island, la barra d'inici, el teclat que tapa un camp.
- La fluïdesa, que un ordinador potent sovint amaga.
N'hi ha prou amb un iPhone de segona mà recent, sempre que pugui executar una versió d'iOS compatible amb la teva versió de l'SDK d'Expo. I si pots, demana prestat també un iPhone d'una mida diferent: una app que es veu bé en una pantalla gran pot quedar tallada en una de petita. Això és exactament el que em va costar un rebuig a Solys, ho explico a per què Apple rebutja una app.
Sense Mac, és possible. Sense iPhone, envies a Apple una app que no has vist mai funcionar.
Els passos, en ordre, des de Windows
- Crea el projecte amb
npx create-expo-appi prova les primeres pantalles amb Expo Go. - Instal·la EAS CLI amb
npm install -g eas-cli, despréseas loginieas build:configure. - Inscriu-te a l'Apple Developer Program quan el projecte comenci a prendre forma.
- Registra el teu iPhone amb
eas device:createi llança una build de desenvolupament. - Crea la fitxa de l'app a App Store Connect, amb el mateix bundle identifier que a la configuració d'Expo.
- Llança la build de producció amb
eas build --platform ios. - Envia-la amb
eas submit --platform iosi prova-la a TestFlight. La guia TestFlight per provar la teva app explica aquest pas en detall. - Omple la fitxa i envia-la a revisió des del navegador. El text promocional, en canvi, el podràs canviar després sense versió nova.
En aquesta fase hi ha tres paranys habituals. El número de build ha d'augmentar a cada enviament: activa l'increment automàtic d'EAS i oblida-te'n. La pregunta sobre el xifratge bloqueja cada build fins que no la respons: la pots declarar d'un cop per sempre a la configuració de l'app. I el bundle identifier ha de ser idèntic a tot arreu, si no EAS Submit no troba la teva app. Per a la resta, de la fitxa a l'aprovació, la pàgina publicar una aplicació a l'App Store cobreix cada pas.
Publicar la teva primera app, sense Mac i sense perdre't
El Mac ja no és l'obstacle de debò. Els obstacles reals són altres: triar una app que tingui opcions de generar ingressos, connectar subscripcions que funcionin, preparar un expedient que Apple accepti. És el que cobreix el recorregut en quatre passos de l'iOS Kit, al teu ritme. Per a l'expedient, l'Apple Review Kit reuneix la meva checklist abans de l'enviament i les notes per al revisor. La pàgina d'inici mostra com crear una app mòbil sense començar de zero amb Expo i Claude Code, amb Mac o sense.
La decisió final de publicar la teva app és d'Apple, i cap kit no la pot garantir. El que et puc oferir és el mètode que aplico a les meves pròpies apps.
Preguntes freqüents
Com es publica una app iOS sense Mac?
Amb Expo i React Native, un Mac allotjat per Expo substitueix el teu. Programes en qualsevol ordinador, EAS Build compila i signa l'app al núvol i després EAS Submit l'envia a App Store Connect. També necessites un compte Apple Developer de pagament, un navegador per omplir la fitxa i un iPhone per provar la teva app de debò.
Quins són els passos per publicar una app iOS des de Windows?
Crea el projecte amb Expo, instal·la EAS CLI i inscriu-te a l'Apple Developer Program. Registra el teu iPhone, llança una build de desenvolupament i crea la fitxa a App Store Connect amb el mateix bundle identifier que a la configuració d'Expo. Després llança la build de producció, envia-la amb EAS Submit i prova-la a TestFlight, i finalment omple la fitxa i envia l'app a revisió des del navegador.
Quant costa publicar una app a l'App Store?
La inscripció a l'Apple Developer Program costa 99 $ l'any, cobrats en la teva moneda. És obligatòria: sense ella no hi ha App Store Connect, ni TestFlight, ni distribució interna, ni enviament a l'App Store. Pel que fa a Expo, el pla gratuït d'EAS inclou un nombre limitat de builds al mes, amb cua d'espera: comprova les condicions actuals a la pàgina de preus d'Expo.
Cal un iPhone per publicar una app iOS sense Mac?
Tècnicament no, però t'ho desaconsello rotundament, i Apple també: les seves normes de revisió (guideline 2.1) demanen que l'app s'hagi provat en un dispositiu, per detectar errors i problemes d'estabilitat, abans de l'enviament. N'hi ha prou amb un iPhone de segona mà recent, sempre que pugui executar una versió d'iOS compatible amb la teva versió de l'SDK d'Expo.
Com es prova una app iOS sense Mac?
Instal·la l'app Expo Go al teu iPhone: llegeix un codi QR que surt al terminal i carrega el projecte, i cada canvi es veu en pocs segons. Expo Go només conté els mòduls natius que proporciona Expo. Quan la teva app fa servir una biblioteca nativa que no hi és, com l'SDK de RevenueCat, necessites una build de desenvolupament compilada per EAS Build. Per provar la build final, llegeix TestFlight per provar la teva app.
Quins límits té el desenvolupament iOS sense Mac?
No pots fer servir el simulador d'iOS en local: forma part de Xcode, així que no funciona a Windows. Les builds locals d'EAS (--local) no són compatibles amb Windows: les teves builds iOS passen pel núvol d'Expo. Depurar codi natiu i escriure extensions natives a mà continuen sent possibles, però són més difícils, perquè les eines d'Apple són a Xcode.