วิธีลบ Xcode Archives เก่าโดยไม่ทำสัญลักษณ์แครชสูญหาย
ทีม AskClean · อัปเดตเมื่อ 2026-07-31
ลบ Xcode Archive ต่อเมื่อยืนยันแล้วว่าเวอร์ชันนั้นไม่ได้เผยแพร่อีกต่อไป และไม่ต้องใช้ dSYM เพื่อทำ symbolication รายงานแครช ตรวจสอบบิลด์ใน Organizer เก็บบิลด์ App Store, TestFlight, Enterprise และ Ad Hoc ที่ยังใช้งาน แล้วจึงย้ายเฉพาะ archive ที่เลิกใช้ไปยังถังขยะ

Archive ไม่ใช่แคช
Product > Archive สร้าง .xcarchive ที่มีไฟล์ binary ตรงกับบิลด์จริง metadata และโดยทั่วไปมี dSYM ที่เกี่ยวข้องใน ~/Library/Developer/Xcode/Archives ส่วน DerivedData สร้างใหม่จากซอร์สได้ แต่ dSYM ตรงกับ UUID ของบิลด์หนึ่งโดยเฉพาะ การคอมไพล์ commit เดิมใหม่จึงไม่ใช่สิ่งทดแทนที่เท่ากัน
ตรวจสอบบิลด์ก่อนลบ
ใช้ Window > Organizer > Archives เพื่อดูแอป เวอร์ชัน หมายเลขบิลด์ วันที่ และสถานะการเผยแพร่ เก็บทุกบิลด์ที่ยังติดตั้งอยู่หรือยังอยู่ในช่วงการสนับสนุนและวิเคราะห์แครช อายุของไฟล์เพียงอย่างเดียวไม่ใช่เกณฑ์ที่ปลอดภัย
- เปิด Window > Organizer แล้วเลือก Archives
- จดบิลด์ App Store, TestFlight, Enterprise และ Ad Hoc ที่ยังใช้งาน
- ตรวจสอบ dSYM และสำรอง archive ที่สร้างทดแทนไม่ได้
- เลือกเฉพาะบิลด์ภายในที่เลิกใช้หรือเวอร์ชันที่หมดการสนับสนุน
- ลบทีละรายการ ตรวจสิ่งที่เหลือ แล้วจึงล้างถังขยะ
บิลด์เก่าอาจยังติดตั้งอยู่หลายเดือน ให้ตัดสินจากสถานะการเผยแพร่และการสนับสนุน ไม่ใช่วันที่เพียงอย่างเดียว
ลบแบบที่ยังย้อนกลับได้
ใช้ Organizer เป็นหลักและลบทีละรายการ ใช้ Finder เฉพาะเมื่อ Organizer อ่านแพ็กเกจเก่าไม่ได้ หลังจากเทียบ Info.plist กับรายการตรวจสอบแล้ว อย่าแก้ไฟล์ภายใน .xcarchive และอย่าเพิ่งล้างถังขยะก่อนตรวจยืนยัน
กำหนดนโยบายการเก็บรักษา
บันทึกตำแหน่ง archive การอัปโหลด symbols สำเนาสำรอง และวันที่ลบของแต่ละ release หากพื้นที่ใกล้หมด ให้เริ่มจาก DerivedData และข้อมูลที่สร้างใหม่ได้ AskClean แสดง Archives แยกต่างหากและไม่ถือเป็นแคชสำหรับลบพร้อมกัน
คำถามที่พบบ่อย
ลบโฟลเดอร์ Archives ทั้งหมดได้ไหม
ไม่ควรลบโดยไม่ตรวจ เพราะอาจมี binary และ dSYM เพียงชุดเดียวของเวอร์ชันที่เผยแพร่แล้ว
แอปจะถูกนำออกจาก App Store ไหม
ไม่ คุณจะเสียเฉพาะไฟล์ผลลัพธ์ในเครื่องที่ใช้ export ใหม่หรือทำ symbolication บิลด์นั้น
สร้าง dSYM ใหม่จาก commit เดิมได้ไหม
ทำแทนกันอย่างน่าเชื่อถือไม่ได้ เพราะต้องตรงกับ UUID ของ binary ที่เผยแพร่แบบแม่นยำ
แหล่งอ้างอิง