الحصول على تقارير أعطال قابلة للقراءة في لوحة بيانات Crashlytics


يعالج Firebase Crashlytics تلقائيًا ملفات رموز تصحيح الأخطاء (dSYM) لمنحك تقارير أعطال تم إزالة تشويشها ويمكن لشخص عادي قراءتها. إِنْتَ يتم عادةً ضبط هذا السلوك أثناء الإعداد الأولي لـ Crashlytics في لتطبيقك، خاصةً من خلال إضافة نص برمجي للتشغيل الذي يحمِّل ملفات dSYM تلقائيًا أثناء مرحلة إنشاء تطبيقك.

للأسف، هناك بعض الحالات التي قد تتسبب في ملفات dSYM التلقائية. تعذُّر التحميل. يوفّر هذا الدليل بعض الطرق لتحديد المشاكل وحلّها عندما يتعذّر على IDE Crashlytics تحديد موقع ملفات dSYM لتطبيقك.

تأكَّد من أنّ Xcode يمكنه معالجة ملفات dSYM تلقائيًا وتحميل الملفات.

عند إعداد Crashlytics في تطبيقك، ضبطت نصًا برمجيًا للتشغيل لمعالجة ملفات dSYM تلقائيًا وتحميل الملفات.

تأكَّد من أنّ إعدادات نص تشغيل Crashlytics محدَّثة وفقًا للمتطلبات الجديدة التي بدأت مع Xcode 15. إذا كان هذه الإعدادات غير محدَّثة، وقد يظهر لك الخطأ التالي:
error: Info.plist Error Unable to process Info.plist at path ...

على وجه التحديد، يتطلب Xcode 15 والإصدارات الأحدث توفير مجموعة أكثر اكتمالاً من مواقع الملفات. بالنسبة إلى نص التشغيل Crashlytics (firebase-ios-sdk/Crashlytics/run)، تأكَّد من أنّ لديك الإعداد التالي :

  1. انقر على علامة التبويب مراحل الإنشاء، ثم وسِّع قسم تشغيل النص البرمجي.

  2. في قسم ملفات الإدخال، تأكَّد من توفّر المسارات للمواقع الجغرافية للملفات التالية:

    ${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)

التحقّق مما إذا كان Xcode يُنشئ ملفات dSYM

غالبًا ما لا تتوفّر ملفات dSYM لأنّ Xcode لا ينشئها. عند تعذُّر عملية التحميل، يعرض Crashlytics تنبيه "عدم توفّر dSYM" فيconsole Firebase. إذا تلقيت هذا التنبيه، تأكَّد أولاً من أنّ Xcode إنتاج DSYM الصحيح لكل إصدار:

  1. افتح مشروعك في Xcode، ثم اختَر ملف المشروع في "مستكشف" Xcode.

  2. اختَر هدف الإصدار الرئيسي.

  3. افتح علامة التبويب إعدادات الإنشاء للهدف، ثم انقر على الكل.

  4. البحث عن debug information format

  5. ضبط تنسيق معلومات تصحيح الأخطاء على DWARF باستخدام ملف dSYM للجميع أنواع تصاميم إعلاناتك.

  6. أعِد إنشاء تطبيقك.

من المفترض أن تظهر تقارير الأعطال الآن في ملف شخصي في لوحة بيانات Crashlytics. إذا استمرت المشكلة أو أخطاء أخرى، جرِّب تحديد موقع dSYM. جارٍ تحميلها إلى Crashlytics يدويًا.

تحديد موقع أجهزة dSYM على جهاز محلي

شغِّل الأمر التالي لعرض جميع dSYMs أرقام التعريف الفريدة العالمية على جهازك ابحث عن dSYM المفقود:

mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done

بعد العثور على dSYM، حمِّله يدويًا على Crashlytics. إذا لم يعرض الأمر mdfind أي نتائج، يمكنك البحث في ملف Products الذي يتضمّن .app (يقع ملف Products تلقائيًا في Derived Data). إذا تم طرح تطبيقك للإصدار العلني، يمكنك أيضًا البحث عن dSYM في ملف .xcarchive على القرص:

  1. في Xcode، افتح نافذة المُنظِّم، ثم اختَر تطبيقك من القائمة. يعرض Xcode قائمة بأرشيفات مشروعك.

  2. انقر بالماوس مع الضغط على أرشيف لعرضه في Finder (الباحث). اضغط بالماوس مع الضغط على مفتاح Control مرة أخرى، ثم انقر على إظهار محتويات الحزمة.

  3. ضمن .xcarchive، يتوفّر دليل dSYMs يحتوي على ملفات dSYMs التي تم إنشاؤها كجزء من عملية أرشفة Xcode.

تحميل ملفات dSYM

تتيح أداة Crashlytics طرقًا متعدّدة لتحميل ملفات dSYMs، إما تلقائيًا أو يدويًا.

(إجراء يُنصح به) معالجة ملفات dSYM تلقائيًا وتحميل الملفات

عند إعداد Crashlytics في البداية، من المرجّح أنّك ضبطت هذا الإعداد. سلوك التحميل التلقائي لتطبيقك. ومع ذلك، إذا كانت التحميلات التلقائية لم تنجح، تحقَّق من صحة الإعدادات.

تحميل ملفات dSYM يدويًا

إذا تعذّرت عمليات التحميل التلقائية، يمكنك تحميل ملفات dSYM يدويًا باستخدام أحد الخيارَين التاليَين:

  • الخيار 1: استخدِم خيار "السحب والإفلات" المستنِد إلى وحدة التحكّم لتحميل ملف zip يحتوي على ملفات dSYM (انتقِل إلى علامة تبويب Firebase وحدة التحكّم > Crashlytics > dSYMs).

  • الخيار 2: استخدِم النص البرمجي "upload-symbols" الذي يمكنك الاتصال به. لتحميل ملفات dSYM يدويًا في أي مكان من عملية التصميم. لتنفيذ النص البرمجي 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

    للحصول على ملاحظات حول الاستخدام وتعليمات إضافية حول هذا النص البرمجي، يمكنك تشغيل upload-symbols باستخدام المَعلمة --help.