Publish Game ke App Store Tanpa Mac: Rute Build Cloud Kami
Cara kami membawa game HTML5 dari PC Windows sampai ke review App Store dengan Capacitor, Codemagic dan TestFlight, plus kesalahan yang membuat build kami gagal.

Ya, Anda bisa publish game ke App Store tanpa Mac. Mac tetap dibutuhkan, tetapi Anda menyewanya: game HTML5 dibungkus dengan Capacitor di PC Anda, layanan cloud seperti Codemagic mengompilasi dan menandatanganinya di mesin Mac milik mereka, build dikirim ke App Store Connect dan TestFlight, lalu listing, detail privasi dan pengajuan Anda selesaikan di browser. Yang tidak bisa dilewati adalah iPhone, karena seseorang harus memainkan build itu sebelum Apple melakukannya.
Kami melakukan ini dari Windows dengan game aksi kami sendiri, Little Ninja Dash. Build cloud pertama yang berhasil memakan waktu sekitar enam menit, dan aplikasinya masuk App Review pada 19 Oktober 2026, dengan status Waiting for Review menurut catatan kami. Panduan ini tidak melaporkan hasil review. Fakta tentang Apple dan Codemagic diambil dari halaman resmi mereka, dibaca pada 30 Oktober 2026. Sisanya adalah apa yang tercatat di catatan kami, termasuk bagian yang salah.
Yang Anda perlukan untuk publish game ke App Store tanpa Mac
- Keanggotaan Apple Developer Program: 99 dolar AS per tahun keanggotaan. Perorangan dan organisasi bisa mendaftar. Organisasi memerlukan D-U-N-S Number dan situs web publik.
- Akun Codemagic. Paket individu gratisnya memberi 500 menit build macOS M2 per bulan dan satu build dalam satu waktu; setelah itu, menit Mac mini M2 dikenai US$0,095 per menit. Menit gratis untuk pengguna tunggal, bukan tim.
- Repositori Git privat berisi proyek Anda. Codemagic melakukan build dari repositori yang Anda hubungkan. Untuk template kami, repositori privat wajib: repositori publik berarti mendistribusikan ulang source code, dan itu dilarang lisensi.
- iPhone dengan aplikasi TestFlight, untuk menguji build yang sebenarnya.
- Game yang berjalan offline dari foldernya sendiri, dibungkus dengan Capacitor.
Sejak 28 April 2026, Apple mewajibkan aplikasi yang diunggah ke App Store Connect dibuild dengan Xcode 26 atau lebih baru dan SDK iOS 26. Halaman iOS Capacitor juga mencantumkan Xcode 26.0 atau lebih baru dan mendukung iOS 15 ke atas. Xcode hanya berjalan di macOS, karena itu build dilakukan di mesin Codemagic, bukan di PC Anda.
Edisi template kami adalah game browser. Setiap halaman edisi mencantumkan build aplikasi native sebagai tidak termasuk. Satu lisensi mencakup satu produk akhir, dan Anda boleh mempublikasikan game itu di mana saja, termasuk App Store dan Google Play. Anda tidak boleh menjual ulang template itu sendiri. Jika Anda berencana menarik bayaran dari pemain, lewat aplikasi berbayar atau pembelian dalam aplikasi, tanyakan kepada kami dulu.
Lihat template dan isi setiap edisinya
Langkah 1: tambahkan proyek iOS di Windows
Jika Anda sudah punya proyek Capacitor untuk Android, instal @capacitor/ios lalu jalankan npx cap add ios. Perintah itu membuat folder ios/, bahkan di Windows. Anda tidak bisa membukanya di Xcode secara lokal, jadi setiap perubahan pada proyek native berarti mengedit file, lalu memeriksanya di build cloud berikutnya.
- Ikon: satu PNG 1024 x 1024 tanpa transparansi.
- Perangkat dan orientasi: game kami hanya untuk iPhone dan hanya landscape. Mendukung iPad berarti menambah screenshot iPad dan lebih banyak tata letak yang harus diuji.
- Enkripsi: panduan kepatuhan ekspor Apple menyarankan memperbarui Info.plist aplikasi agar Anda tidak menjawab pertanyaan enkripsi di setiap pengajuan. Game kami hanya memakai HTTPS bawaan sistem, jadi kami mengatur ITSAppUsesNonExemptEncryption ke false.
- Hanya file bawaan: game ada di dalam aplikasi dan tidak pernah memuat situs kami. Pedoman 4.2 Apple meminta aplikasi yang lebih dari sekadar situs web yang dikemas ulang.
Mulai dari template? Velvet Pool adalah template yang sudah kami bungkus dengan Capacitor untuk Google Play, jadi folder game-nya sudah melewati langkah ini di Android. Belum ada template kami yang pernah melalui review App Store.
Lihat Velvet Pool, template yang sudah kami bungkus dengan Capacitor
Langkah 2: signing tanpa Mac atau Keychain
Signing dulu adalah bagian yang mengharuskan Mac. Dengan API key App Store Connect, Codemagic bisa melakukannya di cloud.
- Di situs Apple Developer, buat App ID (bundle identifier) untuk game, dengan In-App Purchase jika Anda menjual sesuatu di dalamnya.
- Di App Store Connect, buat record aplikasi dengan bundle ID itu, SKU dan bahasa utama.
- Buat API key App Store Connect. Dokumentasi Codemagic menyarankan key khusus untuk Codemagic. Tambahkan ke pengaturan integrasi Codemagic dan jangan pernah menaruh file key di repositori.
- Biarkan Codemagic membuat sertifikat distribusi dan mengambil provisioning profile dengan key tersebut. Codemagic bisa mengambil sertifikat yang pernah dibuatnya, dan profile dari portal Apple Developer.
Yang salah di pihak kami
- Dua build pertama kami gagal karena belum ada provisioning profile untuk bundle ID tersebut. Siapkan sertifikat dan profile sebelum build pertama.
- Profile yang diimpor tanpa nama referensi di Codemagic tidak berfungsi, dan tombolnya gagal tanpa pesan apa pun. Selalu isi namanya.
- Pengaturan API key pertama gagal karena kami salah mengetik Issuer ID. Salin dan tempel dari halaman key Apple.
- Nomor build harus selalu naik. Meminta nomor terakhir ke Apple gagal saat unggahan sebelumnya masih diproses, jadi kami beralih ke nomor yang diambil dari jam.
Langkah 3: build di Codemagic dan uji di TestFlight
Resep build disimpan di file codemagic.yaml dalam repositori. Resep kami menginstal dependensi, menyiapkan file game, menyinkronkannya ke proyek iOS dengan npx cap sync ios, menerapkan profile dan membuild IPA di mesin Mac mini M2. Setelah itu Codemagic mempublikasikan build ke App Store Connect. Build pertama kami yang berhasil butuh sekitar enam menit, dan build produksi berikutnya kurang dari empat menit.
Satu kejutan: dengan submit_to_testflight diatur ke false, Codemagic tetap mengunggah build ke App Store Connect. Dokumentasi Codemagic menjelaskan opsi itu sebagai opsi yang diperlukan untuk distribusi ke grup beta.
Batasan TestFlight
- Penguji internal: hingga 100 pengguna App Store Connect di tim Anda.
- Penguji eksternal: hingga 10.000, setelah build pertama Anda untuk pengujian eksternal disetujui oleh App Review.
- Satu build tersedia bagi penguji hingga 90 hari.
Undangan penguji internal tetap tertunda sampai diterima dari email TestFlight, dan aplikasinya tidak muncul di TestFlight sebelum itu. Periksa folder spam.
Yang ditemukan iPhone dan tidak terlihat di Windows
- File audio rekaman tidak termuat. Di dalam aplikasi, fetch mengembalikan status 0 dengan byte yang benar, dan kode kami menganggapnya error. Menerima status 0 untuk file lokal memperbaikinya.
- Tombol terpotong di mode landscape dekat notch. Kami menata ulang layar hasil dan menguji setiap sudut.
- Layar pembelian yang dipakai bersama Android masih bertuliskan Google Play. Di iOS sekarang tertulis App Store.
- Pembelian uji di TestFlight tidak bisa direset, jadi build uji diberi tombol untuk menyimulasikan belum membeli. Build toko tidak memiliki tombol itu.
Langkah 4: listing App Store Connect, privasi dan rating usia
Sisanya dikerjakan di browser. Berikut urutan yang berhasil untuk kami.
- App Information: subjudul, kategori dan kuesioner rating usia. Jawab dengan jujur sesuai apa yang benar-benar ditampilkan game.
- Pricing and Availability: harga dan negara. Ketersediaan di Mac dan Apple Vision Pro aktif secara default. Kami mematikannya karena game kami dibuat untuk layar sentuh.
- App Privacy: Apple mewajibkan detail ini untuk aplikasi baru dan pembaruan, termasuk praktik mitra pihak ketiga yang kodenya ada di aplikasi, seperti jaringan iklan dan SDK. URL kebijakan privasi publik wajib ada.
- Pembelian dalam aplikasi, jika ada: nama, deskripsi, screenshot untuk review dan catatan untuk reviewer.
- Halaman versi: deskripsi, kata kunci, URL dukungan dan pemasaran, hak cipta, build, catatan review dan opsi rilis. Kami memilih rilis manual.
- Screenshot, lalu setiap bahasa tambahan dengan teks dan tangkapan layarnya sendiri.
- Screenshot: pedoman 2.3.3 menyatakan screenshot harus menunjukkan aplikasi sedang dipakai, bukan hanya gambar judul atau splash screen. Screenshot kami adalah tangkapan asli dari game.
- Nama aplikasi: satu nama yang kami inginkan sudah dipakai di App Store. Siapkan nama kedua, atau nama dengan bagian deskriptif singkat.
- Catatan review: kami menulis bahwa game lengkap di dalam aplikasi, berjalan offline, tidak butuh login, serta letak tombol pembelian dan tombol restore.
Baca ketentuan lisensi kami sebelum menerbitkan template sebagai aplikasi
Langkah 5: kirim, dan apa yang diperiksa Apple
Saat mengirim, Anda diminta mempublikasikan jawaban App Privacy dan menyatakan bahwa jawaban itu benar, lalu mengirim draf pengajuan. Pengajuan kami masuk pada 19 Oktober 2026 bersama versi aplikasi dan pembelian satu kalinya, dan statusnya menjadi Waiting for Review. Jika review kembali dengan penolakan, jawabannya disampaikan lewat Resolution Center, dengan fakta, bukan dengan mengirim ulang begitu saja.
Untuk game yang dibuat dari template, tiga pedoman paling penting. 4.2 meminta lebih dari sekadar situs web yang dikemas ulang, jadi simpan game di dalam aplikasi. 4.3(a) meminta Anda tidak membuat beberapa bundle ID untuk aplikasi yang sama. 4.3(b) menyatakan Apple tidak menginginkan aplikasi yang tidak bisa dibedakan dari yang sudah banyak tersedia. Reskin harus mengubah aturan, konten dan antarmuka, bukan hanya artnya.
Isi template game kami, dan bagian yang bisa kami kerjakan untuk Anda
Setiap template game hadir dengan folder game siap hosting, source code yang mudah dibaca, manual dan dukungan 6 bulan, atau 12 bulan dengan perpanjangan. Dukungan mencakup instalasi dan penggunaan file yang kami sediakan serta perbaikan cacat yang bisa direproduksi. Wrapper iOS, iklan native, pembelian dalam aplikasi, pengaturan build cloud dan listing App Store adalah layanan terpisah.
Jika Anda tidak ingin mengatur signing dan Codemagic sendiri, kirimkan template, jenis akun Apple Anda dan tenggat waktunya. Kami membalas dengan cakupan, harga dan jadwal sebelum pekerjaan dimulai. Kami tidak memublikasikan daftar harga untuk pekerjaan kustom.
Minta penawaran untuk membawa game Anda ke App Store
Pertanyaan yang sering diajukan
Bisakah saya publish game iPhone tanpa punya Mac?
Bisa. Build tetap memerlukan macOS dan Xcode, tetapi layanan cloud seperti Codemagic menyediakannya. Semua yang lain, dari App Store Connect sampai TestFlight, berjalan di browser dan di iPhone.
Berapa biaya publish di App Store?
Apple Developer Program berbiaya 99 dolar AS per tahun keanggotaan. Paket individu gratis Codemagic mencakup 500 menit macOS M2 per bulan, dan menit tambahan ditagih per menit. Tambahkan biaya lisensi game dan aset grafis untuk toko.
Apakah saya perlu iPhone?
Untuk pengujian yang sebenarnya, ya. iPhone kami menemukan audio yang hilang, tombol terpotong dan nama toko yang salah, yang tidak terlihat di build Windows maupun uji di browser.
Apakah Apple menerima game HTML5 yang dibungkus menjadi aplikasi?
Kami tidak bisa menjanjikan hasilnya. Pedoman 4.2 meminta lebih dari sekadar situs web yang dikemas ulang, jadi kami menyertakan seluruh game di dalam aplikasi, membuatnya berjalan offline dan memberinya fitur native. Pedoman 4.3 juga berlaku untuk reskin.
Apakah template game Anda menyertakan build iOS?
Tidak. Edisi kami adalah game browser, dan halaman item menyebutkan bahwa build aplikasi native tidak termasuk. Anda bisa mengikuti rute ini sendiri atau memesannya dari kami lewat penawaran harga.
