Buka konsol

Menguji implementasi Firebase Crashlytics Anda

Menimbulkan error dengan sengaja untuk menguji implementasi

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

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
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()
    }
}

Menyesuaikan setelan debug project Anda

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 menambahkan tombol yang membuat aplikasi Anda error saat ditekan. Agar pengujian bisa bekerja, jalankan aplikasi tanpa debugger:

  1. Klik play_arrow Build and then run the current scheme di Xcode untuk membuat aplikasi Anda di perangkat atau simulator.
  2. Klik stop 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 berhasil, 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 baris perintah berikut di Xcode:

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

Langkah berikutnya

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