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. अपने ऐप्लिकेशन में, ऊपर दिए गए कोड का इस्तेमाल करके जोड़ा गया "टेस्ट क्रैश" बटन दबाएं.

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

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

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

अगले चरण