Crashlytics uygulamanızı test etme


Uygulamanızı test etmek için kilitlenmeye zorlama

  1. Uygulamanıza, test sırasında kilitlenmeyi zorlamak için kullanabileceğiniz bir kod ekleyin.

    Uygulamanıza, basıldığında kilitlenmeye neden olan bir düğme eklemek için aşağıdaki kodu kullanabilirsiniz. Düğme "Test Çökmesi" olarak etiketlenmiştir.

    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 hata ayıklayıcısı bağlantısı kesilmişken uygulamanızı Xcode'da oluşturup çalıştırın.

    1. Uygulamanızı bir test cihazında veya simülatörde oluşturmak için Build and then run the current scheme (Oluştur ve ardından mevcut şemayı çalıştır) seçeneğini tıklayın.

    2. Uygulamanız çalışana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için Şemayı veya işlemi çalıştırmayı durdur'u tıklayın. Bu ilk örnek, Crashlytics ile çakışan hata ayıklayıcıyı içeriyordu.

  3. Uygulamanızın ilk kilitlenme raporunu göndermek için test kilitlenmesini zorlayın:

    1. Uygulamanızı test cihazınızın veya simülatörünüzün ana ekranından açın.

    2. Uygulamanızda, yukarıdaki kodu kullanarak eklediğiniz "Test Crash" (Test Kilitlenmesi) düğmesine basın.

    3. Uygulamanız kilitlendikten sonra, kilitlenme raporunu Firebase'e gönderebilmesi için uygulamayı Xcode'dan tekrar çalıştırın.

  4. Test kilitlenmenizi görmek için Crashlytics kontrol paneline gidin.Firebase

Konsolu yenilediyseniz ve beş dakika sonra hâlâ test kilitlenmesini görmüyorsanız hata ayıklama günlüğünü etkinleştirmeyi deneyin (sonraki bölüm).

Crashlytics için hata ayıklama günlüğünü etkinleştirin.

Test kilitlenmenizi Crashlytics kontrol panelinde görmüyorsanız sorunu tespit etmek için Crashlytics hata ayıklama günlüklerini kullanabilirsiniz.

  1. Hata ayıklama günlük kaydını etkinleştirin:

    1. Xcode'da Product > Scheme > Edit scheme'i (Ürün > Şema > Şemayı düzenle) seçin.

    2. Soldaki menüden Run'ı (Çalıştır) ve ardından Arguments (Bağımsız değişkenler) sekmesini seçin.

    3. Arguments Passed on Launch (Başlatmada İletilen Parametreler) bölümüne -FIRDebugEnabled ekleyin.

  2. Test kilitlenmesini zorlama Bu sayfadaki ilk bölümde bunun nasıl yapılacağı açıklanmaktadır.

  3. Günlüklerinizde, uygulamanızın kilitlenmeleri Firebase'e gönderdiğini doğrulayan aşağıdaki dizeyi içeren Crashlytics kaynaklı bir günlük mesajı arayın.

    Completed report submission

Bu günlüğü veya test kilitlenmenizi beş dakika sonra Crashlytics kontrol panelinde görmüyorsanız Firebase konsolunda, daha fazla sorun gidermenize yardımcı olabilmemiz için günlük çıktınızın bir kopyasıyla Firebase Destek Ekibi ile iletişime geçin.

Sonraki adımlar

  • Kilitlenme raporu kurulumunuzu özelleştirin (isteğe bağlı raporlama, günlükler, anahtarlar ve önemli olmayan hataların izlenmesi ekleyerek).