استخدام ميزة "فحص التطبيقات" مع موفِّر تصحيح الأخطاء على أنظمة Apple الأساسية

إذا أردت تشغيل تطبيقك في بيئة لا تصنّفها App Check عادةً على أنّها صالحة، مثل محاكي أو جهاز أثناء التطوير أو من بيئة دمج مستمر (CI)، بعد تسجيل تطبيقك في App Check، يمكنك إنشاء إصدار تصحيح أخطاء من تطبيقك يستخدم موفّر تصحيح الأخطاء في App Check بدلاً من موفّر تصديق حقيقي.

استخدام موفّر تصحيح الأخطاء في مرحلة التطوير

لاستخدام موفّر تصحيح الأخطاء أثناء تشغيل تطبيقك بشكل تفاعلي (أثناء التطوير، على سبيل المثال)، اتّبِع الخطوات التالية:

  1. في إصدار التصحيح، قبل استخدام أي من خدمات الخلفية في Firebase، أنشئ App Check مصنع موفّر التصحيح وضعه على النحو التالي:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];
  2. فعِّل تسجيل معلومات تصحيح الأخطاء في مشروع Xcode (الإصدار 11.0 أو إصدار أحدث):

    1. افتح المنتج (Product) > المخطّط (Scheme) > تعديل المخطّط (Edit scheme).
    2. انقر على تشغيل (Run) من القائمة اليمنى، ثمّ انقر على علامة التبويب الوسيطات (Arguments).
    3. في قسم المَعلمات التي تم ضبطها عند الإطلاق (Arguments Passed on Launch)، أضِف -FIRDebugEnabled.
  3. شغِّل التطبيق. سيتم تسجيل رمز تصحيح أخطاء محلي عندما تحاول حزمة SDK إرسال طلب إلى الخلفية. على سبيل المثال:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. في قسم App Check ضمن وحدة تحكّم Firebase، اختَر إدارة رموز تصحيح الأخطاء من قائمة الخيارات الإضافية في تطبيقك. بعد ذلك، سجِّل الرمز المميّز لتصحيح الأخطاء الذي سجّلته في الخطوة السابقة.

    لقطة شاشة لعنصر القائمة "إدارة رموز تصحيح الأخطاء"

بعد تسجيل الرمز المميّز، ستقبله خدمات الخلفية في Firebase على أنّه صالح.

بما أنّ هذا الرمز المميّز يتيح الوصول إلى موارد Firebase بدون جهاز صالح، من الضروري الحفاظ على خصوصيته. لا ترسِل الرمز المميّز إلى مستودع عام، وإذا تم اختراق رمز مميّز مسجّل، عليك إبطاله على الفور في وحدة تحكّم Firebase.

استخدام موفّر تصحيح الأخطاء في بيئة CI

لاستخدام موفّر تصحيح الأخطاء في بيئة دمج مستمر (CI)، اتّبِع الخطوات التالية:

  1. في قسم App Check ضمن وحدة تحكّم Firebase، اختَر إدارة رموز تصحيح الأخطاء من قائمة الخيارات الإضافية في تطبيقك. بعد ذلك، أنشئ رمز تصحيح أخطاء جديدًا. ستحتاج إلى الرمز المميّز في الخطوة التالية.

    بما أنّ هذا الرمز المميّز يتيح الوصول إلى موارد Firebase بدون جهاز صالح، من الضروري الحفاظ على خصوصيته. لا ترسِل الرمز المميّز إلى مستودع عام، وإذا تم اختراق رمز مميّز مسجّل، عليك إبطاله على الفور في وحدة تحكّم Firebase.

    لقطة شاشة لعنصر القائمة "إدارة رموز تصحيح الأخطاء"

  2. أضِف رمز تصحيح الأخطاء الذي أنشأته للتو إلى مخزن المفاتيح الآمن في نظام الدمج المتواصل (CI) (على سبيل المثال، الأسرار المشفّرة في GitHub Actions أو المتغيرات المشفّرة في Travis CI).

  3. إذا لزم الأمر، اضبط نظام التكامل المستمر (CI) لإتاحة رمز تصحيح الأخطاء في بيئة التكامل المستمر كمتغيّر بيئة. أدخِل اسمًا للمتغيّر، مثل APP_CHECK_DEBUG_TOKEN_FROM_CI.

  4. في Xcode، أضِف متغيّر بيئة إلى مخطط الاختبار الخاص بك بالاسم FIRAAppCheckDebugToken وقيمة مثل $(APP_CHECK_DEBUG_TOKEN).

  5. اضبط نص اختبار CI البرمجي لتمرير رمز التصحيح كمتغيّر بيئة. على سبيل المثال:

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. في إصدار التصحيح، قبل استخدام أي من خدمات الخلفية في Firebase، أنشئ App Check مصنع موفّر التصحيح وضعه على النحو التالي:

    Swift

    let providerFactory = AppCheckDebugProviderFactory()
    AppCheck.setAppCheckProviderFactory(providerFactory)
    
    FirebaseApp.configure()

    Objective-C

    FIRAppCheckDebugProviderFactory *providerFactory =
          [[FIRAppCheckDebugProviderFactory alloc] init];
    [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    
    // Use Firebase library to configure APIs
    [FIRApp configure];

عند تشغيل تطبيقك في بيئة CI، ستقبل خدمات الخلفية في Firebase الرمز المميز الذي ترسله على أنّه صالح.