ไม่สามารถส่ง dSYM ได้อย่างสมบูรณ์เมื่อการโยกย้ายฐานข้อมูลไปยัง firebase สำหรับ crashlytics


12

ฉันใช้ xcode11 กับ mac os 10.14.1 ฉันใช้แฟบริกไปยังการโยกย้ายฐานข้อมูลโดยใช้เอกสารต่อไปนี้

https://medium.com/@niamhpower/the-great-migration-moving-from-fabric-to-firebase-as-an-ios-developer-7b61a8b40008

และฉันสร้างรหัสสำหรับการทดสอบการชน แต่รายงานข้อผิดพลาดนี้ไม่สามารถปรากฏในคอนโซล firely crashlytics ได้ฉันใช้ doc ต่อไปนี้สำหรับการใช้งานนี้

https://firebase.google.com/docs/crashlytics/force-a-crash?platform=ios

ฉันยังเพิ่มสคริปต์การทำงานต่อไปนี้ใน Xcode build phases

"$ {PODS_ROOT} / ผ้า / อัปโหลดสัญลักษณ์" -gsp "$ {PROJECT_DIR} /GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}"

แต่นี่จะกลับข้อผิดพลาดต่อไปนี้เมื่อฉันเรียกใช้แอปพลิเคชัน

31merror: ไม่สามารถส่ง dSYM ได้ที่ /Users/macmini1/Library/Developer/Xcode/DerivedData/CompareDataMyclerDataMyCollector: ข้อผิดพลาดของโดเมน: ข้อผิดพลาดที่เกิดขึ้นจริง -domain.process-dsym Code = 3 "ไฟล์ไม่มีอยู่อีกต่อไปที่ (null)" UserInfo = {NSLocalizedFailureReason = ไฟล์ไม่มีอยู่อีกต่อไปที่ (null)} [คำสั่ง 0 เมตร PhaseScriptExecution ล้มเหลวด้วยรหัสทางออกที่ไม่ใช่ศูนย์

คุณช่วยฉันด้วยวิธีแก้ปัญหานี้ได้ไหม


คุณยังประสบปัญหาอยู่หรือไม่ Firebase มี OMG ที่ส่งผลให้นักพัฒนาอัปโหลด dSYMs
Zubair

สวัสดีฉันติดอยู่ในปัญหาเดียวกันคุณมีโชคกับมันหรือไม่? คำตอบจาก @ weet1988 ไม่ได้แก้ไขปัญหาของฉัน (มันเป็นสคริปต์ตัวสุดท้ายที่ทำงานในกรณีของฉันแล้ว)
mikey

1
@ Mikey ฉันลบสคริปต์ออกจากสคริปต์การเรียกใช้และเพิ่มอีกครั้งและปิด xcode จากนั้นพยายามเรียกใช้อีกครั้งมันจะทำงานได้
IKKA

จริง ๆ แล้วฉันได้รับ Crashlytics ให้ทำงานโดยไม่มีupload-symbolsสคริปต์ ฉันเพิ่งอัปเดตพ็อดเป็นเวอร์ชันล่าสุดที่มีอยู่และตรวจสอบให้แน่ใจว่า$ {PODS_ROOT}/Fabric/runเป็นเวอร์ชั่นล่าสุดที่จะทำงาน ขอบคุณสำหรับการตอบกลับของคุณ @IKKA
mikey

@mikey คุณหมายถึงว่าคุณใช้คำสั่ง $ {PODS_ROOT} / Fabric / run ใน runcript เท่านั้น ขวา?
IKKA

คำตอบ:


5

ผมมีปัญหาเดียวกัน. เหตุผลก็คือสคริปต์ "$ {PODS_ROOT} / Fabric / run" ไม่ใช่รายการสุดท้ายของรายการสคริปต์ใน Build Phases ทำให้สคริปต์สุดท้ายและทุกอย่างก็โอเค


2
สคริปต์ของฉันเป็นล่าสุด แต่ฉันยังคงได้รับข้อผิดพลาดนี้ ...
Danpe

5

ฉันแก้ไขได้โดยเพิ่มfindคำสั่ง เพิ่มคำสั่ง find เหนือสัญลักษณ์อัพโหลด

ตัวอย่าง:

ค้นหา "$ {DWARF_DSYM_FOLDER_PATH}" -name "* .dSYM" | xargs -I {} $ PODS_ROOT / ผ้า / สัญลักษณ์อัปโหลด -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios {}

"$ {PODS_ROOT} / ผ้า / อัปโหลดสัญลักษณ์" -gsp "$ {PROJECT_DIR} /MyApp/GoogleService-Info.plist" -p ios "$ {DWARF_DSYM_FOLDER_PATH} / $ {DWARF_DSYM_FILE_NAME}


เราจำเป็นต้องอัปโหลดไฟล์. dSYM อื่น ๆ ที่ไม่ใช่ $ {DWARF_DSYM_FILE_NAME} หรือไม่
CyberMew

@CyberMew ไม่จำเป็นต้องอัปโหลดไฟล์. dSYM ทั้งหมด คุณพูดถูก ดังนั้นเราสามารถค้นหาไฟล์ที่เราต้องการอัพโหลดเท่านั้น ฉันแก้ไขคำตอบแล้ว
Ramesh RC

ฉันเชื่อว่าคำตอบดั้งเดิมของคุณเพื่ออัปโหลดไฟล์. dSYM ทั้งหมดถูกต้องฉันได้ตรวจสอบกับฝ่ายสนับสนุนแล้วและพวกเขากล่าวว่า "Crashlytics จะต้องใช้ไฟล์สัญลักษณ์จากแอพหลักของคุณพร้อมกับสัญลักษณ์จากกรอบหรือไลบรารีใด ๆ ที่ใช้" โดยพื้นฐานแล้วจำเป็นต้องใช้ไฟล์สัญลักษณ์ทั้งหมด
CyberMew

มันยอดเยี่ยมมาก! เมื่อฉันอัปโหลดไฟล์. dSYM ทั้งหมดเพื่อทดสอบการบินฉันได้รับคำเตือน "ITMS-90381: ไฟล์สัญลักษณ์มากเกินไป" ความคิดใด ๆ
Ramesh RC

อัพโหลดไปที่test flight? คุณหมายถึง Firebase Crashlytics แทนหรือไม่ ฉันไม่แน่ใจเหมือนที่ฉันไม่เคยพบมาก่อนคุณอาจลองใช้วิธีแก้ปัญหานี้stackoverflow.com/questions/25755240/ถ้าไม่ใช้การติดต่อฝ่ายสนับสนุนและแจ้งให้เราทราบว่าพวกเขาพูดอะไร!
CyberMew
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.