בדיקת ההטמעה של Crashlytics (פלטפורמות של אפל)

בחירת פלטפורמה: iOS+‎ Android Flutter Unity


המדריך הזה מיועד למי שפעל לפי המדריך לתחילת הדרך ועדיין לא רואה קריסות במרכז הבקרה של Crashlytics.

איך מאלצים קריסה כדי לבדוק את ההטמעה

  1. מוסיפים לאפליקציה קוד שמאפשר לאלץ קריסה לבדיקה.

    אתם יכולים להשתמש בקוד הבא כדי להוסיף לאפליקציה לחצן שגורם לקריסה כשלוחצים עליו. הכפתור מסומן בתווית "Test Crash".

    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. לוחצים על Build and then run the current scheme כדי ליצור את האפליקציה במכשיר בדיקה או בסימולטור.

    2. מחכים עד שהאפליקציה תפעל, ואז לוחצים על Stop running the scheme or action כדי לסגור את המכונה הראשונית של האפליקציה. המכונה הראשונית הזו כללה את מנקה הבאגים שמפריע ל-Crashlytics.

  3. כדי לשלוח את דוח הקריסה הראשון של האפליקציה, צריך לאלץ את קריסת הבדיקה:

    1. פותחים את האפליקציה ממסך הבית של מכשיר הבדיקה או הסימולטור.

    2. באפליקציה, לוחצים על הכפתור Test Crash שהוספתם באמצעות הקוד שלמעלה.

    3. אחרי שהאפליקציה קורסת, מפעילים אותה שוב מ-Xcode כדי שהיא תוכל לשלוח את דוח הקריסה ל-Firebase.

  4. במסוף Firebase, נכנסים לדף DevOps & Engagement (DevOps ומעורבות) > לוח הבקרה של 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 & Engagement > Crashlytics במסוף Firebase, פנו אל התמיכה של Firebase וצרפו עותק של פלט היומן כדי שנוכל לעזור לכם לפתור את הבעיה.

השלבים הבאים