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

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

للأسف، هناك بعض الحالات التي قد تتسبب في ملفات dSYM التلقائية. تعذُّر التحميل. يوفر هذا الدليل بعض الطرق لتحري الخلل وإصلاحه عندما لا يمكن لتطبيق 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 مفقود". تنبيه خلال وحدة تحكم 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، افتح نافذة structuredr، ثم اختَر تطبيقك من الحالية. يعرض Xcode قائمة بأرشيفات مشروعك.

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

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

تحميل ملفات dSYM

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

(مقترَح) معالجة 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.