Cách gỡ hoàn toàn Xcode trên Mac mà không mất dự án hoặc dSYM
Đội ngũ AskClean · Cập nhật 2026-09-01
Trước khi gỡ hoàn toàn Xcode, hãy sao lưu dự án nguồn và giữ Archives cùng dSYM còn cần cho các bản build đã phát hành. Sau đó đưa ứng dụng vào Thùng rác và kiểm tra riêng DerivedData, simulator, DeviceSupport và công cụ dòng lệnh.

Bảo vệ dữ liệu không thể tạo lại trước khi gỡ cài đặt
Thư mục dự án không phải tệp thừa của Xcode. Hãy bảo vệ repository, tệp chưa commit, gói cục bộ và tài nguyên. Giữ Archives/dSYM của phiên bản còn trên App Store, TestFlight hoặc máy khách và trạng thái Simulator cần thiết.
- Thoát Xcode trước đã. Xóa DerivedData trong lúc Xcode đang chạy có thể làm trình lập chỉ mục của nó rối loạn, và những tệp Xcode đang mở có thể không xóa được gọn gàng.
- Tìm thư mục: trong Xcode, mở Settings > Locations rồi nhấp mũi tên nhỏ cạnh đường dẫn DerivedData để hiện nó trong Finder. Hoặc trong Finder nhấn Command-Shift-G và nhập thẳng ~/Library/Developer/Xcode/DerivedData.
- Sắp xếp các thư mục con theo kích cỡ, chọn những cái muốn bỏ (hoặc Command-A để chọn hết) rồi chuyển vào Thùng rác. Đưa vào Thùng rác trước là thói quen an toàn hơn — đổi ý thì khôi phục lại ngay tức khắc.
- Nếu thích dùng Terminal: rm -rf ~/Library/Developer/Xcode/DerivedData xóa mọi thứ trong một phát. Nó nhanh hơn Finder với những thư mục rất lớn, nhưng hãy đọc ghi chú bên dưới trước khi dùng.
- Mở lại Xcode và build. Hãy chuẩn bị tinh thần lần build đầu của mỗi dự án sẽ lâu hơn thấy rõ, và "Indexing" sẽ chạy trên thanh hoạt động một lúc — cả hai đều là chi phí một lần.
Cẩn thận với rm -rf: nó bỏ qua Thùng rác và xóa vĩnh viễn, không hoàn tác được. Gõ đường dẫn thật chính xác, đừng bao giờ chạy với sudo cho việc này, và nếu bạn chưa quen Terminal thì đường Finder làm y hệt công việc đó mà vẫn đảo ngược được.
Xóa DerivedData
Có ba cách làm, và cả ba dẫn về cùng một đích. Lệnh Clean Build Folder của Xcode (Product > Clean Build Folder, hay Command-Shift-K) chỉ dọn sản phẩm build của dự án đang mở — hữu ích khi cần sửa một bản build trục trặc, nhưng gần như không nhúc nhích kim dung lượng ổ đĩa. Muốn thu hồi dung lượng thật, hãy xóa chính các thư mục DerivedData.
Xóa theo từng dự án là phương án tỉ mỉ: giữ lại DerivedData cho hai ba dự án bạn build hằng ngày, và gỡ thư mục của mọi thứ còn lại. Xóa sạch toàn bộ là phương án nhanh gọn, và cũng chẳng sao — bạn chỉ phải trả giá build lại toàn phần cho mọi dự án cùng một lúc.
Gỡ ứng dụng theo đúng cách đã dùng để cài
Thoát Xcode và Simulator rồi chuyển đúng Xcode.app vào Thùng rác bằng Finder. Không tự động xóa /Library/Developer/CommandLineTools; Git, Homebrew, clang và script build có thể vẫn cần nó.
Bộ nhớ đệm trình quản lý gói (SwiftPM, CocoaPods, npm, Homebrew)
Trình quản lý gói giữ lại mọi phần phụ thuộc từng tải về để các lần cài sau được nhanh. Đó là kỹ thuật tốt nhưng lại là vệ sinh ổ đĩa tồi: các bộ nhớ đệm chỉ có phình lên, và trên một chiếc máy đã qua vài năm dự án, chúng âm thầm cộng dồn thành 10-20 GB. Tất cả đều dọn được an toàn — tệ nhất thì lần cài kế tiếp phải tải lại gói.
Swift Package Manager lưu đệm các gói đã tải ở ~/Library/Caches/org.swift.swiftpm, và các bản checkout đã resolve của từng dự án cũng nằm trong thư mục DerivedData của nó — nên dọn DerivedData là đã dọn luôn những thứ đó. Bộ nhớ đệm dùng chung thì xóa được từ Finder, hoặc bằng rm -rf trên đường dẫn ấy.
Kiểm tra trước khi dọn sạch Thùng rác
Kiểm tra lại Applications, tiến trình và xcode-select -p. Xác nhận dự án, Archives/dSYM cần thiết và dữ liệu Simulator vẫn còn trước khi dọn Thùng rác. System Data có thể cập nhật chậm.
Bản đồ an toàn khi gỡ cài đặt hoàn toàn
Gỡ Xcode an toàn và tách cache có thể tạo lại khỏi Archives, DeviceSupport, dữ liệu Simulator và Command Line Tools.
| Quyết định | Nơi kiểm tra hoặc thao tác | Hệ quả và xác minh |
|---|---|---|
| Bảo vệ dữ liệu không thể tạo lại trước khi gỡ cài đặt | Projects / Xcode Organizer / Archives | Thư mục dự án không phải tệp thừa của Xcode. Hãy bảo vệ repository, tệp chưa commit, gói cục bộ và tài nguyên. Giữ Archives/dSYM của phiên bản còn trên App Store, TestFlight hoặc máy khách và trạng thái Simulator cần thiết. |
| Gỡ ứng dụng theo đúng cách đã dùng để cài | /Applications/Xcode.app / Finder | Thoát Xcode và Simulator rồi chuyển đúng Xcode.app vào Thùng rác bằng Finder. Không tự động xóa /Library/Developer/CommandLineTools; Git, Homebrew, clang và script build có thể vẫn cần nó. |
| Kiểm tra trước khi dọn sạch Thùng rác | xcode-select -p / Activity Monitor | Kiểm tra lại Applications, tiến trình và xcode-select -p. Xác nhận dự án, Archives/dSYM cần thiết và dữ liệu Simulator vẫn còn trước khi dọn Thùng rác. System Data có thể cập nhật chậm. |
Câu hỏi thường gặp
Có thể xóa toàn bộ ~/Library/Developer không?
Không. Thư mục này chứa cả DerivedData có thể tạo lại lẫn Archives/dSYM, DeviceSupport, runtime và trạng thái Simulator; cần xét từng nhóm.
Xóa DerivedData có an toàn không?
Có — đây là một trong những lần xóa cỡ lớn an toàn nhất trên máy Mac. DerivedData chỉ chứa các tệp Xcode sinh ra từ mã nguồn của bạn: sản phẩm build, bộ nhớ đệm module, chỉ mục và nhật ký. Mã của bạn, tệp dự án và lịch sử git nằm ở nơi khác và không bao giờ bị ảnh hưởng. Hệ quả duy nhất là lần build kế tiếp của mỗi dự án phải build lại toàn phần và việc lập chỉ mục chạy lại.
Bao lâu tôi nên dọn DerivedData một lần?
Không có lịch trình bắt buộc — hãy dọn khi nó đủ lớn để đáng bận tâm, với hầu hết lập trình viên năng động thì tức là mỗi một hai tháng. Có hai thời điểm luôn xứng đáng: khi bạn cần dung lượng ổ đĩa gấp, và khi một dự án hiện lỗi build khó hiểu hay gợi ý mã bị ôi thiu — lúc đó xóa trắng DerivedData là phép sửa đầu tiên kinh điển.
Nguồn tham khảo