AskClean

ลบ iOS DeviceSupport ของ Xcode ได้ไหม? วิธีล้างอย่างปลอดภัย

ทีม AskClean · อัปเดตเมื่อ 2026-11-02

โฟลเดอร์ DeviceSupport ของระบบเวอร์ชันที่คุณไม่ได้ดีบักแล้วลบได้ แต่ให้เก็บเวอร์ชันที่ตรงกับอุปกรณ์จริงที่ยังใช้ทดสอบอยู่ เมื่อต่ออุปกรณ์เวอร์ชันนั้นอีกครั้ง Xcode เตรียมข้อมูลสนับสนุนใหม่ได้ การลบจึงแลกพื้นที่ในเครื่องกับเวลารอในภายหลัง ไม่ได้ทำให้ซอร์สโค้ดหาย

แล็ปท็อปและโทรศัพท์ของนักพัฒนา ล้อมด้วยบล็อก symbols สำหรับดีบักอุปกรณ์ทั้งเวอร์ชันปัจจุบันและเวอร์ชันเก่า
เก็บข้อมูลสนับสนุนของอุปกรณ์จริงที่ยังใช้ทดสอบ และตรวจโฟลเดอร์ของระบบเวอร์ชันเก่าแยกทีละโฟลเดอร์

DeviceSupport เก็บอะไร

เมื่อดีบักบน iPhone, iPad, Apple Watch หรือ Mac เครื่องจริง Xcode ต้องใช้ข้อมูลสนับสนุนที่ตรงกับบิลด์ระบบของอุปกรณ์นั้น ข้อมูลนี้ช่วยให้ Xcode เข้าใจ framework และ symbols ของระบบขณะต่อ debugger และเก็บแยกโฟลเดอร์ตามเวอร์ชันไว้ที่ ~/Library/Developer/Xcode/iOS DeviceSupport รวมถึงโฟลเดอร์คู่กันอย่าง macOS DeviceSupport ข้อมูลนี้ไม่ใช่ซอร์สโค้ดของแอป ไม่ใช่อุปกรณ์จำลองของ Simulator ไม่ใช่ dSYM ของแอปที่เผยแพร่แล้ว และไม่ใช่รูปภาพหรือข้อมูลสำรองของ iPhone โฟลเดอร์นี้โตขึ้นเมื่อคุณต่ออุปกรณ์ที่ใช้ระบบหลายเวอร์ชันหรือหลายบิลด์

เทียบโฟลเดอร์กับอุปกรณ์จริง

ออกจาก Xcode และถอดอุปกรณ์ก่อน ใน Finder กด Command-Shift-G แล้วไปที่ ~/Library/Developer/Xcode เพื่อวัดขนาดโฟลเดอร์ iOS DeviceSupport และ macOS DeviceSupport หรือรัน du -sh ~/Library/Developer/Xcode/*DeviceSupport* ในเทอร์มินัล ซึ่งเป็นการอ่านอย่างเดียว จากนั้นจดเวอร์ชันระบบของอุปกรณ์จริงทุกเครื่องที่ยังดีบัก ดูได้ที่ การตั้งค่า > ทั่วไป > เกี่ยวกับ ในอุปกรณ์ หรือที่ Window > Devices and Simulators ใน Xcode เก็บโฟลเดอร์ที่ตรงกับเวอร์ชันและบิลด์เหล่านั้น รวมถึงเวอร์ชันที่ทีมต้องใช้ทดสอบหรือใช้ใน CI ชื่อที่คล้ายกันอาจเป็นคนละบิลด์

  1. ออกจาก Xcode และ Simulator แล้วถอดอุปกรณ์ทดสอบออก
  2. เปิด ~/Library/Developer/Xcode ใน Finder แล้ววัดขนาดโฟลเดอร์ DeviceSupport แต่ละโฟลเดอร์
  3. จดเวอร์ชันระบบของอุปกรณ์จริงทุกเครื่องที่ยังต้องดีบัก
  4. เก็บเวอร์ชันที่ตรงกัน รวมถึงเวอร์ชันเบต้าหรือเวอร์ชันที่ทีมต้องใช้ทดสอบความเข้ากันได้ในเร็ว ๆ นี้
  5. ย้ายเฉพาะโฟลเดอร์เวอร์ชันเก่าที่ไม่ตรงกับอุปกรณ์ใดไปถังขยะ และยังไม่ล้างถังขยะจนกว่าจะต่ออุปกรณ์และดีบักได้สำเร็จ

อย่าสับสน DeviceSupport กับ Xcode Archives เพราะ symbols ของอุปกรณ์มักเตรียมใหม่ได้ แต่ dSYM ของบิลด์ที่เผยแพร่แล้วอาจหาแทนไม่ได้

ลบเฉพาะเวอร์ชันที่เลิกใช้

ย้ายไปถังขยะทีละโฟลเดอร์ของเวอร์ชันที่ยืนยันแล้ว และอย่าลบทั้งโฟลเดอร์ iOS DeviceSupport หากภายหลังต่ออุปกรณ์ที่ใช้เวอร์ชันที่ลบไป Xcode อาจแสดงข้อความ “Preparing debugger support” ระหว่างเตรียมข้อมูลใหม่ ซึ่งต้องใช้เวลา ต้องมีตัวอุปกรณ์และเครื่องมือที่เข้ากันได้ และอาจขัดจังหวะงานดีบักตอนที่กำลังเร่งงาน คำแนะนำของ Apple ให้ลบแล้วต่ออุปกรณ์ใหม่เคยเป็นวิธีแก้ปัญหาเฉพาะ Xcode บางรุ่น จึงเป็นเพียงหลักฐานว่าเตรียมข้อมูลใหม่ได้ ไม่ใช่คำแนะนำให้ลบทุกเวอร์ชันที่ยังใช้อยู่

วางแผนต้นทุนการกู้คืน

การเตรียมข้อมูลใหม่อาจไม่สำเร็จหาก Xcode เก่าเกินไปสำหรับระบบนั้น หรือขาดคอมโพเนนต์ที่ต้องใช้ จึงควรเก็บเวอร์ชันที่จำเป็นไว้ก่อนทำงานแบบออฟไลน์ สำหรับระบบเวอร์ชันเก่าที่ต่ออุปกรณ์ซ้ำไม่ได้แล้ว ทางเลือกที่ระมัดระวังคือย้ายโฟลเดอร์ไปดิสก์ภายนอกที่มีการสำรองข้อมูล แล้วคืนกลับตำแหน่งเดิมหากต้องใช้ หลังล้างให้วัดซ้ำด้วย Finder หรือ du เพราะตัวเลขใน การตั้งค่าระบบ > ทั่วไป > พื้นที่จัดเก็บข้อมูล อาจอัปเดตช้า AskClean แสดง DeviceSupport แยกทีละเวอร์ชัน เวอร์ชันล่าสุดของอุปกรณ์แต่ละรุ่นจะไม่ถูกเลือก ส่วนเวอร์ชันที่เก่ากว่าจะถูกเลือกไว้ล่วงหน้าให้คุณตรวจ ไม่มีสิ่งใดถูกลบจนกว่าคุณจะยืนยัน และรายการที่ยืนยันจะถูกลบอย่างถาวร

สรุปการตัดสินใจและขอบเขตความปลอดภัย

DeviceSupport ของ Xcode เก็บอะไร ลบ iOS เวอร์ชันไหนได้บ้าง และวิธีแยก symbols ของอุปกรณ์ออกจากรันไทม์ Simulator และ dSYM ของแอปเพื่อไม่ให้ลบผิดหมวด

การตัดสินใจตรวจสอบได้ที่ขอบเขตความปลอดภัย
DeviceSupport เก็บอะไร~/Library/Developer/Xcode/iOS DeviceSupportเมื่อดีบักบน iPhone, iPad, Apple Watch หรือ Mac เครื่องจริง Xcode ต้องใช้ข้อมูลสนับสนุนที่ตรงกับบิลด์ระบบของอุปกรณ์นั้น ข้อมูลนี้ช่วยให้ Xcode เข้าใจ framework และ symbols ของระบบขณะต่อ debugger และเก็บแยกโฟลเดอร์ตามเวอร์ชันไว้ที่ ~/Library/Developer/Xcode/iOS DeviceSupport รวมถึงโฟลเดอร์คู่กันอย่าง macOS DeviceSupport ข้อมูลนี้ไม่ใช่ซอร์สโค้ดของแอป ไม่ใช่อุปกรณ์จำลองของ Simulator ไม่ใช่ dSYM ของแอปที่เผยแพร่แล้ว และไม่ใช่รูปภาพหรือข้อมูลสำรองของ iPhone โฟลเดอร์นี้โตขึ้นเมื่อคุณต่ออุปกรณ์ที่ใช้ระบบหลายเวอร์ชันหรือหลายบิลด์
เทียบโฟลเดอร์กับอุปกรณ์จริงWindow > Devices and Simulatorsออกจาก Xcode และถอดอุปกรณ์ก่อน ใน Finder กด Command-Shift-G แล้วไปที่ ~/Library/Developer/Xcode เพื่อวัดขนาดโฟลเดอร์ iOS DeviceSupport และ macOS DeviceSupport หรือรัน du -sh ~/Library/Developer/Xcode/*DeviceSupport* ในเทอร์มินัล ซึ่งเป็นการอ่านอย่างเดียว จากนั้นจดเวอร์ชันระบบของอุปกรณ์จริงทุกเครื่องที่ยังดีบัก ดูได้ที่ การตั้งค่า > ทั่วไป > เกี่ยวกับ ในอุปกรณ์ หรือที่ Window > Devices and Simulators ใน Xcode เก็บโฟลเดอร์ที่ตรงกับเวอร์ชันและบิลด์เหล่านั้น รวมถึงเวอร์ชันที่ทีมต้องใช้ทดสอบหรือใช้ใน CI ชื่อที่คล้ายกันอาจเป็นคนละบิลด์
ลบเฉพาะเวอร์ชันที่เลิกใช้ถังขยะ / ทดสอบต่ออุปกรณ์อีกครั้งย้ายไปถังขยะทีละโฟลเดอร์ของเวอร์ชันที่ยืนยันแล้ว และอย่าลบทั้งโฟลเดอร์ iOS DeviceSupport หากภายหลังต่ออุปกรณ์ที่ใช้เวอร์ชันที่ลบไป Xcode อาจแสดงข้อความ “Preparing debugger support” ระหว่างเตรียมข้อมูลใหม่ ซึ่งต้องใช้เวลา ต้องมีตัวอุปกรณ์และเครื่องมือที่เข้ากันได้ และอาจขัดจังหวะงานดีบักตอนที่กำลังเร่งงาน คำแนะนำของ Apple ให้ลบแล้วต่ออุปกรณ์ใหม่เคยเป็นวิธีแก้ปัญหาเฉพาะ Xcode บางรุ่น จึงเป็นเพียงหลักฐานว่าเตรียมข้อมูลใหม่ได้ ไม่ใช่คำแนะนำให้ลบทุกเวอร์ชันที่ยังใช้อยู่
วางแผนต้นทุนการกู้คืนXcode / อุปกรณ์ / เครือข่ายการเตรียมข้อมูลใหม่อาจไม่สำเร็จหาก Xcode เก่าเกินไปสำหรับระบบนั้น หรือขาดคอมโพเนนต์ที่ต้องใช้ จึงควรเก็บเวอร์ชันที่จำเป็นไว้ก่อนทำงานแบบออฟไลน์ สำหรับระบบเวอร์ชันเก่าที่ต่ออุปกรณ์ซ้ำไม่ได้แล้ว ทางเลือกที่ระมัดระวังคือย้ายโฟลเดอร์ไปดิสก์ภายนอกที่มีการสำรองข้อมูล แล้วคืนกลับตำแหน่งเดิมหากต้องใช้ หลังล้างให้วัดซ้ำด้วย Finder หรือ du เพราะตัวเลขใน การตั้งค่าระบบ > ทั่วไป > พื้นที่จัดเก็บข้อมูล อาจอัปเดตช้า AskClean แสดง DeviceSupport แยกทีละเวอร์ชัน เวอร์ชันล่าสุดของอุปกรณ์แต่ละรุ่นจะไม่ถูกเลือก ส่วนเวอร์ชันที่เก่ากว่าจะถูกเลือกไว้ล่วงหน้าให้คุณตรวจ ไม่มีสิ่งใดถูกลบจนกว่าคุณจะยืนยัน และรายการที่ยืนยันจะถูกลบอย่างถาวร

คำถามที่พบบ่อย

ลบ iOS DeviceSupport ปลอดภัยไหม?

โฟลเดอร์ของระบบเวอร์ชันที่ไม่ได้ดีบักแล้วโดยทั่วไปลบได้ ให้เก็บเวอร์ชันที่อุปกรณ์จริงยังใช้อยู่ หากภายหลังต้องใช้เวอร์ชันที่ลบไป Xcode อาจต้องเตรียมหรือคัดลอกข้อมูลใหม่เมื่อต่ออุปกรณ์นั้น การลบนี้ไม่แตะรูปภาพ แอป หรือข้อมูลสำรองใน iPhone

ทำไม Xcode สร้างโฟลเดอร์กลับมาอีก?

Xcode ต้องใช้ข้อมูลสนับสนุนของระบบในอุปกรณ์จริงที่ต่ออยู่ เมื่อไม่มี Xcode จะเตรียมหรือคัดลอกใหม่ ถ้าคุณยังดีบักเวอร์ชันเดิมต่อไป พื้นที่ส่วนนี้จึงกลับมา

ลบ DeviceSupport แล้วรันไทม์ Simulator หรือ dSYM ของแอปจะหายไหม?

ไม่หาย รันไทม์และข้อมูลอุปกรณ์จำลองจัดการแยกผ่าน Xcode Settings > Components, simctl และโฟลเดอร์ CoreSimulator ส่วน dSYM ของแอปที่เผยแพร่แล้วอยู่กับ archive หรือสำเนาที่คุณเก็บไว้ DeviceSupport จึงใช้แทน dSYM ไม่ได้ และต้องเก็บ archive หรือ dSYM ที่ตรงกันไว้สำหรับแปลงรายงานแครช

แหล่งอ้างอิง

คู่มือจัดการพื้นที่สำหรับนักพัฒนาที่เกี่ยวข้อง