התחלה מהירה זו מתארת כיצד להגדיר את Firebase Crashlytics באפליקציה שלך עם Firebase Crashlytics SDK כדי שתוכל לקבל דוחות קריסה מקיפים במסוף Firebase.
הגדרת Crashlytics דורשת משימות הן במסוף Firebase והן ב-IDE שלך (כמו הוספת קובץ תצורה של Firebase ו-Crashlytics SDK). כדי לסיים את ההגדרה, תצטרך לאלץ קריסת בדיקה כדי לשלוח את דוח הקריסה הראשון שלך ל-Firebase.
לפני שאתה מתחיל
אם עדיין לא עשית זאת, הוסף את Firebase לפרויקט Apple שלך. אם אין לך אפליקציה של אפל, תוכל להוריד אפליקציה לדוגמה .
מומלץ : כדי לקבל תכונות כמו משתמשים ללא קריסות, יומני פירורי לחם והתראות מהירות, עליך להפעיל את Google Analytics בפרויקט Firebase שלך.
כל הפלטפורמות של אפל הנתמכות על ידי Crashlytics (למעט watchOS) יכולות לנצל את התכונות הללו מ-Google Analytics. שים לב שאתה צריך SDK v8.9.0+ עבור אפליקציות macOS ו-tvOS.
אם בפרויקט Firebase הקיים שלך לא מופעל Google Analytics, תוכל להפעיל את Google Analytics מהכרטיסייה אינטגרציות של
אם אתה יוצר פרויקט Firebase חדש, הפעל את Google Analytics במהלך תהליך העבודה של יצירת הפרויקט.
שלב 1 : הוסף את ה-SDK של Crashlytics לאפליקציה שלך
השתמש ב- Swift Package Manager כדי להתקין ולנהל תלות ב-Firebase.
- ב-Xcode, כשפרויקט האפליקציה שלך פתוח, נווט אל קובץ > הוסף חבילות .
- כשתתבקש, הוסף את מאגר Firebase Apple platforms SDK:
- בחר את ספריית Crashlytics.
- הוסף את הדגל
-ObjC
לקטע Other Linker Flags של הגדרות הבנייה של היעד שלך. - לחוויה מיטבית עם Crashlytics, אנו ממליצים להפעיל את Google Analytics בפרויקט Firebase שלך ולהוסיף את Firebase SDK עבור Google Analytics לאפליקציה שלך. אתה יכול לבחור בספרייה ללא אוסף IDFA או עם אוסף IDFA.
- בסיום, Xcode יתחיל באופן אוטומטי לפתור ולהוריד את התלות שלך ברקע.
https://github.com/firebase/firebase-ios-sdk.git
לאחר מכן, הגדר את מודול Firebase:
ייבא את מודול Firebase במבנה
App
שלך אוUIApplicationDelegate
:מָהִיר
import Firebase
Objective-C
@import Firebase;
הגדר מופע משותף
FirebaseApp
, בדרך כלל בשיטתapplication(_:didFinishLaunchingWithOptions:)
של נציג האפליקציה שלך:מָהִיר
// 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 לייצר אוטומטית את ה-dSYMs שלך, לעבד אותם ולהעלות את הקבצים בכל פעם שאתה בונה את האפליקציה שלך.
פתח את סביבת העבודה Xcode של הפרויקט שלך, ולאחר מכן בחר את קובץ הפרויקט שלו בנווט השמאלי.
מרשימת היעדים , בחר את יעד הבנייה הראשי שלך.
לחץ על הכרטיסייה Build Settings , ולאחר מכן השלם את השלבים הבאים כדי ש-Xcode יפיק dSYMs עבור ה-builds שלך.
לחץ על הכל ולאחר מכן חפש
debug information format
.הגדר את פורמט מידע ניפוי באגים ל-
DWARF with dSYM File
עבור כל סוגי הבנייה שלך.
לחץ על הכרטיסייה Build Phases , ולאחר מכן השלם את השלבים הבאים כדי ש-Xcode יוכל לעבד את ה-dSYMs שלך ולהעלות את הקבצים.
לחץ על
> שלב הפעלת סקריפט חדש .ודא ששלב ההפעלה החדש הזה הוא שלב הבנייה האחרון של הפרויקט שלך; אחרת, Crashlytics לא יכולה לעבד כראוי dSYMs.
הרחב את הקטע החדש של הפעלת סקריפט .
בשדה הסקריפט (הממוקם תחת התווית Shell ), הוסף את סקריפט ההרצה הבא.
סקריפט זה מעבד את קבצי dSYM של הפרויקט שלך ומעלה את הקבצים ל-Crashlytics.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
במקטע קבצי קלט , הוסף את הנתיבים עבור המיקומים של הקבצים הבאים:
${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
$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
למידע מפורט יותר על קבצי dSYM ו-Crashlytics (כולל כיצד להעלות קבצי dSYM באופן ידני), בקר בקבל דוחות קריסה מעורפלים .
שלב 3 : כפה קריסת בדיקה כדי לסיים את ההגדרה
כדי לסיים את הגדרת Crashlytics ולראות נתונים ראשוניים בלוח המחוונים של Crashlytics של קונסולת Firebase, עליך לאלץ קריסת מבחן.
הוסף קוד לאפליקציה שלך שבו תוכל להשתמש כדי לאלץ קריסת מבחן.
אתה יכול להשתמש בקוד הבא כדי להוסיף לחצן לאפליקציה שלך, שכאשר לוחצים עליו, גורם לקריסה. הכפתור מסומן "קריסת בדיקה".
SwiftUI
Button("Crash") { fatalError("Crash was triggered") }
UIKit
מָהִיר
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 ולאחר מכן הפעל את הסכימה הנוכחית כדי לבנות את האפליקציה שלך במכשיר בדיקה או סימולטור.המתן עד שהאפליקציה שלך תפעל, ואז לחץ על
הפסק להפעיל את הסכימה או הפעולה כדי לסגור את המופע הראשוני של האפליקציה שלך. המקרה הראשוני הזה כלל את מאתר הבאגים שמפריע ל-Crashlytics.
כפה את קריסת הבדיקה כדי לשלוח את דוח הקריסה הראשון של האפליקציה שלך:
פתח את האפליקציה שלך ממסך הבית של מכשיר הבדיקה או הסימולטור שלך.
באפליקציה שלך, לחץ על כפתור "Test Crash" שהוספת באמצעות הקוד שלמעלה.
לאחר שהאפליקציה שלך קורסת, הפעל אותה שוב מ-Xcode כדי שהאפליקציה שלך תוכל לשלוח את דוח הקריסה ל-Firebase.
עבור אל לוח המחוונים של Crashlytics של מסוף Firebase כדי לראות את קריסת המבחן שלך.
אם רענן את המסוף ואתה עדיין לא רואה את קריסת הבדיקה לאחר חמש דקות, הפעל רישום באגים כדי לראות אם האפליקציה שלך שולחת דוחות קריסה.
וזה הכל! Crashlytics עוקב כעת אחר האפליקציה שלך לאיתור קריסות. בקר במרכז השליטה של Crashlytics כדי להציג ולחקור את כל הדוחות והסטטיסטיקות שלך.
הצעדים הבאים
- התאם אישית את הגדרת דוחות הקריסה שלך על ידי הוספת דיווחי הסכמה, יומנים, מפתחות ומעקב אחר שגיאות לא קטלניות.