รับรายงานข้อขัดข้องที่อ่านได้ในหน้าแดชบอร์ด Crashlytics

โดยค่าเริ่มต้น Firebase Crashlytics จะประมวลผลไฟล์สัญลักษณ์แก้ไขข้อบกพร่อง (dSYM) ของคุณโดยอัตโนมัติเพื่อให้คุณได้รับรายงานข้อขัดข้องที่ลดความยุ่งเหยิงและมนุษย์สามารถอ่านได้ ลักษณะการทำงานนี้ได้รับการตั้งค่าเมื่อคุณเพิ่มรันสคริปต์ที่เริ่มต้น Crashlytics ในขั้นตอนการสร้างแอปของคุณ

ขออภัย มีบางกรณีที่อาจทำให้การอัปโหลด dSYM ของคุณล้มเหลว เช่น บิตโค้ดในแอปของคุณหรือการกำหนดค่าโครงการที่ไม่ซ้ำกันอื่นๆ คู่มือนี้มีวิธีแก้ไขปัญหาเมื่อ Crashlytics ไม่พบ dSYM ของแอปของคุณ

ตรวจสอบว่า Xcode กำลังผลิต dSYMs . หรือไม่

บ่อยกว่านั้น ไฟล์ dSYM หายไปเพราะ Xcode ไม่ได้สร้างมันขึ้นมา เมื่อการอัปโหลดล้มเหลว Crashlytics จะแสดงการแจ้งเตือน "Missing dSYM" ในคอนโซล Firebase หากคุณได้รับการแจ้งเตือนนี้ ก่อนอื่นให้ตรวจสอบว่า Xcode กำลังสร้าง dSYM ที่ถูกต้องสำหรับทุกบิลด์:

  1. เปิดโครงการของคุณใน Xcode และเลือกไฟล์โครงการใน Xcode Navigator

  2. เลือกเป้าหมายการสร้างหลักของคุณ

  3. เปิดแท็บ การตั้งค่าบิ วด์ของเป้าหมาย จากนั้นคลิก ทั้งหมด

  4. ค้นหา "รูปแบบข้อมูลการดีบัก"

  5. ตั้งค่า รูปแบบข้อมูลการดีบัก เป็น DWARF ด้วยไฟล์ dSYM สำหรับประเภทบิลด์ทั้งหมดของคุณ

  6. สร้างแอปของคุณใหม่

รายงานข้อขัดข้องของคุณควรปรากฏในคอนโซล Firebase แล้ว หากปัญหายังคงอยู่หรือคุณพบข้อผิดพลาดอื่นๆ ให้ลอง ค้นหา dSYM ของคุณ และอัปโหลดไปยัง Crashlytics ด้วยตนเอง

ค้นหา dSYM ของคุณ

บางครั้ง Crashlytics ไม่พบ dSYM ของแอปของคุณเนื่องจากการกำหนดค่าบิตโค้ดหรือการเชื่อมต่อของคอนโซล เมื่อสิ่งนี้เกิดขึ้น มีสองวิธีเพิ่มเติมที่คุณสามารถแก้ไขปัญหาได้:

อัปโหลด dSYM ของคุณ

ในการอัปโหลด dSYM ของคุณด้วยตนเอง คุณสามารถใช้ตัวเลือก "ลากแล้ววาง" บนคอนโซลเพื่ออัปโหลดไฟล์ zip ที่มีไฟล์ dSYM ของคุณ (ไปที่คอนโซล Firebase > Crashlytics > แท็บ dSYM )

หรือเป็นการสำรองข้อมูล Crashlytics มีสคริปต์การ upload-symbols ที่คุณสามารถเรียกใช้จากที่ใดก็ได้ในกระบวนการสร้างของคุณเพื่ออัปโหลดไฟล์ dSYM ของคุณด้วยตนเอง สคริปต์ให้ข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการอัปโหลดและข้อความแสดงข้อผิดพลาดที่ครอบคลุมมากขึ้น (สำหรับบันทึกการใช้งานและคำแนะนำเพิ่มเติม ให้รัน upload-symbols โดยไม่มีพารามิเตอร์ใดๆ)

เมื่ออัปโหลดบิตโค้ด dSYM การลบไฟล์ไอคอนในไฟล์ zip โดยการเรียกใช้อาจเป็นประโยชน์:

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

ในการรันสคริปต์ upload-symbols ให้ใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้:

  • รวมบรรทัดต่อไปนี้ในกระบวนการสร้างของคุณ:

    find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
  • เรียกใช้สคริปต์โดยตรงจากเทอร์มินัลของคุณ:

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