TestFlight: nedir, beta testi ve build'lerle çalışma

Yazar: IT Sectr Yayınlanma: 2026-04-11 Okuma süresi: 9 dk

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 — uygulamaların beta sürümlerini test kullanıcılarına dağıtmak için Apple platformu
  • 10.000'e kadar dış test kullanıcısı ve bir ekibin 100 iç üyesine kadar
  • Xcode ile entegrasyon ve App Store Connect, build'lerin IDE'den doğrudan yüklenmesine olanak tanır
  • Otomatik toplama test kullanıcılarından çökme günlükleri, geri bildirim ve teşhis verileri
  • TestFlight olmadan App Store dışında iOS build'lerini dağıtmak Enterprise sertifikası veya jailbreak gerektirir

TestFlight Nedir

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.

TestFlight Neden Gereklidir

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.

TestFlight vs Ad Hoc vs Enterprise

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 Nasıl Çalışır

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.

Apple'ın Build Gereksinimleri

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.

Build İşleme

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
// 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
    }
}

İç ve Dış Test Kullanıcıları

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.

İç Test Kullanıcıları (Internal)

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.

Dış Test Kullanıcıları (External)

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ı10010.000
Apple İncelemesiGerekmezİlk build — zorunlu
DavetEkipten Apple IDE-posta / açık bağlantı
Build geçerliliği90 gün90 gün
Build erişimiHepsi birdenSadece aktif gruplar

TestFlight'a Build Nasıl Yüklenir

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.

Xcode ile Manuel Yükleme

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 ile Otomasyon

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.

ruby
# 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.

Komut Satırı ile Yükleme

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'ta Geri Bildirim Toplama ve Teşhis

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.

Yerleşik Geri Bildirim Formu

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.

Çökme Günlükleri ve Teşhis

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.

Kullanım İzleme

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'tan App Store'da Yayınlamaya

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 İncelemesine Gönder

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.

Yayın Öncesi Son Build

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.

Yayın Sonrası Yapılacaklar

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 geliştiriciler için ne kadar ücretli?

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.

TestFlight Android uygulamaları için kullanılabilir mi?

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.

TestFlight'ta bir build'in işlenmesi ne kadar sürer?

İş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.

TestFlight'ta build sayısında bir sınır var mı?

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.

Apple ID'si olmayan bir test kullanıcısı nasıl davet edilir?

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

  • TestFlight — Apple Developer Program üyeleri için ücretsiz, Apple'ın resmi beta test hizmeti
  • 10.000'e kadar dış ve 100 iç test kullanıcısı, UDID toplama veya manuel cihaz yapılandırması gerekmez
  • Otomatik toplama TestFlight uygulaması aracılığıyla çökme günlükleri, geri bildirim ve teşhis verileri
  • Build yüleme Xcode, Application Loader, xcrun altool ve Fastlane aracılığıyla mümkün
  • Aynı build TestFlight'tan App Store incelemesine gönderilir — test edilen ve yayın sürümü arasında fark yok
  • 90 gün build test kullanılabilirliği, aynı anda 30 aktif build'e kadar
  • Öneri: her build'in düzenli testi için Fastlane ve CI/CD aracılığıyla TestFlight'a otomatik build yükleme kurun

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.

Projeyi tartış

Ayrıca okuyun