TestFlight: uji aplikasi iPhone sebelum hantar ke Apple
Oleh Mehdi Azizi
Dikemas kini pada , 8 min
Penguji dalaman atau luaran, semakan beta, pautan awam, build sah 90 hari: TestFlight diterangkan dengan mudah, berserta senarai semak sebelum hantar ke Apple.
Apa itu TestFlight dan apa gunanya?
TestFlight ialah perkhidmatan Apple yang membolehkan anda memasang aplikasi anda pada iPhone sebenar sebelum ia dilancarkan di App Store. Anda hantar build ke App Store Connect, jemput penguji, dan mereka memasangnya dengan aplikasi TestFlight, yang percuma di App Store. Ada dua jenis penguji: penguji dalaman, sehingga 100 ahli pasukan anda, tanpa semakan Apple; dan penguji luaran, sehingga 10,000 orang, dijemput melalui e-mel atau pautan awam, selepas semakan beta untuk build pertama anda. Setiap build boleh diuji selama 90 hari.
| Kriteria | Penguji dalaman | Penguji luaran |
|---|---|---|
| Bilangan maksimum | 100 | 10,000 |
| Akses ke akaun anda | Ya, dengan peranan | Tidak |
| Jemputan | Ditambah ke kumpulan dalaman | E-mel atau pautan awam |
| Semakan beta Apple | Tiada | Pada build pertama |
| Untuk siapa | Anda, rakan kongsi, keluarga | Kawan, pengguna awal |
Untuk menggunakan TestFlight, anda perlukan akaun Apple Developer berbayar: perkhidmatan ini tidak boleh diakses dengan akaun percuma. Seluruh panduan ini menganggap anda sudah ada akaun itu, di bawah program standard: program Enterprise Apple tidak memberi akses kepada TestFlight.
Untuk aplikasi saya, setiap build yang dihantar melalui EAS Submit melalui TestFlight dan iPhone saya dahulu sebelum dihantar untuk semakan. Di situlah saya jumpa masalah yang tidak kelihatan semasa pembangunan.
Hantar build ke TestFlight
Build ialah versi aplikasi anda yang telah dikompil dan ditandatangani: jika tandatangannya salah, Apple menolaknya semasa penghantaran dengan ITMS-90034. Supaya ia muncul dalam TestFlight, anda perlu menghantarnya ke App Store Connect. Dengan Expo, jalankan eas build --platform ios kemudian eas submit --platform ios, dengan imej build yang cukup baharu untuk mengelak ITMS-90725. Menurut dokumentasi Expo, build muncul dalam TestFlight selepas diproses oleh Apple, biasanya dalam 10 hingga 15 minit. Anda boleh buat semua ini dari PC: panduan terbitkan aplikasi iOS tanpa Mac menerangkan keseluruhan prosesnya.
Dua perkara yang sering menyekat kali pertama:
- Nombor build mesti berubah setiap kali dihantar. Apple menolak dua build dengan nombor yang sama untuk versi yang sama. Dengan EAS, aktifkan penambahan automatik dan anda tidak perlu fikir lagi.
- Soalan tentang penyulitan. Selagi anda belum menjawab soalan tentang penggunaan penyulitan, build akan tersekat dengan status pematuhan yang hilang (Missing Compliance). Anda boleh menjawabnya setiap kali dalam App Store Connect, atau mengisytiharkannya sekali sahaja dalam konfigurasi aplikasi anda.
Penguji dalaman: pasukan anda, tanpa menunggu
Penguji dalaman ialah pengguna akaun App Store Connect anda, dengan peranan yang diberikan. Apple membenarkan sehingga 100 orang, dan setiap orang boleh memasang aplikasi pada beberapa peranti, sehingga 30.
Kelebihan besar mereka: tiada semakan beta. Sebaik sahaja build selesai diproses, tanpa ralat automatik seperti ITMS-90717, anda tambahkannya ke kumpulan dalaman dan ia terus tersedia. Ini kumpulan yang sesuai untuk anda, dan untuk rakan kongsi atau keluarga yang anda beri akses ke akaun anda.
Hadnya: mereka perlu ditambah sebagai pengguna akaun App Store Connect anda. Ini tidak sesuai untuk orang yang anda tidak kenal.
Penguji luaran dan semakan beta
Penguji luaran tidak memerlukan sebarang akses ke akaun anda. Anda boleh menjemput sehingga 10,000 orang, melalui e-mel atau pautan awam. Ini kumpulan yang sesuai untuk kawan, pengguna awal, atau komuniti.
Sebagai balasannya, Apple menyemak build sebelum membukanya kepada mereka. Apabila anda menambah build pertama sesuatu versi ke kumpulan luaran, ia akan melalui semakan beta. Build seterusnya untuk versi yang sama tidak semestinya memerlukan semakan penuh.
Sebelum penghantaran ini, App Store Connect meminta maklumat ujian:
- penerangan beta, yang memberitahu penguji apa yang perlu mereka perhatikan;
- alamat e-mel untuk maklum balas;
- butiran hubungan anda, supaya Apple boleh menghubungi anda.
Semakan beta bukan semakan App Store. Build yang diterima di TestFlight masih boleh ditolak semasa penerbitan.
Semakan beta memeriksa sama ada build mematuhi peraturan, tetapi semakan akhir juga melihat halaman aplikasi anda, langganan anda, teks undang-undang anda dan keseluruhan pengalaman. Ingat sebab-sebab penolakan yang biasa, yang diterangkan dalam kenapa Apple menolak aplikasi.
Jemput penguji melalui pautan awam
Pautan awam ialah cara paling mudah untuk meminta orang yang anda belum kenal menguji aplikasi anda. Berikut ialah langkah-langkah daripada Apple, dengan label antara muka dalam bahasa Inggeris:
- Dalam App Store Connect, buka aplikasi anda kemudian tab TestFlight.
- Di bawah External Testing, pilih kumpulan luaran anda.
- Klik Create Public Link.
- Pilih Open to Anyone untuk membuka pautan kepada semua orang, atau Filter by Criteria untuk mengehadkannya kepada peranti dan versi iOS tertentu.
- Jika mahu, tetapkan had penguji dengan Set Limit.
Kemudian kongsikan pautan di mana-mana sahaja: mesej, media sosial, e-mel. Orang itu memasang aplikasi TestFlight, membuka pautan dan menerima jemputan.
Dua perkara yang perlu anda tahu sebelum menyebarkannya secara meluas:
- Tetapkan had. Jika pautan anda tersebar lebih daripada dijangka, anda masih mengawal bilangan penguji.
- Penguji melalui pautan awam adalah tanpa nama. App Store Connect hanya memaparkan tarikh pemasangan, sesi dan crash mereka. Jika anda mahu tahu siapa menguji apa, jemput melalui e-mel sahaja.
Berapa lama build TestFlight bertahan?
Build kekal tersedia kepada penguji selama 90 hari. Selepas itu, ia tamat tempoh dan penguji anda tidak boleh membukanya lagi. Jika beta anda berlangsung lebih lama, hantar sahaja build baharu sebelum tarikh tamat.
Secara praktikal, anda akan menghantar build baharu jauh lebih kerap: setiap kali ada pembetulan penting. Setiap build baharu yang ditambah ke kumpulan akan ditawarkan kepada penguji anda, yang mendapatkannya dalam aplikasi TestFlight.
Dapatkan maklum balas penguji
TestFlight ada sistem maklum balas terbina: penguji mengambil tangkapan skrin dalam aplikasi anda, boleh menandakannya, dan menghantarnya kepada anda. Jika aplikasi crash, anda menerima laporan crash, dan penguji boleh menambah konteks. Semuanya ada dalam App Store Connect.
Ini berguna, tetapi tidak cukup untuk memahami crash tertentu. Untuk aplikasi saya, saya tambah Sentry, yang melaporkan ralat berserta baris kod yang menyebabkannya, dan PostHog, yang menunjukkan di mana pengguna berhenti. Kedua-duanya berfungsi dalam build TestFlight sama seperti dalam produksi.
Uji langganan dalam TestFlight
Jika aplikasi anda menjual langganan, TestFlight ialah tempat anda memastikan ia benar-benar berfungsi. Pembelian dalam build TestFlight melalui persekitaran ujian Apple: penguji anda tidak dicaj. Pembaharuan dipercepatkan: setiap langganan diperbaharui sekali sehari, paling banyak enam kali dalam seminggu, tanpa mengira tempoh sebenarnya.
Sekurang-kurangnya, pastikan harga yang dipaparkan betul, pembelian benar-benar membuka akses aplikasi, dan butang pemulihan (restore) menemui semula langganan selepas pemasangan semula. Saya guna RevenueCat untuk mengurus langganan aplikasi saya; keseluruhan persediaan, daripada produk App Store Connect hingga paywall, diterangkan di halaman langganan in-app iOS.
Apa yang perlu anda uji sebelum hantar ke Apple
Ini senarai yang saya gunakan sebelum setiap penghantaran untuk semakan. Setiap perkara sepadan dengan sebab penolakan atau crash yang boleh dielakkan.
Pelancaran pertama
- Padam aplikasi, pasang semula dari TestFlight, dan bukanya. Itulah yang akan dilakukan oleh penyemak.
- Lalui onboarding sepenuhnya, tanpa melangkau apa-apa.
- Tolak setiap kebenaran (notifikasi, kamera, lokasi) dan pastikan aplikasi terus berfungsi.
Wang
- Paywall memaparkan harga, tempoh dan pautan ke terma penggunaan serta dasar privasi.
- Pembelian berfungsi, begitu juga pemulihan.
- Semua produk yang dikonfigurasi kelihatan kepada penyemak: guideline 2.1 meminta pembelian dalam aplikasi lengkap, kelihatan dan berfungsi.
Keadaan sukar
- Mod pesawat dan rangkaian perlahan: mesej yang jelas, bukan skrin putih.
- iPhone paling kecil dan paling besar yang anda sokong: tiada yang terpotong, tiada yang terlindung oleh papan kekunci. Skrin yang terpotong pada iPhone kecil menyebabkan Solys saya ditolak.
- Teks panjang, jika aplikasi anda diterjemahkan.
Fail untuk penyemak
- Jika aplikasi anda memerlukan log masuk, sediakan akaun demo dalam nota semakan, dengan backend anda dihidupkan. Guideline 2.1 memintanya secara jelas.
- Nota semakan yang menerangkan dalam dua ayat apa yang aplikasi lakukan dan di mana fungsi utamanya.
Jika aplikasi anda tetap ditolak, halaman aplikasi ditolak oleh Apple menerangkan cara membalas tanpa membuang masa seminggu. Dan untuk gambaran keseluruhan penerbitan, daripada halaman aplikasi hingga pelancaran, baca terbitkan aplikasi di App Store.
Grid ujian untuk diisi pada build anda
Muat turun grid 16 senario dalam format CSV. Ia membezakan persediaan, tindakan yang perlu dibuat, hasil yang dijangka dan bukti yang diperhatikan. Import ke dalam Numbers, Excel atau Google Sheets, kemudian isi versi, peranti dan hasil setiap percubaan.
Untuk buku catatan bacaan rekaan, "simpan halaman" tidak cukup: catat halaman 24, tutup aplikasi sepenuhnya, lancarkan semula dan cari nilai itu semula. Ujian yang belum dijalankan kekal "Untuk diuji". Jika aplikasi anda tiada langganan, tandakan "Tidak berkenaan" untuk senario pembelian, berserta sebab itu.
Grid ini titik permulaan untuk disesuaikan, bukan pensijilan. Lihat juga nota App Review dan templat percuma lain untuk menerangkan kepada penyemak aliran yang benar-benar telah anda semak.
Dari TestFlight ke App Store
TestFlight ialah peringkat di mana aplikasi anda menjadi nyata: ia berjalan pada iPhone sebenar, di tangan orang sebenar. Dalam laluan iOS Kit, ini langkah kedua: bina teras aplikasi dan ujinya pada iPhone anda dengan TestFlight, sebelum menyambungkan langganan dan menyediakan penerbitan.
Selepas TestFlight, tibalah semakan Apple: Apple Review Kit mengumpulkan senarai semak saya sebelum penghantaran dan nota untuk penyemak. Halaman utama menunjukkan empat langkah untuk membina aplikasi mudah alih anda dengan Claude Code.
Tiada sesiapa boleh menjamin Apple akan menerima aplikasi anda: Apple yang membuat keputusan.
Soalan lazim
Bagaimana menguji aplikasi iPhone dengan TestFlight?
Hantar build ke App Store Connect, kemudian tambahkannya ke kumpulan penguji. Dengan Expo, anda kompil dengan EAS Build dan hantar dengan EAS Submit: ia muncul dalam TestFlight selepas diproses oleh Apple, biasanya dalam 10 hingga 15 minit menurut Expo. Penguji anda memasangnya dengan aplikasi TestFlight, yang percuma di App Store. Anda perlukan akaun Apple Developer berbayar.
Bagaimana menjana pautan TestFlight untuk menjemput penguji?
Dalam App Store Connect, buka tab TestFlight aplikasi anda, pilih kumpulan anda di bawah External Testing dan klik Create Public Link. Pilih Open to Anyone atau Filter by Criteria, kemudian tetapkan had dengan Set Limit. Penguji melalui pautan awam kekal tanpa nama: jika anda mahu tahu siapa menguji apa, jemput mereka melalui e-mel.
Adakah semakan beta TestFlight menggantikan semakan App Store?
Tidak. Semakan beta memeriksa sama ada build mematuhi peraturan, tetapi semakan akhir juga melihat halaman aplikasi anda, age rating anda, langganan anda, teks undang-undang anda dan keseluruhan pengalaman. Jadi, build yang diterima di TestFlight masih boleh ditolak semasa penerbitan. Hanya penguji luaran mencetuskan semakan beta, pada build pertama sesuatu versi: penguji dalaman tidak melalui sebarang semakan.
Berapa ramai penguji boleh dijemput di TestFlight?
Anda boleh menjemput sehingga 100 penguji dalaman dan sehingga 10,000 penguji luaran. Penguji dalaman ialah ahli akaun App Store Connect anda, tanpa semakan beta, dan setiap orang boleh memasang aplikasi pada sehingga 30 peranti. Penguji luaran dijemput melalui e-mel atau pautan awam, selepas semakan beta untuk build pertama. Setiap build boleh diuji selama 90 hari.
Bolehkah langganan diuji dalam TestFlight tanpa dicaj?
Ya, pembelian dalam build TestFlight melalui persekitaran ujian Apple: penguji anda tidak dicaj. Pembaharuan dipercepatkan: setiap langganan diperbaharui sekali sehari, paling banyak enam kali dalam seminggu, tanpa mengira tempoh sebenarnya. Sekurang-kurangnya, semak harga yang dipaparkan, pembukaan akses aplikasi dan pemulihan selepas pemasangan semula. Persediaan lengkap diterangkan di langganan in-app iOS.
Apa yang perlu disemak dalam TestFlight sebelum menghantar aplikasi ke Apple?
Pasang semula aplikasi dari TestFlight, seperti yang akan dilakukan oleh penyemak, dan lalui onboarding sepenuhnya. Tolak setiap kebenaran, uji pembelian dan pemulihan, kemudian cuba mod pesawat serta iPhone paling kecil dan paling besar yang anda sokong. Jika aplikasi memerlukan log masuk, sediakan akaun demo dalam nota semakan, dengan backend anda dihidupkan.