AskCleanAskClean

พื้นที่จัดเก็บ Xcode Simulator: รันไทม์และข้อมูลอุปกรณ์

ทีม AskClean · อัปเดตเมื่อ 2026-09-29

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

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

แยกรันไทม์กับข้อมูลอุปกรณ์

รันไทม์คืออิมเมจระบบปฏิบัติการที่ใช้ร่วมกัน ส่วนแต่ละอุปกรณ์มีแอป เอกสาร แคช และสถานะทดสอบของตนเอง เริ่มจาก xcrun simctl list devices สคริปต์แบบอ่านอย่างเดียวด้านล่างวัดโฟลเดอร์นักพัฒนาทั่วไปและแสดงสถานะ โดยไม่ลบไฟล์หรือขอสิทธิ์ผู้ดูแลระบบ อ่านโค้ดก่อนรัน สคริปต์ไม่ครอบคลุมตำแหน่งรันไทม์ระดับระบบทั้งหมด จึงต้องตรวจสอบตัวจัดการคอมโพเนนต์ของ Xcode ด้วย

ชื่อเมนูคงไว้เป็นภาษาอังกฤษ ชื่อที่แสดงจริงอาจต่างกันตามภาษาของอินเทอร์เฟซและเวอร์ชัน

ยืนยันขอบเขตทั้งหมดก่อนลบ

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

อุปกรณ์ที่ยังใช้ได้สามารถลบทีละเครื่องในตัวจัดการ Simulator บางเวอร์ชันใช้ Window > Devices and Simulators > Simulators การลบเนื้อหาและการตั้งค่าจะคงอุปกรณ์ไว้ ส่วนการลบอุปกรณ์จะเอารายการอุปกรณ์ออกด้วย ทั้งสองอย่างไม่ย้ายข้อมูลที่สูญหายไปไว้ในถังขยะ

จัดการรันไทม์ผ่าน Xcode

เปิด Xcode Settings > Components ซึ่งบางเวอร์ชันเก่าเรียกว่า Platforms เก็บระบบที่ต้องใช้ทดสอบหรือจำลองปัญหาของผู้ใช้ ใช้ตัวจัดการนี้แทนการลบไฟล์ภายในแพ็กเกจเอง อย่าลบทั้ง ~/Library/Developer/CoreSimulator หรือไฟล์แคชที่ไม่ทราบหน้าที่

ตรวจสอบทั้งพื้นที่และการทำงาน

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

เก็บ Archives และ dSYM แยกต่างหาก

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

สิ่งที่ต้องตรวจสอบก่อนลบ

ตรวจสอบตำแหน่งจริง การใช้งาน และวิธีกู้คืนก่อน ตารางนี้ไม่ใช่รายการสำหรับลบอัตโนมัติและไม่ได้รับประกันว่าจะได้พื้นที่คืนเท่าใด

รายการจุดที่ตรวจสอบผลกระทบและเงื่อนไข
อุปกรณ์ที่ไม่พร้อมใช้งานxcrun simctl list devicesแอปและสถานะทดสอบจะหายไป ตรวจสอบทั้งรายการก่อน
อุปกรณ์ที่พร้อมใช้งานXcode > Devices and Simulatorsลบข้อมูลของอุปกรณ์ที่เลือก ส่งออกสิ่งที่ต้องใช้ก่อน
รันไทม์Xcode Settings > Componentsนำอิมเมจระบบออก การติดตั้งใหม่ไม่คืนข้อมูลอุปกรณ์
แคช CoreSimulator~/Library/Developer/CoreSimulator/Cachesตรวจสอบขนาด คู่มือนี้ไม่ได้ตรวจยืนยันการลบด้วยตนเอง

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

ลบอุปกรณ์ unavailable ได้อย่างปลอดภัยหรือไม่?

ต้องตรวจสอบรายการทั้งหมดก่อน คำสั่งลบทุกอุปกรณ์ที่เข้าข่ายและข้อมูลโดยไม่ผ่านถังขยะ การไม่มีรันไทม์ไม่ได้แปลว่าข้อมูลไม่จำเป็น

ทำไมยังใช้พื้นที่มากหลังลบ?

รันไทม์ที่ติดตั้งและอุปกรณ์ที่ใช้ได้ยังคงอยู่ ต้องตรวจสอบแยกกัน ส่วน DerivedData เป็นผลลัพธ์บิลด์อีกประเภท การลบไม่ได้เอารันไทม์ Simulator ออก

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