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

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


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

लागू किए गए बदलावों की जांच करने के लिए, क्रैश की समस्या को ज़बरदस्ती ट्रिगर करना

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

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

    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 और उपयोगकर्ता जुड़ाव > Crashlytics dashboard पर जाएं.

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

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

अगले चरण