Publikovanie iOS aplikácie bez Macu: návod s Expo a EAS
Autor: Mehdi Azizi
Aktualizované , 9 min
Z Windows PC Expo a EAS skompilujú a pošlú tvoju iOS aplikáciu Apple. Čo bez Macu funguje, kde to viazne a prečo potrebuješ iPhone.
Dá sa publikovať iOS aplikácia bez Macu?
Áno. iOS aplikáciu môžeš publikovať bez Macu, ak ju stavíš s Expo a React Native. EAS Build skompiluje tvoju aplikáciu na Macoch, ktoré hostuje Expo v cloude, a EAS Submit ju potom pošle do App Store Connect. Dokumentácia Expo to hovorí jasne: EAS Submit funguje na macOS, Linuxe aj Windows, takže na odoslanie iOS buildu Mac nepotrebuješ.
Na druhej strane potrebuješ tri veci, ktoré nič nenahradí: platený účet Apple Developer, iPhone, na ktorom aplikáciu naozaj otestuješ, a prehliadač na vyplnenie karty v App Store Connect. Zvyšok návodu rozoberá, čo z Windows PC funguje, kde to viazne a v akom poradí ísť.
Všetky moje iOS aplikácie idú touto cestou: Expo, EAS Build, potom EAS Submit. Takto sú na App Store Solys aj TradaZen. Pracujem na Macu, ale žiadny krok publikovania od neho nezávisí: buildy sa robia v cloude Expo a odoslanie do Apple ide cez príkazový riadok.
Ako Expo a EAS nahrádzajú Mac
Aby si pochopil, čo je možné, musíš vedieť, prečo bol Mac povinný. iOS aplikácia sa musí skompilovať v Xcode, nástroji od Apple, ktorý beží len na macOS, a to vo verzii dosť novej na to, aby si sa vyhol zamietnutiu ITMS-90725. Potom sa musí podpísať certifikátom naviazaným na tvoj vývojársky účet a odoslať do App Store Connect.
Expo túto prácu delí do troch nástrojov:
- Expo a React Native: aplikáciu píšeš v JavaScripte alebo TypeScripte na akomkoľvek počítači.
- EAS Build: príkaz spustíš zo svojho PC, kód odíde na Mac od Expo, ktorý aplikáciu za teba skompiluje a podpíše. Dostaneš súbor pripravený na inštaláciu alebo odoslanie.
- EAS Submit: vezme tento build a pošle ho do App Store Connect. Po spracovaní na strane Apple, ktoré kontroluje napríklad ikonu (ITMS-90717), sa objaví v TestFlight.
Mac v reťazci stále je. Len už nie je tvoj. Ak chceš vedieť, prečo tento stack odporúčam začiatočníkom, prečítaj si stránku React Native a Expo pre mobilnú aplikáciu.
Čo sa dá robiť z Windows PC
Programovať aplikáciu
Celý vývoj prebieha na Windows bez obmedzení: tvoj editor (VS Code, Cursor), Node.js, terminál. Ak programuješ s pomocou Claude alebo ChatGPT, ani tu sa nič nemení. K tejto téme si prečítaj ako vytvoriť iOS aplikáciu s AI.
Vidieť aplikáciu na iPhone, kým programuješ
Na začiatok stačí aplikácia Expo Go nainštalovaná na iPhone: načíta QR kód zobrazený v termináli a spustí tvoj projekt. Každá zmena sa na telefóne objaví za pár sekúnd. Na prvé obrazovky je to ideálne. Od mája 2026 zostáva verzia Expo Go z App Store na SDK 54: pri vytváraní projektu zvoľ kompatibilitu s ňou, alebo pre novšie SDK použi eas go a TestFlight.
Expo Go má jeden limit: obsahuje len natívne moduly, ktoré dodáva Expo. Hneď ako tvoja aplikácia použije natívnu knižnicu, ktorá v ňom nie je, napríklad SDK od RevenueCat na predplatné, potrebuješ development build: vlastnú verziu svojej aplikácie, skompilovanú cez EAS Build, ktorú si nainštaluješ na iPhone.
Nainštalovať build na iPhone bez App Store
EAS ponúka internú distribúciu. iPhone zaregistruješ príkazom eas device:create a potom spustíš build s distribúciou internal. Dostaneš odkaz na inštaláciu. Apple túto metódu obmedzuje: jeden účet takto môže distribuovať najviac na 100 iPhonov ročne a každé nové zariadenie si vyžaduje nový build alebo nové podpísanie. Pre teba a pár blízkych to bohato stačí.
Spravovať certifikáty bez Xcode
Podpisovanie je to, na čom sa aj na Macu zasekne najviac začiatočníkov, až po chybu ITMS-90034 pri odoslaní. S EAS sa prihlásiš k Apple účtu z príkazového riadku a nástroj vie sám vygenerovať distribučný certifikát aj provisioning profil. Keychain Access nikdy neotvoríš.
Poslať aplikáciu Apple a publikovať ju
eas submit --platform ios pošle tvoj build do App Store Connect. Oba kroky môžeš spojiť aj voľbou --auto-submit pri eas build. Všetko ostatné sa deje v prehliadači: karta v App Store, screenshoty, údaje o ochrane súkromia, predplatné, TestFlight a odoslanie na kontrolu. App Store Connect je webová aplikácia a na Windows funguje výborne.
Čo bez Macu nejde (alebo ide ťažšie)
Lokálny iOS simulátor
iOS simulátor je súčasťou Xcode, takže na Windows nebeží. V praxi to nevadí: na testovanie je tvoj iPhone lepší než simulátor. Expo v septembri 2026 ohlásilo iOS simulátor v cloude, EAS Simulator, ktorý je v čase písania stále v obmedzenom prístupe. Kým nie je otvorený pre všetkých, nestavaj na ňom svoj postup.
Ladenie natívneho kódu
Ak pád pochádza z natívneho kódu (Swift, Objective-C, zle nakonfigurovaná knižnica), diagnostické nástroje Apple sú v Xcode. Bez Macu závisíš od logov buildu v EAS a od nástroja ako Sentry, ktorý hlási pády nainštalovanej aplikácie. Dá sa to, ale je to pomalšie. Preto sa pri prvej aplikácii oplatí držať udržiavaných knižníc kompatibilných s Expo, čo ti ušetrí aj zamietnutie ITMS-90338 pri odoslaní.
Ručné písanie natívnych rozšírení
Widgety, rozšírenia notifikácií, špecifické natívne targety: s Expo to vďaka config pluginom ide, ale bez Xcode na kontrolu vygenerovaného projektu ťa každá chyba stojí ďalší build. Pri prvej aplikácii si tieto funkcie nechaj na neskôr.
Lokálna kompilácia
Lokálne buildy EAS (voľba --local) nie sú na Windows podporované. Na PC teda tvoje iOS buildy idú cez cloud Expo. Bezplatný plán EAS obsahuje obmedzený počet buildov mesačne s frontom: skôr než si naplánuješ týždeň intenzívnej práce, over si aktuálne podmienky na cenníkovej stránke Expo.
Účet Apple Developer: povinný, bez výnimky
Tento bod žiadny trik neobíde, ani Apple Developer Enterprise Program, ktorý je vyhradený pre interné aplikácie veľkých organizácií. Bez členstva v Apple Developer Program nemáš App Store Connect, TestFlight, internú distribúciu ani možnosť odoslať aplikáciu do App Store. Členstvo stojí 99 $ ročne, strhnutých v tvojej mene.
Dve rady pred registráciou:
- Dobre si vyber medzi individuálnym účtom a organizáciou. Pri individuálnom účte sa v App Store ako predajca zobrazuje tvoje meno. Pri organizácii názov tvojej firmy, ale Apple potom vyžaduje číslo D-U-N-S a dlhšie overovanie.
- Počítaj s niekoľkými dňami. Schválenie účtu nie je vždy okamžité. Zaregistruj sa hneď, ako vieš, že budeš publikovať, nie deň pred odoslaním.
Skutočná potreba iPhonu na testovanie
Technicky môžeš publikovať iOS aplikáciu bez toho, aby si ju kedy držal v ruke. Dôrazne ti to neodporúčam, a Apple tiež nie: jeho pravidlá kontroly (guideline 2.1) vyžadujú, aby bola aplikácia pred odoslaním otestovaná na zariadení kvôli chybám a stabilite. Tvoji používatelia budú mať len toto: skutočný iPhone.
Toto ti ukáže iba skutočný iPhone:
- Skutočné prvé spustenie, bez vývojového servera: tam sa skrývajú pády pri štarte.
- Nákupy v aplikácii v testovacom prostredí, aby si overil, že paywall ukazuje správne ceny a predplatné aplikáciu naozaj odomkne.
- Notifikácie, kamera, vibrácie, povolenia, ktoré sa inde správajú inak alebo vôbec.
- Skutočné rozloženie: výrez alebo Dynamic Island, home indikátor, klávesnica, ktorá prekryje pole.
- Plynulosť, ktorú výkonný počítač často zamaskuje.
Stačí novší iPhone z druhej ruky, pokiaľ na ňom beží verzia iOS podporovaná tvojou verziou Expo SDK. A ak môžeš, požičaj si aj iPhone inej veľkosti: aplikácia, ktorá funguje na veľkom displeji, môže byť na malom orezaná. Presne za toto som dostal zamietnutie pri Solys, píšem o tom v článku prečo Apple zamieta aplikácie.
Bez Macu sa to dá. Bez iPhonu posielaš Apple aplikáciu, ktorú si nikdy nevidel fungovať.
Kroky v poradí, z Windows
- Vytvor projekt cez
npx create-expo-appa prvé obrazovky otestuj v Expo Go. - Nainštaluj EAS CLI cez
npm install -g eas-cli, potomeas loginaeas build:configure. - Zaregistruj sa do Apple Developer Program, hneď ako projekt naberie tvar.
- Zaregistruj iPhone cez
eas device:createa spusti development build. - Vytvor kartu aplikácie v App Store Connect s rovnakým bundle identifierom ako v konfigurácii Expo.
- Spusti produkčný build cez
eas build --platform ios. - Odošli ho cez
eas submit --platform iosa otestuj v TestFlight. Tento krok podrobne rozoberá návod TestFlight na testovanie aplikácie. - Vyplň kartu a pošli aplikáciu na kontrolu z prehliadača. Promotional Text potom môžeš meniť aj bez novej verzie.
V tejto fáze sa často opakujú tri pasce. Číslo buildu musí pri každom odoslaní stúpnuť: zapni automatické zvyšovanie v EAS a nemusíš na to myslieť. Otázka o šifrovaní blokuje každý build, kým na ňu neodpovieš: môžeš ju raz a navždy deklarovať v konfigurácii aplikácie. A bundle identifier musí byť všade rovnaký, inak EAS Submit tvoju aplikáciu nenájde. Pre ďalší postup, od karty po schválenie, pokrýva každý krok stránka publikovanie aplikácie v App Store.
Publikuj svoju prvú aplikáciu, bez Macu a bez blúdenia
Mac už nie je skutočná prekážka. Tie skutočné sú inde: vybrať aplikáciu, ktorá má šancu zarábať, zapojiť fungujúce predplatné, pripraviť podklady, ktoré Apple prijme. Presne to pokrýva štvorkroková cesta v iOS Kit, ktorou prejdeš vlastným tempom. Na podklady je tu Apple Review Kit s mojím checklistom pred odoslaním a poznámkami pre testera. Na úvodnej stránke uvidíš, ako vytvoriť mobilnú aplikáciu bez začínania od nuly s Expo a Claude Code, s Macom aj bez neho.
Konečné rozhodnutie o publikovaní tvojej aplikácie zostáva na Apple a žiadny kit ho nezaručí. Čo ti môžem dať, je metóda, ktorú používam na vlastných aplikáciách.
Často kladené otázky
Ako publikovať iOS aplikáciu bez Macu?
S Expo a React Native nahradí tvoj Mac Mac hostovaný u Expo. Programuješ na akomkoľvek počítači, EAS Build aplikáciu skompiluje a podpíše v cloude a EAS Submit ju pošle do App Store Connect. Potrebuješ aj platený účet Apple Developer, prehliadač na vyplnenie karty a iPhone, na ktorom aplikáciu naozaj otestuješ.
Aké sú kroky na publikovanie iOS aplikácie z Windows?
Vytvor projekt s Expo, nainštaluj EAS CLI a zaregistruj sa do Apple Developer Program. Zaregistruj iPhone, spusti development build a potom vytvor kartu v App Store Connect s rovnakým bundle identifierom ako v konfigurácii Expo. Následne spusti produkčný build, odošli ho cez EAS Submit a otestuj v TestFlight, potom vyplň kartu a pošli aplikáciu na kontrolu z prehliadača.
Koľko stojí publikovanie aplikácie v App Store?
Členstvo v Apple Developer Program stojí 99 $ ročne, strhnutých v tvojej mene. Je povinné: bez neho nemáš App Store Connect, TestFlight, internú distribúciu ani možnosť odoslať aplikáciu do App Store. Na strane Expo obsahuje bezplatný plán EAS obmedzený počet buildov mesačne s frontom: over si aktuálne podmienky na cenníkovej stránke Expo.
Potrebujem iPhone na publikovanie iOS aplikácie bez Macu?
Technicky nie, ale dôrazne ti to neodporúčam, a Apple tiež nie: jeho pravidlá kontroly (guideline 2.1) vyžadujú, aby bola aplikácia pred odoslaním otestovaná na zariadení kvôli chybám a stabilite. Stačí novší iPhone z druhej ruky, pokiaľ na ňom beží verzia iOS podporovaná tvojou verziou Expo SDK.
Ako otestovať iOS aplikáciu bez Macu?
Nainštaluj si na iPhone aplikáciu Expo Go: načíta QR kód zobrazený v termináli a spustí tvoj projekt, pričom každá zmena je viditeľná za pár sekúnd. Expo Go obsahuje len natívne moduly, ktoré dodáva Expo. Hneď ako tvoja aplikácia použije natívnu knižnicu, ktorá v ňom chýba, napríklad SDK od RevenueCat, potrebuješ development build skompilovaný cez EAS Build. Na testovanie finálneho buildu si prečítaj TestFlight na testovanie aplikácie.
Aké sú obmedzenia vývoja pre iOS bez Macu?
Nemôžeš používať lokálny iOS simulátor: je súčasťou Xcode, takže na Windows nebeží. Lokálne buildy EAS (--local) nie sú na Windows podporované: tvoje iOS buildy idú cez cloud Expo. Ladenie natívneho kódu a ručné písanie natívnych rozšírení sú možné, ale ťažšie, pretože nástroje Apple sú v Xcode.