Objava iOS aplikacije brez Maca: vodnik za Expo in EAS
Avtor: Mehdi Azizi
Posodobljeno , 9 min
Z računalnika z Windows Expo in EAS prevedeta in pošljeta tvojo iOS aplikacijo Applu. Kaj deluje brez Maca, kaj se zatakne in zakaj potrebuješ iPhone.
Ali lahko objaviš iOS aplikacijo brez Maca?
Da. iOS aplikacijo lahko objaviš brez Maca, če jo zgradiš z Expo in React Native. EAS Build prevede tvojo aplikacijo na Macih, ki jih gosti Expo v oblaku, EAS Submit pa jo nato pošlje v App Store Connect. Dokumentacija Expo to jasno pove: EAS Submit deluje na macOS, Linuxu in Windows, zato za oddajo iOS builda ne potrebuješ Maca.
Potrebuješ pa tri stvari, ki jih nič ne nadomesti: plačljiv račun Apple Developer, iPhone, da aplikacijo zares preizkusiš, in brskalnik, da izpolniš stran aplikacije v App Store Connect. Preostanek vodnika podrobno razloži, kaj deluje z računalnika z Windows, kaj se zatakne in v kakšnem vrstnem redu si sledijo koraki.
Vse moje iOS aplikacije gredo skozi to verigo: Expo, EAS Build, nato EAS Submit. Solys in TradaZen sta tako prišla v App Store. Delam na Macu, ampak noben korak objave ni odvisen od njega: buildi nastanejo v oblaku Expo, pošiljanje Applu pa poteka prek ukazne vrstice.
Kako Expo in EAS nadomestita Mac
Da razumeš, kaj je mogoče, moraš vedeti, zakaj je bil Mac obvezen. iOS aplikacijo je treba prevesti z Xcode, Applovim orodjem, ki teče samo na macOS, in to v dovolj novi različici, da se izogneš zavrnitvi ITMS-90725. Nato jo je treba podpisati s certifikatom, vezanim na tvoj razvijalski račun, in poslati v App Store Connect.
Expo to delo razdeli na tri orodja:
- Expo in React Native: aplikacijo pišeš v JavaScriptu ali TypeScriptu, na kateremkoli računalniku.
- EAS Build: ukaz zaženeš s svojega računalnika, koda gre na Mac pri Expo, ki aplikacijo prevede in podpiše namesto tebe. Dobiš datoteko, pripravljeno za namestitev ali pošiljanje.
- EAS Submit: vzame ta build in ga pošlje v App Store Connect. Ko ga Apple obdela (in na primer preveri ikono, ITMS-90717), se pojavi v TestFlight.
Mac v verigi še vedno obstaja. Samo tvoj ni več. Če želiš razumeti, zakaj ta sklad priporočam začetnikom, preberi stran React Native in Expo za mobilno aplikacijo.
Kaj je mogoče z računalnika z Windows
Programiranje aplikacije
Ves razvoj poteka na Windows brez omejitev: tvoj urejevalnik (VS Code, Cursor), Node.js, terminal. Če programiraš s pomočjo Clauda ali ChatGPT, se tudi nič ne spremeni. O tem preberi kako narediti iOS aplikacijo z umetno inteligenco.
Ogled aplikacije na iPhonu med programiranjem
Za začetek aplikacija Expo Go, nameščena na tvojem iPhonu, prebere QR kodo v terminalu in naloži tvoj projekt. Vsaka sprememba se na telefonu pokaže v nekaj sekundah. Idealno za prve zaslone. Od maja 2026 različica Expo Go v App Storu ostaja na SDK 54: ob ustvarjanju projekta izberi združljivost z njo ali pa za novejši SDK uporabi eas go in TestFlight.
Expo Go ima omejitev: vsebuje samo nativne module, ki jih ponuja Expo. Takoj ko aplikacija uporablja nativno knjižnico, ki je ni v njem, na primer SDK RevenueCat za naročnine, potrebuješ razvojni build: lastno različico aplikacije, ki jo prevede EAS Build in jo namestiš na iPhone.
Namestitev builda na iPhone mimo App Stora
EAS ponuja interno distribucijo. iPhone registriraš z ukazom eas device:create, nato zaženeš build z distribucijo internal. Dobiš povezavo za namestitev. Apple to metodo omejuje: en račun lahko tako distribuira na največ 100 iPhonov na leto, vsaka nova naprava pa zahteva nov build ali nov podpis. Zate in za nekaj bližnjih je to povsem dovolj.
Upravljanje certifikatov brez Xcode
Podpisovanje je tisto, kar največ začetnikov ustavi tudi na Macu, vse do napake ITMS-90034 ob pošiljanju. Z EAS se v svoj Apple račun prijaviš iz ukazne vrstice, orodje pa lahko samo ustvari distribucijski certifikat in provisioning profil. Keychain Access ne odpreš nikoli.
Pošiljanje aplikacije Applu in objava
eas submit --platform ios pošlje tvoj build v App Store Connect. Oba koraka lahko povežeš tudi z možnostjo --auto-submit ukaza eas build. Vse ostalo poteka v brskalniku: stran v App Storu, posnetki zaslona, izjave o zasebnosti, naročnine, TestFlight in oddaja v pregled. App Store Connect je spletna aplikacija in na Windows deluje odlično.
Kaj brez Maca ni mogoče (ali je težje)
Lokalni iOS simulator
iOS simulator je del Xcode, zato na Windows ne teče. V praksi to ni hudo: tvoj iPhone je za testiranje boljši od simulatorja. Expo je septembra 2026 napovedal iOS simulator v oblaku, EAS Simulator, ki je v času pisanja še v omejenem dostopu. Dokler ni odprt za vse, nanj ne gradi svojega dela.
Razhroščevanje nativne kode
Če sesutje izvira iz nativne kode (Swift, Objective-C, slabo nastavljena knjižnica), so Applova diagnostična orodja v Xcode. Brez Maca si odvisen od dnevnikov buildov EAS in orodja, kot je Sentry, ki poroča o sesutjih nameščene aplikacije. Izvedljivo, a počasneje. Zato je pri prvi aplikaciji smiselno ostati pri vzdrževanih knjižnicah, združljivih z Expo, s čimer se izogneš tudi zavrnitvi ITMS-90338 ob pošiljanju.
Ročno pisanje nativnih razširitev
Widgeti, razširitve obvestil, posebni nativni targeti: z Expo je to mogoče prek konfiguracijskih vtičnikov, a brez Xcode za pregled ustvarjenega projekta te vsaka napaka stane še en build. Pri prvi aplikaciji te funkcije prihrani za pozneje.
Lokalno prevajanje
Lokalni buildi EAS (možnost --local) na Windows niso podprti. Na PC-ju gredo tvoji iOS buildi torej skozi oblak Expo. Brezplačni paket EAS vključuje omejeno število buildov na mesec, s čakalno vrsto: preden načrtuješ intenziven delovni teden, preveri trenutne pogoje na strani s cenami Expo.
Račun Apple Developer: obvezen, brez izjeme
Tega ne obide noben trik, niti Apple Developer Enterprise Program, ki je namenjen internim aplikacijam velikih organizacij. Brez članstva v Apple Developer Program ni App Store Connect, ni TestFlight, ni interne distribucije in ni pošiljanja v App Store. Članstvo stane 99 $ na leto, zaračunano v tvoji valuti.
Dva nasveta pred prijavo:
- Dobro izberi med individualnim računom in organizacijo. Pri individualnem se kot prodajalec v App Storu prikaže tvoje ime. Pri organizaciji je to ime tvojega podjetja, a Apple takrat zahteva številko D-U-N-S in daljše preverjanje.
- Računaj na nekaj dni. Potrditev računa ni vedno takojšnja. Prijavi se takoj, ko veš, da boš objavljal, ne dan pred pošiljanjem.
Resnična potreba po iPhonu za testiranje
Tehnično lahko iOS aplikacijo objaviš, ne da bi jo kdaj držal v roki. Odločno ti to odsvetujem, in Apple tudi: njegova pravila pregleda (guideline 2.1) zahtevajo, da je aplikacija pred pošiljanjem preizkušena na napravi glede napak in stabilnosti. Tvoji uporabniki bodo imeli samo to: pravi iPhone.
Tole ti pokaže samo pravi iPhone:
- Pravi prvi zagon, brez razvojnega strežnika: tam se skrivajo sesutja ob zagonu.
- Nakupi v aplikaciji v testnem okolju, da preveriš, ali paywall prikazuje prave cene in ali naročnina res odklene aplikacijo.
- Obvestila, kamera, vibracije, dovoljenja, ki se drugje obnašajo drugače ali sploh ne.
- Prava postavitev: zareza ali Dynamic Island, domača vrstica, tipkovnica, ki prekrije polje.
- Tekočnost, ki jo zmogljiv računalnik pogosto prikrije.
Zadošča novejši rabljeni iPhone, če poganja različico iOS, ki jo podpira tvoja različica Expo SDK. Če lahko, si sposodi še iPhone drugačne velikosti: aplikacija, ki je v redu na velikem zaslonu, je lahko na majhnem odrezana. Prav to mi je prineslo zavrnitev pri Solys, kar opisujem v članku zakaj Apple zavrne aplikacijo.
Brez Maca gre. Brez iPhona pošlješ Applu aplikacijo, ki je nisi nikoli videl delovati.
Koraki po vrsti, z Windows
- Ustvari projekt z
npx create-expo-appin prve zaslone preizkusi z Expo Go. - Namesti EAS CLI z
npm install -g eas-cli, natoeas loginineas build:configure. - Prijavi se v Apple Developer Program, takoj ko projekt dobi obliko.
- Registriraj svoj iPhone z
eas device:createin zaženi razvojni build. - Ustvari stran aplikacije v App Store Connect z istim bundle ID kot v konfiguraciji Expo.
- Zaženi produkcijski build z
eas build --platform ios. - Pošlji ga z
eas submit --platform iosin ga nato preizkusi v TestFlight. Vodnik TestFlight za testiranje aplikacije ta korak podrobno opiše. - Izpolni stran in oddaj v pregled iz brskalnika. Promocijsko besedilo pa lahko pozneje spreminjaš brez nove različice.
Na tej točki se pogosto pojavijo tri pasti. Številka builda se mora ob vsakem pošiljanju povečati: vklopi samodejno povečevanje v EAS in nanjo pozabi. Vprašanje o šifriranju blokira vsak build, dokler nanj ne odgovoriš: enkrat za vselej ga lahko prijaviš v konfiguraciji aplikacije. In bundle ID mora biti povsod enak, sicer EAS Submit tvoje aplikacije ne najde. Za nadaljevanje, od strani aplikacije do odobritve, stran objava aplikacije v App Storu pokrije vsak korak.
Objavi svojo prvo aplikacijo, brez Maca in brez izgubljanja
Mac ni več prava ovira. Prave ovire so drugje: izbrati aplikacijo, ki ima možnost zaslužka, povezati naročnine, ki delujejo, pripraviti oddajo, ki jo Apple sprejme. To pokriva štiristopenjska pot v iOS Kit, ki ji slediš v svojem tempu. Za oddajo Apple Review Kit združuje moj kontrolni seznam pred pošiljanjem in opombe za preizkuševalca. Domača stran pokaže, kako narediti mobilno aplikacijo, ne da bi začel iz nič, z Expo in Claude Code, z Macom ali brez.
Končna odločitev o objavi tvoje aplikacije ostaja pri Applu in noben kit je ne more zagotoviti. Lahko pa ti dam metodo, ki jo uporabljam za lastne aplikacije.
Pogosta vprašanja
Kako objaviti iOS aplikacijo brez Maca?
Z Expo in React Native tvoj Mac nadomesti Mac, ki ga gosti Expo. Programiraš na kateremkoli računalniku, EAS Build aplikacijo prevede in podpiše v oblaku, EAS Submit pa jo pošlje v App Store Connect. Potrebuješ tudi plačljiv račun Apple Developer, brskalnik za izpolnitev strani aplikacije in iPhone, da aplikacijo zares preizkusiš.
Kateri so koraki za objavo iOS aplikacije z Windows?
Ustvari projekt z Expo, namesti EAS CLI in se prijavi v Apple Developer Program. Registriraj iPhone, zaženi razvojni build, nato ustvari stran v App Store Connect z istim bundle ID kot v konfiguraciji Expo. Nato zaženi produkcijski build, ga pošlji z EAS Submit in preizkusi v TestFlight, potem pa izpolni stran in aplikacijo oddaj v pregled iz brskalnika.
Koliko stane objava aplikacije v App Storu?
Članstvo v Apple Developer Program stane 99 $ na leto, zaračunano v tvoji valuti. Je obvezno: brez njega ni App Store Connect, ni TestFlight, ni interne distribucije in ni pošiljanja v App Store. Pri Expo brezplačni paket EAS vključuje omejeno število buildov na mesec, s čakalno vrsto: trenutne pogoje preveri na strani s cenami Expo.
Ali potrebujem iPhone za objavo iOS aplikacije brez Maca?
Tehnično ne, a ti to odločno odsvetujem, in Apple tudi: njegova pravila pregleda (guideline 2.1) zahtevajo, da je aplikacija pred pošiljanjem preizkušena na napravi glede napak in stabilnosti. Zadošča novejši rabljeni iPhone, če poganja različico iOS, ki jo podpira tvoja različica Expo SDK.
Kako preizkusiti iOS aplikacijo brez Maca?
Na iPhone namesti aplikacijo Expo Go: prebere QR kodo v terminalu in naloži tvoj projekt, vsaka sprememba pa je vidna v nekaj sekundah. Expo Go vsebuje samo nativne module, ki jih ponuja Expo. Takoj ko aplikacija uporablja nativno knjižnico, ki je ni v njem, na primer SDK RevenueCat, potrebuješ razvojni build, ki ga prevede EAS Build. Za testiranje končnega builda preberi TestFlight za testiranje aplikacije.
Katere so omejitve razvoja za iOS brez Maca?
Lokalnega iOS simulatorja ne moreš uporabljati: je del Xcode, zato na Windows ne teče. Lokalni buildi EAS (--local) na Windows niso podprti: tvoji iOS buildi gredo skozi oblak Expo. Razhroščevanje nativne kode in ročno pisanje nativnih razširitev ostajata mogoča, a težja, ker so Applova orodja v Xcode.