| اختيار المنصة: | iOS+ Android Flutter Unity |
تعالج منصة 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 والإصدارات الأحدث تحديدًا توفير مجموعة أكثر اكتمالاً من مواقع الملفات. بالنسبة إلى النص البرمجي الذي يتم تشغيله في Crashlyticsrun script
(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 Console. إذا ظهر هذا التنبيه، تأكّد أولاً من أنّ Xcode يُنشئ ملف dSYM الصحيح لكل عملية إنشاء:
افتح مشروعك في Xcode، ثم انقر على ملف المشروع في Xcode Navigator.
انقر على هدف الإنشاء الرئيسي.
افتح علامة التبويب إعدادات الإنشاء للهدف، ثم انقر على الكل.
ابحث عن
debug information format.اضبط تنسيق معلومات تصحيح الأخطاء على DWARF with dSYM File لجميع أنواع الإنشاء.
أعِد إنشاء تطبيقك.
من المفترض أن تظهر تقارير الأعطال الآن في Crashlytics لوحة البيانات. إذا استمرت المشكلة أو ظهرت أخطاء أخرى، حاوِل تحديد موقع ملفات dSYM وتحميلها إلى Crashlytics يدويًا.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، افتح نافذة المنظِّم ، ثم انقر على تطبيقك من القائمة. يعرض Xcode قائمة بالأرشيفات الخاصة بمشروعك.
انقر مع الضغط على مفتاح Control على أحد الأرشيفات لعرضه في Finder. انقر عليه مرة أخرى مع الضغط على مفتاح Control، ثم انقر على عرض محتوى الحزمة.
ضمن
.xcarchive، هناك دليل dSYMs يحتوي على ملفات dSYM التي تم إنشاؤها كجزء من عملية أرشفة Xcode.
تحميل ملفات dSYM
Crashlytics تتيح طرقًا متعددة لتحميل ملفات dSYM، إما تلقائيًا أو يدويًا.
(ننصح به) معالجة ملفات dSYM وتحميلها تلقائيًا
عند إعداد Crashlytics لأول مرة، من المرجّح أن يكون هذا السلوك التلقائي للتحميل قد تم ضبطه لتطبيقك. ومع ذلك، إذا تعذّرت عمليات التحميل التلقائي، تأكّد من أنّ الإعدادات صحيحة.
تحميل ملفات dSYM يدويًا
إذا تعذّرت عمليات التحميل التلقائي، يمكنك تحميل ملفات dSYM يدويًا باستخدام أي من الخيارَين التاليَين.
الخيار 1: استخدِم واجهة "السحب والإفلات" في Firebase Console لتحميل ملف مضغوط يحتوي على ملفات dSYM (انتقِل إلى لوحة بيانات DevOps & Engagement > 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.