Secara default, Firebase Crashlytics memproses file debug simbol (dSYM) secara otomatis untuk memberi Anda laporan error yang di-deobfuscate dan dapat dibaca manusia. Biasanya, Anda akan mengonfigurasi perilaku ini selama penyiapan awal Crashlytics di aplikasi Anda, terutama dengan menambahkan skrip pengoperasian yang otomatis mengupload file dSYM selama fase build aplikasi Anda.
Sayangnya, ada beberapa kasus yang dapat menyebabkan upload file dSYM otomatis Anda gagal. Panduan ini berisi beberapa cara untuk memecahkan masalah saat Crashlytics tidak dapat menemukan dSYM aplikasi.
Pastikan Xcode dapat memproses dSYM dan mengupload file secara otomatis
Saat menyiapkan Crashlytics di aplikasi, Anda mengonfigurasi skrip pengoperasian untuk memproses dSYM dan mengupload file secara otomatis.
Pastikan konfigurasi Anda untuk skrip pengoperasian Crashlytics sudah yang terbaru dengan persyaratan baru yang dimulai dengan Xcode 15. Jika
konfigurasi Anda bukan yang terbaru, Anda mungkin mendapatkan error berikut:
error: Info.plist Error Unable to process Info.plist at path ...
.
Secara khusus, Xcode 15 dan yang lebih baru mengharuskan Anda memberikan kumpulan lokasi file yang lebih lengkap. Untuk skrip pengoperasian Crashlytics (firebase-ios-sdk/Crashlytics/run
), pastikan Anda memiliki penyiapan berikut:
Klik tab Build Phases, lalu luaskan bagian Run Script.
Di bagian Input Files, pastikan Anda memiliki jalur untuk lokasi file berikut:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
Memeriksa apakah Xcode menghasilkan dSYM
Acap kali file dSYM tidak ada karena Xcode tidak menghasilkannya. Jika upload gagal, Crashlytics akan menampilkan pemberitahuan "Missing dSYM" di Firebase console. Jika pemberitahuan ini muncul, periksa terlebih dahulu apakah Xcode menghasilkan dSYM yang benar untuk setiap build:
Buka project di Xcode, lalu pilih file project di Xcode Navigator.
Pilih target build utama Anda.
Buka tab Build Settings target, lalu klik All.
Telusuri
debug information format
.Setel Debug Information Format ke DWARF with dSYM File untuk semua jenis build.
Bangun ulang aplikasi Anda.
Laporan error Anda seharusnya muncul di dasbor Crashlytics. Jika masalah berlanjut atau Anda mengalami error lainnya, coba cari dSYM dan upload ke Crashlytics secara manual.
Menemukan dSYM di mesin lokal
Jalankan perintah berikut untuk menampilkan semua UUID dSYM di mesin Anda, lalu cari dSYM yang tidak ada:
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done
Setelah ditemukan, upload dSYM ke Crashlytics.
Jika perintah mdfind
tidak menampilkan hasil apa pun, Anda dapat melihat di direktori Products
tempat .app
berada (secara default, direktori Products
berada di Derived Data
). Jika aplikasi Anda dirilis ke produksi, Anda juga dapat mencari dSYM-nya di direktori .xcarchive
pada disk:
Di Xcode, buka jendela Organizer, lalu pilih aplikasi dari daftar. Xcode menampilkan daftar arsip project Anda.
Control-klik arsip untuk melihatnya di Finder. Control-klik lagi, lalu klik Show Package Contents.
Dalam
.xcarchive
adalah direktori dSYM yang berisi dSYM yang dihasilkan sebagai bagian dari proses pengarsipan Xcode.
Mengupload dSYM
Crashlytics mendukung beberapa cara untuk mengupload file dSYM Anda, secara otomatis atau secara manual.
(Direkomendasikan) Memproses dSYM dan mengupload file secara otomatis
Saat pertama kali menyiapkan Crashlytics, kemungkinan besar Anda mengonfigurasi perilaku upload otomatis ini untuk aplikasi Anda. Namun, jika upload otomatis gagal, pastikan konfigurasi Anda sudah benar.
Mengupload file dSYM secara manual
Jika upload otomatis gagal, Anda dapat mengupload file dSYM secara manual menggunakan salah satu opsi berikut.
Opsi 1: Gunakan opsi "Tarik lalu Lepas" berbasis konsol untuk mengupload file ZIP yang berisi file dSYM Anda (buka Firebase console > Crashlytics > tab dSYMs).
Opsi 2: Gunakan skrip
upload-symbols
yang dapat Anda panggil dari mana pun dalam proses build untuk mengupload file dSYM secara manual. Untuk menjalankan skripupload-symbols
, gunakan salah satu opsi berikut:Opsi A: Sertakan baris berikut dalam proses build Anda:
find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
Opsi B: Jalankan skrip langsung dari terminal Anda:
/PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs
Untuk catatan penggunaan dan petunjuk tambahan tentang skrip ini, jalankan
upload-symbols
dengan parameter--help
.