Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Crashlytics uygulamanızı test edin

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

Uygulamanızı test etmek için kilitlenmeye zorlayın

  1. Uygulamanıza, bir test kilitlenmesini zorlamak için kullanabileceğiniz kod ekleyin.

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

    SwiftUI

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

    UIKit

    Süratli

    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]
      }
    }
    

    Amaç-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. Uygulamanızı Xcode'da oluşturun ve çalıştırın.

    1. Oluştur'a tıklayın ve ardından uygulamanızı bir test cihazı veya simülatör üzerinde oluşturmak için mevcut şemayı çalıştırın .

    2. Uygulamanız çalışana kadar bekleyin, ardından uygulamanızın ilk örneğini kapatmak için düzeni veya eylemi çalıştırmayı durdur'a . Bu ilk örnek, Crashlytics'i engelleyen hata ayıklayıcıyı içeriyordu.

  3. Uygulamanızın ilk kilitlenme raporunu göndermek için test çökmesini zorunlu kılın:

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

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

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

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

Konsolu yenilediyseniz ve beş dakika geçmesine rağmen testin kilitlendiğini 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ştir

Crashlytics kontrol panelinde test kilitlenmenizi görmüyorsanız, sorunu takip etmenize yardımcı olması için Crashlytics için hata ayıklama günlüğünü kullanabilirsiniz.

  1. Hata ayıklama günlüğünü etkinleştir:

    1. Xcode'da Ürün > Şema > Şemayı düzenle öğesini seçin.

    2. Soldaki menüden Çalıştır'ı seçin, ardından Argümanlar sekmesini seçin.

    3. Başlatma Sırasında Geçirilen Argümanlar bölümünde, -FIRDebugEnabled ekleyin.

  2. Bir test kazasını zorla. Bu sayfadaki ilk bölümde bunun nasıl yapılacağı anlatılmaktadır.

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

    Completed report submission

Beş dakika sonra Firebase konsolunun Crashlytics kontrol panelinde bu günlüğü veya test kilitlenmenizi görmezseniz, daha fazla sorun gidermenize yardımcı olabilmemiz için günlük çıktınızın bir kopyasıyla birlikte Firebase Destek ile iletişime geçin.

Sonraki adımlar