TestFlight «هي الخدمة الرسمية من Apple للاختبار التجريبي لتطبيقات iOS وiPadOS وwatchOS وtvOS». من خلال TestFlight، يوزع المطورون الإصدارات ما قبل الإطلاق بين ما يصل إلى 10,000 مختبر خارجي، ويجمعون الملاحظات وتقارير الأعطال دون الحاجة إلى النشر في App Store. وفقاً لـ Apple Developer Documentation, 2025، أكثر من 80% من التطبيقات في App Store تستخدم TestFlight في مرحلة التحضير للإطلاق.
الملامح الرئيسية
TestFlight «هي الطريقة الشرعية والرسمية الوحيدة لتوزيع تطبيقات iOS للاختبار دون النشر في App Store». تم إطلاق الخدمة من قبل Apple في عام 2014 بعد الاستحواذ على الشركة التي تحمل الاسم نفسه. قبل TestFlight، كان المطورون يستخدمون التوزيع Ad Hoc بحد أقصى 100 جهاز في الموسم » أزال TestFlight هذا القيد وبسط العملية إلى بضع نقرات.
iOS لديه سياسة أمنية صارمة: لا يمكن تثبيت التطبيق على الجهاز إلا من خلال App Store أو باستخدام شهادات خاصة. TestFlight يحل مشكلة الاختبار التجريبي من خلال العمل كوسيط بين المطور والمختبر: تتحقق Apple من البناء وفقاً للمتطلبات الأساسية، وبعد ذلك يتلقى المختبرون التطبيق من خلال تطبيق TestFlight من App Store، وهو ما لا يتطلب الثقة في الملفات غير الموقعة.
هناك ثلاث طرق لتوزيع تطبيقات iOS خارج App Store: Ad Hoc (حد أقصى 100 جهاز، يتطلب UDID لكل جهاز)، Enterprise (توزيع داخلي بدون حدود، يتطلب شهادة Enterprise من Apple مقابل 299 دولاراً في السنة) وTestFlight (ما يصل إلى 10,000 مختبر، مجاني، لا يتطلب جمع UDID). TestFlight هو الخيار الأمثل للاختبار التجريبي، Ad Hoc مناسب للاختبارات الخاصة بالأجهزة، وEnterprise مناسب للتطبيقات المؤسسية.
تتكون عملية نشر build من خلال TestFlight من خمس خطوات: البناء في Xcode، التحميل إلى App Store Connect عبر Archive Organizer، معالجة Apple، دعوة المختبرين، تثبيت التطبيق من خلال تطبيق TestFlight. تستغرق كل خطوة من بضع دقائق إلى ساعة حسب تعقيد المشروع.
يجب إنشاء build باستخدام شهادة توزيع وملف تعريف توفير صالح. تتحقق Apple من: صلاحية الشهادة، تطابق معرف الحزمة، عدم وجود واجهات برمجة تطبيقات خاصة، صحة الأيقونات (1024×1024) ووجود أيقونة App Store. إذا لم يجتاز البناء التحقق » يظهر TestFlight خطأً مع وصف المشكلة.
بعد التحميل، يمر البناء عبر التحقق الآلي من Apple: تحليل ثابت للكود الثنائي، التحقق من التوقيع الرقمي، فحص استخدام واجهات برمجة التطبيقات الخاصة والبرامج الضارة. المعالجة تستغرق من 15 دقيقة إلى ساعتين للبناء الأول وعادةً 150 30 دقيقة للبناءات التالية. يتم عرض حالة المعالجة في Activity في App Store Connect.
// إعداد TestFlight في Swift AppDelegate
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). الفرق في عدد المشاركين والوصول إلى builds والحاجة إلى مراجعة Apple. اختيار المجموعة الصحيحة يسرع عملية الاختبار ويلتزم بسياسات App Store.
ما يصل إلى 100 مشارك من فريق Apple Developer Program. لدعوة مختبر داخلي، يكفي إضافة Apple ID الخاص به في App Store Connect » يحصل فوراً على الوصول إلى جميع builds. لا يلزم مراجعة Apple. مثالي للاختبار اليومي السريع والتحقق من الميزات في المراحل المبكرة.
ما يصل إلى 10,000 مشارك غير تابعين لفريق التطوير. يمر البناء الأول للمختبرين الخارجيين بمراجعة أساسية من Apple (عادةً من 1 إلى 2 يوم). يمكن للبناءات التالية ذات التغييرات التي لا تؤثر على الوظائف الأساسية أن تمر دون مراجعة متكررة. تتم دعوة المختبرين الخارجيين عبر البريد الإلكتروني أو رابط عام.
| المعامل | المختبرين الداخليين | المختبرين الخارجيين |
|---|---|---|
| الحد الأقصى | 100 | 10,000 |
| مراجعة Apple | غير مطلوبة | البناء الأول » إلزامية |
| الدعوة | Apple ID من الفريق | البريد الإلكتروني / رابط عام |
| صلاحية البناء | 90 يوماً | 90 يوماً |
| الوصول إلى builds | جميعها مرة واحدة | المجموعات النشطة فقط |
يتم تحميل build في TestFlight من خلال Xcode أو Application Loader أو سطر الأوامر باستخدام xcrun. الطريقة الأكثر شيوعاً هي من خلال Xcode Archive Organizer بعد إنشاء أرشيف المشروع. الطريقة البديلة هي الأتمتة عبر Fastlane لخط أنابيب CI/CD.
قم ببناء أرشيف (Product → Archive)، افتح Organizer، حدد الأرشيف وانقر على Distribute App. اختر TestFlight كطريقة توزيع، وحدد الشهادة وملف تعريف التوفير. سيقوم Xcode بتحميل build إلى App Store Connect حيث سيظهر بعد المعالجة. تستغرق العملية بأكملها من 10 إلى 20 دقيقة للتحميل الأول.
Fastlane «هي الأداة الأكثر شعبية لأتمتة تحميل builds إلى TestFlight». الأمر fastlane pilot يقوم بتحميل build وإدارة المختبرين دون فتح Xcode. يتيح دمج Fastlane مع خادم CI/CD نشر builds في TestFlight تلقائياً بعد اجتياز جميع الاختبارات.
# Fastfile — تحميل build إلى 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) ويخصص build للمجموعات المحددة من المختبرين. الأمر distribute_external: true يرسل فوراً build إلى المختبرين الخارجيين بعد المعالجة.
بدون Fastlane، يمكنك استخدام xcrun: xcrun altool --upload-app --file path/to/app.ipa --username YOUR_APPLE_ID --password @keychain:AC_PASSWORD. altool مدعوم من Apple لبيئات CI ولا يتطلب واجهة رسومية. يتم تمرير كلمة المرور عبر keychain أو كلمة مرور خاصة بالتطبيق » لا تستخدم كلمات مرور بنص عادي.
TestFlight يوفر عدة آليات للملاحظات: نموذج ملاحظات مدمج، جمع تلقائي لسجلات الأعطال، مقاييس الاستخدام ولقطات الشاشة. يحصل الفريق على جميع البيانات في App Store Connect دون الحاجة إلى دمج SDK خارجية للاختبار التجريبي.
يفتح المختبر تطبيق TestFlight، ويختار build الخاص بك وينقر على Send Feedback. يتيح النموذج إرسال ملاحظات نصية، إرفاق لقطة شاشة وتحديد الخطورة. يتم جمع جميع الملاحظات في App Store Connect تحت TestFlight → Feedback. يمكن للمطور الرد على الملاحظة وسيتلقى المختبر إشعاراً في تطبيق TestFlight.
عند تعطل التطبيق، يقوم TestFlight تلقائياً بجمع تقرير العطل: مكدس الاستدعاءات، إصدار نظام التشغيل، طراز الجهاز ووقت العطل. سجلات الأعطال متاحة في Xcode Organizer (Crashes) وApp Store Connect (TestFlight → Crashes). للحصول على سجلات أعطال مرمزة، تحتاج إلى تحميل ملفات dSYM مع build أو بشكل منفصل عبر Xcode.
يعرض TestFlight المقاييس: عدد التثبيتات، المختبرين النشطين، الجلسات والأعطال. التحليلات يتم تحديثها يومياً وتساعد في تقييم مشاركة المختبرين. إذا لم يفتح أي مختبر التطبيق خلال أسبوع » فمن الجدير إعادة النظر في التواصل مع المجموعة أو جودة build.
TestFlight «هو جزء لا يتجزأ من عملية النشر في App Store». يمكن إرسال نفس build الذي اجتاز الاختبار التجريبي عبر TestFlight لمراجعة Apple دون إعادة بناء » فقط انقر على زر في App Store Connect. هذا يلغي خطر اختلاف build الإنتاجي عن الذي تم اختباره.
في App Store Connect، حدد build الذي اجتاز الاختبار وانقر على Submit for Review. تستخدم Apple نفس build من TestFlight » لا يلزم إعادة تحميل. وقت المراجعة عادة من 1 إلى 3 أيام. إذا تم رفض build » قم بإصلاح المشكلات، وحمل build جديداً في TestFlight وكرر العملية.
يوصى بالانتظار من 24 إلى 48 ساعة بعد الجولة النهائية من الاختبار في TestFlight قبل الإرسال للمراجعة. هذا الوقت يتيح للمختبرين اكتشاف الأخطاء الحرجة التي قد تمر عبر الاختبارات الآلية. بناء المرشح للإصدار (RC) في TestFlight هو ممارسة قياسية لفرق iOS الناضجة.
تصبح builds TestFlight غير متاحة تلقائياً للتثبيتات الجديدة بعد صدور إصدار الإطلاق في App Store. يمكن للمختبرين الذين قاموا بالفعل بتثبيت الإصدار التجريبي الاستمرار في استخدامه لمدة 30 يوماً بعد نشر الإصدار، وبعد ذلك يتوقف التطبيق عن الفتح. تأكد من قيام المختبرين بالتحديث إلى إصدار App Store.
الأسئلة الشائعة
TestFlight «مجاني تماماً لأعضاء Apple Developer Program (99 دولاراً في السنة)». لا يتم فرض رسوم إضافية لاستخدام الخدمة، بغض النظر عن عدد builds والمختبرين. تدفع فقط مقابل اشتراك مطور Apple » TestFlight مضمن افتراضياً.
لا، TestFlight هي خدمة حصرية لنظام Apple البيئي. بالنسبة لنظام Android، توجد أداة مماثلة » Google Play Console مع مسارات Internal Testing وOpen Testing. لنشر الإصدارات التجريبية على Android أيضاً تُستخدم Firebase App Distribution وDeployGate.
تستغرق المعالجة من 15 دقيقة إلى ساعتين للبناء الأول بعد التحميل. تتم معالجة builds التالية بشكل أسرع » عادة من 15 إلى 30 دقيقة. يعتمد وقت المعالجة على تحميل خوادم Apple. يمكنك تتبع الحالة في App Store Connect في قسم Activity.
كل build متاح للاختبار لمدة 90 يوماً من لحظة التحميل. عدد builds غير محدود، ولكن لا يمكن أن يكون أكثر من 30 build نشطة في وقت واحد. يتم إزالة builds القديمة تلقائياً عند انتهاء الصلاحية أو عند الوصول إلى الحد الأقصى.
للمشاركة في الاختبار عبر TestFlight، يلزم وجود Apple ID. تتم دعوة المختبرين الخارجيين عبر رابط بريد إلكتروني » عند فتح الرابط لأول مرة، سيطلب النظام إنشاء Apple ID إذا لم يكن لديهم واحد. يتوفر رابط عام أيضاً للتوزيع على وسائل التواصل الاجتماعي أو المدونات.
الخلاصة
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.
اقرأ أيضًا