# Objavi iOS aplikaciju bez Maca: vodič za Expo i EAS

> S Windows računala Expo i EAS kompajliraju i šalju tvoju iOS aplikaciju Appleu. Što radi bez Maca, što zapinje i zašto ti treba iPhone.

Izvorna stranica: [Objavi iOS aplikaciju bez Maca: vodič za Expo i EAS](https://devoria.fr/hr/blog/objavi-ios-aplikaciju-bez-maca-expo-eas)
Autor: [Mehdi Azizi](https://devoria.fr/hr/mehdi-azizi)
Objavljeno: 2026-09-23
Zadnja revizija sadržaja: 2026-10-09


## Može li se objaviti iOS aplikacija bez Maca?

Da. iOS aplikaciju možeš objaviti bez Maca ako je radiš s Expom i React Nativeom. EAS Build kompajlira tvoju aplikaciju na Macovima koje Expo drži u cloudu, a EAS Submit je zatim šalje u App Store Connect. Expova dokumentacija to jasno kaže: EAS Submit radi na macOS-u, Linuxu i Windowsu, [pa ti ne treba Mac da isporučiš iOS build](https://docs.expo.dev/submit/ios/).

S druge strane, trebaju ti tri stvari koje ništa ne može zamijeniti: [plaćeni Apple Developer račun](https://devoria.fr/hr/blog/apple-developer-racun-cijena), iPhone da aplikaciju stvarno testiraš i preglednik da ispuniš stranicu aplikacije u App Store Connectu. Ostatak vodiča objašnjava što radi s Windows računala, što zapinje i kojim redom ide koji korak.

Sve moje iOS aplikacije prolaze kroz isti lanac: Expo, EAS Build, pa EAS Submit. Tako su Solys i TradaZen došli na App Store. Ja radim na Macu, ali nijedan korak objave ne ovisi o njemu: buildovi se rade u Expovom cloudu, a slanje Appleu ide preko komandne linije.

## Kako Expo i EAS zamjenjuju Mac

Da bi shvatio što je moguće, moraš znati zašto je Mac bio obavezan. iOS aplikacija mora se kompajlirati u Xcodeu, Appleovom alatu koji radi samo na macOS-u, i to u dovoljno novoj verziji da izbjegneš odbijanje ITMS-90725. Zatim se mora potpisati certifikatom vezanim uz tvoj developerski račun i poslati u App Store Connect.

Expo taj posao dijeli na tri alata:

- **Expo i React Native**: aplikaciju pišeš u JavaScriptu ili TypeScriptu, na bilo kojem računalu.
- **EAS Build**: naredbu pokrećeš sa svog PC-ja, kod odlazi na Expov Mac koji umjesto tebe kompajlira i potpisuje aplikaciju. Dobiješ datoteku spremnu za instalaciju ili slanje.
- **[EAS Submit](https://devoria.fr/hr/blog/eas-submit-ios-objava-expo-aplikacije-app-store)**: uzima taj build i šalje ga u App Store Connect. Nakon Appleove obrade, koja na primjer provjerava ikonu (ITMS-90717), build se pojavljuje u TestFlightu.

Mac i dalje postoji u lancu. Samo više nije tvoj. Ako želiš znati zašto taj stack preporučujem početnicima, pročitaj stranicu [React Native i Expo za mobilnu aplikaciju](https://devoria.fr/hr/expertise/mobilna-aplikacija-react-native-expo).

## Što je moguće s Windows računala

### Kodiranje aplikacije

Cijeli razvoj radi na Windowsu bez ograničenja: tvoj editor (VS Code, Cursor), Node.js, terminal. Ako kodiraš uz pomoć Claudea ili ChatGPT-a, ni tu se ništa ne mijenja. O tome pročitaj [kako napraviti iOS aplikaciju s AI-jem](https://devoria.fr/hr/blog/izrada-ios-aplikacije-uz-ai-zamke-provjere).

### Gledanje aplikacije na iPhoneu dok kodiraš

Za početak, aplikacija Expo Go instalirana na iPhoneu čita QR kod prikazan u terminalu i učitava tvoj projekt. Svaka izmjena pojavi se na mobitelu za nekoliko sekundi. Idealno za prve ekrane. Od svibnja 2026. [App Store verzija Expo Goa ostaje na SDK-u 54](https://expo.dev/changelog/expo-go-and-app-store-may-2026): napravi projekt kompatibilan s njom ili za noviji SDK koristi `eas go` i TestFlight.

Expo Go ima ograničenje: sadrži samo nativne module koje daje Expo. Čim tvoja aplikacija koristi nativnu biblioteku koje tamo nema, poput RevenueCatova SDK-a za pretplate, treba ti development build: tvoja vlastita verzija aplikacije, kompajlirana preko EAS Builda, koju instaliraš na iPhone.

### Instaliranje builda na iPhone bez App Storea

EAS nudi internu distribuciju. Registriraš iPhone naredbom `eas device:create`, pa pokreneš build s distribucijom `internal`. Dobiješ link za instalaciju. Apple ograničava ovu metodu: [jedan račun može tako distribuirati na najviše 100 iPhonea godišnje](https://docs.expo.dev/build/internal-distribution/), a svaki novi uređaj traži novi build ili novo potpisivanje. Za tebe i par bliskih ljudi to je i više nego dovoljno.

### Upravljanje certifikatima bez Xcodea

Potpisivanje je ono što početnike na Macu najviše koči, sve do greške ITMS-90034 pri slanju. S EAS-om se na Apple račun spajaš iz komandne linije, a alat [može sam generirati distribucijski certifikat i provisioning profil](https://docs.expo.dev/build/setup/). Keychain Access nikad ne otvaraš.

### Slanje aplikacije Appleu i objava

`eas submit --platform ios` šalje tvoj build u App Store Connect. Oba koraka možeš i spojiti opcijom `--auto-submit` naredbe `eas build`. Sve ostalo radi se u pregledniku: stranica na App Storeu, [screenshotovi](https://devoria.fr/hr/blog/velicina-snimki-zaslona-app-store-dimenzije), izjave o privatnosti, pretplate, TestFlight i slanje na pregled. App Store Connect je web aplikacija i odlično radi na Windowsu.

## Što nije moguće (ili je teže) bez Maca

### Lokalni iOS simulator

iOS simulator dio je Xcodea, pa ne radi na Windowsu. U praksi to nije strašno: tvoj iPhone je za testiranje bolji od simulatora. Expo je u rujnu 2026. najavio iOS simulator u cloudu, [EAS Simulator](https://expo.dev/blog/build-ios-apps-on-windows-with-cloud-simulators), koji je u trenutku pisanja još u ograničenom pristupu. Nemoj graditi svoj način rada na njemu dok ne bude otvoren svima.

### Debugiranje nativnog koda

Ako rušenje dolazi iz nativnog koda (Swift, Objective-C, loše podešena biblioteka), Appleovi dijagnostički alati su u Xcodeu. Bez Maca ovisiš o EAS-ovim build logovima i alatu poput Sentryja, koji javlja rušenja instalirane aplikacije. Izvedivo je, ali sporije. Zato se za prvu aplikaciju drži održavanih biblioteka kompatibilnih s Expom, čime izbjegavaš i odbijanje ITMS-90338 pri slanju.

### Ručno pisanje nativnih ekstenzija

Widgeti, ekstenzije za notifikacije, specifični nativni targeti: s Expom je to moguće zahvaljujući config pluginovima, ali bez Xcodea da pregledaš generirani projekt svaka greška košta još jedan build. Za prvu aplikaciju ostavi te funkcije za kasnije.

### Lokalno kompajliranje

Lokalni EAS buildovi (opcija `--local`) [nisu podržani na Windowsu](https://docs.expo.dev/build-reference/local-builds/). Na PC-ju tvoji iOS buildovi zato idu kroz Expov cloud. Besplatni EAS plan uključuje ograničen broj buildova mjesečno, uz red čekanja: provjeri aktualne uvjete na Expovoj stranici s cijenama prije nego isplaniraš tjedan intenzivnog rada.

## Apple Developer račun: obavezan, bez iznimke

Nijedan trik to ne zaobilazi, čak ni Apple Developer Enterprise Program, namijenjen internim aplikacijama velikih organizacija. Bez [članstva u Apple Developer Programu](https://devoria.fr/hr/blog/apple-developer-pretplata-obnova-otkazivanje) nema App Store Connecta, nema TestFlighta, nema interne distribucije i [nema slanja na App Store](https://developer.apple.com/support/compare-memberships/). Članstvo košta [99 $ godišnje](https://developer.apple.com/help/account/membership/programs-overview/), naplaćeno u tvojoj valuti.

Dva savjeta prije registracije:

- **Dobro odaberi između individualnog računa i organizacije.** Na individualnom računu na App Storeu kao prodavač piše tvoje ime. Kod organizacije piše naziv tvoje firme, ali Apple tada traži D-U-N-S broj i dulju provjeru.
- **Računaj na nekoliko dana.** Odobrenje računa nije uvijek trenutačno. Registriraj se čim znaš da ćeš objavljivati, a ne dan prije slanja.

## Stvarna potreba za iPhoneom za testiranje

Tehnički možeš objaviti iOS aplikaciju a da je nikad nisi držao u ruci. Ja ti to odlučno ne preporučujem, a ni Apple: njegova [pravila pregleda](https://developer.apple.com/app-store/review/guidelines/) (guideline 2.1) traže da je aplikacija prije slanja testirana na uređaju, zbog bugova i stabilnosti. Tvoji korisnici imat će samo to: pravi iPhone.

Evo što ti samo pravi iPhone pokazuje:

- **Stvarno prvo pokretanje**, bez development servera: tu se kriju rušenja pri pokretanju.
- **Kupnje unutar aplikacije** u testnom okruženju, da provjeriš prikazuje li paywall prave cijene i otključava li pretplata stvarno aplikaciju.
- **Notifikacije, kameru, vibracije, dopuštenja**, koja se drugdje ponašaju drukčije ili nikako.
- **Stvaran raspored**: notch ili Dynamic Island, home bar, tipkovnicu koja prekrije polje.
- **Fluidnost**, koju snažno računalo često sakrije.

Dovoljan je noviji rabljeni iPhone, pod uvjetom da vrti verziju iOS-a koju podržava tvoja verzija Expo SDK-a. I ako možeš, posudi i iPhone druge veličine: aplikacija koja prolazi na velikom ekranu na malom može biti odrezana. Upravo zbog toga mi je odbijen Solys, o čemu pišem u članku [zašto Apple odbija aplikaciju](https://devoria.fr/hr/blog/apple-odbio-aplikaciju-razlozi).

> Bez Maca je moguće. Bez iPhonea Appleu šalješ aplikaciju koju nikad nisi vidio da radi.

## Koraci, redom, s Windowsa

1. **Napravi projekt** naredbom `npx create-expo-app` i testiraj prve ekrane u Expo Gou.
2. **Instaliraj EAS CLI** naredbom `npm install -g eas-cli`, zatim `eas login` i `eas build:configure`.
3. **Registriraj se u Apple Developer Program** čim projekt počne dobivati oblik.
4. **Registriraj svoj iPhone** naredbom `eas device:create` i pokreni development build.
5. **Napravi stranicu aplikacije** u App Store Connectu, s istim bundle identifierom kao u Expo konfiguraciji.
6. **Pokreni produkcijski build** naredbom `eas build --platform ios`.
7. **Pošalji ga** naredbom `eas submit --platform ios`, pa ga testiraj u TestFlightu. Vodič [TestFlight za testiranje aplikacije](https://devoria.fr/hr/blog/testflight-testiranje-iphone-aplikacije) detaljno opisuje taj korak.
8. **Ispuni stranicu i [pošalji na pregled](https://devoria.fr/hr/blog/waiting-for-review-app-store-connect-statusi)** iz preglednika. Promotivni tekst kasnije možeš mijenjati bez nove verzije.

Tri zamke se u ovoj fazi često ponavljaju. Broj builda mora rasti sa svakim slanjem: uključi EAS-ovo automatsko povećavanje i više ne misli na to. Pitanje o enkripciji blokira svaki build dok na njega ne odgovoriš: možeš ga jednom zauvijek deklarirati u konfiguraciji aplikacije. I bundle identifier mora biti posvuda isti, inače EAS Submit ne nalazi tvoju aplikaciju. Za nastavak, od stranice aplikacije do odobrenja, stranica [objava aplikacije na App Storeu](https://devoria.fr/hr/expertise/objava-aplikacije-na-app-store) pokriva svaki korak.

## Objavi svoju prvu aplikaciju, bez Maca i bez lutanja

Mac više nije prava prepreka. Prave prepreke su drugdje: odabrati aplikaciju koja ima šanse zaraditi, spojiti pretplate koje rade, pripremiti dokumentaciju koju Apple prihvaća. To pokriva put u četiri koraka iz [iOS Kita](https://devoria.fr/hr/kits/ios), koji prolaziš svojim tempom. Za dokumentaciju, [Apple Review Kit](https://devoria.fr/hr/kits/review-apple) sadrži moju checklistu prije slanja i bilješke za testera. Naslovnica pokazuje kako [napraviti mobilnu aplikaciju bez kretanja od nule](https://devoria.fr/hr) uz Expo i Claude Code, s Macom ili bez njega.

Konačna odluka o objavi tvoje aplikacije ostaje na Appleu i nijedan kit je ne može jamčiti. Ono što ti ja mogu dati je metoda koju primjenjujem na vlastitim aplikacijama.

## Česta pitanja

### Kako objaviti iOS aplikaciju bez Maca?

S Expom i React Nativeom tvoj Mac zamjenjuje Mac koji drži Expo. Kodiraš na bilo kojem računalu, EAS Build kompajlira i potpisuje aplikaciju u cloudu, a EAS Submit je šalje u App Store Connect. Trebaju ti i plaćeni Apple Developer račun, preglednik za ispunjavanje stranice aplikacije i iPhone da aplikaciju stvarno testiraš.

### Koji su koraci za objavu iOS aplikacije s Windowsa?

Napravi projekt s Expom, instaliraj EAS CLI i registriraj se u Apple Developer Program. Registriraj iPhone, pokreni development build, pa napravi stranicu aplikacije u App Store Connectu s istim bundle identifierom kao u Expo konfiguraciji. Zatim pokreni produkcijski build, pošalji ga preko EAS Submita i testiraj u TestFlightu, pa ispuni stranicu i pošalji aplikaciju na pregled iz preglednika.

### Koliko košta objava aplikacije na App Storeu?

Članstvo u Apple Developer Programu košta 99 $ godišnje, naplaćeno u tvojoj valuti. Obavezno je: bez njega nema App Store Connecta, TestFlighta, interne distribucije ni slanja na App Store. Što se Expa tiče, besplatni EAS plan uključuje ograničen broj buildova mjesečno, uz red čekanja: provjeri aktualne uvjete na Expovoj stranici s cijenama.

### Treba li iPhone za objavu iOS aplikacije bez Maca?

Tehnički ne, ali ja ti to odlučno ne preporučujem, a ni Apple: njegova pravila pregleda (guideline 2.1) traže da je aplikacija prije slanja testirana na uređaju zbog bugova i stabilnosti. Dovoljan je noviji rabljeni iPhone, pod uvjetom da vrti verziju iOS-a koju podržava tvoja verzija Expo SDK-a.

### Kako testirati iOS aplikaciju bez Maca?

Instaliraj aplikaciju Expo Go na iPhone: ona čita QR kod prikazan u terminalu i učitava tvoj projekt, a svaka izmjena vidi se za nekoliko sekundi. Expo Go sadrži samo nativne module koje daje Expo. Čim tvoja aplikacija koristi nativnu biblioteku koje tamo nema, poput RevenueCatova SDK-a, treba ti development build kompajliran preko EAS Builda. Za testiranje konačnog builda pročitaj [TestFlight za testiranje aplikacije](https://devoria.fr/hr/blog/testflight-testiranje-iphone-aplikacije).

### Koja su ograničenja iOS razvoja bez Maca?

Ne možeš koristiti lokalni iOS simulator: dio je Xcodea, pa ne radi na Windowsu. Lokalni EAS buildovi (`--local`) nisu podržani na Windowsu: tvoji iOS buildovi idu kroz Expov cloud. Debugiranje nativnog koda i ručno pisanje nativnih ekstenzija i dalje su mogući, ali teži, jer su Appleovi alati u Xcodeu.


## Tvoj projekt

[iOS Kit](https://devoria.fr/hr/kits/ios): Napravi svoju iPhone aplikaciju s Claude Codeom: početni kod mojih aplikacija, skillovi koji provjeravaju njegov rad te Apple Review Kit, App Store Screenshots Kit i ASO Kit. 129,99 €.
