TestFlight «iOS، iPadOS، watchOS اور tvOS ایپلی کیشنز کے بیٹا ٹیسٹنگ کے لیے Apple کی سرکاری خدمت ہے»۔ TestFlight کے ذریعے، ڈویلپرز 10,000 بیرونی ٹیسٹرز تک پری ریلیز بلڈ تقسیم کرتے ہیں، App Store میں شائع کیے بغیر فیڈبیک اور کریش رپورٹس جمع کرتے ہیں۔ Apple Developer Documentation, 2025 کے مطابق، App Store میں 80% سے زیادہ ایپس ریلیز کی تیاری کے مرحلے میں TestFlight استعمال کرتی ہیں۔
اہم نکات
TestFlight «App Store میں شائع کیے بغیر جانچ کے لیے iOS ایپلی کیشنز تقسیم کرنے کا جائز اور واحد سرکاری طریقہ ہے»۔ یہ خدمت Apple نے 2014 میں اسی نام کی کمپنی کے حصول کے بعد شروع کی تھی۔ TestFlight سے پہلے، ڈویلپرز ہر سیزن میں 100 ڈیوائسز کی حد کے ساتھ Ad Hoc تقسیم استعمال کرتے تھے » TestFlight نے اس حد کو ختم کر دیا اور عمل کو چند کلکس میں آسان بنا دیا۔
iOS کی سخت حفاظتی پالیسی ہے: کوئی ایپلی کیشن صرف App Store کے ذریعے یا خصوصی سرٹیفکیٹس استعمال کرکے ڈیوائس پر انسٹال کی جا سکتی ہے۔ TestFlight ڈویلپر اور ٹیسٹر کے درمیان پراکسی کے طور پر کام کرکے بیٹا ٹیسٹنگ کا مسئلہ حل کرتا ہے: Apple بلڈ کو بنیادی ضروریات کے مطابق چیک کرتا ہے، جس کے بعد ٹیسٹرز App Store سے TestFlight ایپ کے ذریعے ایپلی کیشن وصول کرتے ہیں، جس کے لیے غیر دستخط شدہ فائلوں پر بھروسہ کرنے کی ضرورت نہیں ہوتی۔
App Store سے باہر iOS ایپلی کیشنز تقسیم کرنے کے تین طریقے ہیں: Ad Hoc (100 ڈیوائسز کی حد، ہر ڈیوائس کے UDID کی ضرورت)، Enterprise (حد کے بغیر اندرونی تقسیم، $299/سال کے لیے Apple Enterprise سرٹیفکیٹ درکار) اور TestFlight (10,000 ٹیسٹرز تک، مفت، UDID جمع کرنے کی ضرورت نہیں)۔ TestFlight بیٹا ٹیسٹنگ کے لیے بہترین انتخاب ہے، Ad Hoc ڈیوائس مخصوص ٹیسٹ کے لیے موزوں ہے اور Enterprise کارپوریٹ ایپلی کیشنز کے لیے ہے۔
TestFlight کے ذریعے بلڈ شائع کرنے کا عمل پانچ مراحل پر مشتمل ہے: Xcode میں تعمیر، Archive Organizer کے ذریعے App Store Connect میں اپ لوڈ، Apple پروسیسنگ، ٹیسٹرز کو دعوت اور TestFlight ایپ کے ذریعے ایپ انسٹال کرنا۔ پروجیکٹ کی پیچیدگی کے لحاظ سے ہر مرحلے میں چند منٹ سے ایک گھنٹہ لگتا ہے۔
بلڈ کو تقسیم سرٹیفکیٹ اور درست پروویژننگ پروفائل کے ساتھ بنایا جانا چاہیے۔ Apple چیک کرتا ہے: سرٹیفکیٹ کی درستگی، بنڈل شناخت کنندہ کی مماثلت، نجی API کی غیر موجودگی، درست آئیکن (1024×1024) اور App Store آئیکن کی موجودگی۔ اگر بلڈ چیک میں ناکام ہو جاتا ہے » TestFlight مسئلے کی وضاحت کے ساتھ غلطی دکھاتا ہے۔
اپ لوڈ کرنے کے بعد، بلڈ Apple کی خودکار تصدیق سے گزرتا ہے: بائنری کوڈ کا جامد تجزیہ، ڈیجیٹل دستخط کی تصدیق، نجی API کے استعمال اور میلویئر کی اسکیننگ۔ پروسیسنگ میں پہلے بلڈ کے لیے 15 منٹ سے 2 گھنٹے لگتے ہیں اور بعد کے بلڈ کے لیے عام طور پر 150 منٹ لگتے ہیں۔ پروسیسنگ کی حالت App Store Connect میں Activity میں ظاہر ہوتی ہے۔
// Swift AppDelegate میں TestFlight سیٹ اپ
import UIKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// چیک کریں: کیا ایپ TestFlight کے ذریعے انسٹال ہے
if Bundle.main.appStoreReceiptURL?.lastPathComponent
== "sandboxReceipt" {
print("TestFlight کے ذریعے بیٹا ورژن")
}
return true
}
}
TestFlight ٹیسٹرز کو دو گروپوں میں تقسیم کرتا ہے: اندرونی ٹیسٹرز (Internal Testers) اور بیرونی ٹیسٹرز (External Testers)۔ فرق شرکاء کی تعداد، بلڈ تک رسائی اور Apple کے جائزے کی ضرورت میں ہے۔ صحیح گروپ کا انتخاب جانچ کے عمل کو تیز کرتا ہے اور App Store کی پالیسیوں کی تعمیل کرتا ہے۔
Apple Developer Program ٹیم کے 100 شرکاء تک۔ اندرونی ٹیسٹر کو دعوت دینے کے لیے، App Store Connect میں ان کا Apple ID شامل کرنا کافی ہے » انہیں فوری طور پر تمام بلڈ تک رسائی مل جاتی ہے۔ Apple کے جائزے کی ضرورت نہیں۔ روزانہ سموک ٹیسٹنگ اور ابتدائی مراحل میں فیچر کی تصدیق کے لیے مثالی۔
10,000 شرکاء تک جو ترقیاتی ٹیم کا حصہ نہیں ہیں۔ بیرونی ٹیسٹرز کے لیے پہلا بلڈ ایک بنیادی Apple جائزے (عام طور پر 1–2 دن) سے گزرتا ہے۔ بعد کے بلڈ جن میں بنیادی فعالیت کو متاثر نہ کرنے والی تبدیلیاں ہوتی ہیں بغیر دوبارہ جائزے کے پاس ہو سکتے ہیں۔ بیرونی ٹیسٹرز کو ای میل یا عوامی لنک کے ذریعے دعوت دی جاتی ہے۔
| پیرامیٹر | اندرونی ٹیسٹرز | بیرونی ٹیسٹرز |
|---|---|---|
| زیادہ سے زیادہ تعداد | 100 | 10,000 |
| Apple جائزہ | درکار نہیں | پہلا بلڈ » لازمی |
| دعوت | ٹیم سے Apple ID | ای میل / عوامی لنک |
| بلڈ کی میعاد | 90 دن | 90 دن |
| بلڈ تک رسائی | سب ایک ساتھ | صرف فعال گروپ |
TestFlight میں بلڈ اپ لوڈ کرنا Xcode، Application Loader یا xcrun استعمال کرتے ہوئے کمانڈ لائن کے ذریعے کیا جاتا ہے۔ سب سے عام طریقہ پروجیکٹ آرکائیو بنانے کے بعد Xcode Archive Organizer کے ذریعے ہے۔ متبادل طریقہ CI/CD پائپ لائن کے لیے Fastlane کے ذریعے آٹومیشن ہے۔
ایک آرکائیو بنائیں (Product → Archive)، Organizer کھولیں، آرکائیو منتخب کریں اور Distribute App پر کلک کریں۔ تقسیم کے طریقے کے طور پر TestFlight منتخب کریں، سرٹیفکیٹ اور پروویژننگ پروفائل کی وضاحت کریں۔ Xcode بلڈ کو App Store Connect میں اپ لوڈ کرے گا، جہاں یہ پروسیسنگ کے بعد ظاہر ہوگا۔ پورے عمل میں پہلے اپ لوڈ کے لیے 1020 منٹ لگتے ہیں۔
Fastlane «TestFlight میں بلڈ اپ لوڈ کو خودکار کرنے کے لیے سب سے مقبول ٹول ہے»۔ کمانڈ fastlane pilot Xcode کھولے بغیر بلڈ اپ لوڈ کرتی ہے اور ٹیسٹرز کا انتظام کرتی ہے۔ Fastlane کو CI/CD سرور کے ساتھ ضم کرنے سے تمام ٹیسٹ پاس کرنے کے بعد خود بخود TestFlight میں بلڈ شائع کرنے کی اجازت ملتی ہے۔
# Fastfile — TestFlight میں بلڈ اپ لوڈ
default_platform(:ios)
lane :beta do
# match کے ذریعے سرٹیفکیٹ حاصل کرنا
match(type: "appstore")
# بلڈ اور دستخط
build_app(
scheme: "MyApp",
export_method: "app-store",
workspace: "MyApp.xcworkspace"
)
# TestFlight میں اپ لوڈ کریں
pilot(
skip_waiting_for_build: true,
distribute_external: false,
notify_external_testers: false
)
end
Fastlane pilot خود بخود IPA کو App Store Connect میں اپ لوڈ کرتا ہے، پروسیسنگ کا انتظار کرتا ہے (اگر skip_waiting_for_build = false) اور بلڈ کو منتخب ٹیسٹر گروپس کو تفویض کرتا ہے۔ کمانڈ distribute_external: true پروسیسنگ کے بعد فوری طور پر بلڈ کو بیرونی ٹیسٹرز کو بھیجتی ہے۔
Fastlane کے بغیر، آپ xcrun استعمال کر سکتے ہیں: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD۔ altool CI ماحول کے لیے Apple کے ذریعے تعاون یافتہ ہے اور گرافیکل انٹرفیس کی ضرورت نہیں ہے۔ پاس ورڈ keychain یا ایپ مخصوص پاس ورڈ کے ذریعے بھیجا جاتا ہے » سادہ متن والے پاس ورڈ استعمال نہ کریں۔
TestFlight کئی فیڈبیک میکانزم فراہم کرتا ہے: ایک بلٹ ان فیڈبیک فارم، خودکار کریش لاگ جمع، استعمال کے میٹرکس اور اسکرین شاٹس۔ ٹیم بیٹا ٹیسٹنگ کے لیے تیسرے فریق SDK کو ضم کیے بغیر App Store Connect میں تمام ڈیٹا حاصل کرتی ہے۔
ٹیسٹر TestFlight ایپ کھولتا ہے، آپ کا بلڈ منتخب کرتا ہے اور Send Feedback پر کلک کرتا ہے۔ فارم ٹیکسٹ فیڈبیک بھیجنے، اسکرین شاٹ منسلک کرنے اور شدت کی وضاحت کرنے کی اجازت دیتا ہے۔ تمام فیڈبیک App Store Connect میں TestFlight → Feedback کے تحت جمع کیا جاتا ہے۔ ڈویلپر فیڈبیک کا جواب دے سکتا ہے اور ٹیسٹر کو TestFlight ایپ میں اطلاع ملے گی۔
جب کوئی ایپ کریش ہوتی ہے، TestFlight خود بخود کریش رپورٹ جمع کرتا ہے: کال اسٹیک، OS ورژن، ڈیوائس ماڈل اور کریش کا وقت۔ کریش لاگ Xcode Organizer (Crashes) اور App Store Connect (TestFlight → Crashes) میں دستیاب ہیں۔ علامتی کریش لاگ حاصل کرنے کے لیے، آپ کو بلڈ کے ساتھ یا Xcode کے ذریعے علیحدہ طور پر dSYM فائلیں اپ لوڈ کرنی ہوں گی۔
TestFlight میٹرکس دکھاتا ہے: انسٹال کی تعداد، فعال ٹیسٹرز، سیشنز اور کریشز۔ تجزیہ روزانہ اپ ڈیٹ ہوتا ہے اور ٹیسٹرز کی مصروفیت کا جائزہ لینے میں مدد کرتا ہے۔ اگر ایک ہفتے میں کسی بھی ٹیسٹر نے ایپ نہیں کھولی » تو گروپ کے ساتھ مواصلت یا بلڈ کے معیار پر نظرثانی کرنی چاہیے۔
TestFlight «App Store اشاعت کے عمل کا ایک لازمی حصہ ہے»۔ وہی بلڈ جس نے TestFlight کے ذریعے بیٹا ٹیسٹنگ پاس کی ہے اسے دوبارہ تعمیر کیے بغیر Apple کے جائزے کے لیے بھیجا جا سکتا ہے » بس App Store Connect میں ایک بٹن دبائیں۔ یہ اس خطرے کو ختم کرتا ہے کہ پروڈکشن بلڈ ٹیسٹ شدہ سے مختلف ہے۔
App Store Connect میں، وہ بلڈ منتخب کریں جس نے ٹیسٹ پاس کیا ہے اور Submit for Review پر کلک کریں۔ Apple TestFlight سے وہی بلڈ استعمال کرتا ہے » دوبارہ اپ لوڈ کرنے کی ضرورت نہیں۔ جائزے کا وقت عام طور پر 1–3 دن ہے۔ اگر بلڈ مسترد کر دیا جاتا ہے » مسائل کو ٹھیک کریں، TestFlight میں نیا بلڈ اپ لوڈ کریں اور عمل دہرائیں۔
جائزے کے لیے بھیجنے سے پہلے TestFlight میں حتمی ٹیسٹنگ راؤنڈ کے بعد 24–48 گھنٹے انتظار کرنے کی سفارش کی جاتی ہے۔ یہ وقت ٹیسٹرز کو اہم بگ دریافت کرنے کی اجازت دیتا ہے جو خودکار ٹیسٹوں سے بچ سکتے ہیں۔ TestFlight میں ریلیز امیدوار (RC) بلڈ پختہ iOS ٹیموں کا معیاری عمل ہے۔
App Store میں ریلیز ورژن جاری ہونے کے بعد TestFlight بلڈ خود بخود نئی تنصیبات کے لیے ناقابل دستیاب ہو جاتے ہیں۔ ٹیسٹرز جنہوں نے پہلے ہی بیٹا ورژن انسٹال کر لیا ہے وہ ریلیز اشاعت کے بعد 30 دن تک اسے استعمال کر سکتے ہیں، جس کے بعد ایپ کھلنا بند ہو جاتی ہے۔ یقینی بنائیں کہ ٹیسٹرز App Store ورژن میں اپ ڈیٹ ہو جائیں۔
اکثر پوچھے گئے سوالات
TestFlight «Apple Developer Program ($99/سال) کے اراکین کے لیے مکمل طور پر مفت ہے»۔ بلڈ اور ٹیسٹرز کی تعداد سے قطع نظر، سروس کے استعمال کے لیے کوئی اضافی فیس نہیں لی جاتی۔ آپ صرف Apple ڈویلپر سبسکرپشن کے لیے ادائیگی کرتے ہیں » TestFlight ڈیفالٹ طور پر شامل ہے۔
نہیں، TestFlight Apple ماحولیاتی نظام کی خصوصی خدمت ہے۔ Android کے لیے ایک مشابہ ٹول موجود ہے » Google Play Console جس میں Internal Testing اور Open Testing ٹریک ہیں۔ Android پر بیٹا ورژن شائع کرنے کے لیے Firebase App Distribution اور DeployGate بھی استعمال ہوتے ہیں۔
اپ لوڈ کے بعد پہلے بلڈ کے لیے پروسیسنگ میں 15 منٹ سے 2 گھنٹے لگتے ہیں۔ بعد کے بلڈ تیزی سے پروسیس ہوتے ہیں » عام طور پر 150 منٹ۔ پروسیسنگ کا وقت Apple سرور لوڈ پر منحصر ہے۔ آپ App Store Connect میں Activity سیکشن میں اسٹیٹس ٹریک کر سکتے ہیں۔
ہر بلڈ اپ لوڈ کے لمحے سے 90 دن کے لیے ٹیسٹنگ کے لیے دستیاب ہے۔ بلڈ کی تعداد محدود نہیں ہے، لیکن ایک ساتھ 30 سے زیادہ بلڈ فعال نہیں ہو سکتے۔ پرانے بلڈ میعاد ختم ہونے پر یا حد تک پہنچنے پر خود بخود ہٹا دیے جاتے ہیں۔
TestFlight کے ذریعے ٹیسٹنگ میں شرکت کے لیے Apple ID درکار ہے۔ بیرونی ٹیسٹرز کو ای میل لنک کے ذریعے دعوت دی جاتی ہے » لنک پہلی بار کھولنے پر، سسٹم Apple ID بنانے کا اشارہ کرے گا اگر ان کے پاس نہیں ہے۔ سوشل نیٹ ورکس یا بلاگ پر تقسیم کے لیے ایک عوامی لنک بھی دستیاب ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں