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

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

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

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

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

تأكد من أن التكوين الخاص بك للبرنامج النصي لتشغيل 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 ينتج dSYMs

في أغلب الأحيان، تختفي ملفات dSYM لأن Xcode ببساطة لا يقوم بإنتاجها. عندما يفشل التحميل، يعرض Crashlytics تنبيه "مفقود dSYM" في وحدة تحكم Firebase. إذا تلقيت هذا التنبيه، فتأكد أولاً من أن Xcode ينتج dSYM الصحيح لكل إصدار:

  1. افتح مشروعك في Xcode، ثم حدد ملف المشروع في Xcode Navigator.

  2. حدد هدف البناء الرئيسي الخاص بك.

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

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

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

  6. إعادة بناء التطبيق الخاص بك.

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

حدد موقع dSYMs الخاص بك على جهاز محلي

قم بتشغيل الأمر التالي لعرض جميع UUIDs الخاصة بـ dSYM على جهازك والبحث عن 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، افتح نافذة Organizer ، ثم حدد تطبيقك من القائمة. يعرض Xcode قائمة بأرشيفات مشروعك.

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

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

قم بتحميل dSYMs الخاص بك

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

(مستحسن) معالجة dSYMs تلقائيًا وتحميل الملفات

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

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

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

  • الخيار 1 : استخدم خيار "السحب والإفلات" المستند إلى وحدة التحكم لتحميل ملف مضغوط يحتوي على ملفات 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 .