วิธีถอนการติดตั้ง Xcode บน Mac ให้หมดจด โดยไม่ทำโปรเจกต์หรือ dSYM หาย
ทีม AskClean · อัปเดตเมื่อ 2026-11-02
หากต้องการถอนการติดตั้ง Xcode ให้หมดจด ให้เก็บโฟลเดอร์โปรเจกต์ รวมถึง Archives และ dSYM ที่บิลด์ซึ่งเผยแพร่แล้วยังต้องใช้ไว้ก่อน จากนั้นลบรันไทม์ Simulator ที่ไม่ต้องใช้ขณะที่ Xcode ยังติดตั้งอยู่ ย้าย Xcode ไปถังขยะ ตรวจ DerivedData แยกต่างหาก และเก็บ Command Line Tools ไว้ถ้า Homebrew หรือคอมไพเลอร์อื่นยังใช้อยู่ วิธีที่ปลอดภัยคือลบเฉพาะข้อมูลนักพัฒนาที่สร้างใหม่ได้ โดยไม่เหมาว่าทุกโฟลเดอร์ใน Library เป็นขยะ

ปกป้องข้อมูลที่สร้างใหม่ไม่ได้ก่อนถอนการติดตั้ง
โฟลเดอร์โปรเจกต์ไม่ใช่ไฟล์ตกค้างของ Xcode การลบ Xcode.app ไม่ได้ลบโปรเจกต์ของคุณ แต่การลบโฟลเดอร์โปรเจกต์จะลบงานนั้นไปด้วย ให้สำรองรีโพซิทอรี ไฟล์ที่ยังไม่ commit แพ็กเกจในเครื่อง และ asset ไว้ก่อน เก็บ Archives และ dSYM ของเวอร์ชันที่ยังเผยแพร่บน App Store, TestFlight หรือที่ลูกค้ายังใช้อยู่ เพราะต้องใช้วิเคราะห์แครช และเก็บอุปกรณ์จำลองใน Simulator ที่ยังมีสถานะหรือข้อมูลทดสอบที่ต้องใช้ไว้ด้วย จากนั้นวัดขนาด DerivedData, Archives, iOS DeviceSupport และ CoreSimulator แยกกัน (ใช้ “ขอรายละเอียด” ใน Finder หรือ du -sh ในเทอร์มินัล) ก่อนตัดสินใจลบ
ลบแอปด้วยวิธีเดียวกับที่ใช้ติดตั้ง
ถ้าจะลบรันไทม์หรืออุปกรณ์จำลอง ให้ทำผ่าน Settings > Components ของ Xcode (Xcode 14–15 เรียกว่า Platforms) หรือ xcrun simctl ขณะที่ Xcode ยังติดตั้งอยู่ จากนั้นออกจาก Xcode และ Simulator แล้วใช้ Finder ย้าย Xcode.app (และสำเนาอื่น เช่น Xcode-beta.app ถ้ามี) ไปถังขยะ อย่ารีบลบ /Library/Developer/CommandLineTools เพราะ Git, Homebrew, clang และสคริปต์บิลด์อาจยังใช้อยู่ DerivedData ลบได้โดยไม่กระทบซอร์สโค้ด แต่การทำดัชนีและบิลด์ครั้งถัดไปจะช้าลง
ตรวจสอบก่อนล้างถังขยะ
ค้นหาสำเนา Xcode ที่เหลือในโฟลเดอร์แอปพลิเคชันและ Spotlight ตรวจในตัวตรวจสอบกิจกรรมว่าไม่มีโปรเซสของ Xcode หรือ Simulator ทำงานอยู่ แล้วรัน xcode-select -p อีกครั้ง ถ้าพาธชี้ไปที่ Command Line Tools แปลว่าเครื่องมือนักพัฒนายังอยู่ตามที่ตั้งใจ แต่ถ้ายังชี้เข้าไปใน Xcode ที่ลบไปแล้ว ต้องเปลี่ยนไดเรกทอรีนักพัฒนาที่ใช้อยู่ ยืนยันว่าโฟลเดอร์โปรเจกต์ รวมถึง Archives และ dSYM ที่จำเป็นยังอยู่ครบ แล้วค่อยล้างถังขยะ ตัวเลข “ข้อมูลระบบ” ในหน้าพื้นที่จัดเก็บข้อมูลอาจต้องใช้เวลาหรือรีสตาร์ทก่อนจะอัปเดต
แผนผังความปลอดภัยในการถอนการติดตั้ง
| ขั้นตอน | จุดที่ตรวจหรือดำเนินการ | สิ่งที่ต้องทำและผลที่ตามมา |
|---|---|---|
| ปกป้องข้อมูลที่สร้างใหม่ไม่ได้ก่อนถอนการติดตั้ง | โฟลเดอร์โปรเจกต์ / Xcode Organizer / Archives | โฟลเดอร์โปรเจกต์ไม่ใช่ไฟล์ตกค้างของ Xcode การลบ Xcode.app ไม่ได้ลบโปรเจกต์ของคุณ แต่การลบโฟลเดอร์โปรเจกต์จะลบงานนั้นไปด้วย ให้สำรองรีโพซิทอรี ไฟล์ที่ยังไม่ commit แพ็กเกจในเครื่อง และ asset ไว้ก่อน เก็บ Archives และ dSYM ของเวอร์ชันที่ยังเผยแพร่บน App Store, TestFlight หรือที่ลูกค้ายังใช้อยู่ เพราะต้องใช้วิเคราะห์แครช และเก็บอุปกรณ์จำลองใน Simulator ที่ยังมีสถานะหรือข้อมูลทดสอบที่ต้องใช้ไว้ด้วย จากนั้นวัดขนาด DerivedData, Archives, iOS DeviceSupport และ CoreSimulator แยกกัน (ใช้ “ขอรายละเอียด” ใน Finder หรือ du -sh ในเทอร์มินัล) ก่อนตัดสินใจลบ |
| ลบแอปด้วยวิธีเดียวกับที่ใช้ติดตั้ง | /Applications/Xcode.app / Finder | ถ้าจะลบรันไทม์หรืออุปกรณ์จำลอง ให้ทำผ่าน Settings > Components ของ Xcode (Xcode 14–15 เรียกว่า Platforms) หรือ xcrun simctl ขณะที่ Xcode ยังติดตั้งอยู่ จากนั้นออกจาก Xcode และ Simulator แล้วใช้ Finder ย้าย Xcode.app (และสำเนาอื่น เช่น Xcode-beta.app ถ้ามี) ไปถังขยะ อย่ารีบลบ /Library/Developer/CommandLineTools เพราะ Git, Homebrew, clang และสคริปต์บิลด์อาจยังใช้อยู่ DerivedData ลบได้โดยไม่กระทบซอร์สโค้ด แต่การทำดัชนีและบิลด์ครั้งถัดไปจะช้าลง |
| ตรวจสอบก่อนล้างถังขยะ | xcode-select -p / ตัวตรวจสอบกิจกรรม | ค้นหาสำเนา Xcode ที่เหลือในโฟลเดอร์แอปพลิเคชันและ Spotlight ตรวจในตัวตรวจสอบกิจกรรมว่าไม่มีโปรเซสของ Xcode หรือ Simulator ทำงานอยู่ แล้วรัน xcode-select -p อีกครั้ง ถ้าพาธชี้ไปที่ Command Line Tools แปลว่าเครื่องมือนักพัฒนายังอยู่ตามที่ตั้งใจ แต่ถ้ายังชี้เข้าไปใน Xcode ที่ลบไปแล้ว ต้องเปลี่ยนไดเรกทอรีนักพัฒนาที่ใช้อยู่ ยืนยันว่าโฟลเดอร์โปรเจกต์ รวมถึง Archives และ dSYM ที่จำเป็นยังอยู่ครบ แล้วค่อยล้างถังขยะ ตัวเลข “ข้อมูลระบบ” ในหน้าพื้นที่จัดเก็บข้อมูลอาจต้องใช้เวลาหรือรีสตาร์ทก่อนจะอัปเดต |
คำถามที่พบบ่อย
ลบ ~/Library/Developer ทั้งโฟลเดอร์ได้ไหม?
ไม่ควร เพราะในนั้นมี DerivedData ที่สร้างใหม่ได้ ปะปนกับ Archives/dSYM, DeviceSupport, รันไทม์ของ Simulator และสถานะของอุปกรณ์จำลอง ให้ตรวจและลบแยกตามหมวดย่อยแทนการลบทั้งโฟลเดอร์
แหล่งอ้างอิง