Nhận các báo cáo sự cố có thể đọc được trong trang tổng quan Crashlytics

Theo mặc định, Firebase Crashlytics tự động xử lý các tệp biểu tượng gỡ lỗi (dSYM) của bạn để cung cấp cho bạn các báo cáo sự cố được giải mã và con người có thể đọc được. Hành vi này được đặt khi bạn thêm tập lệnh chạy khởi chạy Crashlytics vào giai đoạn xây dựng ứng dụng của mình.

Rất tiếc, có một số trường hợp có thể khiến quá trình tải lên dSYM của bạn không thành công, chẳng hạn như mã bit trong ứng dụng của bạn hoặc các cấu hình dự án độc đáo khác. Hướng dẫn này cung cấp một số cách để khắc phục sự cố khi Crashlytics không thể định vị dSYM của ứng dụng của bạn.

Kiểm tra xem Xcode có đang tạo dSYM không

Thường xuyên hơn không, các tệp dSYM bị thiếu vì Xcode đơn giản là không tạo ra chúng. Khi tải lên không thành công, Crashlytics sẽ hiển thị cảnh báo "Thiếu dSYM" trong bảng điều khiển Firebase. Nếu bạn nhận được cảnh báo này, trước tiên hãy kiểm tra xem Xcode có đang tạo dSYM chính xác cho mọi bản dựng hay không:

  1. Mở dự án của bạn trong Xcode và chọn tệp dự án trong Xcode Navigator.

  2. Chọn mục tiêu xây dựng chính của bạn.

  3. Mở tab Cài đặt bản dựng của mục tiêu, sau đó nhấp vào Tất cả .

  4. Tìm kiếm "định dạng thông tin gỡ lỗi".

  5. Đặt Định dạng thông tin gỡ lỗi thành DWARF với Tệp dSYM cho tất cả các loại bản dựng của bạn.

  6. Xây dựng lại ứng dụng của bạn.

Giờ đây, báo cáo sự cố của bạn sẽ xuất hiện trong bảng điều khiển Firebase. Nếu sự cố vẫn tiếp diễn hoặc bạn gặp phải các lỗi khác, hãy thử định vị dSYM của bạn và tải nó lên Crashlytics theo cách thủ công.

Tìm dSYM của bạn

Đôi khi Crashlytics không thể định vị dSYM của ứng dụng của bạn do cấu hình mã bit hoặc kết nối của bảng điều khiển. Khi điều này xảy ra, có hai cách bổ sung mà bạn có thể khắc phục sự cố:

Tải lên dSYM của bạn

Để tải lên dSYM của bạn theo cách thủ công, bạn có thể sử dụng tùy chọn "Kéo và thả" dựa trên bảng điều khiển để tải lên tệp lưu trữ zip chứa các tệp dSYM của bạn (đi tới bảng điều khiển Firebase> Crashlytics > tab dSYM ).

Ngoài ra, dưới dạng dự phòng, Crashlytics bao gồm một tập lệnh upload-symbols mà bạn có thể gọi từ bất kỳ đâu trong quy trình xây dựng của mình để tải lên các tệp dSYM của bạn theo cách thủ công. Tập lệnh cung cấp thêm thông tin về quá trình tải lên và thông báo lỗi toàn diện hơn (đối với ghi chú sử dụng và hướng dẫn bổ sung, hãy chạy upload-symbols mà không có bất kỳ tham số nào).

Khi tải lên các dSYM bitcode, có thể hữu ích nếu xóa bất kỳ tệp Biểu tượng nào trong kho lưu trữ zip bằng cách chạy:

unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)

Để chạy tập lệnh upload-symbols , hãy sử dụng một trong các tùy chọn sau:

  • Bao gồm dòng sau trong quy trình xây dựng của bạn:

    find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
  • Chạy tập lệnh trực tiếp từ thiết bị đầu cuối của bạn:

    /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs