TestFlight — Apple-ning testerlar o'rtasida ilovalarning pre-reliz build-larini tarqatish uchun rasmiy platformasi. Dasturchilarga App Store Connect-ga beta versiyalarni yuklash, kirishni boshqarish va nashrdan oldin fikr-mulohazalarni yig'ish imkonini beradi. Apple Developer Documentation ma'lumotlariga ko'ra, TestFlight umumiy havola orqali 10 000 tagacha tashqi testerlarni va Apple ID orqali 100 tagacha ichki testerlarni qo'llab-quvvatlaydi.
Asosiy fikrlar
TestFlight — App Store'da nashrdan oldin pre-reliz build-larini tarqatish uchun App Store Connect'ga integratsiyalangan beta-test platformasi. Dasturchilar Xcode orqali arxivlangan build-larni yuklaydi va ularni IPA fayllarini qo'lda tarqatmasdan testerlar o'rtasida taqsimlaydi.
Apple TestFlight-ni 2014-yilda Provisioning Profiles orqali Ad Hoc tarqatilishini almashtirish uchun sotib oldi. Ilgari dasturchilar qurilmalarning UDID-larini to'plab, provisioning profile yaratib va IPA-ni uchinchi tomon xizmatlari orqali tarqatishgan. TestFlight butun jarayonni avtomatlashtirdi: tester TestFlight App orqali beta ilovasini o'rnatadi, dasturchi esa veb-interfeys orqali kirishni boshqaradi.
WWDC 2024 ma'lumotlariga ko'ra, TestFlight har oyda 2 milliondan ortiq test o'rnatmalarini qayta ishlaydi. Platforma iOS, iPadOS, macOS, tvOS, watchOS va visionOS ni o'z ichiga olgan barcha Apple platformalarida tarqatishni qo'llab-quvvatlaydi va bu uni Apple ekotizimidagi yagona yagona beta-test vositasi qiladi.
TestFlight testni ikki turga ajratadi: jamoa a'zolari uchun Internal Testing (100 tagacha ishtirokchi, build yuklangandan so'ng darhol mavjud) va tashqi foydalanuvchilar uchun External Testing (10 000 tagacha ishtirokchi, Beta App Review tekshiruvi talab qilinadi). Ichki test moderatsiyani talab qilmaydi, bu uni jamoa ichida build-larni tezkor tekshirish uchun ideal qiladi.
External Testing elektron pochta yoki umumiy havola orqali testerlarni taklif qilish imkonini beradi. Beta App Review-dan o'tgandan so'ng, build barcha taklif qilinganlar uchun yuklab olishga tayyor bo'ladi. Birinchi marta nashr etiladigan ilovalar uchun App Store Review Guidelines qoidalariga muvofiq External Testing majburiydir.
TestFlight ish jarayoni ilovani Xcode'da arxivlash va Organizer yoki Transporter orqali App Store Connect'ga yuklash bilan boshlanadi. Yuklangandan so'ng, build avtomatik tekshiruv va xavfsizlik skaneridan o'tadi.
Ichki testerlar TestFlight App orqali mavjud build haqida bildirishnoma oladilar. Ular ilovani o'rnatib, o'rnatilgan skrinshot va matn sharhlari interfeysi orqali fikr-mulohaza qoldirishlari mumkin. Tashqi testerlar uchun Beta App Review tasdiqlanishi talab qilinadi, shundan so'ng build ichki kabi tarqatiladi.
TestFlight avtomatik ravishda foydalanish metrikalarini to'playdi: o'rnatishlar soni, crash loglari, annotatsiyali skrinshotlar va fikr-mulohazalar. Dasturchi bu ma'lumotlarni App Store Connect'ning TestFlight bo'limida ko'radi. Barcha ma'lumotlar build versiyalari bo'yicha jamlanadi, bu turli build-larning barqarorligini solishtirishni osonlashtiradi.
TestFlight'ga yuklangan har bir build amal qilish muddati 90 kunga ega. Muddati tugagandan so'ng, testerlar ilovani o'rnata olmaydi yoki ishga tushira olmaydi. Testni davom ettirish uchun oshirilgan versiya raqami bilan yangi build yuklash kerak. Cheklov dasturchilarni muntazam ravishda build-larni yangilashga undaydi.
Amal qilish muddati yaqinlashganda, TestFlight dasturchi va testerlarga bildirishnomalar yuboradi. Agar yangi build o'z vaqtida yuklanmasa, test to'xtatiladi va ishtirokchilar yangi versiya paydo bo'lguncha ilovaga kirishni yo'qotadilar.
TestFlight sozlamalari App Store Connect'ning TestFlight bo'limida boshlanadi. Ishga tushirish uchun kamida bitta yuklangan ilova build-i talab qilinadi. Interfeys uchta asosiy bo'limga bo'lingan: build-lar, ichki testerlar va tashqi guruhlar.
Ichki testerlar Apple ID orqali qo'shiladi. Har bir ishtirokchi testga kirishni o'z ichiga olgan rol bilan App Store Connect orqali taklif qilinishi kerak. Taklifdan so'ng, tester elektron pochta oladi va qurilmasida TestFlight App orqali ilovani o'rnatishi mumkin.
Tashqi test uchun testerlarni stsenariylar bo'yicha birlashtiruvchi guruhlar yaratiladi. Har bir guruh aniq build-larga bog'lanadi. Guruh mustaqil qo'shilish uchun umumiy havolaga ega bo'lishi mumkin — bu open-source loyihalar yoki ommaviy beta-test uchun qulay. Apple Developer Documentation ma'lumotlariga ko'ra, umumiy havola istalgan vaqtda bekor qilinishi mumkin va allaqachon qo'shilgan testerlar kirishni yo'qotmaydi.
TestFlight'ga build yuklash loyihani arxivlashdan so'ng Xcode Organizer orqali amalga oshiriladi. Yuklash uchun App Store Connect'da Admin yoki App Manager huquqlariga ega Apple Developer Program hisobi talab qilinadi.
Yuklashdan oldin build to'g'ri Distribution Certificate bilan imzolanishi va App Store tarqatilishi bilan Provisioning Profile ni o'z ichiga olishi kerak. Xcode faol dasturchi hisobi bilan Automatic Signing orqali imzoni avtomatik sozlaydi.
# xcrun altool orqali yuklash (Xcode 15+ notarytool ishlatadi)
xcrun notarytool submit MyApp.ipa --apple-id "developer@example.com" --team-id "TEAMID123" --password "@keychain:AC_PASSWORD" --wait
# To'g'ridan-to'g'ri App Store Connect'ga yuklash
xcrun altool --upload-app -f MyApp.ipa -t ios -u "developer@example.com" -p "@keychain:AC_PASSWORD"
Yuklangandan so'ng, build avtomatik tekshiruvdan o'tadi: binar fayl validatsiyasi, zararli kod skaneri, App Store Review Guidelines ga muvofiqlik tekshiruvi. Odatda tekshiruv bir necha daqiqadan bir soatgacha davom etadi. Holat App Store Connect'ning TestFlight bo'limida ko'rsatiladi.
CI/CD (GitHub Actions, Bitrise, Jenkins) uchun build-ni Xcodesiz to'g'ridan-to'g'ri yuklash uchun xcrun altool yoki notarytool ishlatiladi. Autentifikatsiya kalitlari Keychain yoki App Store Connect API'da saqlanadi. Fastlane jarayonni to'liq avtomatlashtirish uchun upload_to_testflight aksiyasini taqdim etadi.
TestFlight'ga testerlarni taklif qilish test turiga bog'liq. Ichki testerlar to'g'ridan-to'g'ri App Store Connect'da Apple ID orqali qo'shiladi va yuklangandan so'ng darhol barcha build-larga kirishadi. Tashqi testerlar aniq build-lar ko'rsatilgan holda guruhlar orqali taklif qilinadi.
Tashqi test uchun Beta App Review'dan o'tish talab qilinadi — asosiy funksionallik va qoidalarga muvofiqlikni tekshiruvchi App Review ning soddalashtirilgan versiyasi. Birinchi tashqi build odatda 1-2 kunda tekshiruvdan o'tadi, keyingilari tezroq. Tasdiqlangandan so'ng, guruhdagi barcha testerlar bildirishnoma oladi.
Umumiy havola taklifni soddalashtiradi: dasturchi havolani veb-saytda yoki ijtimoiy tarmoqlarda e'lon qiladi, foydalanuvchilar o'tadi va avtomatik testga qo'shiladi. TestFlight tashqi guruh uchun 10 000 gacha ishtirokchini qo'llab-quvvatlaydi, guruhlar soni esa cheklanmagan. Har bir ilova uchun turli build-lar bilan bir nechta guruh sozlanishi mumkin.
Testerlar TestFlight App orqali skrinshotlar va annotatsiyalar ilova qilib fikr-mulohaza yuboradilar. Dasturchi barcha fikr-mulohazalarni App Store Connect'da build-lar bo'yicha guruhlangan holda ko'radi. Har bir fikr-mulohaza operatsion tizim versiyasi, qurilma modeli va vaqt tamg'asini o'z ichiga oladi, bu xatolarni qayta tiklash va bartaraf etishni osonlashtiradi.
TestFlight'dan App Store'da ilovani nashr qilish qayta qurishni talab qilmaydi. App Store Connect'da tasdiqlangan beta build-ni tanlab, Submit for Review tugmasini bosish kifoya. Beta-testdan o'tgan xuddi shu build qayta kompilyatsiyasiz final App Review'ga yuboriladi.
Bu ishlab chiqarishga ishtirokchilar sinovdan o'tkazgan aniq versiya kirishini kafolatlaydi va beta bilan reliz build-lari orasidagi farq xavflarini bartaraf qiladi. Final App Review'dan o'tgandan so'ng, build o'rnatilgan Availability qoidalariga muvofiq avtomatik App Store'da nashr etiladi.
Nashrdan oldin dasturchi metama'lumotlarni yangilashi kerak: versiya tavsifi, yangi operatsion tizim versiyasi uchun skrinshotlar va o'zgarishlar haqida ma'lumot. App Store'ga yuborilmagan TestFlight build-lari barcha test ma'lumotlari bilan birga yuklanganidan 90 kun o'tib avtomatik o'chiriladi.
Ko'p beriladigan savollar
Avtomatik tekshiruv odatda 5 daqiqadan bir soatgacha davom etadi. Tashqi test uchun Beta App Review — bir necha soatdan 2 kungacha. Takroriy build-lar uchun tekshiruv tezroq o'tadi, chunki Apple oldingi ko'rib chiqishlar tarixini hisobga oladi.
TestFlight faqat Apple Developer Program (yiliga 99$) ishtirokchilari uchun mavjud. Obunasiz build-larni App Store Connect'ga yuklash mumkin emas. Obunasiz Ad Hoc tarqatilishi uchun Enterprise hisobi yoki SideStore kerak bo'ladi.
Ad Hoc qurilmalarning UDID-larini yig'ish, Provisioning Profile yaratish va IPA-ni qo'lda tarqatishni talab qiladi. TestFlight butun jarayonni avtomatlashtiradi: dasturchi build-ni yuklaydi, tester provisioning profillari va UDIDlarsiz TestFlight App orqali o'rnatadi.
Buildning TestFlight'dagi umri yuklangan paytdan boshlab 90 kun. Muddati tugagandan so'ng, testerlar ilovani o'rnata olmaydi yoki ishga tushira olmaydi. Testni uzaytirish uchun oshirilgan versiya raqami bilan yangi build yuklash kerak.
TestFlight macOS 11 Big Sur dan boshlab macOS ilovalarini qo'llab-quvvatlaydi. Testerlar beta versiyasini Mac'da TestFlight App orqali o'rnatadilar. Yuklash va boshqarish jarayoni iOS versiyasidan farq qilmaydi: Xcode'da arxivlash, Organizer orqali yuklash.
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.