วิธีทำความสะอาด Xcode DerivedData, Caches & Simulators อย่างปลอดภัย
คู่มือนักพัฒนาทีละขั้นตอนเพื่อล้าง Xcode DerivedData แคชโมดูล และตัวจำลอง iOS ที่ไม่ได้ใช้บน Mac โดยไม่ทำลายสภาพแวดล้อมการสร้างของคุณ

สำหรับนักพัฒนา iOS, macOS และ visionOS Xcode เป็นเครื่องมือที่ขาดไม่ได้ แต่มันก็สามารถกลายเป็นผู้ใช้พื้นที่จัดเก็บข้อมูลที่สำคัญใน Mac ของนักพัฒนาได้เช่นกัน ตลอดระยะเวลาหลายเดือนของการสร้าง การทดสอบ และการดีบัก Xcode จะสะสมพื้นที่จัดเก็บดัชนี การสร้างระดับกลาง แคชของโมดูล การเก็บถาวร และรันไทม์ของโปรแกรมจำลอง
ไดเร็กทอรีและตัวจำลองการสร้าง Xcode สามารถใช้พื้นที่ดิสก์จำนวนมากเมื่อเวลาผ่านไป ขึ้นอยู่กับจำนวนโปรเจ็กต์ที่ใช้งานอยู่ การขึ้นต่อกัน และรันไทม์ของตัวจำลอง เมื่อพื้นที่เก็บข้อมูลเหลือน้อย การดำเนินการสร้างจะช้าลงและอาจเกิดปัญหาในการจัดทำดัชนีได้ ต่อไปนี้เป็นวิธีทำความสะอาด Xcode DerivedData สร้างแคช และตัวจำลอง iOS ที่ไม่ได้ใช้อย่างปลอดภัยโดยไม่ทำให้การกำหนดค่าโปรเจ็กต์ของคุณเสียหาย
Xcode DerivedData คืออะไร และทำไมมันถึงเติบโต?
Xcode จัดเก็บข้อมูลเวลาบิวด์ในไดเร็กทอรีกลางซึ่งอยู่ที่ ~/Library/Developer/Xcode/DerivedData ภายในไดเร็กทอรีนี้ Xcode จะสร้างโฟลเดอร์ย่อยเฉพาะสำหรับแต่ละโปรเจ็กต์และพื้นที่ทำงานที่คุณเปิด
DerivedData ประกอบด้วย: 1. ข้อมูลการทำดัชนี: แผนที่ไวยากรณ์ กราฟสัญลักษณ์ และตัวอ้างอิงโยงที่ใช้สำหรับการเติมโค้ดให้สมบูรณ์และวิธีใช้ด่วน 2. สร้างผลิตภัณฑ์: ไฟล์อ็อบเจ็กต์ระดับกลาง (.o) เฟรมเวิร์กที่คอมไพล์ไว้ล่วงหน้า และ dSYM 3. แคชโมดูล: โมดูล Swift และ Clang ที่คอมไพล์ไว้ล่วงหน้า เนื่องจากอาร์ติแฟกต์จากบิลด์เก่า เป้าหมายที่ถูกเปลี่ยนชื่อ หรือสาขาที่เก็บถาวรสามารถสะสมได้ DerivedData จึงมีแนวโน้มที่จะขยายจนกว่าจะถูกเคลียร์
ปลอดภัยหรือไม่ที่จะลบ DerivedData
DerivedData มีข้อมูลการสร้างและการจัดทำดัชนีที่สร้างขึ้นซึ่งโดยปกติแล้ว Xcode จะสามารถสร้างใหม่ได้ การลบออกอาจทำให้เกิดการสร้างใหม่ทั้งหมดและจัดทำดัชนีใหม่ ดังนั้นโปรดยืนยันว่าคุณกำลังลบ DerivedData แทนที่จะลบโปรเจ็กต์หรือข้อมูลที่เก็บถาวร
การล้าง DerivedData เป็นขั้นตอนการแก้ไขปัญหามาตรฐานในชุมชนนักพัฒนา Apple เมื่อ Xcode ทำงานผิดปกติ แสดงข้อผิดพลาดในการสร้างอย่างต่อเนื่อง หรือไม่สามารถแก้ไขการขึ้นต่อกันของ Swift Package Manager โปรดทราบว่าการสร้างครั้งต่อไปจะใช้เวลานานกว่าเนื่องจาก Xcode ต้องสร้างดัชนีฐานโค้ดของคุณใหม่ และคอมไพล์การขึ้นต่อกันใหม่
วิธีการทำความสะอาด DerivedData ด้วยตนเอง
คุณสามารถทำความสะอาด DerivedData ด้วยตนเองได้โดยใช้การตั้งค่า Xcode หรือ Finder หรือผ่านทาง Terminal:
• ผ่านการตั้งค่า Xcode และ Finder (แนะนำ): เปิด Xcode → การตั้งค่า (Command + ,) → ตำแหน่ง ใต้ "ข้อมูลที่ได้รับ" ให้คลิกไอคอนลูกศรเล็กๆ ถัดจากเส้นทางเพื่อเปิดโฟลเดอร์ใน Finder ยืนยันว่าคุณอยู่ใน DerivedData ออกจาก Xcode จากนั้นเลือกและย้ายโฟลเดอร์ย่อยของโปรเจ็กต์ไปที่ Trash ซึ่งช่วยให้คุณสามารถตรวจสอบสิ่งที่กำลังถูกลบและกู้คืนไฟล์จาก Trash ได้หากจำเป็น
• ผ่านทางเทอร์มินัล (ขั้นสูง): หากคุณต้องการเวิร์กโฟลว์บรรทัดคำสั่ง ให้ออกจาก Xcode ก่อนแล้วรัน: rm -rf ~/Library/Developer/Xcode/DerivedData/* โปรดทราบว่า rm -rf จะลบไฟล์อย่างถาวรทันทีโดยไม่ต้องย้ายไฟล์ไปที่ Trash ดังนั้น โปรดตรวจสอบเส้นทางอย่างรอบคอบก่อนเรียกใช้
การทำความสะอาดเครื่องจำลอง iOS, watchOS และ tvOS ที่ไม่ได้ใช้
รันไทม์จำลองแต่ละรายการที่ดาวน์โหลดผ่าน Xcode จะใช้พื้นที่เก็บข้อมูลหลายกิกะไบต์ เมื่อเวลาผ่านไป เมื่อมีการติดตั้งการอัปเดตระบบปฏิบัติการใหม่ เวอร์ชันจำลองที่เก่ากว่าจะยังคงอยู่ในไดรฟ์ของคุณ
หากต้องการตรวจสอบเครื่องจำลองที่ติดตั้ง ให้เรียกใช้ xcrun simctl list ใน Terminal หากต้องการลบอุปกรณ์จำลองที่ไม่พร้อมใช้งานหรือถูกละเลยและล้างแคช ให้เรียกใช้ xcrun simctl delete unavailable คุณยังสามารถนำทางไปยังการตั้งค่า Xcode → ส่วนประกอบเพื่อดู จัดการ และลบรันไทม์ตัวจำลองแพลตฟอร์มที่ดาวน์โหลดซึ่งคุณไม่ได้ทดสอบอีกต่อไป
การใช้ Smart Cleaner AI ควบคู่ไปกับการบำรุงรักษาพื้นที่เก็บข้อมูล Xcode
เมื่อจัดการพื้นที่จัดเก็บข้อมูลของนักพัฒนา การตรวจสอบด้วยภาพจะช่วยระบุได้ว่าความจุของไดรฟ์อยู่ที่ใด
Disk Analyzer ของ Smart Cleaner AI สามารถช่วยคุณตรวจสอบโฟลเดอร์และไฟล์ที่จัดเก็บข้อมูลจำนวนมากซึ่งเครื่องสแกนมองเห็นได้ทั่วทั้งระบบของคุณ การล้างข้อมูลเฉพาะของ Xcode เช่น การจัดการ DerivedData การสร้างผลิตภัณฑ์ และเครื่องจำลอง ควรได้รับการตรวจสอบและดำเนินการโดยใช้การตั้งค่า Xcode, Finder และเครื่องมือบรรทัดคำสั่งของนักพัฒนา เพื่อให้การกำหนดค่าโครงการยังคงเหมือนเดิม
วิธีทำความสะอาด Xcode DerivedData & Simulators ใน 4 ขั้นตอน
- 1
ออกจาก Xcode โดยสมบูรณ์
ตรวจสอบให้แน่ใจว่า Xcode และอินสแตนซ์ตัวจำลองที่ทำงานอยู่ทั้งหมดถูกปิดก่อนที่จะดำเนินการลบแคชใดๆ
- 2
ค้นหา DerivedData ใน Finder
เปิดการตั้งค่า Xcode → ตำแหน่ง แล้วคลิกลูกศรถัดจาก DerivedData หรือนำทางโดยตรงไปที่ ~/Library/Developer/Xcode/DerivedData ใน Finder
- 3
ลบโฟลเดอร์ย่อยของบิลด์ DerivedData
เลือกโฟลเดอร์โปรเจ็กต์ที่ไม่ต้องการภายใน DerivedData และส่งไปที่ Trash Xcode จะสร้างดัชนีใหม่ในการสร้างใหม่
- 4
จัดการเครื่องจำลองใน Components หรือ Terminal
ใช้ xcrun simctl delete unavailable ใน Terminal หรือเปิดการตั้งค่า Xcode → ส่วนประกอบ เพื่อลบรันไทม์จำลองที่ไม่ได้ใช้
ตรวจสอบพื้นที่เก็บข้อมูลและเรียกคืนพื้นที่ดิสก์
Smart Cleaner AI: Disk Clean ช่วยให้คุณเห็นภาพการใช้งานดิสก์ ค้นหาไฟล์ขนาดใหญ่ และลบแคชแอปพลิเคชันที่ไม่จำเป็น เพื่อให้คุณสามารถรักษา Mac ของคุณได้อย่างรวดเร็วและง่ายดาย
คำถามที่พบบ่อย
การลบ DerivedData จะลบซอร์สโค้ดหรือประวัติ Git ของฉันหรือไม่▼
ไม่ DerivedData มีเฉพาะ build artifact และดัชนีชั่วคราวเท่านั้น ไฟล์โปรเจ็กต์ ซอร์สโค้ด และที่เก็บ Git ของคุณยังคงไม่ถูกแตะต้องโดยสมบูรณ์
เหตุใดบิลด์แรกของฉันจึงช้าหลังจากลบ DerivedData▼
เนื่องจาก Xcode ต้องสร้างดัชนีสัญลักษณ์ภายในใหม่และคอมไพล์แพ็คเกจ Swift ใหม่ตั้งแต่เริ่มต้น การสร้างที่เพิ่มขึ้นตามมาจะกลับสู่ความเร็วสูงสุด
ไฟล์เก็บถาวร Xcode เก็บไว้ที่ไหน?▼
Xcode เก็บเอกสารการแจกจ่ายไว้ที่ ~/Library/Developer/Xcode/Archives/ คุณสามารถตรวจสอบและลบไฟล์เก็บถาวรการพัฒนาเก่าได้ผ่านทาง Xcode Organizer (Window → Organizer)
ฉันสามารถย้าย DerivedData ไปยัง SSD ภายนอกได้หรือไม่▼
ได้ ในการตั้งค่า Xcode → ตำแหน่ง คุณสามารถตั้งค่าเส้นทาง DerivedData แบบกำหนดเองบนไดรฟ์ NVMe ภายนอกได้ แม้ว่า Mac SSD ภายในจะให้ทรูพุตการสร้างที่เร็วกว่าก็ตาม
นักพัฒนาควรทำความสะอาด DerivedData บ่อยแค่ไหน?▼
โดยทั่วไปนักพัฒนาจะทำความสะอาด DerivedData เมื่อแก้ไขปัญหาข้อผิดพลาดในการจัดทำดัชนีหรือการคอมไพล์ หลังจากการอัพเดต Xcode ที่สำคัญ หรือเมื่อเรียกคืนพื้นที่เก็บข้อมูลจากโปรเจ็กต์เก่าที่ไม่ได้ใช้งาน
แหล่งข้อมูล
Ready when you are
Download Smart Cleaner AI for Mac
Analyze Mac storage, safely clear system data caches, find large files, and remove app leftovers with on-device controls.
By using Smart Cleaner AI, you agree to our Terms of Use and Privacy Policy.