Publish sa App Store Nang Walang Mac: Ang Cloud Build Route Namin
Paano namin dinala ang HTML5 na laro mula sa Windows PC hanggang App Store review gamit ang Capacitor, Codemagic at TestFlight, at ang mga pagkakamaling nagastusan kami ng build.

Oo, puwede kang mag-publish ng laro sa App Store nang walang Mac. Kailangan pa rin ng Mac, pero inuupahan mo ito: binabalot ang HTML5 na laro ng Capacitor sa PC mo, ang cloud service gaya ng Codemagic ang nagco-compile at nagpi-sign nito sa sarili nilang Mac machines, ang build ay papunta sa App Store Connect at TestFlight, at tinatapos mo ang listing, privacy details at submission sa browser. Ang hindi puwedeng laktawan ay ang iPhone, dahil may dapat maglaro ng build bago ito makita ng Apple.
Ginawa namin ito mula sa Windows gamit ang sarili naming action game, ang Little Ninja Dash. Mga anim na minuto ang unang matagumpay na cloud build, at ipinadala ang app sa App Review noong 19 Oktubre 2026, na sa mga talaan namin ay nakalistang Waiting for Review. Hindi iniulat ng gabay na ito ang resulta ng review. Galing sa opisyal nilang pahina ang mga detalye tungkol sa Apple at Codemagic, na binasa noong 30 Oktubre 2026. Ang iba ay mula sa sarili naming tala, kasama ang mga bahaging pumalpak.
Ano ang kailangan para mag-publish sa App Store nang walang Mac
- Membership sa Apple Developer Program: 99 US dollars kada taon ng membership. Puwedeng magpatala ang indibidwal at organisasyon. Kailangan ng organisasyon ng D-U-N-S Number at pampublikong website.
- Isang Codemagic account. May libreng individual plan itong 500 na macOS M2 build minute kada buwan at isang build sa isang pagkakataon; pagkatapos niyon, 0.095 US dollars ang bawat Mac mini M2 minute. Para sa iisang user ang libreng minuto, hindi para sa team.
- Isang private Git repository ng project mo. Mula sa repository na ikinonekta mo nagbi-build ang Codemagic. Sa mga template namin, kailangan ang private repository: ang public ay mamamahagi ng source code, na ipinagbabawal ng lisensya.
- Isang iPhone na may TestFlight app, para i-test ang totoong build.
- Isang larong gumagana offline mula sa sarili nitong folder, na binalot ng Capacitor.
Mula 28 Abril 2026, hinihingi ng Apple na ang mga app na ina-upload sa App Store Connect ay gawin gamit ang Xcode 26 o mas bago at iOS 26 SDK. Sa pahina ng Capacitor para sa iOS, nakalista rin ang Xcode 26.0 o mas bago, at sinusuportahan nito ang iOS 15 pataas. Tumatakbo lang ang Xcode sa macOS, kaya nangyayari ang build sa mga makina ng Codemagic at hindi sa PC mo.
Mga browser game ang mga edition ng template namin. Nakalista sa bawat edition page na hindi kasama ang native app build. Isang lisensya ang sumasakop sa isang end product, at puwede mong ilathala ang larong iyon kahit saan, kasama ang App Store at Google Play. Hindi mo puwedeng i-resell ang mismong template. Kung plano mong maningil sa player, sa bayad na app o sa in-app purchases, magtanong muna sa amin.
Tingnan ang mga template at kung ano ang kasama sa bawat edition
Hakbang 1: idagdag ang iOS project sa Windows
Kung mayroon ka nang Capacitor project para sa Android, i-install ang @capacitor/ios at patakbuhin ang npx cap add ios. Gagawa ito ng ios/ folder, kahit nasa Windows ka. Hindi mo ito mabubuksan sa Xcode nang lokal, kaya bawat pagbabago sa native project ay file edit na sinusuri mo sa susunod na cloud build.
- Icon: isang 1024 by 1024 na PNG na walang transparency.
- Device at orientation: iPhone lang at landscape lang ang laro namin. Kapag sinuportahan ang iPad, kailangan ng iPad screenshot at mas maraming layout na susubukan.
- Encryption: sinasabi ng help ng Apple tungkol sa export compliance na i-update ang Info.plist ng app para hindi mo na sagutin ang mga tanong sa encryption sa bawat submission. Gumagamit lang ng HTTPS ng sistema ang laro namin, kaya itinakda namin ang ITSAppUsesNonExemptEncryption sa false.
- Mga bundled file lang: nasa loob ng app ang laro at hindi nito nilo-load ang website namin. Hinihingi ng guideline 4.2 ng Apple ang mga app na higit pa sa repackaged na website.
Nagsisimula sa template? Ang Velvet Pool ay binalot namin ng Capacitor para sa Google Play, kaya dumaan na ang game folder nito sa hakbang na ito sa Android. Wala pang template namin ang dumaan sa App Store review.
Tingnan ang Velvet Pool, isang template na binalot na namin ng Capacitor
Hakbang 2: pag-sign nang walang Mac o Keychain
Ang pag-sign ang bahaging dati ay nangangailangan ng Mac. Gamit ang App Store Connect API key, magagawa ito ng Codemagic sa cloud.
- Sa site ng Apple Developer, gumawa ng App ID (bundle identifier) para sa laro, kasama ang In-App Purchase kung may ibinebenta ka sa loob nito.
- Sa App Store Connect, gumawa ng app record gamit ang bundle ID na iyon, isang SKU at ang pangunahing wika.
- Gumawa ng App Store Connect API key. Inirerekomenda ng dokumentasyon ng Codemagic ang nakalaang key para sa Codemagic. Idagdag ito sa integration settings ng Codemagic at huwag kailanman ilagay ang key file sa repository.
- Hayaang gumawa ang Codemagic ng distribution certificate at kunin ang provisioning profile gamit ang key. Kaya nitong kunin ang mga certificate na nagawa na dati, at ang mga profile mula sa Apple Developer portal.
Ano ang pumalpak sa amin
- Pumalya ang unang dalawang build namin dahil walang naka-set up na provisioning profile para sa bundle ID. I-set up ang certificate at profile bago ang unang build.
- Hindi gumana ang profile na na-import sa Codemagic na walang reference name, at tahimik na pumalya ang button. Laging lagyan ng pangalan.
- Pumalya ang unang API key setup dahil mali ang na-type naming Issuer ID. Kopyahin at i-paste ito mula sa keys page ng Apple.
- Dapat laging tumataas ang build number. Pumalya ang pagtatanong sa Apple ng huling numero habang nagpo-process pa ang nakaraang upload, kaya lumipat kami sa numerong galing sa orasan.
Hakbang 3: mag-build sa Codemagic at mag-test sa TestFlight
Nasa codemagic.yaml file sa repository ang build recipe. Ang sa amin ay nag-i-install ng dependencies, naghahanda ng game files, ini-sync ang mga ito sa iOS project gamit ang npx cap sync ios, nag-a-apply ng mga profile, at nagbi-build ng IPA sa Mac mini M2 machine. Pagkatapos, ipinapadala ng Codemagic ang build sa App Store Connect. Mga anim na minuto ang unang matagumpay na build namin, at mas mababa sa apat na minuto ang sumunod na production build.
Isang sorpresa: kahit naka-set ang submit_to_testflight sa false, in-upload pa rin ng Codemagic ang build sa App Store Connect. Inilalarawan ng dokumentasyon ng Codemagic ang opsyong iyon bilang kailangan para sa pamamahagi sa beta groups.
Mga limitasyon ng TestFlight
- Internal testers: hanggang 100 App Store Connect user sa team mo.
- External testers: hanggang 10,000, pagkatapos maaprubahan ng App Review ang una mong build para sa external testing.
- Nananatiling available sa tester ang isang build nang hanggang 90 araw.
Nananatiling pending ang imbitasyon ng internal tester hangga't hindi ito tinatanggap mula sa TestFlight email, at hindi lalabas ang app sa TestFlight hanggang doon. Tingnan ang spam folder.
Ang nakita ng iPhone na hindi nakita ng Windows
- Hindi nag-load ang mga recorded audio file. Sa loob ng app, nagbalik ang fetch ng status 0 kahit tama ang bytes, at itinuring iyon ng code namin bilang error. Ang pagtanggap sa status 0 para sa local file ang nag-ayos nito.
- Naputol ang mga button sa landscape malapit sa notch. Inayos namin ang layout ng results at sinubukan ang bawat sulok.
- Nakasulat pa sa Google Play ang purchase screen na ibinabahagi sa Android. Sa iOS, App Store na ang nakasulat.
- Hindi ma-reset ang mga test purchase sa TestFlight, kaya nagkaroon ang test build ng button para gayahin ang hindi pagbili. Wala ito sa store builds.
Hakbang 4: listing sa App Store Connect, privacy at age rating
Sa browser nangyayari ang natitira. Ito ang pagkakasunod na gumana para sa amin.
- App Information: subtitle, kategorya at ang age rating questionnaire. Sagutin ito nang tapat base sa tunay na ipinapakita ng laro.
- Pricing and Availability: presyo at mga bansa. Naka-on sa default ang availability sa Mac at Apple Vision Pro. Pinatay namin ang mga iyon dahil para sa touch ang laro namin.
- App Privacy: hinihingi ng Apple ang mga detalyeng ito para sa bagong app at update, kasama ang gawi ng mga third-party partner na may code sa app, gaya ng ad network at SDK. Kailangan ang pampublikong URL ng privacy policy.
- In-app purchase, kung mayroon: mga pangalan, paglalarawan, screenshot para sa review at mga tala para sa reviewer.
- Version page: paglalarawan, keyword, support at marketing URL, copyright, ang build, review notes at release option. Manual release ang pinili namin.
- Screenshot, pagkatapos ang bawat karagdagang wika na may sariling teksto at capture.
- Screenshot: sinasabi ng guideline 2.3.3 na dapat ipakita nila ang app habang ginagamit, hindi lang title art o splash screen. Totoong capture ng laro ang sa amin.
- Pangalan ng app: may pangalang gusto sana namin na nakuha na sa App Store. Maghanda ng pangalawang pangalan, o pangalang may maikling paglalarawan.
- Review notes: isinulat namin na kumpleto ang laro sa loob ng app, gumagana offline, walang login, at kung saan makikita ang purchase at restore button.
Basahin ang lisensya namin bago mo i-publish bilang app ang isang template
Hakbang 5: i-submit at ano ang tinitingnan ng Apple
Hinihingi ng pag-submit na i-publish mo ang sagot sa App Privacy at kumpirmahing totoo ang mga ito, saka ipadala ang draft submission. Ipinadala ang sa amin noong 19 Oktubre 2026 kasama ang bersyon ng app at ang one-time purchase nito, at naging Waiting for Review ang status. Kung ibalik ng review ang app dahil sa rejection, ang sagot ay dumadaan sa Resolution Center, na may mga katotohanan, hindi bulag na pag-submit ulit.
Para sa larong gawa sa template, tatlong guideline ang pinakamahalaga. Hinihingi ng 4.2 na higit pa ito sa repackaged na website, kaya itago ang laro sa loob ng app. Hinihingi ng 4.3(a) na huwag gumawa ng maraming bundle ID para sa iisang app. Sinasabi ng 4.3(b) na ayaw ng Apple ng mga app na hindi matukoy na iba sa mga nauna nang malawakang available. Dapat palitan ng reskin ang mga patakaran, nilalaman at interface, hindi lang ang art.
Ano ang kasama sa mga template namin, at ang bahaging kaya naming gawin para sa iyo
May kasamang handa-nang-i-host na game folder, nababasang source, manual at 6 na buwang support ang bawat template, o 12 kung may extension. Sakop ng support ang pag-install at paggamit ng mga ibinigay na file at ang pag-ayos ng mga defect na nauulit. Hiwalay na serbisyo ang iOS wrapper, native ads, in-app purchases, setup ng cloud build at App Store listing.
Kung ayaw mong ikaw ang mag-set up ng signing at Codemagic, ipadala sa amin ang template, ang plan ng Apple account mo at ang deadline. Sasagot kami ng saklaw, presyo at timing bago magsimula ang anumang trabaho. Hindi kami naglalathala ng price list para sa custom na trabaho.
Humingi ng quote para dalhin ang laro mo sa App Store
Mga madalas itanong
Puwede ba akong mag-publish ng iPhone game nang hindi nagmamay-ari ng Mac?
Oo. Kailangan pa rin ng macOS at Xcode para sa build, pero ibinibigay ng cloud service gaya ng Codemagic ang mga iyon. Ang lahat ng iba pa, mula App Store Connect hanggang TestFlight, ay gumagana sa browser at sa iPhone.
Magkano ang gastos sa pag-publish sa App Store?
99 US dollars kada taon ang Apple Developer Program. Kasama sa libreng individual plan ng Codemagic ang 500 macOS M2 minuto kada buwan, at sinisingil kada minuto ang dagdag. Idagdag ang lisensya ng laro at ang store art.
Kailangan ko ba ng iPhone?
Para sa totoong test, oo. Nakita ng iPhone namin ang nawawalang audio, ang naputol na mga button at ang maling pangalan sa store na hindi ipinakita ng Windows build at browser test.
Tatanggapin ba ng Apple ang HTML5 na laro na nakabalot sa app?
Hindi namin masasabi nang sigurado ang resulta. Hinihingi ng guideline 4.2 ang higit pa sa repackaged na website, kaya ibinabalot namin ang buong laro sa loob ng app, ginagawa itong gumagana offline at binibigyan ng native na feature. Sakop din ng guideline 4.3 ang mga reskin.
Kasama ba sa mga template ninyo ang iOS build?
Hindi. Mga browser game ang edition namin, at nakasaad sa item pages na hindi kasama ang native app build. Puwede mong sundan ang ruta na ito mismo, o i-order ito sa amin sa pamamagitan ng quote.
