TestFlight — iOS, iPadOS, watchOS va tvOS ilovalarini beta-test qilish uchun Apple-ning rasmiy xizmatidir. TestFlight orqali dasturchilar 10 000 tagacha tashqi testerlar orasida oldindan nashr qilingan build-larni tarqatadilar, App Store'da nashr qilmasdan fikr-mulohazalar va crash-reportlarni to'playdilar. Apple Developer Documentation, 2025 ma'lumotlariga ko'ra, App Store'dagi ilovalarning 80% dan ortig'i nashrga tayyorgarlik bosqichida TestFlight-dan foydalanadi.
Asosiy ma'lumot
TestFlight — App Store'da nashr qilmasdan iOS ilovalarini sinash uchun yagona rasmiy va qonuniy usuldir. Xizmat Apple tomonidan 2014 yilda shu nomdagi kompaniyani sotib olishdan keyin ishga tushirilgan. TestFlight paydo bo'lishidan oldin dasturchilar mavsumda 100 ta qurilma cheklovi bilan Ad Hoc tarqatishdan foydalanardilar — TestFlight bu cheklovni olib tashladi va jarayonni bir necha marta bosishgacha soddalashtirdi.
iOS qattiq xavfsizlik siyosatiga ega: ilova qurilmaga faqat App Store orqali yoki maxsus sertifikatlar yordamida o'rnatilishi mumkin. TestFlight dasturchi va tester o'rtasida proksi vazifasini o'ynab, beta-test muammosini hal qiladi: Apple build-ni asosiy talablarga muvofiqligini tekshiradi, shundan so'ng testerlar ilovani App Store'dan TestFlight ilovasi orqali oladilar, bu imzolanmagan fayllarga ishonishni talab qilmaydi.
App Store'dan tashqarida iOS ilovalarini tarqatishning uchta usuli bor: Ad Hoc (100 ta qurilma cheklovi, har bir qurilmaning UDID sini talab qiladi), Enterprise (cheklovsiz korporativ ichki tarqatish, 299 USD/yil Apple Enterprise sertifikatini talab qiladi) va TestFlight (10 000 tagacha tester, bepul, UDID yig'ish talab qilinmaydi). TestFlight beta-test uchun optimal tanlov, Ad Hoc qurilmaga xos testlar uchun, Enterprise esa korporativ ilovalar uchun mos keladi.
TestFlight orqali build-ni nashr qilish jarayoni besh bosqichdan iborat: Xcode'da yig'ish, Archive Organizer orqali App Store Connect'ga yuklash, Apple tomonidan qayta ishlash, testerlarni taklif qilish, TestFlight ilovasi orqali ilovani o'rnatish. Har bir bosqich loyihaning murakkabligiga qarab bir necha daqiqadan bir soatgacha davom etadi.
Build tarqatish sertifikati va to'g'ri provisioning profile bilan yig'ilishi kerak. Apple tekshiradi: sertifikatning haqiqiyligi, bundle identifier mosligi, xususiy API-larning yo'qligi, belgilarning to'g'riligi (1024×1024) va App Store belgisining mavjudligi. Agar build tekshiruvdan o'tmasa — TestFlight muammo tavsifi bilan xatolikni ko'rsatadi.
Yuklashdan so'ng build Apple-ning avtomatlashtirilgan tekshiruvidan o'tadi: ikkilik kodning statik tahlili, raqamli imzoni tekshirish, xususiy API-lar va malware uchun skanerlash. Qayta ishlash birinchi build uchun 15 daqiqadan 2 soatgacha va keyingi build-lar uchun odatda 15–30 daqiqa davom etadi. Qayta ishlash holati App Store Connect'dagi Activity bo'limida ko'rsatiladi.
// TestFlight-ni Swift AppDelegate'da sozlash
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Tekshirish: ilova TestFlight orqali o'rnatilganmi
if Bundle.main.appStoreReceiptURL?.lastPathComponent
== "sandboxReceipt" {
print("Beta version via TestFlight")
}
return true
}
}
TestFlight testerlarni ikki guruhga ajratadi: ichki (Internal Testers) va tashqi (External Testers). Farq ishtirokchilar sonida, build-larga kirishda va Apple ko'rib chiqishi zaruriyatidadir. Guruhni to'g'ri tanlash test jarayonini tezlashtiradi va App Store siyosatlariga rioya qiladi.
Apple Developer Program jamoasi tarkibidan 100 ishtirokchiga qadar. Ichki tester-ni taklif qilish uchun uning Apple ID sini App Store Connect'ga qo'shish kifoya — u darhol barcha build-larga kirish huquqini oladi. Apple ko'rib chiqishi talab qilinmaydi. Kundalik smoke-test va erta bosqichlarda funksiyalarni tekshirish uchun ideal.
Rivojlanish jamoasiga kirmaydigan 10 000 ishtirokchiga qadar. Tashqi testerlar uchun birinchi build asosiy Apple ko'rib chiqishidan o'tadi (odatda 1–2 kun). Asosiy funksionallikka ta'sir qilmaydigan o'zgarishlar bilan keyingi build-lar qayta ko'rib chiqishsiz o'tishi mumkin. Tashqi testerlar elektron pochta yoki ochiq havola orqali taklif qilinadi.
| Parametr | Internal Testers | External Testers |
|---|---|---|
| Maks. soni | 100 | 10 000 |
| Apple ko'rib chiqishi | Talab qilinmaydi | Birinchi build — majburiy |
| Taklif | Jamoadan Apple ID | Elektron pochta / ochiq havola |
| Build amal qilish muddati | 90 kun | 90 kun |
| Build-larga kirish | Darhol barchasiga | Faqat aktiv guruhlar |
Build-ni TestFlight-ga yuklash Xcode, Application Loader yoki xcrun yordamida buyruq satri orqali amalga oshiriladi. Eng keng tarqalgan usul — loyiha arxivini yaratgandan so'ng Xcode Archive Organizer orqali. Muqobil usul — CI/CD Pipeline uchun Fastlane orqali avtomatlashtirish.
Arxivni yig'ing (Product → Archive), Organizer-ni oching, arxivni tanlang va Distribute App tugmasini bosing. Tarqatish usuli sifatida TestFlight-ni tanlang, sertifikat va provisioning profile ko'rsating. Xcode build-ni App Store Connect'ga yuklaydi, u qayta ishlashdan keyin paydo bo'ladi. Butun jarayon birinchi yuklash uchun 10–20 daqiqa davom etadi.
Fastlane — build-larni TestFlight-ga yuklashni avtomatlashtirish uchun eng mashhur vositadir. fastlane pilot buyrug'i Xcode-ni ochmasdan build-ni yuklaydi va testerlarni boshqaradi. Fastlane-ni CI/CD serveri bilan integratsiyasi barcha testlardan o'tgandan so'ng build-larni TestFlight-da avtomatik nashr qilish imkonini beradi.
# Fastfile — build-ni TestFlight-ga yuklash
default_platform(:ios)
lane :beta do
# match orqali sertifikatlarni olish
match(type: "appstore")
# Yig'ish va imzolash
build_app(
scheme: "MyApp",
export_method: "app-store",
workspace: "MyApp.xcworkspace"
)
# TestFlight-ga yuklash
pilot(
skip_waiting_for_build: true,
distribute_external: false,
notify_external_testers: false
)
end
Fastlane pilot avtomatik ravishda IPA-ni App Store Connect'ga yuklaydi, qayta ishlashni kutadi (agar skip_waiting_for_build = false bo'lsa) va build-ni tanlangan tester guruhlariga tayinlaydi. distribute_external: true buyrug'i qayta ishlashdan so'ng darhol build-ni tashqi testerlarga yuboradi.
Fastlane'siz xcrun dan foydalanish mumkin: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool Apple tomonidan CI muhitlari uchun qo'llab-quvvatlanadi va grafik interfeysni talab qilmaydi. Parol keychain yoki app-specific password orqali uzatiladi — oddiy matnli parollardan foydalanmang.
TestFlight bir nechta fikr-mulohaza mexanizmlarini taqdim etadi: o'rnatilgan fikr-mulohaza shakli, crash-log'larni avtomatik yig'ish, foydalanish ko'rsatkichlari va ekran tasvirlari. Jamoa beta-test uchun uchinchi tomon SDK-larini joriy qilmasdan barcha ma'lumotlarni App Store Connect'da oladi.
Tester TestFlight ilovasini ochadi, sizning build-ngizni tanlaydi va Send Feedback tugmasini bosadi. Shakl matnli fikr-mulohaza yuborish, ekran tasvirini ilova qilish va jiddiylik darajasini ko'rsatish imkonini beradi. Barcha fikr-mulohazalar App Store Connect'dagi TestFlight → Feedback bo'limida to'planadi. Dasturchi fikr-mulohazaga javob berishi mumkin va tester TestFlight ilovasida bildirishnoma oladi.
Ilova ishdan chiqqanda TestFlight avtomatik ravishda crash-report-ni to'playdi: chaqiruvlar steki, OT versiyasi, qurilma modeli va ishdan chiqish vaqti. Crash-log'lar Xcode Organizer (Crashes) va App Store Connect (TestFlight → Crashes) da mavjud. Simvolli crash-log'larni olish uchun dSYM fayllarini build bilan birga yoki alohida Xcode orqali yuklash kerak.
TestFlight ko'rsatkichlarni ko'rsatadi: o'rnatishlar soni, faol testerlar, sessiyalar va ishdan chiqishlar. Tahlillar har kuni yangilanadi va testerlarning jalb qilinishini baholashga yordam beradi. Agar bir hafta ichida hech bir tester ilovani ochmagan bo'lsa — guruh bilan muloqotni yoki build sifatini qayta ko'rib chiqish kerak.
TestFlight App Store'da nashr qilish jarayonining ajralmas qismidir. TestFlight orqali beta-testdan o'tgan build qayta yig'ilmasdan Apple ko'rib chiqishiga yuborilishi mumkin — App Store Connect'dagi tugmani bosish kifoya. Bu ishlab chiqarish build-i sinovdan o'tgan build-dan farq qilish xavfini bartaraf qiladi.
App Store Connect'da sinovdan o'tgan build-ni tanlang va Submit for Review tugmasini bosing. Apple TestFlight'dan bir xil build-ni ishlatadi — qayta yuklash talab qilinmaydi. Ko'rib chiqish muddati odatda 1–3 kun. Agar build rad etilsa — izohlarni tuzating, TestFlight-ga yangi build-ni yuklang va jarayonni takrorlang.
TestFlight'dagi yakuniy sinov bosqichidan so'ng ko'rib chiqishga yuborishdan oldin 24–48 soat kutish tavsiya etiladi. Bu vaqt testerlarga avtomatik testlardan o'tib ketadigan muhim xatolarni aniqlash imkonini beradi. TestFlight'dagi Release candidate (RC) build — yetuk iOS jamoalarining standart amaliyotidir.
App Store'da reliz versiyasi chiqqandan so'ng TestFlight build-lari avtomatik ravishda yangi o'rnatishlar uchun mavjud bo'lmay qoladi. Beta versiyasini allaqachon o'rnatgan testerlar nashr e'lon qilinganidan keyin 30 kun davomida undan foydalanishlari mumkin, shundan so'ng ilova ochilmaydi. Testerlarning App Store versiyasiga yangilanganligiga ishonch hosil qiling.
Tez-tez beriladigan savollar
TestFlight Apple Developer Program ishtirokchilari uchun butunlay bepul (99 USD/yil). Xizmatdan foydalanish uchun qo'shimcha to'lov olinmaydi, build-lar va testerlar sonidan qat'i nazar. Siz faqat Apple dasturchi obunasi uchun to'laysiz — TestFlight unga standart sifatida kiritilgan.
Yo'q, TestFlight Apple ekotizimining eksklyuziv xizmatidir. Android uchun Google Play Console'da o'xshash vosita mavjud — Internal Testing va Open Testing treklari. Android'da beta versiyalarini nashr qilish uchun Firebase App Distribution va DeployGate ham ishlatiladi.
Qayta ishlash yuklashdan keyin birinchi build uchun 15 daqiqadan 2 soatgacha davom etadi. Keyingi build-lar tezroq qayta ishlanadi — odatda 15–30 daqiqa. Qayta ishlash vaqti Apple serverlarining yuklanishiga bog'liq. Holatni App Store Connect'dagi Activity bo'limida kuzatish mumkin.
Har bir build yuklash vaqtidan boshlab 90 kun davomida sinov uchun mavjud. Build-lar soni cheklanmagan, lekin bir vaqtning o'zida 30 tadan ko'p build faol bo'lishi mumkin emas. Eski build-lar muddat tugaganda yoki chegaraga erishilganda avtomatik ravishda o'chiriladi.
TestFlight orqali sinovda qatnashish uchun Apple ID talab qilinadi. Tashqi testerlar elektron pochta havolasi orqali taklif qilinadi — havola birinchi marta ochilganda, tizim agar mavjud bo'lmasa Apple ID yaratishni taklif qiladi. Ochiq havola ijtimoiy tarmoqlarda yoki blogda tarqatish uchun ham mavjud.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.