| בחירת פלטפורמה: | iOS+ Android Android NDK Flutter Unity |
במדריך הזה מוסבר איך להתחיל להשתמש ב-Firebase Crashlytics באפליקציה לפלטפורמות של אפל (לדוגמה, אפליקציה ל-iOS).
אחרי שמגדירים את ה-SDK של Firebase Crashlytics באפליקציה, אפשר לקבל דוחות קריסה מקיפים במסוף Firebase. עם Crashlytics לפלטפורמות של אפל, אתם מקבלים דוחות על קריסות ושגיאות לא קריטיות.
הנחיית AI לעזרה מבוססת-AI
כדי לקבל עזרה מ-AI, מעתיקים את ההנחיה שבהמשך לסוכן התכנות מבוסס ה-AI (כמו Antigravity, Claude Code, Codex ו-Cursor). אתם יכולים להתאים אישית את ההנחיה ולשפר את הסוכן. מידע מפורט על ההתקנה זמין במאמר סקילים אג'נטיים ב-Firebase.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.
לפני שמתחילים
כדי להגדיר את Crashlytics, צריך לבצע משימות גם במסוף Firebase וגם ב-IDE (כמו הוספת קובץ תצורה של Firebase ו-SDK של Crashlytics). כדי לסיים את ההגדרה, צריך לאלץ קריסת בדיקה כדי לשלוח את דוח הקריסה הראשון ל-Firebase.
אם עדיין לא הוספתם את Firebase לפרויקט Apple, אתם צריכים להוסיף אותו. אם אין לכם אפליקציה ל-Apple, אתם יכולים להוריד אפליקציה לדוגמה.
מומלץ: כדי לקבל באופן אוטומטי יומני פעולות משתמש שיעזרו לכם להבין את הפעולות של המשתמשים שהובילו לקריסה או לאירוע לא קריטי, צריך להפעיל את Google Analytics בפרויקט Firebase.
אם אתם יוצרים פרויקט חדש ב-Firebase, זכרו להפעיל את Google Analytics לפני שתסיימו ליצור את הפרויקט.
אם אתם משתמשים בפרויקט קיים ב-Firebase שלא הפעלתם בו את Google Analytics, אתם יכולים להפעיל אותו בדף
הגדרות > שילובים במסוף Firebase.
שימו לב שיומני פעולות המשתמש זמינים בכל הפלטפורמות של אפל שנתמכות על ידי Crashlytics, חוץ מ-watchOS.
שלב 1: מוסיפים את ה-SDK של Crashlytics לאפליקציה
משתמשים ב-Swift Package Manager כדי להתקין ולנהל את יחסי התלות של Firebase.
- ב-Xcode, כשהפרויקט של האפליקציה פתוח, עוברים אל File > Add Packages (קובץ > הוספת חבילות).
- כשמוצגת בקשה, מוסיפים את מאגר ה-SDK של Firebase לפלטפורמות של אפל:
- בוחרים את הספרייה Crashlytics.
- כדי להשתמש ביומני פעולות משתמש, צריך להוסיף לאפליקציה גם את Firebase SDK for Google Analytics. חשוב לוודא שGoogle Analytics מופעל בפרויקט Firebase.
- מוסיפים את הדגל
-ObjCלקטע Other Linker Flags (דגלים אחרים של מקשרים) בהגדרות ה-build של היעד. - (macOS בלבד) בקובץ
Info.plist, מוסיפים את המפתחNSApplicationCrashOnExceptionsומגדירים אותו כ-YES. - אחרי שתסיימו, פלטפורמת Xcode תתחיל לטפל ביחסי התלות ולהוריד אותם באופן אוטומטי ברקע.
https://github.com/firebase/firebase-ios-sdk.git
בשלב הבא, מגדירים את מודול Firebase:
מייבאים את המודול של Firebase ב-struct של
Appאו ב-UIApplicationDelegate:Swift
import Firebase
Objective-C
@import Firebase;
מגדירים מופע משותף של
FirebaseApp, בדרך כלל ב-methodapplication(_:didFinishLaunchingWithOptions:)של ה-delegate של האפליקציה:Swift
// Use the Firebase library to configure APIs. FirebaseApp.configure()
Objective-C
// Use the Firebase library to configure APIs. [FIRApp configure];
שלב 2: מגדירים את Xcode כך שיעלה קובצי dSYM באופן אוטומטי
כדי ליצור דוחות קריסה קריאים לאנשים, Crashlytics צריך את קובצי סמלי ניפוי הבאגים (dSYM) של הפרויקט. בשלבים הבאים מוסבר איך להגדיר את Xcode כך שיפיק באופן אוטומטי את קובצי ה-dSYM, יעבד אותם ויעלה את הקבצים בכל פעם שאתם יוצרים את האפליקציה.
פותחים את סביבת העבודה של הפרויקט ב-Xcode ובוחרים את קובץ הפרויקט בסרגל הניווט שמימין.
ברשימה TARGETS, בוחרים את יעד ה-build הראשי.
לוחצים על הכרטיסייה Build Settings (הגדרות גרסאות build) ומשלימים את השלבים הבאים כדי ש-Xcode ייצור קובצי dSYM לגרסאות ה-build.
לוחצים על הכול ומחפשים את
debug information format.מגדירים את Debug Information Format ל-
DWARF with dSYM Fileלכל סוגי ה-build.
לוחצים על הכרטיסייה Build Phases (שלבי פיתוח) ומבצעים את השלבים הבאים כדי ש-Xcode יוכל לעבד את קובצי ה-dSYM ולהעלות אותם.
לוחצים על > New Run Script Phase.
חשוב לוודא שהשלב החדש של Run Script הוא שלב ה-build האחרון של הפרויקט, אחרת Crashlytics לא יוכל לעבד קובצי dSYM כמו שצריך.
מרחיבים את הקטע החדש Run Script.
בשדה הסקריפט (שנמצא מתחת לתווית Shell), מוסיפים את הסקריפט הבא להרצה.
הסקריפט הזה מעבד את קובצי ה-dSYM של הפרויקט ומעלה אותם אל Crashlytics.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"בקטע Input Files, מוסיפים את הנתיבים למיקומים של הקבצים הבאים:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
אם בהגדרות ה-build של הפרויקט יש את$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESו-ENABLE_DEBUG_DYLIB=YES, צריך לכלול את הקוד הבא:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
מידע מפורט יותר על קובצי dSYM ועל Crashlytics (כולל איך להעלות קובצי dSYM באופן ידני) זמין במאמר קבלת דוחות קריסה שעברו ביטול ערפול קוד.
שלב 3: אילוץ קריסה לבדיקה כדי לסיים את ההגדרה
כדי לסיים את ההגדרה של Crashlytics ולראות נתונים ראשוניים במרכז הבקרה של Crashlytics במסוף Firebase, צריך לאלץ קריסה לבדיקה.
מוסיפים לאפליקציה קוד שמאפשר לאלץ קריסה לבדיקה.
אתם יכולים להשתמש בקוד הבא כדי להוסיף לאפליקציה לחצן שגורם לקריסה כשלוחצים עליו. הכפתור מסומן בתווית "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
מפתחים ומפעילים את האפליקציה ב-Xcode כשמנתח הבאגים של Xcode מנותק.
לוחצים על Build and then run the current scheme כדי ליצור את האפליקציה במכשיר בדיקה או בסימולטור.
מחכים עד שהאפליקציה תפעל, ואז לוחצים על Stop running the scheme or action כדי לסגור את המכונה הראשונית של האפליקציה. המכונה הראשונית הזו כללה את מנקה הבאגים שמפריע ל-Crashlytics.
כדי לשלוח את דוח הקריסה הראשון של האפליקציה, צריך לאלץ את קריסת הבדיקה:
פותחים את האפליקציה ממסך הבית של מכשיר הבדיקה או הסימולטור.
באפליקציה, לוחצים על הכפתור Test Crash שהוספתם באמצעות הקוד שלמעלה.
אחרי שהאפליקציה קורסת, מפעילים אותה שוב מ-Xcode כדי שהיא תוכל לשלוח את דוח הקריסה ל-Firebase.
במסוף Firebase, נכנסים לדף DevOps & Engagement (DevOps ומעורבות) > לוח הבקרה של Crashlytics כדי לבדוק את דוח הקריסה לבדיקה.
אם רעננתם את המסוף ואתם עדיין לא רואים את הקריסה לבדיקה אחרי חמש דקות, הפעילו את יומן ניפוי הבאגים כדי לבדוק אם האפליקציה שולחת דוחות קריסה.
זה הכול! עכשיו Crashlytics עוקב אחרי קריסות באפליקציה שלך. בלוח הבקרה של Crashlytics אפשר לראות את כל הדוחות והנתונים הסטטיסטיים ולחקור אותם.
השלבים הבאים
התאמה אישית של הגדרת דוח הקריסות על ידי הוספת דיווח בהסכמה, יומנים, מפתחות ומעקב אחר שגיאות לא קריטיות.
ייצוא הנתונים אל BigQuery או אל Cloud Logging לניתוח מתקדם ושימוש בתכונות כמו שאילתות על הנתונים, יצירת מרכזי בקרה בהתאמה אישית והגדרת התראות בהתאמה אישית.