Menguji implementasi Firebase Crashlytics Anda

Menimbulkan error secara sengaja untuk menguji implementasi

Anda tidak perlu menunggu error muncul untuk memastikan bahwa Crashlytics sudah berfungsi. Anda dapat menggunakan SDK untuk sengaja menimbulkan error dengan menambahkan kode berikut ke aplikasi Anda:

Swift

import UIKit
import Crashlytics

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("Crash", for: [])
        button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
        view.addSubview(button)
    }

    @IBAction func crashButtonTapped(_ sender: AnyObject) {
        Crashlytics.sharedInstance().crash()
    }
}

Objective-C

#import "ViewController.h"
#import <Crashlytics/Crashlytics.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:@"Crash" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(crashButtonTapped:)
        forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
}

- (IBAction)crashButtonTapped:(id)sender {
    [[Crashlytics sharedInstance] crash];
}

@end

Untuk menguji implementasi, tekan tombol di aplikasi Anda untuk memaksa error, lalu buka kembali aplikasi sehingga Crashlytics dapat mengirimkan laporan error ke Firebase. Diperlukan waktu hingga lima menit untuk menampilkan laporan di Firebase console.

Menyesuaikan setelan debug project

Crashlytics tidak dapat menangkap error jika build Anda memasang debugger saat diluncurkan. Sesuaikan setelan build untuk mengubah format informasi debug project:

  1. Dengan masih memilih project di Xcode Navigator, buka tab Build Settings.
  2. Klik All di bagian atas tab untuk menampilkan semua setelan build.
  3. Cari "debug information format".
  4. Tetapkan setelan Debug Information Format ke DWARF with dSYM File.

Melakukan pengujian

Cuplikan kode di atas berfungsi menambahkan tombol yang membuat aplikasi Anda mengalami error saat tombol tersebut ditekan. Agar pengujian bisa bekerja, jalankan aplikasi tanpa debugger:

  1. Klik Build and then run the current scheme di Xcode untuk mem-build aplikasi Anda di perangkat atau simulator.
  2. Klik Stop running the scheme or action di Xcode untuk menutup instance awal aplikasi Anda. Instance awal ini mencakup debugger yang mengganggu Crashlytics.
  3. Buka kembali aplikasi Anda dari simulator atau perangkat.
  4. Tekan Crash untuk membuat aplikasi menjadi error.
  5. Buka aplikasi Anda sekali lagi agar Crashlytics API melaporkan error. Laporan error Anda akan muncul di Firebase console dalam waktu 5 menit.

Mengaktifkan logging debug Crashlytics

Jika error yang disengaja tidak terjadi, error terjadi sebelum Anda menekan tombol, atau Anda mengalami masalah lain dengan Crashlytics, Anda dapat mengaktifkan logging debug Crashlytics untuk melacak masalahnya.

Crashlytics 3.11.1+

Untuk mengaktifkan logging debug di perangkat pengembangan Anda, gunakan argumen command line berikut di Xcode:

-FIRDebugEnabled

Versi Sebelumnya

Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions
        launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // Initialize Firebase service.
        FirebaseApp.configure()
        Fabric.sharedSDK().debug = true
        return true
      }
    
Objective-C
- (BOOL)application:(UIApplication *)application
          didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Initialize Firebase service.
        [FIRApp configure];
        [Fabric.sharedSDK setDebug:YES];
        return YES;
      }
    

Langkah berikutnya

  • Menyesuaikan laporan error—Crashlytics otomatis mulai mengumpulkan laporan error begitu Anda menambahkan SDK. Namun, Anda juga dapat menyesuaikan penyiapan dengan menambahkan pelaporan keikutsertaan, log, kunci, dan bahkan pelacakan error tidak fatal.