קבל דוחות קריאות קריא בלוח המחוונים של Crashlytics

כברירת מחדל, Firebase Crashlytics מעבד אוטומטית את קובצי סמל ניפוי הבאגים שלך (dSYM) כדי לתת לך דוחות קריסה מעורפלים וניתנים לקריאה על ידי אדם. התנהגות זו נקבעת כאשר אתה מוסיף סקריפט הפעלה המאתחל את Crashlytics לשלב הבנייה של האפליקציה שלך.

למרבה הצער, ישנם כמה מקרים שעלולים לגרום לכשל בהעלאת dSYM, כגון קוד סיביות באפליקציה שלך או תצורות פרויקט ייחודיות אחרות. מדריך זה מספק כמה דרכים לפתרון בעיות כאשר Crashlytics לא מצליח לאתר את ה-dSYM של האפליקציה שלך.

בדוק אם Xcode מייצר dSYMs

לעתים קרובות יותר מאשר לא, קבצי dSYM נעלמים מכיוון ש-Xcode פשוט לא מייצר אותם. כאשר העלאה נכשלת, Crashlytics מציגה התראה "חסר dSYM" במסוף Firebase. אם אתה מקבל את ההתראה הזו, תחילה בדוק ש-Xcode מייצר את ה-dSYM הנכון עבור כל בנייה:

  1. פתח את הפרויקט שלך ב-Xcode ובחר את קובץ הפרויקט ב-Xcode Navigator.

  2. בחר את יעד הבנייה הראשי שלך.

  3. פתח את הכרטיסייה הגדרות בנייה של היעד ולאחר מכן לחץ על הכל .

  4. חפש "פורמט מידע באגים".

  5. הגדר את פורמט מידע ניפוי באגים ל- DWARF עם קובץ dSYM עבור כל סוגי הבנייה שלך.

  6. בנה מחדש את האפליקציה שלך.

דוחות הקריסה שלך אמורים להופיע כעת במסוף Firebase. אם הבעיה נמשכת או שאתה נתקל בשגיאות אחרות, נסה לאתר את ה-dSYM שלך ולהעלות אותו ל-Crashlytics באופן ידני.

אתר את ה-dSYMs שלך

לפעמים Crashlytics לא מצליחה לאתר את ה-dSYM של האפליקציה שלך עקב תצורות קוד סיביות או הקישוריות של המסוף. כאשר זה קורה, ישנן שתי דרכים נוספות לפתרון בעיות:

העלה את ה-dSYMs שלך

כדי להעלות ידנית את ה-dSYMs שלך, אתה יכול להשתמש באפשרות "גרור ושחרר" המבוססת על המסוף כדי להעלות ארכיון zip המכיל את קובצי ה-dSYM שלך (עבור למסוף Firebase > Crashlytics > הכרטיסייה dSYMs ).

לחלופין, כגיבוי, Crashlytics כולל סקריפט upload-symbols שאליו אתה יכול להתקשר מכל מקום בתהליך הבנייה שלך כדי להעלות ידנית את קבצי ה-dSYM שלך. הסקריפט מספק מידע נוסף על תהליך ההעלאה והודעות שגיאה מקיפות יותר (להערות שימוש והוראות נוספות, הפעל upload-symbols ללא כל פרמטר).

בעת העלאת קוד bitcode dSYM, זה עשוי להיות מועיל להסיר כל קבצי אייקון בארכיון zip על ידי הפעלת:

unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)

כדי להפעיל את סקריפט upload-symbols , השתמש באחת מהאפשרויות הבאות:

  • כלול את השורה הבאה בתהליך הבנייה שלך:

    find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
  • הפעל את הסקריפט ישירות מהמסוף שלך:

    /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs