Build game Unity Anda untuk iOS dari Windows
Unity di Windows bisa menargetkan iOS, tetapi berhenti di tengah jalan. Unity menulis proyek Xcode, dan hanya Xcode di Mac yang bisa mengubahnya menjadi aplikasi. Panduan ini menunjukkan cara memindahkan proyek ke Mac dan membuat archive. Panduan ini juga membahas build cloud dari Unity, yang sama sekali tidak butuh Mac.
Apa yang dilakukan Unity di Windows, dan apa yang butuh Mac
Halaman setup iOS dari Unity bilang Xcode hanya tersedia untuk macOS. Jadi jika mesin Anda tidak menjalankan macOS, Anda tidak bisa build aplikasinya secara lokal. Unity build iOS dalam dua langkah. Unity menulis proyek Xcode, lalu Xcode membuat aplikasi dari proyek itu.
Di Windows Anda hanya mendapat langkah pertama. Opsi Run in Xcode hanya terlihat saat Unity berjalan di macOS. Langkah kedua melakukan kerja yang sesungguhnya. Dokumentasi Unity bilang Xcode menjalankan IL2CPP di sana, yang mengompilasi C++ dari skrip Anda menjadi libGameAssembly.a.
Langkah 1: export proyek Xcode di Windows
- Tambahkan modul iOS Build Support ke editor Anda di Unity Hub.
- Buka File, lalu Build Profiles, dan jadikan iOS platform aktif.
- Klik Build dan pilih folder kosong, misalnya Builds/iOS.
Folder itu berisi Unity-iPhone.xcodeproj. Dokumentasi Unity menjelaskan dua target di dalamnya. Unity-iPhone adalah launcher tipis, dan UnityFramework berisi runtime dan kode Anda. Jangan ubah folder Data dan Libraries, karena Unity memperbaruinya di setiap build.
Langkah 2: salin ke Mac
Windows sudah menyertakan tar sejak Windows 10 build 17063. Client scp ikut bersama OpenSSH for Windows, fitur opsional sejak build 1809. Jika scp tidak ada, tambahkan OpenSSH Client di Optional features. Kemas folder itu, salin lewat Tailscale, lalu ekstrak di Mac:
cd Builds tar -czf ios-build.tgz iOS scp ios-build.tgz you@your-mac:~/ ssh you@your-mac "mkdir -p ~/MyGame && tar -xzf ~/ios-build.tgz -C ~/MyGame"
Dari Linux atau WSL, rsync hanya mengirim apa yang berubah sejak salinan terakhir. Ini membantu setelah perubahan kecil pada game yang besar.
rsync -az --delete Builds/iOS/ you@your-mac:~/MyGame/iOS/
Git juga bisa, tetapi export lengkap itu besar dan berubah di setiap build. Sebagian besar tim menyalin hasil export dan memakai git untuk proyek Unity-nya.
Langkah 3: archive di Mac
Anda bisa membuka .xcodeproj di Xcode lewat layar Mac. Pilih scheme Unity-iPhone dan Any iOS Device, lalu pilih Product, lalu Archive. Atau tetap di terminal lewat SSH. Pertama tampilkan daftar target dan scheme:
cd ~/MyGame/iOS xcodebuild -list -project Unity-iPhone.xcodeproj
Lalu buat archive dengan scheme launcher. CODE_SIGNING_ALLOWED=NO membuat archive test tanpa sertifikat, yang membuktikan proyek itu bisa dikompilasi.
xcodebuild -project Unity-iPhone.xcodeproj -scheme Unity-iPhone \ -configuration Release -destination 'generic/platform=iOS' \ -archivePath build/Game.xcarchive archive \ CODE_SIGNING_ALLOWED=NO
Untuk rilis, hapus flag itu dan tandatangani dengan tim Anda. Lalu export dengan -exportArchive dan ExportOptions.plist yang memakai metode app-store-connect. Panduan publish kami berisi perintah signing dan upload yang lengkap.
Beberapa game memakai External Dependency Manager dari Google untuk SDK iOS. Tool ini menulis Podfile dan menjalankan CocoaPods setelah build. Jika hasil export Anda punya Podfile, jalankan pod install di Mac. Lalu build .xcworkspace, bukan .xcodeproj. CocoaPods belum terpasang, jadi tambahkan dengan brew install cocoapods.
Apa yang kami uji, dan apa yang tidak
Unity tidak bisa jalan di CI tanpa lisensi, jadi kami tidak meng-export game Unity sungguhan. Sebagai gantinya, kami menguji bagian Mac pada proyek pengganti dengan bentuk yang sama: target aplikasi launcher dan target framework. Pada 19 Oktober 2026, runner macos-26 GitHub membuat archive-nya dengan Xcode 26.6. Lalu runner Windows mengemasnya dengan tar Windows. Mac kedua mengekstrak salinan itu dan membuat archive lagi.
Xcode 26.6
Build version 17F113
Schemes:
Game-iPhone
GameFramework
** BUILD SUCCEEDED **
** ARCHIVE SUCCEEDED **
scp.exe C:\Windows\System32\OpenSSH\scp.exe
OpenSSH_for_Windows_9.5p2, LibreSSL 3.8.2
** ARCHIVE SUCCEEDED **Game sungguhan butuh waktu jauh lebih lama, karena Mac mengompilasi semua kode IL2CPP. Jika build berhenti dengan Permission denied pada file .sh, salinan itu kehilangan izin eksekusinya. Jalankan chmod +x pada file itu dan build lagi.
Pilihan cloud: Unity Build Automation
Dokumentasi Unity menyarankan Build Automation untuk siapa pun yang tidak punya Mac. Layanan ini build game Anda di server Unity. Sejak 1 Maret 2026, Unity memberi 100 menit build Mac per bulan. Setelah itu, mesin Mac standar seharga $0.07 per menit build, menurut artikel biaya DevOps dari Unity.
Siapa yang sebaiknya tidak menyewa Mac untuk ini
- Beberapa build per bulan. 100 menit Mac gratis dari Unity Build Automation mungkin cukup, tanpa Mac sama sekali.
- Build di setiap commit. Layanan CI atau runner macOS self-hosted lebih cocok daripada menyalin folder secara manual.
- Kerja iOS harian. Jika Anda memakai Mac setiap hari, membeli satu mungkin lebih murah dalam setahun.
Kapan Mac sewaan cocok
Beberapa masalah butuh Xcode yang terbuka. Error signing, error link plugin dan crash di Simulator lebih mudah diperbaiki secara manual. Pass harian MacRun adalah Mac mini M6 khusus seharga $15, dan seminggu seharga $59. Xcode 27.1 menjadi default dan Xcode 26.6 juga terpasang. Anda terhubung dari Windows dengan Tailscale dan viewer VNC apa pun.
Mac dihapus saat pass berakhir. Unduh .ipa Anda dan push perubahan Anda sebelum itu. Untuk iPhone sungguhan, kirim build lewat TestFlight, karena Mac remote tidak bisa melihat ponsel di PC Anda. Panduan kami tentang build aplikasi iOS di Windows membandingkan Unity dengan engine lain.
Pertanyaan yang sering diajukan
Bisakah Unity build aplikasi iOS di Windows?
+
Hanya setengah jalan. Unity di Windows menulis proyek Xcode. Dokumentasi Unity bilang Xcode hanya tersedia untuk macOS, jadi aplikasinya sendiri di-build di Mac atau di Unity Build Automation.
Bagaimana cara build proyek Xcode Unity dari command line?
+
Di Mac, jalankan xcodebuild -list untuk melihat scheme. Lalu jalankan xcodebuild archive dengan scheme Unity-iPhone dan destination iOS generik. Export archive-nya dengan -exportArchive untuk mendapat .ipa.
Versi Xcode mana yang dibutuhkan Unity?
+
Dokumentasi Unity 6.6 menyarankan Xcode 16 atau lebih baru dan mendukung iOS 15 ke atas. Mac MacRun punya Xcode 27.1 sebagai default dan Xcode 26.6 juga terpasang.
Berapa biaya Unity Build Automation untuk iOS?
+
Artikel biaya DevOps dari Unity, berlaku sejak 1 Maret 2026, memberi 100 menit build Mac per bulan. Setelah itu, mesin Mac standar seharga $0.07 per menit build.
Bagaimana cara menyalin build iOS Unity dari Windows ke Mac?
+
Kemas folder export dengan tar, yang sudah ada di Windows sejak Windows 10 build 17063. Salin dengan scp, lalu ekstrak di Mac. Dari Linux atau WSL, rsync hanya mengirim apa yang berubah.
Bisakah saya menguji build iOS Unity di iPhone dari Mac remote?
+
Tidak lewat USB, karena Mac remote tidak bisa melihat ponsel yang dicolokkan ke PC Anda. Unggah build ke TestFlight dan pasang di ponsel dari sana.