Objava igre u App Storeu bez Maca: naš put preko gradnje u oblaku
Kako smo HTML5 igru s Windows PC-a doveli do pregleda u App Storeu s Capacitorom, Codemagicom i TestFlightom te greške koje su nas koštale gradnji.

Da, igru možete objaviti u App Storeu bez Maca. Mac je i dalje potreban, ali ga iznajmljujete: HTML5 igra se na vašem PC-u omota Capacitorom, usluga u oblaku poput Codemagica gradi je i potpisuje na vlastitim Mac strojevima, izgrađena verzija ide u App Store Connect i TestFlight, a oglas, podatke o privatnosti i prijavu dovršavate u pregledniku. IPhone ne možete preskočiti, jer netko mora isprobati verziju prije Applea.
Ovo smo napravili na Windowsu s vlastitom akcijskom igrom Little Ninja Dash. Prva uspješna gradnja u oblaku trajala je oko šest minuta, a aplikacija je 19. listopada 2026. poslana na App Review, gdje je u našim zapisima označena kao Waiting for Review (čeka pregled). Ovaj vodič ne navodi ishod pregleda. Podaci o Appleu i Codemagicu dolaze s njihovih službenih stranica, pročitanih 30. listopada 2026. Ostalo je ono što pišu naše bilješke, uključujući dijelove koji su pošli po zlu.
Što trebate za objavu u App Storeu bez Maca
- Članstvo u Apple Developer Programu: 99 USD po godini članstva. Pojedinci i organizacije mogu se upisati. Organizacije trebaju D-U-N-S broj i javnu web-stranicu.
- Račun na Codemagicu. Njegov besplatni individualni plan ima 500 minuta gradnje na macOS M2 mjesečno i jednu gradnju u isto vrijeme; nakon toga minuta na Mac mini M2 stroju koštaju 0,095 USD. Besplatne minute su za pojedinačne korisnike, a ne za timove.
- Privatni Git repozitorij s projektom. Codemagic gradi iz repozitorija koji povežete. S našim predlošcima privatni repozitorij je obavezan: javni bi distribuirao izvorni kod, što licenca zabranjuje.
- iPhone s aplikacijom TestFlight za testiranje prave verzije.
- Igra koja radi offline iz vlastite mape, omotana Capacitorom.
Od 28. travnja 2026. Apple traži da se aplikacije učitane u App Store Connect grade s Xcodeom 26 ili novijim i iOS 26 SDK-om. Capacitorova stranica za iOS također navodi Xcode 26.0 ili noviji i podržava iOS 15 i novije. Xcode radi samo na macOS-u, zato se gradnja odvija na Codemagicovim strojevima, a ne na vašem PC-u.
Naša izdanja predložaka su igre za preglednik. Stranica svakog izdanja navodi da nativne verzije za aplikacije nisu uključene. Jedna licenca pokriva jedan krajnji proizvod i tu igru smijete objaviti gdje želite, uključujući App Store i Google Play. Sam predložak ne smijete preprodavati. Planirate li naplaćivati igračima, plaćenom aplikacijom ili kupnjama unutar aplikacije, prvo nas pitajte.
Pregledajte predloške i što uključuje svako izdanje
Korak 1: dodajte iOS projekt na Windowsu
Ako već imate Capacitor projekt za Android, instalirajte @capacitor/ios i pokrenite npx cap add ios. To stvara mapu ios/, čak i na Windowsu. Lokalno je ne možete otvoriti u Xcodeu, pa je svaka promjena nativnog projekta izmjena datoteke koju provjeravate u sljedećoj gradnji u oblaku.
- Ikona: jedan PNG od 1024 × 1024 piksela bez prozirnosti.
- Uređaji i orijentacija: naša igra je samo za iPhone i samo vodoravno. Podrška za iPad dodaje snimke zaslona za iPad i više rasporeda za testiranje.
- Enkripcija: Appleova pomoć za usklađenost izvoza kaže da treba ažurirati Info.plist aplikacije kako ne biste odgovarali na pitanja o enkripciji pri svakoj prijavi. Naša igra koristi samo HTTPS sustava, pa smo postavili ITSAppUsesNonExemptEncryption na false.
- Samo ugrađene datoteke: igra je unutar aplikacije i nikada ne učitava našu web-stranicu. Appleova smjernica 4.2 traži aplikacije koje idu dalje od prepakirane web-stranice.
Polazite od predloška? Velvet Pool smo omotali Capacitorom za Google Play, pa je njegova mapa igre već prošla ovaj korak na Androidu. Nijedan naš predložak još nije prošao App Store pregled.
Pogledajte Velvet Pool, predložak koji smo već omotali Capacitorom
Korak 2: potpisivanje bez Maca i Keychaina
Potpisivanje je dio koji je nekada zahtijevao Mac. Uz API ključ za App Store Connect, Codemagic to može obaviti u oblaku.
- Na stranici Apple Developera stvorite App ID (identifikator paketa) za igru, s In-App Purchase ako unutar nje nešto prodajete.
- U App Store Connectu stvorite zapis aplikacije s tim identifikatorom paketa, SKU-om i primarnim jezikom.
- Generirajte API ključ za App Store Connect. Codemagicova dokumentacija preporučuje posebni ključ za Codemagic. Dodajte ga u postavke integracija na Codemagicu i nikada datoteku ključa ne stavljajte u repozitorij.
- Neka Codemagic generira certifikat za distribuciju i pomoću ključa preuzme profil za izdavanje. Može preuzeti certifikate koje je ranije generirao i profile s Apple Developer portala.
Što je pošlo po zlu kod nas
- Naše prve dvije gradnje nisu uspjele jer za identifikator paketa još nije bio postavljen profil za izdavanje. Postavite certifikat i profil prije prve gradnje.
- Profil uvezen u Codemagic bez referentnog naziva nije radio, a gumb je tiho zakazao. Uvijek upišite naziv.
- Prvo postavljanje API ključa nije uspjelo jer smo upisali pogrešan Issuer ID. Kopirajte ga sa stranice ključeva kod Applea i zalijepite.
- Broj gradnje uvijek mora rasti. Traženje posljednjeg broja od Applea nije uspjelo dok je prethodno učitavanje još bilo u obradi, pa smo prešli na broj izveden iz sata.
Korak 3: gradnja na Codemagicu i testiranje na TestFlightu
Recept za gradnju nalazi se u datoteci codemagic.yaml u repozitoriju. Naš instalira ovisnosti, priprema datoteke igre, sinkronizira ih u iOS projekt naredbom npx cap sync ios, primjenjuje profile i gradi IPA na Mac mini M2 stroju. Codemagic zatim objavljuje verziju u App Store Connect. Prva uspješna gradnja trajala je oko šest minuta, a kasnija produkcijska ispod četiri.
Jedno iznenađenje: kada je submit_to_testflight postavljen na false, Codemagic je ipak učitao verziju u App Store Connect. Codemagicova dokumentacija taj izbor opisuje kao onaj koji je potreban za distribuciju beta grupama.
Ograničenja TestFlighta
- Interni testeri: do 100 korisnika App Store Connecta u vašem timu.
- Vanjski testeri: do 10.000, nakon što App Review odobri prvu verziju za vanjsko testiranje.
- Verzija ostaje dostupna testerima do 90 dana.
Pozivnica internom testeru ostaje na čekanju dok je ne prihvati iz e-pošte TestFlighta, a aplikacija se prije toga ne pojavljuje u TestFlightu. Provjerite mapu neželjene pošte.
Što je iPhone pronašao, a Windows nije
- Snimljene zvučne datoteke se nisu učitavale. U aplikaciji je fetch vraćao status 0 s ispravnim bajtovima, a naš kod to je tretirao kao grešku. Prihvaćanje statusa 0 za lokalne datoteke to je riješilo.
- Gumbi su bili odrezani u vodoravnom prikazu blizu useka. Preradili smo raspored rezultata i testirali svaki kut.
- Ekrani za kupnju zajednički s Androidom još su pisali Google Play. Na iOS-u sada piše App Store.
- Probne kupnje u TestFlightu nije bilo moguće poništiti, pa su probne verzije dobile gumb za simulaciju nekupljenog stanja. Verzije za trgovinu ga nemaju.
Korak 4: stranica u App Store Connectu, privatnost i ocjena uzrasta
Ostalo se odvija u pregledniku. Ovo je redoslijed koji nam je uspio.
- Podaci o aplikaciji: podnaslov, kategorija i upitnik o ocjeni uzrasta. Odgovorite iskreno za ono što igra zapravo prikazuje.
- Cijena i dostupnost: cijena i zemlje. Dostupnost za Mac i Apple Vision Pro bila je uključena zadano. Isključili smo je jer je naša igra napravljena za dodir.
- Privatnost aplikacije: Apple traži ove podatke za nove aplikacije i ažuriranja, uključujući prakse partnera trećih strana čiji je kod u aplikaciji, poput oglasnih mreža i SDK-ova. Obavezan je javni URL pravila o privatnosti.
- Kupnja unutar aplikacije, ako postoji: nazivi, opisi, snimka zaslona za pregled i bilješke za recenzenta.
- Stranica verzije: opis, ključne riječi, URL-ovi za podršku i marketing, autorska prava, verzija, bilješke za pregled i opcija objave. Odabrali smo ručnu objavu.
- Snimke zaslona, zatim svaki dodatni jezik s vlastitim tekstom i snimkama.
- Snimke zaslona: smjernica 2.3.3 kaže da trebaju prikazivati aplikaciju u upotrebi, a ne samo naslovnu grafiku ili pozdravni zaslon. Naše su prave snimke igre.
- Naziv aplikacije: jedan naziv koji smo htjeli već je bio zauzet u App Storeu. Pripremite drugi naziv ili naziv s kratkim opisnim dijelom.
- Bilješke za pregled: napisali smo da je igra potpuna unutar aplikacije, radi offline, ne traži prijavu i gdje naći kupnju i gumb za vraćanje.
Pročitajte uvjete licence prije nego što predložak objavite kao aplikaciju
Korak 5: prijava i što Apple provjerava
Prijava traži da objavite odgovore o privatnosti aplikacije i potvrdite da su točni, a zatim pošaljete nacrt prijave. Naša je otišla 19. listopada 2026. s verzijom aplikacije i njezinom jednokratnom kupnjom, a status je postao Waiting for Review (čeka pregled). Ako pregled vrati odbijanje, odgovor ide kroz Resolution Center, s činjenicama, a ne slijepim ponovnim slanjem.
Za igru napravljenu od predloška tri smjernice su najvažnije. 4.2 traži više od prepakirane web-stranice, pa igru držite unutar aplikacije. 4.3(a) traži da ne stvarate više identifikatora paketa iste aplikacije. 4.3(b) kaže da Apple ne želi aplikacije koje se ne mogu razlikovati od onoga što je već široko dostupno. Reskin mora mijenjati pravila, sadržaj i sučelje, a ne samo grafiku.
Što naši predlošci uključuju i dio koji možemo učiniti umjesto vas
Svaki predložak dolazi s gotovom mapom igre za postavljanje, čitljivim izvornim kodom, priručnikom i 6 mjeseci podrške, ili 12 uz proširenje. Podrška pokriva instalaciju i korištenje isporučenih datoteka te ispravljanje ponovljivih grešaka. iOS omotač, nativni oglasi, kupnje unutar aplikacije, postavljanje gradnje u oblaku i stranica u App Storeu zasebne su usluge.
Ako ne želite sami postaviti potpisivanje i Codemagic, pošaljite nam predložak, plan vašeg Apple računa i rok. Odgovorit ćemo s opsegom, cijenom i rokom prije nego što krenemo. Ne objavljujemo cjenik za prilagođeni rad.
Zatražite ponudu za prijenos vaše igre u App Store
Često postavljana pitanja
Mogu li objaviti iPhone igru bez Maca?
Da. I dalje su vam potrebni macOS i Xcode za gradnju, ali ih pruža usluga u oblaku poput Codemagica. Sve ostalo, od App Store Connecta do TestFlighta, radi u pregledniku i na iPhoneu.
Koliko košta objava u App Storeu?
Apple Developer Program košta 99 USD po godini članstva. Besplatni individualni plan Codemagica uključuje 500 macOS M2 minuta mjesečno, a dodatne minute naplaćuju se po minuti. Dodajte licencu za igru i grafiku za trgovinu.
Trebam li iPhone?
Za pravo testiranje, da. Naš iPhone je pronašao nedostajući zvuk, odrezane gumbe i pogrešne nazive u trgovini, što verzija za Windows i testovi u pregledniku nisu pokazali.
Hoće li Apple prihvatiti HTML5 igru omotanu u aplikaciju?
Ne možemo jamčiti rezultat. Smjernica 4.2 traži više od prepakirane web-stranice, pa cijelu igru ugrađujemo u aplikaciju, radi offline i dajemo joj nativne značajke. Smjernica 4.3 vrijedi i za reskinove.
Uključuju li vaši predlošci iOS verziju?
Ne. Naša izdanja su igre za preglednik, a stranice proizvoda navode da nativne verzije za aplikacije nisu uključene. Ovaj put možete sami proći ili ga naručiti od nas po ponudi.
