TestFlight — iOS, iPadOS, watchOS ve tvOS uygulamalarının beta testi için Apple'ın resmi hizmetidir. TestFlight aracılığıyla geliştiriciler, App Store'da yayınlamaya gerek kalmadan ön sürüm build'lerini 10.000 dış test kullanıcısına dağıtır, geri bildirim ve çökme raporları toplar. Apple Developer Documentation, 2025'a göre, App Store'daki uygulamaların %80'inden fazlası sürüm hazırlık aşamasında TestFlight kullanır.
Anahtar Noktalar
TestFlight, App Store'da yayınlamadan test için iOS uygulamalarını dağıtmanın meşru ve tek resmi yoludur. Hizmet, Apple tarafından 2014 yılında aynı adlı şirketin satın alınmasının ardından başlatılmıştır. TestFlight'tan önce geliştiriciler, sezon başına 100 cihaz sınırı olan Ad Hoc dağıtımını kullanıyordu — TestFlight bu sınırlamayı kaldırdı ve süreci birkaç tıklamaya indirgedi.
iOS katı bir güvenlik politikasına sahiptir: bir uygulama yalnızca App Store aracılığıyla veya özel sertifikalar kullanılarak bir cihaza yüklenebilir. TestFlight, geliştirici ve test kullanıcısı arasında proxy görevi görerek beta testi sorununu çözer: Apple build'i temel gereksinimlere göre kontrol eder, ardından test kullanıcıları uygulamayı App Store'dan TestFlight uygulaması aracılığıyla alır ve bu da imzasız dosyalara güvenmeyi gerektirmez.
App Store dışında iOS uygulamaları dağıtmanın üç yolu vardır: Ad Hoc (100 cihaz sınırı, her cihazın UDID'sini gerektirir), Enterprise (sınırsız iç dağıtım, yıllık $299 Apple Enterprise sertifikası gerektirir) ve TestFlight (10.000 test kullanıcısına kadar, ücretsiz, UDID toplama gerektirmez). TestFlight beta testi için en uygun seçimdir, Ad Hoc cihaza özel testler için uygundur ve Enterprise kurumsal uygulamalar içindir.
TestFlight aracılığıyla bir build yayınlama süreci beş adımdan oluşur: Xcode'da derleme, Archive Organizer aracılığıyla App Store Connect'e yükleme, Apple işleme, test kullanıcılarını davet etme ve TestFlight uygulaması aracılığıyla uygulamayı yükleme. Projenin karmaşıklığına bağlı olarak her adım birkaç dakikadan bir saate kadar sürer.
Build, bir dağıtım sertifikası ve geçerli bir sağlama profili ile oluşturulmalıdır. Apple şunları kontrol eder: sertifika geçerliliği, paket tanımlayıcı eşleşmesi, özel API'lerin bulunmaması, doğru simgeler (1024×1024) ve App Store simgesinin varlığı. Build kontrolden geçmezse, TestFlight sorunun açıklamasıyla birlikte bir hata gösterir.
Yüklemeden sonra build, Apple'ın otomatik doğrulamasından geçer: ikili kodun statik analizi, dijital imza doğrulaması, özel API kullanımı ve kötü amaçlı yazılım taraması. İşleme ilk build için 15 dakikadan 2 saate kadar sürer ve sonraki build'ler için genellikle 150 dakika sürer. İşleme durumu App Store Connect'te Activity bölümünde görüntülenir.
// Swift AppDelegate'te TestFlight Kurulumu
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Kontrol: uygulama TestFlight aracılığıyla yüklenmiş mi
if Bundle.main.appStoreReceiptURL?.lastPathComponent
== "sandboxReceipt" {
print("TestFlight aracılığıyla beta sürümü")
}
return true
}
}
TestFlight test kullanıcılarını iki gruba ayırır: İç Test Kullanıcıları (Internal Testers) ve Dış Test Kullanıcıları (External Testers). Fark, katılımcı sayısı, build'lere erişim ve Apple incelemesi gerekliliğindedir. Doğru grubu seçmek test sürecini hızlandırır ve App Store politikalarına uyar.
Apple Developer Program ekibinden 100 katılımcıya kadar. Bir iç test kullanıcısını davet etmek için App Store Connect'te Apple ID'sini eklemek yeterlidir — tüm build'lere anında erişim sağlar. Apple incelemesi gerekmez. Günlük smoke testi ve erken aşamada özellik doğrulaması için idealdir.
Geliştirme ekibinin parçası olmayan 10.000 katılımcıya kadar. Dış test kullanıcıları için ilk build temel bir Apple incelemesinden (genellikle 1–2 gün) geçer. Temel işlevselliği etkilemeyen değişiklikler içeren sonraki build'ler tekrar inceleme olmadan geçebilir. Dış test kullanıcıları e-posta veya herkese açık bağlantı aracılığıyla davet edilir.
| Parametre | İç Test Kullanıcıları | Dış Test Kullanıcıları |
|---|---|---|
| Maks. sayı | 100 | 10.000 |
| Apple İncelemesi | Gerekmez | İlk build — zorunlu |
| Davet | Ekipten Apple ID | E-posta / açık bağlantı |
| Build geçerliliği | 90 gün | 90 gün |
| Build erişimi | Hepsi birden | Sadece aktif gruplar |
TestFlight'a bir build yüklemek Xcode, Application Loader veya xcrun kullanarak komut satırı aracılığıyla yapılır. En yaygın yöntem, proje arşivi oluşturulduktan sonra Xcode Archive Organizer aracılığıyladır. Alternatif bir yöntem, CI/CD boru hattı için Fastlane aracılığıyla otomasyondur.
Bir arşiv oluşturun (Product → Archive), Organizer'ı açın, arşivi seçin ve Distribute App'e tıklayın. Dağıtım yöntemi olarak TestFlight'ı seçin, sertifikayı ve sağlama profilini belirtin. Xcode build'i App Store Connect'e yükleyecek ve işlemeden sonra görünecektir. Tüm süreç ilk yükleme için 10–20 dakika sürer.
Fastlane, TestFlight'a build yüklemeyi otomatikleştirmek için en popüler araçtır. fastlane pilot komutu, Xcode'u açmadan build'i yükler ve test kullanıcılarını yönetir. Fastlane'in bir CI/CD sunucusuyla entegrasyonu, tüm testler geçtikten sonra build'lerin TestFlight'a otomatik olarak yayınlanmasını sağlar.
# Fastfile — TestFlight'a build yükleme
default_platform(:ios)
lane :beta do
# match aracılığıyla sertifika alma
match(type: "appstore")
# Derleme ve imzalama
build_app(
scheme: "MyApp",
export_method: "app-store",
workspace: "MyApp.xcworkspace"
)
# TestFlight'a yükle
pilot(
skip_waiting_for_build: true,
distribute_external: false,
notify_external_testers: false
)
end
Fastlane pilot otomatik olarak IPA'yı App Store Connect'e yükler, işlemeyi bekler (skip_waiting_for_build = false ise) ve build'i seçilen test kullanıcısı gruplarına atar. distribute_external: true komutu, işlemeden sonra build'i hemen dış test kullanıcılarına gönderir.
Fastlane olmadan xcrun kullanabilirsiniz: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool, Apple tarafından CI ortamları için desteklenir ve grafik arayüz gerektirmez. Şifre, anahtarlık veya uygulamaya özel şifre aracılığıyla iletilir — düz metin şifreler kullanmayın.
TestFlight birkaç geri bildirim mekanizması sağlar: yerleşik bir geri bildirim formu, otomatik çökme günlüğü toplama, kullanım metrikleri ve ekran görüntüleri. Ekip, beta testi için üçüncü taraf SDK'ları entegre etmeye gerek kalmadan App Store Connect'te tüm verileri alır.
Test kullanıcısı TestFlight uygulamasını açar, build'inizi seçer ve Send Feedback'e tıklar. Form, metin geri bildirimi göndermeye, ekran görüntüsü eklemeye ve önem derecesini belirtmeye olanak tanır. Tüm geri bildirimler App Store Connect'te TestFlight → Feedback altında toplanır. Geliştirici geri bildirime yanıt verebilir ve test kullanıcısı TestFlight uygulamasında bir bildirim alır.
Bir uygulama çöktüğünde, TestFlight otomatik olarak bir çökme raporu toplar: çağrı yığını, işletim sistemi sürümünü, cihaz modelini ve çökme zamanını. Çökme günlükleri Xcode Organizer (Crashes) ve App Store Connect'te (TestFlight → Crashes) mevcuttur. Simge durumuna getirilmiş çökme günlükleri almak için dSYM dosyalarını build ile birlikte veya Xcode aracılığıyla ayrı ayrı yüklemeniz gerekir.
TestFlight metrikleri gösterir: yükleme sayısı, aktif test kullanıcıları, oturumlar ve çökmeler. Analizler günlük olarak güncellenir ve test kullanıcılarının katılımını değerlendirmeye yardımcı olur. Bir hafta boyunca hiçbir test kullanıcısı uygulamayı açmazsa, grupla iletişimi veya build kalitesini yeniden gözden geçirmek gerekir.
TestFlight, App Store'da yayınlama sürecinin ayrılmaz bir parçasıdır. TestFlight aracılığıyla beta testinden geçen aynı build, yeniden derlemeden Apple incelemesine gönderilebilir — App Store Connect'te bir düğmeye tıklamanız yeterlidir. Bu, üretim build'inin test edilenden farklı olma riskini ortadan kaldırır.
App Store Connect'te testi geçen build'i seçin ve Submit for Review'a tıklayın. Apple, TestFlight'tan aynı build'i kullanır — yeniden yükleme gerekmez. İnceleme süresi genellikle 1–3 gündür. Build reddedilirse, sorunları düzeltin, TestFlight'a yeni bir build yükleyin ve süreci tekrarlayın.
TestFlight'taki son test turundan sonra incelemeye göndermeden önce 24–48 saat beklenmesi önerilir. Bu süre, test kullanıcılarının otomatik testlerden kaçabilecek kritik hataları bulmasına olanak tanır. TestFlight'taki sürüm adayı (RC) build'i, olgun iOS ekiplerinin standart uygulamasıdır.
TestFlight build'leri, App Store'da yayın sürümü çıktıktan sonra yeni yüklemeler için otomatik olarak kullanılamaz hale gelir. Beta sürümünü zaten yüklemiş olan test kullanıcıları, yayın sürümünün yayınlanmasından sonra 30 gün boyunca kullanmaya devam edebilir, ardından uygulama açılmayı durdurur. Test kullanıcılarının App Store sürümüne güncellediğinden emin olun.
Sıkça Sorulan Sorular
TestFlight, Apple Developer Program ($99/yıl) üyeleri için tamamen ücretsizdir. Build ve test kullanıcısı sayısından bağımsız olarak hizmetin kullanımı için ek ücret alınmaz. Yalnızca Apple geliştirici aboneliği için ödeme yaparsınız — TestFlight varsayılan olarak dahildir.
Hayır, TestFlight Apple ekosistemine özel bir hizmettir. Android için benzer bir araç mevcuttur — Internal Testing ve Open Testing izleklerine sahip Google Play Console. Android'de beta sürümleri yayınlamak için Firebase App Distribution ve DeployGate de kullanılır.
İşleme, yüklemeden sonra ilk build için 15 dakikadan 2 saate kadar sürer. Sonraki build'ler daha hızlı işlenir — genellikle 15–30 dakika. İşleme süresi Apple sunucu yüküne bağlıdır. Durumu App Store Connect'te Activity bölümünden takip edebilirsiniz.
Her build, yükleme anından itibaren 90 gün boyunca test için kullanılabilir. Build sayısı sınırlı değildir ancak aynı anda en fazla 30 build aktif olabilir. Eski build'ler, süreleri dolduğunda veya sınıra ulaşıldığında otomatik olarak kaldırılır.
TestFlight aracılığıyla testlere katılmak için bir Apple ID gereklidir. Dış test kullanıcıları e-posta bağlantısıyla davet edilir — bağlantı ilk kez açıldığında, sistem yoksa bir Apple ID oluşturmalarını isteyecektir. Sosyal ağlarda veya bloglarda dağıtım için herkese açık bir bağlantı da mevcuttur.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun