# Publikace iOS aplikace bez Macu: návod s Expo a EAS

> Z Windows PC Expo a EAS zkompilují a pošlou tvoji iOS aplikaci Applu. Co bez Macu funguje, co ne a proč potřebuješ iPhone.

Původní stránka: [Publikace iOS aplikace bez Macu: návod s Expo a EAS](https://devoria.fr/cs/blog/publikace-ios-aplikace-bez-macu-expo-eas)
Autor: [Mehdi Azizi](https://devoria.fr/cs/mehdi-azizi)
Publikováno: 2026-09-23
Poslední revize obsahu: 2026-10-09


## Dá se iOS aplikace publikovat bez Macu?

Ano. iOS aplikaci můžeš publikovat bez Macu, pokud ji postavíš s Expo a React Native. EAS Build zkompiluje tvoji aplikaci na Macích, které Expo provozuje v cloudu, a EAS Submit ji pak pošle do App Store Connect. Dokumentace Expo to říká jasně: EAS Submit funguje na macOS, Linuxu i Windows, [takže k odeslání iOS buildu Mac nepotřebuješ](https://docs.expo.dev/submit/ios/).

Potřebuješ ale tři věci, které nic nenahradí: [placený účet Apple Developer](https://devoria.fr/cs/blog/apple-developer-ucet-cena), iPhone, na kterém aplikaci doopravdy otestuješ, a prohlížeč, ve kterém vyplníš stránku aplikace v App Store Connect. Zbytek návodu popisuje, co z Windows PC funguje, co drhne a v jakém pořadí postupovat.

Všechny moje iOS aplikace jdou touhle cestou: Expo, EAS Build a pak EAS Submit. Takhle se na App Store dostaly Solys i TradaZen. Pracuju na Macu, ale žádný krok publikace na něm nezávisí: buildy běží v cloudu Expo a odeslání Applu jde přes příkazovou řádku.

## Jak Expo a EAS nahrazují Mac

Abys pochopil, co je možné, musíš vědět, proč byl Mac povinný. iOS aplikace se musí zkompilovat v Xcode, nástroji od Applu, který běží jen na macOS, a to v dost nové verzi, abys se vyhnul odmítnutí ITMS-90725. Pak se musí podepsat certifikátem navázaným na tvůj vývojářský účet a odeslat do App Store Connect.

Expo tuhle práci rozdělí do tří nástrojů:

- **Expo a React Native**: aplikaci píšeš v JavaScriptu nebo TypeScriptu, na jakémkoli počítači.
- **EAS Build**: příkaz spustíš ze svého PC, kód odejde na Mac od Expo, který aplikaci zkompiluje a podepíše za tebe. Dostaneš soubor připravený k instalaci nebo odeslání.
- **[EAS Submit](https://devoria.fr/cs/blog/eas-submit-ios-publikovat-expo-app-app-store)**: vezme tenhle build a pošle ho do App Store Connect. Po zpracování u Applu, který kontroluje třeba ikonu (ITMS-90717), se objeví v TestFlightu.

Mac v řetězci pořád je. Jen už není tvůj. Jestli chceš vědět, proč tenhle stack doporučuju začátečníkům, přečti si stránku [React Native a Expo pro mobilní aplikaci](https://devoria.fr/cs/expertise/mobilni-aplikace-react-native-expo).

## Co jde z Windows PC

### Psaní aplikace

Celý vývoj jde na Windows bez omezení: tvůj editor (VS Code, Cursor), Node.js, terminál. Pokud programuješ s pomocí Claude nebo ChatGPT, nic se nemění. K tomu si přečti [jak vytvořit iOS aplikaci s AI](https://devoria.fr/cs/blog/vytvorit-aplikaci-s-ai-ios-nastrahy-kontroly).

### Vidět aplikaci na iPhonu, zatímco programuješ

Na začátek stačí aplikace Expo Go na iPhonu: načte QR kód z terminálu a spustí tvůj projekt. Každá změna se na telefonu objeví během pár sekund. Ideální pro první obrazovky. Od května 2026 [zůstává verze Expo Go z App Storu na SDK 54](https://expo.dev/changelog/expo-go-and-app-store-may-2026): vytvoř projekt kompatibilní s ní, nebo pro novější SDK použij `eas go` a TestFlight.

Expo Go má limit: obsahuje jen nativní moduly, které dodává Expo. Jakmile tvoje aplikace použije nativní knihovnu, která v něm není, třeba SDK RevenueCat pro předplatné, potřebuješ development build: vlastní verzi tvé aplikace, zkompilovanou přes EAS Build, kterou si nainstaluješ na iPhone.

### Instalace buildu na iPhone bez App Storu

EAS nabízí interní distribuci. iPhone zaregistruješ příkazem `eas device:create` a pak spustíš build s distribucí `internal`. Dostaneš odkaz na instalaci. Apple tuhle metodu omezuje: [jeden účet takhle může distribuovat nejvýš na 100 iPhonů ročně](https://docs.expo.dev/build/internal-distribution/) a každé nové zařízení vyžaduje nový build nebo nové podepsání. Pro tebe a pár blízkých to bohatě stačí.

### Certifikáty bez Xcode

Podepisování je to, na čem se i na Macu zasekne nejvíc začátečníků, až po chybu ITMS-90034 při odeslání. S EAS se k Apple účtu přihlásíš z příkazové řádky a nástroj [umí sám vygenerovat distribuční certifikát i provisioning profile](https://docs.expo.dev/build/setup/). Klíčenku nikdy neotevřeš.

### Odeslání aplikace Applu a publikace

`eas submit --platform ios` pošle tvůj build do App Store Connect. Oba kroky můžeš taky spojit volbou `--auto-submit` u `eas build`. Všechno ostatní probíhá v prohlížeči: stránka v App Storu, [screenshoty](https://devoria.fr/cs/blog/velikost-screenshotu-app-store-rozmery-2026), údaje o ochraně soukromí, předplatné, TestFlight a odeslání ke kontrole. App Store Connect je webová aplikace, na Windows funguje skvěle.

## Co bez Macu nejde (nebo je těžší)

### Lokální iOS simulátor

iOS simulátor je součást Xcode, takže na Windows neběží. V praxi to nevadí: tvůj iPhone je na testování lepší než simulátor. Expo v září 2026 oznámilo cloudový iOS simulátor, [EAS Simulator](https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators), v době psaní ale jen s omezeným přístupem. Nestav na něm svůj postup, dokud nebude otevřený všem.

### Ladění nativního kódu

Když pád pochází z nativního kódu (Swift, Objective-C, špatně nastavená knihovna), diagnostické nástroje Applu jsou v Xcode. Bez Macu jsi odkázaný na build logy z EAS a nástroj jako Sentry, který hlásí pády nainstalované aplikace. Jde to, ale pomaleji. Proto se u první aplikace drž udržovaných knihoven kompatibilních s Expo, čímž se vyhneš i odmítnutí ITMS-90338 při odeslání.

### Ruční psaní nativních rozšíření

Widgety, rozšíření notifikací, specifické nativní targety: s Expo to jde díky config pluginům, ale bez Xcode na kontrolu vygenerovaného projektu tě každá chyba stojí další build. U první aplikace si tyhle funkce nech na později.

### Lokální kompilace

Lokální buildy EAS (volba `--local`) [nejsou na Windows podporované](https://docs.expo.dev/build-reference/local-builds/). Na PC tedy tvoje iOS buildy jdou přes cloud Expo. Bezplatný tarif EAS zahrnuje omezený počet buildů měsíčně a frontu: než si naplánuješ intenzivní týden práce, ověř si aktuální podmínky na stránce s ceníkem Expo.

## Účet Apple Developer: povinný, bez výjimky

Tohle žádný trik neobejde, ani Apple Developer Enterprise Program, který je vyhrazený pro interní aplikace velkých organizací. Bez [členství v Apple Developer Program](https://devoria.fr/cs/blog/predplatne-apple-developer-obnoveni-zruseni) nemáš App Store Connect, TestFlight, interní distribuci ani [odeslání do App Storu](https://developer.apple.com/support/compare-memberships/). Členství stojí [99 $ ročně](https://developer.apple.com/help/account/membership/programs-overview/), účtovaných v tvé měně.

Dvě rady, než se zaregistruješ:

- **Dobře si vyber mezi individuálním účtem a organizací.** U individuálního účtu se v App Storu jako prodejce zobrazuje tvoje jméno. U organizace název tvé firmy, ale Apple pak chce číslo D-U-N-S a ověření trvá déle.
- **Počítej s pár dny.** Schválení účtu není vždycky okamžité. Zaregistruj se, jakmile víš, že budeš publikovat, ne den před odesláním.

## Proč iPhone na testování opravdu potřebuješ

Technicky jde iOS aplikaci publikovat, aniž bys ji kdy držel v ruce. Důrazně to nedoporučuju, a Apple taky ne: jeho [pravidla kontroly](https://developer.apple.com/app-store/review/guidelines/) (guideline 2.1) vyžadují, aby aplikace byla před odesláním otestovaná na zařízení kvůli chybám a stabilitě. Tvoji uživatelé budou mít jen tohle: skutečný iPhone.

Tohle ti ukáže jen skutečný iPhone:

- **Skutečné první spuštění** bez vývojového serveru: tam se schovávají pády při startu.
- **Nákupy v aplikaci** v testovacím prostředí, abys ověřil, že paywall ukazuje správné ceny a předplatné aplikaci opravdu odemkne.
- **Notifikace, kamera, vibrace, oprávnění**, které se jinde chovají jinak nebo vůbec.
- **Skutečné rozložení**: výřez nebo Dynamic Island, domovská lišta, klávesnice, která zakryje pole.
- **Plynulost**, kterou výkonný počítač často zamaskuje.

Stačí novější použitý iPhone, pokud na něm běží verze iOS podporovaná tvou verzí Expo SDK. A když můžeš, půjč si i iPhone jiné velikosti: aplikace, která projde na velkém displeji, může být na malém oříznutá. Přesně kvůli tomu mi Apple odmítl Solys, popisuju to v článku [proč Apple odmítá aplikace](https://devoria.fr/cs/blog/apple-zamitl-aplikaci-duvody).

> Bez Macu to jde. Bez iPhonu posíláš Applu aplikaci, kterou jsi nikdy neviděl fungovat.

## Kroky z Windows, popořadě

1. **Vytvoř projekt** pomocí `npx create-expo-app` a první obrazovky otestuj v Expo Go.
2. **Nainstaluj EAS CLI** pomocí `npm install -g eas-cli`, pak `eas login` a `eas build:configure`.
3. **Zaregistruj se do Apple Developer Program**, jakmile projekt začne nabírat tvar.
4. **Zaregistruj iPhone** pomocí `eas device:create` a spusť development build.
5. **Vytvoř stránku aplikace** v App Store Connect se stejným bundle identifierem jako v konfiguraci Expo.
6. **Spusť produkční build** pomocí `eas build --platform ios`.
7. **Odešli ho** pomocí `eas submit --platform ios` a otestuj v TestFlightu. Tenhle krok podrobně popisuje návod [TestFlight pro testování aplikace](https://devoria.fr/cs/blog/testflight-testovani-iphone-aplikace).
8. **Vyplň stránku a [pošli ke kontrole](https://devoria.fr/cs/blog/waiting-for-review-app-store-connect-statusy)** z prohlížeče. Propagační text pak můžeš měnit i bez nové verze.

V téhle fázi se často opakují tři pasti. Číslo buildu se musí s každým odesláním zvýšit: zapni automatické navyšování v EAS a nemusíš na to myslet. Otázka na šifrování blokuje každý build, dokud na ni neodpovíš: můžeš ji jednou provždy deklarovat v konfiguraci aplikace. A bundle identifier musí být všude stejný, jinak EAS Submit tvoji aplikaci nenajde. Další postup, od stránky aplikace po schválení, pokrývá stránka [publikace aplikace na App Store](https://devoria.fr/cs/expertise/jak-vydat-aplikaci-v-app-store).

## Publikuj svoji první aplikaci, bez Macu a bez bloudění

Mac už skutečnou překážkou není. Ty skutečné jsou jinde: vybrat aplikaci, která má šanci vydělávat, napojit fungující předplatné, připravit podklady, které Apple přijme. To pokrývá čtyřkrokový program [iOS Kit](https://devoria.fr/cs/kits/ios), který projdeš svým tempem. Na podklady je tu [Apple Review Kit](https://devoria.fr/cs/kits/review-apple) s mým checklistem před odesláním a poznámkami pro testera. Úvodní stránka ukazuje, jak [vytvořit mobilní aplikaci, aniž bys začínal od nuly](https://devoria.fr/cs) s Expo a Claude Code, s Macem i bez něj.

Konečné rozhodnutí o publikaci tvé aplikace zůstává na Applu a žádný kit ho nemůže zaručit. Můžu ti ale předat metodu, kterou používám na svých vlastních aplikacích.

## Časté dotazy

### Jak publikovat iOS aplikaci bez Macu?

S Expo a React Native nahradí tvůj Mac ten, který provozuje Expo. Programuješ na jakémkoli počítači, EAS Build aplikaci zkompiluje a podepíše v cloudu a EAS Submit ji pošle do App Store Connect. Potřebuješ taky placený účet Apple Developer, prohlížeč na vyplnění stránky aplikace a iPhone, na kterém aplikaci doopravdy otestuješ.

### Jaké jsou kroky publikace iOS aplikace z Windows?

Vytvoř projekt s Expo, nainstaluj EAS CLI a zaregistruj se do Apple Developer Program. Zaregistruj iPhone, spusť development build a pak vytvoř stránku v App Store Connect se stejným bundle identifierem jako v konfiguraci Expo. Potom spusť produkční build, odešli ho přes EAS Submit a otestuj v TestFlightu, nakonec vyplň stránku a pošli aplikaci ke kontrole z prohlížeče.

### Kolik stojí publikace aplikace na App Store?

Členství v Apple Developer Program stojí 99 $ ročně, účtovaných v tvé měně. Je povinné: bez něj nemáš App Store Connect, TestFlight, interní distribuci ani odeslání do App Storu. Na straně Expo zahrnuje bezplatný tarif EAS omezený počet buildů měsíčně a frontu: aktuální podmínky si ověř na stránce s ceníkem Expo.

### Potřebuju iPhone, když publikuju iOS aplikaci bez Macu?

Technicky ne, ale důrazně to nedoporučuju, a Apple taky ne: jeho pravidla kontroly (guideline 2.1) vyžadují, aby aplikace byla před odesláním otestovaná na zařízení kvůli chybám a stabilitě. Stačí novější použitý iPhone, pokud na něm běží verze iOS podporovaná tvou verzí Expo SDK.

### Jak otestovat iOS aplikaci bez Macu?

Nainstaluj si na iPhone aplikaci Expo Go: načte QR kód z terminálu a spustí tvůj projekt, každá změna je vidět během pár sekund. Expo Go obsahuje jen nativní moduly, které dodává Expo. Jakmile tvoje aplikace použije nativní knihovnu, která v něm chybí, třeba SDK RevenueCat, potřebuješ development build zkompilovaný přes EAS Build. Jak otestovat finální build, se dočteš v článku [TestFlight pro testování aplikace](https://devoria.fr/cs/blog/testflight-testovani-iphone-aplikace).

### Jaká jsou omezení vývoje pro iOS bez Macu?

Nemůžeš používat lokální iOS simulátor: je součástí Xcode, takže na Windows neběží. Lokální buildy EAS (`--local`) nejsou na Windows podporované: tvoje iOS buildy jdou přes cloud Expo. Ladění nativního kódu a ruční psaní nativních rozšíření jsou možné, ale těžší, protože nástroje Applu jsou v Xcode.


## Tvůj projekt

[iOS Kit](https://devoria.fr/cs/kits/ios): Vytvoř svou iPhone aplikaci s Claude Code: startovní kód mých aplikací, skills, které kontrolují jeho práci, a Apple Review Kit, App Store Screenshots Kit a ASO Kit. 129,99 €.
