| اختيار النظام الأساسي: | iOS+ Android Flutter Unity |
تعالج Firebase Crashlytics تلقائيًا ملفات رموز تصحيح الأخطاء (dSYM) لتقدّم لك تقارير أعطال يمكن قراءتها وإزالة تشويشها. يمكنك عادةً ضبط هذا السلوك أثناء عملية الإعداد الأوّلي Crashlytics في تطبيقك، وتحديدًا من خلال إضافة نص برمجي للتنفيذ يحمّل ملفات dSYM تلقائيًا أثناء مرحلة إنشاء تطبيقك.
هناك بعض الحالات التي قد تؤدي إلى تعذُّر تحميل ملفات dSYM تلقائيًا. يقدّم هذا الدليل بعض الطرق لتحديد المشاكل وحلّها عندما يتعذّر على Crashlytics العثور على ملفات dSYM الخاصة بتطبيقك.
التأكّد من أنّ Xcode يمكنه معالجة ملفات dSYM وتحميلها تلقائيًا
عند إعداد Crashlytics في تطبيقك، ضبطت نص برمجي لتشغيل من أجل معالجة ملفات dSYM وتحميلها تلقائيًا.
تأكَّد من أنّ إعدادات Crashlytics run script متوافقة مع المتطلبات الجديدة التي تم تطبيقها مع الإصدار 15 من Xcode. إذا لم تكن إعداداتك محدّثة، قد يظهر لك الخطأ التالي:
error: Info.plist Error Unable to process Info.plist at path ....
على وجه التحديد، يتطلّب الإصدار 15 من Xcode والإصدارات الأحدث توفير مجموعة أكثر اكتمالاً من مواقع الملفات. بالنسبة إلى النص البرمجي Crashlytics الذي تشغّله
(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)
ENABLE_USER_SCRIPT_SANDBOXING=YESوENABLE_DEBUG_DYLIB=YESفي إعدادات إصدار مشروعك، فأدرِج ما يلي:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
التحقّق ممّا إذا كان Xcode ينتج ملفات dSYM
في معظم الأحيان، لا تتوفّر ملفات dSYM لأنّ Xcode لا ينتجها. عندما يتعذّر تحميل ملف، تعرض Crashlytics تنبيهًا "ملف dSYM غير متوفّر" في وحدة تحكّم Firebase. إذا تلقّيت هذا التنبيه، عليك أولاً التأكّد من أنّ Xcode ينتج ملف dSYM الصحيح لكل إصدار:
افتح مشروعك في Xcode، ثم اختَر ملف المشروع في Xcode Navigator.
اختَر هدف الإنشاء الرئيسي.
افتح علامة التبويب إعدادات الإنشاء الخاصة بالهدف، ثم انقر على الكل.
ابحث عن "
debug information format".اضبط تنسيق معلومات تصحيح الأخطاء على ملف DWARF مع ملف dSYM لجميع أنواع الإصدارات.
أعِد إنشاء تطبيقك.
من المفترض أن تظهر تقارير الأعطال الآن في لوحة بيانات Crashlytics. إذا استمرت المشكلة أو واجهت أخطاء أخرى، حاوِل تحديد موقع ملفات dSYM وتحميلها إلى Crashlytics يدويًا.
تحديد موقع ملفات dSYM على جهاز محلي
نفِّذ الأمر التالي لعرض جميع أرقام التعريف الفريدة العالمية (UUID) لملفات dSYM على جهازك والبحث عن ملف dSYM المفقود:
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done
بعد العثور على ملف dSYM، حمِّله يدويًا إلى Crashlytics.
إذا لم يعرض الأمر mdfind أي نتائج، يمكنك البحث في الدليل Products الذي يتضمّن .app (يقع الدليل Products تلقائيًا في Derived Data). إذا تم إصدار تطبيقك، يمكنك أيضًا البحث عن ملف dSYM الخاص به في الدليل .xcarchive على القرص:
في Xcode، افتح نافذة المنظّم (Organizer)، ثم اختَر تطبيقك من القائمة. يعرض Xcode قائمة بأرشيفات مشروعك.
انقر مع الضغط على مفتاح Control على أرشيف لعرضه في Finder. انقر مع الضغط على مفتاح Control مرة أخرى، ثم انقر على عرض محتويات الحزمة.
ضمن
.xcarchive، هناك دليل dSYMs يحتوي على ملفات dSYMs تم إنشاؤها كجزء من عملية الأرشفة في Xcode.
تحميل ملفات dSYM
تتيح Crashlytics عدة طرق لتحميل ملفات dSYM، إما تلقائيًا أو يدويًا.
(يُنصح به) معالجة ملفات dSYM وتحميلها تلقائيًا
عند إعداد Crashlytics في البداية، من المحتمل أنّك ضبطت هذا السلوك الخاص بالتحميل التلقائي لتطبيقك. ومع ذلك، إذا تعذّر إجراء عمليات التحميل التلقائي، تأكَّد من أنّ إعداداتك صحيحة.
تحميل ملفات dSYM يدويًا
إذا تعذّر إجراء عمليات التحميل التلقائي، يمكنك تحميل ملفات dSYM يدويًا باستخدام أحد الخيارَين التاليَين.
الخيار 1: استخدِم واجهة "السحب والإفلات" في وحدة تحكّم Firebase لتحميل ملف zip يحتوي على ملفات dSYM (انتقِل إلى DevOps & Engagement > لوحة بيانات Crashlytics > علامة التبويب ملفات dSYM).
الخيار 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.