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. सभी के लिए, डीबग जानकारी फ़ॉर्मैट को dSYM फ़ाइल के साथ DWARF पर सेट करें बिल्ड टाइप शामिल हैं.

  6. अपना ऐप्लिकेशन फिर से बनाएं.

आपकी क्रैश रिपोर्ट अब Crashlytics का डैशबोर्ड. अगर समस्या बनी रहती है या आपको दूसरी गड़बड़ियां होती हैं, तो अपने dSYM का पता लगाएं और उन्हें मैन्युअल तरीके से Crashlytics पर अपलोड किया जाना.

किसी स्थानीय मशीन पर अपने dSYMs का पता लगाएं

अपने सभी 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 में, व्यवस्थित विंडो खोलें. इसके बाद, सूची. Xcode आपके प्रोजेक्ट के संग्रहों की सूची दिखाता है.

  2. किसी संग्रह को Finder में देखने के लिए, उस पर कंट्रोल-क्लिक करें. उस पर दोबारा क्लिक करें और इसके बाद, पैकेज का कॉन्टेंट दिखाएं पर क्लिक करें.

  3. .xcarchive में एक dSYMs डायरेक्ट्री है, जिसमें इस फ़ॉर्मैट में जनरेट किए गए dSYM शामिल हैं का हिस्सा है.

अपने dSYM अपलोड करें

Crashlytics, आपकी dSYM फ़ाइलों को अपलोड करने के कई तरीकों का इस्तेमाल करता है. अपने-आप या मैन्युअल तरीके से.

(सुझाया गया) अपने dSYM को अपने-आप प्रोसेस करें और फ़ाइलें अपलोड करें

शुरुआत में, Crashlytics को सेट अप करने पर, शायद आपने इसे कॉन्फ़िगर किया हो आपके ऐप्लिकेशन का अपने-आप अपलोड होने का तरीका. हालांकि, अगर अपने-आप अपलोड होने वाले ऐसा नहीं होने पर, देखें कि आपका कॉन्फ़िगरेशन सही है या नहीं.

अपनी dSYM फ़ाइलों को मैन्युअल तरीके से अपलोड करें

अगर अपने-आप अपलोड होने की सुविधा काम नहीं कर रही है, तो इसका इस्तेमाल करके अपनी dSYM फ़ाइलों को मैन्युअल तरीके से अपलोड किया जा सकता है इनमें से कोई विकल्प चुनें.

  • पहला विकल्प: कंसोल पर आधारित, "खींचें और छोड़ें" सुविधा का इस्तेमाल करें ज़िप अपलोड करने का विकल्प वह फ़ाइल जिसमें आपकी dSYM फ़ाइलें हैं (यहां जाएं Firebase कंसोल > Crashlytics > dSYMs टैब).

  • दूसरा विकल्प: upload-symbols स्क्रिप्ट का इस्तेमाल करें. इससे कॉल किया जा सकता है बिल्ड प्रोसेस में कहीं भी शामिल किया जा सकता है. दौड़ने के लिए upload-symbols स्क्रिप्ट, इनमें से किसी एक विकल्प का इस्तेमाल करें:

    • विकल्प A: बिल्ड प्रोसेस में नीचे दी गई लाइन शामिल करें:

      find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
    • विकल्प B: स्क्रिप्ट को सीधे अपने टर्मिनल से चलाएं:

      /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs

    इस्तेमाल के नोट और इस स्क्रिप्ट के बारे में अतिरिक्त निर्देश पाने के लिए, इसे चलाएं --help पैरामीटर के साथ upload-symbols.