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 और जुड़ाव > Crashlytics डैशबोर्ड में नहीं दिखता है, तो Firebase सहायता टीम से संपर्क करें. साथ ही, अपने लॉग आउटपुट की एक कॉपी भी भेजें, ताकि हम समस्या को हल करने में आपकी मदद कर सकें.

अगले चरण