Melaporkan Error di iOS

Firebase Crash Reporting membuat laporan mendetail mengenai error pada aplikasi Anda. Error dikelompokkan ke dalam masalah berdasarkan pelacakan tumpukan yang serupa, dan diurutkan berdasarkan tingkat keparahan dampaknya terhadap pengguna Anda. Selain menerima laporan otomatis, Anda dapat membuat log peristiwa kustom untuk membantu mencatat langkah-langkah sebelum terjadinya error.

Menyiapkan Crash Reporting

Untuk menyiapkan Crash Reporting di aplikasi Anda, lakukan hal berikut:

  1. Instal Firebase SDK.
  2. Di Firebase console, tambahkan aplikasi Anda ke project Firebase.
  3. Tambahkan dependensi untuk Firebase Crash Reporting ke Podfile:
    pod 'Firebase/Crash'
  4. Impor modul Firebase di UIApplicationDelegate Anda:

    Swift

    import Firebase
    

    Objective-C

    @import Firebase;
    
  5. Konfigurasikan instance bersama FirebaseApp, yang biasanya ada dalam metode application:didFinishLaunchingWithOptions: aplikasi Anda:

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()
    

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
    

Upload file simbol

Agar bisa melihat laporan kerusakan yang dapat dibaca manusia, Anda harus mengupload file simbol setelah setiap build. Hal ini bisa dilakukan secara otomatis dengan mengikuti langkah-langkah berikut untuk menambahkan skrip jalankan ke Xcode:

  1. Download kunci akun layanan untuk mengautentikasi upload Anda. Dari Firebase console, pilih project, lalu klik Buat Kunci Pribadi Baru.
  2. Di Xcode, klik target aplikasi Anda, pilih Build Phases, dan klik `+` untuk menambahkan fase.
  3. Pilih Run Script dan tambahkan konten berikut, setel nilai yang tepat untuk service account path dan GOOGLE_APP_ID:
    # Replace this with the GOOGLE_APP_ID from your GoogleService-Info.plist file
    GOOGLE_APP_ID=1:my:app:id
    
    # Replace the /Path/To/ServiceAccount.json with the path to the key you just downloaded
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "/Path/To/ServiceAccount.json"
        

Membuat error pertama

Untuk membuat error pertama, tambahkan assert ke metode didFinishLaunchingWithOptions AppDelegate untuk membuat error saat aplikasi diluncurkan, tepat setelah panggilan inisialisasi Firebase:

Swift

fatalError()

Objective-C

assert(false);

Setelah menambahkan assert ini, Anda dapat melakukan hal berikut untuk membuat error:

  1. Luncurkan aplikasi dari Xcode.
  2. Klik Stop di Xcode untuk lepas dari debugger.
  3. Luncurkan aplikasi langsung dari layar utama perangkat atau emulator.
  4. Tunggu sampai aplikasi tidak bekerja.
  5. Hapus baris kerusakan agar aplikasi dapat dijalankan dengan baik.
  6. Luncurkan quickstart dari Xcode lagi. Dalam waktu 15 detik, Anda akan melihat pesan log yang menunjukkan bahwa laporan berhasil diupload.
  7. Periksa bagian Crash Reporting di Firebase console untuk melihat error. Perlu diperhatikan bahwa dibutuhkan waktu 1-2 menit hingga error terlihat.

Membuat log kustom

Anda dapat menggunakan FIRCrashLog() untuk membuat pesan log kustom yang disertakan dalam laporan kerusakan. Contoh berikut menunjukkan pembuatan pesan log:

Swift

FirebaseCrashMessage("Cause Crash button clicked")
fatalError()

Objective-C

FIRCrashLog(@"Cause Crash button clicked");
assert(NO);

Bantuan Bitcode

Jika telah mengaktifkan bitcode, Anda harus melakukan hal berikut untuk menyimbolkan aplikasi, sehingga Anda dapat membaca pelacakan tumpukan yang dikumpulkan oleh Crash Reporting:

  1. Download file (.dSYM) simbol debug aplikasi Anda. Untuk mempelajari cara mendownload file tersebut, lihat Melihat dan Mengimpor Error di Jendela Perangkat.

  2. Setelah semua file .dSYM didownload sebagai .xcarchive, ekstrak file .dSYM ke lokasi yang dipilih.

  3. Dengan menggunakan skrip batch-upload, upload file .dSYM untuk versi aplikasi yang perlu Anda simbolkan. Spotlight perlu waktu sebentar untuk mengupdate indeksnya guna menyertakan file ini.

    ./Pods/FirebaseCrash/batch-upload -i "Path/To/Info.plist" -p "Path/To/GoogleService-Info.plist" "Path/To/ServiceAccount.json" "UUID-OF-DSYM"
    

Masalah umum

  • Firebase SDK saat ini tidak mendukung menggunakan class NSException dalam simulator Xcode. Jika Anda menggunakan class ini, maka akan terjadi pelacakan tumpukan dengan format yang salah di Firebase console. Sebagai solusinya, gunakan perangkat fisik atau lakukan pengujian dengan berbagai jenis pengecualian seperti assert.

  • Crash Reporting menggunakan ID unik untuk mengidentifikasi setiap pengguna. Karena terdapat bug yang diketahui di Xcode 8.1, pembuatan ID akan gagal di simulator iOS 10, dan mencegah upload laporan error. Untuk mengatasi masalah ini di Xcode 8.1, Anda dapat menjalankan tes di perangkat, atau mengaktifkan Keychain Sharing di bagian Capabilities setelan aplikasi Anda. Bug ini telah diatasi dalam rilis beta Xcode 8.2.

Langkah Berikutnya

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.