اختبار عملية تنفيذ Crashlytics (على منصات Apple)

اختيار المنصة: +iOS Android Flutter Unity


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

فرض حدوث عطل لاختبار عملية التنفيذ

  1. أضِف رمزًا إلى تطبيقك يمكنك استخدامه لفرض عطل تجريبي.

    يمكنك استخدام الرمز التالي لإضافة زر إلى تطبيقك يؤدي الضغط عليه إلى حدوث عطل. يحمل الزر التصنيف "اختبار التعطُّل".

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }

    UIKit

    Swift

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }

    Objective-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
  2. أنشئ تطبيقك وشغِّله في Xcode مع إلغاء ربط مصحِّح أخطاء Xcode.

    1. انقر على إنشاء ثم تشغيل المخطط الحالي لإنشاء تطبيقك على جهاز اختباري أو محاكي.

    2. انتظِر حتى يتم تشغيل تطبيقك، ثم انقر على إيقاف تشغيل المخطط أو الإجراء لإغلاق المثيل الأولي لتطبيقك. يتضمن هذا المثيل الأولي مصحح الأخطاء الذي يتداخل مع Crashlytics.

  3. افرض حدوث عطل تجريبي لإرسال أول تقرير عن الأعطال في تطبيقك:

    1. افتح تطبيقك من الشاشة الرئيسية لجهاز الاختبار أو المحاكي.

    2. في تطبيقك، اضغط على الزر "اختبار التعطُّل" الذي أضفته باستخدام الرمز أعلاه.

    3. بعد تعطُّل تطبيقك، شغِّله مرة أخرى من Xcode ليتمكّن تطبيقك من إرسال تقرير التعطُّل إلى Firebase.

  4. في وحدة تحكّم Firebase، انتقِل إلى عمليات التطوير والتفاعل > لوحة بيانات Crashlytics للتحقّق من تقرير الأعطال التجريبي.

    إذا أعدت تحميل وحدة التحكّم ولم يظهر لك التعطّل الاختباري بعد خمس دقائق، جرِّب تفعيل تسجيل تصحيح الأخطاء (القسم التالي).

تفعيل ميزة تسجيل معلومات سجلّ تصحيح الأخطاء في "Crashlytics"

إذا لم يظهر لك عطل الاختبار في لوحة بيانات Crashlytics، يمكنك استخدام سجلّ تصحيح الأخطاء في Crashlytics للمساعدة في تتبُّع المشكلة.

  1. تفعيل ميزة تسجيل معلومات تصحيح الأخطاء:

    1. في Xcode، انقر على المنتج (Product) > المخطّط (Scheme) > تعديل المخطّط (Edit scheme).

    2. انقر على تشغيل (Run) من القائمة اليمنى، ثمّ انقر على علامة التبويب الوسيطات (Arguments).

    3. في قسم المَعلمات التي تم ضبطها عند الإطلاق (Arguments Passed On Launch)، أضِف -FIRDebugEnabled.

  2. فرض تعطُّل اختباري ويوضّح القسم الأول في هذه الصفحة كيفية إجراء ذلك.

  3. في السجلّات، ابحث عن رسالة مسجّلة من Crashlytics تحتوي على السلسلة التالية، والتي تؤكّد أنّ تطبيقك يرسل بيانات الأعطال إلى Firebase.

    Completed report submission

بعد مرور خمس دقائق، إذا لم يظهر لك هذا السجلّ أو عطل الاختبار في لوحة بيانات DevOps والتفاعل > Crashlytics في وحدة تحكّم Firebase، يُرجى التواصل مع فريق دعم Firebase وإرسال نسخة من مخرجات السجلّ حتى نتمكّن من مساعدتك في تحديد المشاكل وحلّها بشكل أكبر.

الخطوات التالية