TestFlight — adalah layanan resmi Apple untuk pengujian beta aplikasi iOS, iPadOS, watchOS, dan tvOS. Melalui TestFlight, pengembang mendistribusikan build pra-rilis hingga 10.000 penguji eksternal, mengumpulkan umpan balik dan laporan crash tanpa perlu publikasi di App Store. Menurut Apple Developer Documentation, 2025, lebih dari 80% aplikasi di App Store menggunakan TestFlight pada tahap persiapan rilis.
Poin Utama
TestFlight — adalah satu-satunya cara resmi dan legal untuk mendistribusikan aplikasi iOS untuk pengujian tanpa publikasi di App Store. Layanan ini diluncurkan oleh Apple pada tahun 2014 setelah mengakuisisi perusahaan dengan nama yang sama. Sebelum munculnya TestFlight, pengembang menggunakan distribusi Ad Hoc dengan batasan 100 perangkat per musim — TestFlight menghilangkan batasan ini dan menyederhanakan proses menjadi beberapa klik.
iOS memiliki kebijakan keamanan yang ketat: aplikasi hanya dapat diinstal pada perangkat melalui App Store atau menggunakan sertifikat khusus. TestFlight memecahkan masalah pengujian beta dengan bertindak sebagai proxy antara pengembang dan penguji: Apple memeriksa build terhadap persyaratan dasar, setelah itu penguji menerima aplikasi melalui aplikasi TestFlight dari App Store, yang tidak memerlukan kepercayaan pada file yang tidak ditandatangani.
Ada tiga cara untuk mendistribusikan aplikasi iOS di luar App Store: Ad Hoc (batasan 100 perangkat, memerlukan UDID setiap perangkat), Enterprise (distribusi internal perusahaan tanpa batas, memerlukan sertifikat Enterprise Apple sebesar $299/tahun) dan TestFlight (hingga 10.000 penguji, gratis, tidak perlu mengumpulkan UDID). TestFlight adalah pilihan optimal untuk pengujian beta, Ad Hoc cocok untuk pengujian khusus perangkat, Enterprise — untuk aplikasi perusahaan.
Proses publikasi build melalui TestFlight terdiri dari lima langkah: membangun di Xcode, mengupload ke App Store Connect melalui Archive Organizer, pemrosesan oleh Apple, mengundang penguji, menginstal aplikasi melalui aplikasi TestFlight. Setiap langkah memakan waktu dari beberapa menit hingga satu jam tergantung pada kompleksitas proyek.
Build harus dibangun dengan sertifikat distribusi dan provisioning profile yang benar. Apple memeriksa: validitas sertifikat, kesesuaian bundle identifier, tidak adanya API privat, kebenaran ikon (1024×1024) dan keberadaan ikon App Store. Jika build tidak lulus pemeriksaan — TestFlight menampilkan kesalahan dengan deskripsi masalah.
Setelah diupload, build melalui pemeriksaan otomatis Apple: analisis statis kode biner, pemeriksaan tanda tangan digital, pemindaian penggunaan API privat dan malware. Pemrosesan memakan waktu 15 menit hingga 2 jam untuk build pertama dan biasanya 15–30 menit untuk build berikutnya. Status pemrosesan ditampilkan di Activity di App Store Connect.
// Konfigurasi TestFlight di Swift AppDelegate
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Pemeriksaan: apakah aplikasi diinstal melalui TestFlight
if Bundle.main.appStoreReceiptURL?.lastPathComponent
== "sandboxReceipt" {
print("Beta version via TestFlight")
}
return true
}
}
TestFlight membagi penguji menjadi dua kelompok: internal (Internal Testers) dan eksternal (External Testers). Perbedaannya terletak pada jumlah peserta, akses ke build, dan perlunya peninjauan Apple. Pemilihan kelompok yang tepat mempercepat proses pengujian dan mematuhi kebijakan App Store.
Hingga 100 peserta dari anggota tim Apple Developer Program. Untuk mengundang penguji internal, cukup tambahkan Apple ID-nya di App Store Connect — ia langsung mendapatkan akses ke semua build. Tidak diperlukan peninjauan Apple. Ideal untuk pengujian smoke harian dan pemeriksaan fitur pada tahap awal.
Hingga 10.000 peserta di luar tim pengembangan. Build pertama untuk penguji eksternal melalui peninjauan dasar Apple (biasanya 1–2 hari). Build berikutnya dengan perubahan yang tidak mempengaruhi fungsionalitas inti dapat lolos tanpa peninjauan ulang. Penguji eksternal diundang melalui email atau tautan publik.
| Parameter | Internal Testers | External Testers |
|---|---|---|
| Jumlah maks. | 100 | 10.000 |
| Peninjauan Apple | Tidak diperlukan | Build pertama — wajib |
| Undangan | Apple ID dari tim | Email / tautan publik |
| Masa berlaku build | 90 hari | 90 hari |
| Akses ke build | Ke semua sekaligus | Hanya grup aktif |
Upload build ke TestFlight dilakukan melalui Xcode, Application Loader, atau baris perintah menggunakan xcrun. Cara paling umum — melalui Xcode Archive Organizer setelah membuat arsip proyek. Cara alternatif — otomatisasi melalui Fastlane untuk Pipeline CI/CD.
Buat arsip (Product → Archive), buka Organizer, pilih arsip dan klik Distribute App. Pilih TestFlight sebagai metode distribusi, tentukan sertifikat dan provisioning profile. Xcode akan mengupload build ke App Store Connect, yang akan muncul setelah diproses. Seluruh proses memakan waktu 10–20 menit untuk upload pertama.
Fastlane — adalah alat paling populer untuk mengotomatiskan upload build ke TestFlight. Perintah fastlane pilot mengupload build dan mengelola penguji tanpa membuka Xcode. Integrasi Fastlane dengan server CI/CD memungkinkan publikasi otomatis build di TestFlight setelah semua lulus pengujian.
# Fastfile — upload build ke TestFlight
default_platform(:ios)
lane :beta do
# Mendapatkan sertifikat melalui match
match(type: "appstore")
# Membangun dan menandatangani
build_app(
scheme: "MyApp",
export_method: "app-store",
workspace: "MyApp.xcworkspace"
)
# Upload ke TestFlight
pilot(
skip_waiting_for_build: true,
distribute_external: false,
notify_external_testers: false
)
end
Fastlane pilot secara otomatis mengupload IPA ke App Store Connect, menunggu pemrosesan (jika skip_waiting_for_build = false) dan menetapkan build ke grup penguji yang dipilih. Perintah distribute_external: true segera mengirim build ke penguji eksternal setelah diproses.
Tanpa Fastlane dapat menggunakan xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool didukung oleh Apple untuk lingkungan CI dan tidak memerlukan antarmuka grafis. Kata sandi dikirim melalui keychain atau app-specific password — jangan gunakan kata sandi teks biasa.
TestFlight menyediakan beberapa mekanisme umpan balik: formulir umpan balik bawaan, pengumpulan otomatis log crash, metrik penggunaan, dan tangkapan layar. Tim menerima semua data di App Store Connect tanpa perlu mengimplementasikan SDK pihak ketiga untuk pengujian beta.
Penguji membuka aplikasi TestFlight, memilih build Anda dan mengklik Send Feedback. Formulir memungkinkan mengirim umpan balik teks, melampirkan tangkapan layar, dan menunjukkan tingkat keparahan. Semua umpan balik dikumpulkan di App Store Connect di bagian TestFlight → Feedback. Pengembang dapat merespons umpan balik, dan penguji akan menerima notifikasi di aplikasi TestFlight.
Saat aplikasi crash, TestFlight secara otomatis mengumpulkan laporan crash: tumpukan panggilan, versi OS, model perangkat, dan waktu crash. Log crash tersedia di Xcode Organizer (Crashes) dan App Store Connect (TestFlight → Crashes). Untuk mendapatkan log crash yang disimbolkan, perlu mengupload file dSYM bersama dengan build atau secara terpisah melalui Xcode.
TestFlight menampilkan metrik: jumlah instalasi, penguji aktif, sesi, dan crash. Analitik diperbarui setiap hari dan membantu mengevaluasi keterlibatan penguji. Jika dalam seminggu tidak ada penguji yang membuka aplikasi — ada baiknya mempertimbangkan kembali komunikasi dengan grup atau kualitas build.
TestFlight adalah bagian tak terpisahkan dari proses publikasi di App Store. Build yang sama yang telah melewati pengujian beta melalui TestFlight dapat dikirim ke peninjauan Apple tanpa membangun ulang — cukup tekan tombol di App Store Connect. Ini menghilangkan risiko bahwa build produksi berbeda dari yang diuji.
Di App Store Connect, pilih build yang telah lulus pengujian dan klik Submit for Review. Apple menggunakan build yang sama dari TestFlight — upload ulang tidak diperlukan. Waktu peninjauan biasanya 1–3 hari. Jika build ditolak — perbaiki catatan, upload build baru ke TestFlight dan ulangi prosesnya.
Disarankan setelah putaran pengujian akhir di TestFlight untuk menunggu 24–48 jam sebelum mengirim ke peninjauan. Waktu ini memungkinkan penguji menemukan bug kritis yang mungkin lolos dari pengujian otomatis. Build Release candidate (RC) di TestFlight — adalah standar praktik tim iOS yang matang.
Build TestFlight secara otomatis menjadi tidak tersedia untuk instalasi baru setelah versi rilis dirilis di App Store. Penguji yang sudah menginstal versi beta dapat terus menggunakannya selama 30 hari setelah publikasi rilis, setelah itu aplikasi berhenti terbuka. Pastikan penguji telah memperbarui ke versi App Store.
Pertanyaan yang Sering Diajukan
TestFlight sepenuhnya gratis untuk peserta Apple Developer Program ($99/tahun). Tidak ada biaya tambahan yang dikenakan untuk menggunakan layanan, terlepas dari jumlah build dan penguji. Anda hanya membayar untuk langganan pengembang Apple — TestFlight sudah termasuk di dalamnya secara default.
Tidak, TestFlight adalah layanan eksklusif ekosistem Apple. Untuk Android ada alat serupa di Google Play Console — track Internal Testing dan Open Testing. Untuk mempublikasikan versi beta di Android juga digunakan Firebase App Distribution dan DeployGate.
Pemrosesan memakan waktu 15 menit hingga 2 jam untuk build pertama setelah upload. Build berikutnya diproses lebih cepat — biasanya 15–30 menit. Waktu pemrosesan tergantung pada beban server Apple. Status dapat dilacak di App Store Connect di bagian Activity.
Setiap build tersedia untuk pengujian selama 90 hari sejak saat upload. Jumlah build tidak terbatas, tetapi tidak boleh lebih dari 30 build aktif secara bersamaan. Build lama secara otomatis dihapus setelah masa berlaku berakhir atau saat mencapai batas.
Untuk berpartisipasi dalam pengujian melalui TestFlight diperlukan Apple ID. Penguji eksternal diundang melalui tautan email — saat pertama kali membuka tautan, sistem akan menawarkan untuk membuat Apple ID jika belum ada. Tautan publik juga tersedia untuk dibagikan di media sosial atau blog.
Ringkasan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga