Panduan

Build aplikasi iOS dari Windows, per framework

Anda bisa menulis aplikasi Flutter, React Native, Unity, Godot atau MAUI di Windows. Build iOS adalah satu langkah yang butuh Mac. Semua tool ini menyerahkan langkah terakhir ke Xcode. Halaman ini mencantumkan apa yang Anda jalankan di Mac untuk tiap framework. Halaman ini juga menunjukkan cara mengunggah hasilnya.

Apa yang butuh Mac, per framework

Ini yang tertulis di dokumentasi tiap proyek, dibaca pada 18 Oktober 2026.

  • Flutter: panduan rilis iOS bilang Xcode wajib dan Anda harus memakai perangkat dengan macOS. Kode Dart dan build Android Anda bisa tetap di Windows atau Linux.
  • React Native: panduan App Store melakukan build rilis di Xcode. Pekerjaan JavaScript dan test Jest jalan di sistem apa pun.
  • Expo: EAS Build menjalankan build iOS di mesin macOS di cloud Expo, jadi Anda mungkin tidak pernah butuh Mac sendiri.
  • Unity: editor menulis proyek Xcode, lalu Xcode membuat aplikasinya dari proyek itu. Unity bilang build iOS lokal butuh macOS.
  • Godot: dokumentasinya bilang Anda harus export untuk iOS dari komputer macOS yang sudah terpasang Xcode. Jadi langkah export pun pindah ke Mac.
  • .NET MAUI: Visual Studio di Windows terhubung ke Mac lewat SSH, lalu Mac mengompilasi dan menandatangani aplikasinya.

Dua panduan lama kami membahas kasus umumnya. Baca publish tanpa Mac untuk API key, signing dan TestFlight. Baca Xcode di Windows untuk layar dan keyboard jarak jauh. Halaman ini fokus ke perintahnya.

Sebelum mulai: akun dan signing

  • Anda butuh keanggotaan Apple Developer Program berbayar. Biayanya 99 USD per tahun.
  • Buat record aplikasi di App Store Connect. Ini bisa dari browser apa pun.
  • Tambahkan Apple Account Anda ke Xcode di Mac, lalu pilih tim Anda di Signing and Capabilities.
  • Biarkan Automatically manage signing tetap aktif, agar Xcode yang membuat sertifikat dan profilnya untuk Anda.

Flutter: flutter build ipa

Instal Flutter di Mac dan clone repository Anda di sana. Lalu jalankan satu perintah ini di folder proyek:

flutter build ipa

Menurut dokumentasi Flutter, perintah ini menulis .xcarchive ke build/ios/archive dan .ipa ke build/ios/ipa. Pakai --build-name dan --build-number untuk mengatur versi. Flutter mendokumentasikan tiga cara mengunggah hasilnya. Anda bisa menyeret .ipa ke aplikasi Transporter dari Apple di Mac. Anda bisa membuka archive di Xcode dan klik Distribute App. Atau Anda bisa mengunggah dari terminal dengan API key App Store Connect:

xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa \
  --apiKey your_api_key --apiIssuer your_issuer_id

React Native: archive di Xcode

Panduan React Native melakukan rilis di jendela Xcode. Instal pods dulu, lalu buka workspace:

cd ios
bundle exec pod install
open MyApp.xcworkspace
  • Di Product, Scheme, Edit Scheme, atur build configuration Run ke Release.
  • Atur perangkat ke Any iOS Device (arm64), lalu pilih Product, lalu Archive.
  • Di jendela archive, klik Distribute App, lalu App Store Connect, lalu Upload.

Build lalu muncul di App Store Connect di bagian TestFlight. Untuk rilis dari terminal, pakai xcodebuild archive dan -exportArchive, dengan flag dari panduan publish kami. Untuk alur kerja lengkap di Windows dan Linux, lihat build iOS React Native tanpa Mac.

Di Expo, Anda bisa melewati Mac untuk build. Jalankan ini dari Windows, dan build berjalan di runner macOS milik Expo:

eas build --platform ios

Anda tetap butuh Mac jika ingin memakai Simulator atau debugger Xcode.

Unity: build di Windows, archive di Mac

Di Build Settings, pilih iOS dan klik Build, lalu Unity menulis folder berisi proyek Xcode. Opsi Run in Xcode hanya muncul di macOS, jadi di Windows Anda berhenti di situ. Salin folder itu ke Mac lewat SSH:

scp -r Builds/iOS you@your-mac:~/MyGame-iOS

Di Mac, buka .xcodeproj di dalam folder itu. Pilih scheme Unity-iPhone, yaitu target launcher yang menjalankan UnityFramework. Atur perangkat ke Any iOS Device, lalu pilih Product, lalu Archive. Distribusikan dari jendela Organizer seperti aplikasi iOS lain.

Game yang besar menghasilkan folder yang besar, jadi waktu salin tergantung kecepatan upload Anda. Unity juga punya Build Automation, yang membuat build game di cloud Unity.

Godot: export di Mac

Export iOS di Godot hanya jalan di macOS. Instal Godot dan export templates di Mac, lalu buka proyek Anda di sana.

  • Buka Project, lalu Export, lalu klik Add dan pilih iOS.
  • Isi App Store Team ID dan Bundle Identifier, karena exporter mewajibkan keduanya.
  • Team ID adalah kode 10 karakter, bukan nama Anda seperti yang tampil di Xcode.
  • Klik Export Project dan pilih folder kosong untuk filenya.
  • Buka .xcodeproj yang dibuatnya, lalu pilih Product, lalu Archive.

.NET MAUI: pasangkan Visual Studio ke Mac

Fitur Pair to Mac dari Microsoft menjalankan build Mac lewat SSH, jadi Remote Login harus aktif. Xcode harus diinstal manual dan dibuka sekali. Microsoft juga meminta Mono, dan Rosetta di Apple silicon. Di Visual Studio, buka Tools, iOS, Pair to Mac. Jika Mac tidak ada di daftar, tambahkan lewat alamatnya.

Anda juga bisa publish dari command line Windows. Ini contoh Microsoft untuk Visual Studio 2026, tanpa password:

dotnet publish -f net8.0-ios -c Release -p:ArchiveOnBuild=true \
  -p:RuntimeIdentifier=ios-arm64 \
  -p:CodesignKey="Apple Distribution: John Smith (AY2GDE9QM7)" \
  -p:CodesignProvision="MyMauiApp" \
  -p:ServerAddress={macOS build host IP address} \
  -p:ServerUser={macOS username} -p:TcpPort=58181 \
  -p:_DotNetRootRemoteDirectory=/Users/{macOS username}/Library/Caches/maui/PairToMac/SDKs/dotnet/

Ganti net8.0-ios dengan target framework Anda sendiri. Tanpa flag password, Pair to Mac memakai SSH key yang disimpan saat koneksi pertama. File .ipa yang sudah ditandatangani ada di bin\Release di PC Anda. Microsoft merujuk ke Transporter untuk upload.

Upload: yang dicantumkan Apple saat ini

Halaman upload Apple menyebut empat tool: Xcode, Swift Playground, altool dan Transporter. Apple bilang Transporter dan altool mendukung semua tipe target, dan tidak ada tanggal akhir untuk altool. Transporter adalah aplikasi macOS, tapi versi command line-nya juga jalan di Windows dengan beberapa batasan. Panduan publish kami menjelaskan batasan itu.

Build di cloud atau sewa Mac?

Mulai dari kebutuhan Anda. Jika Anda hanya sesekali butuh .ipa, build di cloud mungkin cukup. Codemagic, EAS Build dan runner macOS GitHub Actions semuanya bisa build aplikasi iOS. Panduan GitHub Actions kami menunjukkan satu contoh setup.

Mac sewaan cocok untuk pekerjaan lain. Anda mungkin butuh Simulator untuk mengecek layar, atau debugger Xcode untuk crash. Error signing lebih mudah diperbaiki di jendela Xcode. Dan beberapa tim ingin melihat setiap langkah rilis saat berjalan.

Hari rilis dengan Mac $15

Banyak aplikasi hanya rilis beberapa kali setahun. Untuk itu, day pass MacRun seharga $15, sekali bayar tanpa perpanjangan. Seminggu $59, jadi ada waktu untuk perbaikan setelah review. Jika Anda rilis setiap beberapa minggu, paket bulanan mulai $139.

  • Anda dapat Mac mini khusus, bukan Mac bersama, dengan hak admin.
  • Xcode 27.1 jadi default, dan Xcode 26.6 terpasang untuk proyek lama.
  • Simulator iOS 27.1, termasuk iPhone Duo, sudah terpasang.
  • Mac siap dipakai dalam kurang dari 5 menit.
  • SSH dan screen sharing berjalan lewat jaringan Tailscale privat dari Windows atau Linux.

Mac dihapus saat pass berakhir. Push kode Anda dan salin file signing sebelum itu.

Pertanyaan yang sering diajukan

Bisakah saya build aplikasi iOS di Windows?

+

Anda bisa menulisnya di Windows. Build iOS butuh Xcode, dan Xcode hanya jalan di macOS. Pakai Mac sewaan, runner CI atau layanan build di cloud untuk langkah itu.

Bisakah Flutter build iOS di Windows?

+

Tidak. Panduan rilis iOS Flutter bilang Anda harus memakai perangkat macOS untuk langkah ini. Jalankan flutter build ipa di Mac, lalu unggah .ipa dengan Transporter, altool atau Xcode.

Bisakah saya build aplikasi iOS React Native tanpa Mac?

+

Dengan Expo, bisa, karena EAS Build menjalankan build iOS di mesin macOS di cloud Expo. Tanpa Expo, Anda butuh Mac untuk archive aplikasi di Xcode.

Bisakah Unity build untuk iOS di Windows?

+

Unity menulis proyek Xcode. Lalu Xcode yang membuat aplikasinya, dan Xcode hanya jalan di macOS. Salin proyek ke Mac dan archive di sana, atau pakai Unity Build Automation.

Bagaimana cara upload aplikasi iOS dari Windows?

+

Tool command line Transporter dari Apple jalan di Windows. Tool itu tetap butuh file yang diekspor Xcode bersama build, jadi build-nya tetap dari Mac.

Panduan terkait