Menguji iOS dari mesin Windows atau Linux berdasarkan satu fakta: Simulator iOS dan Inspektor Web Safari hanya tersedia di macOS. Semua yang lain dapat disusun. Panduan ini menjelaskan tangga pengujian yang berfungsi tanpa Mac, dari browser ke iPhone nyata, dan menunjukkan di mana Capgo Build dan Perbarui Langsung Angkat penantian.
Level Pengujian
| Tingkat | Apa yang Anda uji | Dimana itu berjalan | Memerlukan Mac |
|---|---|---|---|
| 1 | Lapisan web: logika, tata letak, desain responsif | Penggunaan browser desktop dengan viewport iPhone | Tidak |
| 2 | Capacitor plugin, jembatan native, izin | Emulator atau perangkat Android | No |
| 3 | Perilaku iOS nyata: kekacauan WebKit, area aman, keyboard, push, plugin iOS | iPhone melalui TestFlight | Tidak, dengan Capgo Build |
| 4 | Build QA ad hoc untuk perangkat tertentu | iPhone melalui IPA Ad Hoc | Tidak, dengan Capgo Build |
| 5 | Pengembangan native langkah demi langkah di Xcode | Mac | Ya |
Sebagian besar bug tertangkap pada tingkat 1 dan 2. Tingkat 3 menangkap yang hanya iOS. Tingkat 5 jarang terjadi untuk sebuah Capacitor aplikasi, dan ketika itu terjadi, sebuah Mac sewaan selama satu jam lebih murah daripada memiliki satu.
Tingkat 1: browser dengan viewport iPhone
Mulai server dev Anda di Chrome atau Edge, aktifkan simulasi perangkat dan pilih profil iPhone. Capacitor menampilkan informasi platform sehingga Anda dapat membagi antara UI:
import { Capacitor } from '@capacitor/core';
if (Capacitor.getPlatform() === 'ios') {
// iOS-only behavior
}
Yang ini tidak menangkap: perbedaan rendering WebKit, insets area aman, keyboard iOS yang memaksa viewport, dan apa saja yang menyentuh plugin native.
Tingkat 2: Android terlebih dahulu, karena lapisan web bersama.
Capacitor menjalankan bundle web yang sama pada kedua platform. Pengaturan plugin, permintaan izin, dan panggilan bridge dapat diverifikasi pada Android dari Windows atau Linux dengan Chrome DevTools di chrome://inspectJika panggilan plugin berhasil pada Android, sisi JavaScript sudah benar; yang tersisa adalah implementasi native iOS, yang Anda tes pada tingkat 3.
Petunjuk pengaturan: Windows dan Linux.
Tingkat 3: iPhone nyata melalui TestFlight
Ini adalah jalur pengujian iOS utama tanpa Mac. Alur:
- Ini adalah jalur pengujian iOS utama tanpa Mac. Alur:
- Request a cloud build dengan menggunakan kredit App Store Connect yang disimpan.
- Terbuka TestFlight di iPhone.
bun run build
bunx cap sync ios
bunx @capgo/cli@latest build request com.example.app --platform ios --build-mode release
Capgo mengompilasi dan menandatangani aplikasi di macOS, kemudian mengunggahnya ke App Store Connect. Apple memproses build dan TestFlight menampilkan aplikasi kepada tester internal dalam beberapa menit. Tester internal (anggota tim App Store Connect Anda) tidak memerlukan Beta App Review, sehingga instalasi pertama cepat.
Setup kredit adalah pekerjaan satu kali; bunx @capgo/cli@latest build init --platform ios Tidak perlu Mac untuk membuat sertifikat ini, OpenSSL atau dapat digunakan. Sertifikat iOS generator.
Apa yang Anda dapatkan di perangkat: WebKit nyata, area aman nyata, keyboard nyata, notifikasi push nyata, perilaku plugin nyata. Itu adalah daftar hal-hal yang browser tidak bisa Anda ketahui.
Level 4: build ad hoc untuk perangkat tertentu
Ketika seorang tester berada di luar tim App Store Connect Anda, atau Anda ingin melewatkan proses Apple, gunakan profil Ad Hoc yang mencantumkan ID perangkat UDID:
bunx @capgo/cli@latest build request com.example.app \
--platform ios \
--ios-distribution ad_hoc \
--output-upload \
--output-record build.json
CLI kembali dengan tautan download sementara dan kode QR code untuk IPA. Retensi dapat dikonfigurasi dari 1 jam hingga 7 hari dengan --output-retentionProfil ad hoc tidak memerlukan kunci App Store Connect API, hanya sertifikat dan profil saja.
Untuk mengumpulkan ID UDID seorang tester dari Windows atau Linux, mintalah mereka membuka Pengaturan, Umum, Tentang di iPhone dan membaca bidang tersebut, atau gunakan bantuan web UDID. Tambahkan perangkat di portal Apple dan regenerasi profil.
Iterasi tanpa build baru: Live Updates
Setelah build TestFlight diinstal, jangan membangun ulang untuk setiap perubahan. Sampaikan bundle web saja:
bun run build
bunx @capgo/cli@latest bundle upload --channel beta
Testers di beta menerima bundle baru pada peluncuran berikutnya. Untuk tim di Windows atau Linux ini mengubah loop feedback iOS dari “tunggu build awan dan proses Apple” menjadi “detik”. Rebuild native hanya diperlukan ketika plugin, izin, atau versi Capacitor berubah.
Poinkan build TestFlight ke saluran dedikasi sehingga tester beta tidak pernah mengambil bundle produksi. Saluran menggambarkan cara pengaturan. Mengembangkan iOS tanpa Safari Web Inspector
Mengembangkan iOS tanpa Inspektor Web Safari
Penginspektir Safari hanya tersedia di macOS. Alternatif yang dapat digunakan dari sistem operasi apa pun:
- Penggunaan logging struktur ke sumber jarak jauh. Send
console.errordan menghubungkan kesalahan ke Sentry atau alat serupa. Firebase Crashlytics untuk Capacitor panduan menutupi pengaturan native SDK asli. - In-panel debug panel. Tampilkan baris log terakhir N di tampilan disembunyikan yang ditoggle oleh gestur. Murah dan efektif pada build TestFlight.
- Log build. Masalah kompile native ditampilkan di log build Capgo yang disiarkan ke terminal. Tambahkan
--ai-analyticssehingga build gagal dijelaskan secara otomatis. - Reproduksi pada Android. Untuk apa pun di layer web bersama, Chrome DevTools pada Android memberikan debugger penuh.
Untuk kegagalan native yang benar-benar memerlukan debugger Xcode, sewa Mac selama satu jam atau tanyakan kepada rekan tim. Kasus tersebut jarang terjadi pada aplikasi Capacitor; masalah-masalah umumnya hidup di layer web atau dalam pengaturan plugin.
Rangkaian kerja mingguan yang realistis
- Harian: browser plus Android device dari Windows atau Linux. Live Updates ke
beta: saluran untuk tester iPhone. - : perubahan asli mendarat: satu Capgo Build ke TestFlight. Beberapa menit menunggu, tanpa Mac.
- Release: Capgo Build with App Store distribution, then promote the bundle channel.
Summary
You cannot simulate iOS on Windows or Linux, but you can test it on an iPhone without a Mac. Capgo Build gets the signed app to TestFlight or to an ad hoc link from one command, and Live Updates keeps iteration fast once it is installed. Save the Mac for the rare native debugging session.