Apple प्लैटफ़ॉर्म पर Crashlytics को लागू करने की जांच करना

प्लैटफ़ॉर्म चुनें: iOS+ Android Flutter Unity


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

लागू किए गए बदलावों की जांच करने के लिए, ऐप्लिकेशन को क्रैश करें

  1. अपने ऐप्लिकेशन में ऐसा कोड जोड़ें जिसका इस्तेमाल करके, टेस्ट क्रैश को फ़ोर्स किया जा सके.

    अपने ऐप्लिकेशन में ऐसा बटन जोड़ने के लिए, यहां दिया गया कोड इस्तेमाल करें जिसे दबाने पर ऐप्लिकेशन क्रैश हो जाए. बटन को "टेस्ट क्रैश" के तौर पर लेबल किया गया है.

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }

    UIKit

    Swift

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }

    Objective-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
  2. Xcode में अपने ऐप्लिकेशन को बनाएं और चलाएं. हालांकि, Xcode डीबगर को डिसकनेक्ट कर दें.

    1. टेस्ट डिवाइस या सिम्युलेटर पर अपना ऐप्लिकेशन बनाने के लिए, बनाएं और फिर मौजूदा स्कीम चलाएं पर क्लिक करें.

    2. जब तक आपका ऐप्लिकेशन चालू न हो जाए, तब तक इंतज़ार करें. इसके बाद, अपने ऐप्लिकेशन के शुरुआती इंस्टेंस को बंद करने के लिए, स्कीम या कार्रवाई को बंद करें पर क्लिक करें. इस शुरुआती इंस्टेंस में डीबगर शामिल था, जो Crashlytics में रुकावट डालता है.

  3. अपने ऐप्लिकेशन की पहली क्रैश रिपोर्ट भेजने के लिए, टेस्ट क्रैश को फ़ोर्स करें:

    1. अपने टेस्ट डिवाइस या सिम्युलेटर की होम स्क्रीन से ऐप्लिकेशन खोलें.

    2. अपने ऐप्लिकेशन में, "Test Crash" बटन दबाएं. यह बटन आपने ऊपर दिए गए कोड का इस्तेमाल करके जोड़ा था.

    3. ऐप्लिकेशन क्रैश होने के बाद, उसे Xcode से फिर से चलाएं, ताकि आपका ऐप्लिकेशन Firebase को क्रैश रिपोर्ट भेज सके.

  4. Firebase console में, DevOps & Engagement > Crashlytics डैशबोर्ड पर जाएं. यहां आपको टेस्ट क्रैश की रिपोर्ट दिखेगी.

    अगर आपने कंसोल को रीफ़्रेश कर लिया है और पांच मिनट बाद भी आपको टेस्ट क्रैश नहीं दिख रहा है, तो डीबग लॉगिंग चालू करके देखें (अगला सेक्शन).

Crashlytics के लिए डीबग लॉगिंग चालू करें

अगर आपको Crashlytics डैशबोर्ड में टेस्ट क्रैश नहीं दिखता है, तो समस्या का पता लगाने के लिए, Crashlytics के लिए डीबग लॉगिंग का इस्तेमाल किया जा सकता है.

  1. डीबग लॉगिंग चालू करें:

    1. Xcode में, Product > Scheme > Edit scheme को चुनें.

    2. बाईं ओर मौजूद मेन्यू से, Run को चुनें. इसके बाद, Arguments टैब को चुनें.

    3. Arguments Passed on Launch सेक्शन में, -FIRDebugEnabled जोड़ें.

  2. ज़बरदस्ती क्रैश टेस्ट करें. इस पेज के पहले सेक्शन में, ऐसा करने का तरीका बताया गया है.

  3. अपने लॉग में, Crashlytics से मिले लॉग मैसेज को खोजें. इसमें यह स्ट्रिंग शामिल होनी चाहिए. इससे पुष्टि होती है कि आपका ऐप्लिकेशन, क्रैश की जानकारी Firebase को भेज रहा है.

    Completed report submission

अगर पांच मिनट बाद भी आपको यह लॉग नहीं दिखता है या आपका टेस्ट क्रैश, Firebase कंसोल के DevOps & Engagement > Crashlytics डैशबोर्ड में नहीं दिखता है, तो Firebase की सहायता टीम से संपर्क करें. साथ ही, अपने लॉग आउटपुट की एक कॉपी भेजें, ताकि हम समस्या को हल करने में आपकी मदद कर सकें.

अगले चरण