Tôi có thể xóa an toàn nội dung của thư mục dữ liệu Xcode Derogen không?


293

Tôi sắp hết dung lượng đĩa và kiểm tra thông qua tiện ích của bên thứ ba rằng trong số những thứ khác mà thư mục ~ / Library / Developer / Xcode / DeruredData đang chiếm khoảng 22GB dung lượng đĩa.

Tôi đã tìm kiếm stackoverflow và tìm thấy bài đăng này

Làm cách nào để xóa an toàn trong thư mục ~ / Library / Developer / Xcode / DeruredData của tôi?

Câu trả lời được chấp nhận cho câu hỏi này cho thấy rằng tôi không nên chạm / xóa thư mục khỏi thư mục này. vì vậy những gì tôi đã làm là

  • Tìm thấy thư mục dự án xây dựng hiện có cho một ứng dụng mà tôi có sẵn trên Appstore
  • Đã xóa thư mục từ thư mục dẫn xuất
  • ra mắt XCode 5
  • Mở dự án đó
  • Xây dựng sạch
  • Đã thử nghiệm và biên dịch nó trên một trình giả lập
  • Tái sinh
  • Tất cả mọi thứ đã làm việc. Không có gì bị phá vỡ.

Trừ khi tôi bỏ lỡ điều gì đó trong bài đăng đó trả lời, tôi muốn đảm bảo bằng cách hỏi các nhà phát triển có kinh nghiệm rằng nếu tôi xóa tất cả các thư mục khỏi DerivingData, điều đó sẽ không làm tôi tổn thương trong việc xây dựng, thử nghiệm và biên dịch các dự án đó.


câu trả lời được chấp nhận cho câu hỏi được tham chiếu là stackoverflow.com/a/7284632/8047 không nói gì về việc không xóa khỏi DeruredData ... mặc dù Lưu trữ rất quan trọng để gỡ lỗi nội dung sau, nhưng đó là một thư mục khác.
Dan Rosenstark

Câu trả lời:


372

Có, bạn có thể xóa tất cả các tệp từ DerivedDatathư mục con (Not DerivedData Folder)trực tiếp.

Điều đó sẽ không ảnh hưởng đến công việc dự án của bạn. Nội dung của DerivedDatathư mục được tạo trong thời gian xây dựng và bạn có thể xóa chúng nếu muốn. Đó không phải là một vấn đề.

Nội dung của DerivedDatasẽ được tạo lại khi bạn xây dựng lại các dự án của mình.

Cập nhật Xcode8 +

Từ Xcode8 đã loại bỏ tùy chọn dự án khỏi tab cửa sổ để bạn vẫn có thể sử dụng cách đầu tiên:

Xcode -> Preferences -> location -> click on small arrow button as i explain in my first answer.

Cập nhật Xcode7.3 Để xóa DeriveData của dự án cụ thể, bạn chỉ cần làm theo các bước sau:

Đi tới Window -> Project:

nhập mô tả hình ảnh ở đây

Bạn có thể tìm thấy danh sách dự án và bạn có thể vào DerivedDataThư mục hoặc bạn có thể xóa trực tiếp từng dự ánDerivedData

nhập mô tả hình ảnh ở đây


Tôi không làm việc trên Xcode5 nhưng trong 4.6.3 bạn có thể tìm thấy DerivedDatathư mục như trong hình dưới đây:

nhập mô tả hình ảnh ở đây

Sau khi nhấp vào Tùy chọn ..

nhập mô tả hình ảnh ở đây

Bạn có cửa sổ này

nhập mô tả hình ảnh ở đây


1
Cám ơn nhiều, ông bạn. Nội dung "Dữ liệu được tạo ra" về cơ bản có giống như các tệp được lưu trong bộ nhớ cache và không mong muốn của Xcode không? Vì vậy, đó là lý do tại sao nó có thể xóa nó để xóa không gian?
Supertecnoboff

1
@gone Bạn đang nói về cái gì vậy? Các tập tin được xây dựng phải đi đâu đó.
Droppy

2
Chà, với CMake và các hệ thống tạo khác, ngay cả với các bản dựng ngoài nguồn, các tệp được tạo, v.v. vẫn nằm trong đường dẫn của dự án và bị xóa nếu tôi xóa cấu trúc thư mục hoặc xóa khi tôi thực hiện dọn dẹp. Vì tôi đang đánh dấu khoảng 100 bài tập mỗi tuần hoặc lâu hơn, tôi nhận được một lượng lớn các tệp mà tôi cần nhớ để xóa thủ công và sử dụng XCode UI, từng dữ liệu của từng dự án. Vì vậy, tôi đứng trước bình luận trước đây của mình, mặc dù hiện tại tôi đã triển khai bí danh của William trong .bashrc.
đi

XCode 8 thay đổi mọi thứ một lần nữa (nó luôn luôn đau ở mông). Bây giờ, chúng ta cần phải tự đi đến thư mục tại /Users/YourUsername/Library/Developer/Xcode/DerivedDatavà xóa tất cả chúng. Như bạn đã chỉnh sửa cho XCode 7, tôi nghĩ rằng bạn có thể muốn chỉnh sửa lại cho XCode 8.
sweta.me 17/2/2017

1
bạn có thể kiểm tra câu trả lời đầy đủ của tôi có nhiều câu trả lời trong cùng một câu trả lời cũ vẫn đang hoạt động để đi ưu tiên và từ tab vị trí. :)
Nitin Gohel

124

Tôi thanh lọc dẫn xuấtData thường đủ để tôi có bí danh cho nó. Nó có thể sửa chữa các vấn đề xây dựng. Tôi có các mục sau trong /Users/Myusername/.bash_profile

alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'

Sau đó, trong terminal, tôi gõ purgeallbuilds và tất cả các thư mục con của DerivingData sẽ bị xóa.


24
Bạn có thể xóa chính thư mục DerivingData. Nó sẽ chỉ được tạo lại.
Nick Lockwood

1
Build ngay lập tức bị lỗi trong Xcode 8 khi tôi xóa thư mục này. Khi tôi thêm nó trở lại mọi thứ hoạt động trở lại.
Tim

Đây là mẹo rất hữu ích. Tôi thường chạy vào tình trạng thiếu không gian mỗi nửa năm và thật khó để nhớ những thư mục nào cần được thanh trừng. Bí danh chắc chắn là thuận tiện.
Oliver Zhang

35

XCODE 10 CẬP NHẬT

Trên tab:

  1. Nhấp vào Xcode
  2. Sở thích
  3. Vị trí -> Dữ liệu được tạo

Bạn có thể truy cập tất cả các dữ liệu dẫn xuất và xóa bằng cách xóa chúng.


Phần Dữ liệu phái sinh chỉ xác định đường dẫn của dữ liệu dẫn xuất. Tôi không thấy bất cứ nơi nào để xem và xóa chúng. Tại sao không làm điều đó thông qua dòng lệnh?
AlxVallejo

2
@AlxVallejo Ở cuối địa chỉ đường dẫn, bạn sẽ thấy một biểu tượng sẽ đưa bạn đến thư mục. Chạm vào nó và xóa thư mục và nó sẽ được tạo lại.
Umit Kaya

34

CẬP NHẬT XCODE 7.2

(Cũng hoạt động cho 7.1.1)

  1. Nhấp vào Cửa sổ rồi Dự án và sau đó xóa Dữ liệu đã tạo .

Như thế này:

nhập mô tả hình ảnh ở đây

Và sau đó xóa nó ở đây:

nhập mô tả hình ảnh ở đây


Mong rằng sẽ giúp!


2
Điều này sẽ cho phép bạn xóa từng cái một cách thủ công nhưng phương tiện được sử dụng trong các bài đăng khác là để xóa nội dung thư mục DeruredData cùng một lúc
XIII

23
 $ du -h -d=1 ~/Library/Developer/Xcode/*

hiển thị ít nhất hai thư mục rất lớn:

 1.5G   /Users/horace/Library/Developer/Xcode/DerivedData
 9.4G   /Users/horace/Library/Developer/Xcode/iOS DeviceSupport

Vui lòng xóa nội dung trong các thư mục:

 rm -rf ~/Library/Developer/Xcode/DerivedData/*

và một số trong:

 open ~/Library/Developer/Xcode/iOS\ DeviceSupport/

2
thánh tào lao ... xóa các tập tin từ phiên bản cũ của iOS trong thư mục hỗ trợ thiết bị giải phóng lên 28GB ...
Kareem

17

Chỉ cần tạo một repo github với một tập lệnh nhỏ, tạo ra một đĩa RAM. Nếu bạn trỏ thư mục DerivingData của mình vào /Volumes/ramdisk, sau khi đẩy đĩa ra, tất cả các tệp sẽ biến mất.

Nó tăng tốc độ biên dịch, cũng loại bỏ vấn đề này

repo xc

Ra mắt tốt nhất bằng DTerm


11

XCode 8: Để xóa dữ liệu dẫn xuất cho dự án hiện tại của bạn:

Nhấp vào menu Sản phẩm

Giữ phím Tùy chọn

Nhấp vào Clean Build Directory


Khi tôi giữ phím tùy chọn, tùy chọn Clean Build sẽ chuyển sang màu xám. : /
AlxVallejo

4

XCODE 10 CẬP NHẬT

Nhấp vào Xcode tại Thanh trạng thái, sau đó chọn tùy chọn

Trong Cửa sổ PopUp Chọn Vị trí trước Phân đoạn cuối cùng

Bạn có thể truy cập thư mục Dữ liệu đã tạo với biểu tượng nhỏ bên phải

nhập mô tả hình ảnh ở đây


2

~ / Thư viện / Nhà phát triển / Xcode / DeruredData


Theo mặc định là có; Tôi sử dụng ~/tmp/DerivedDatađể tôi có thể đến các tập tin / gói được xây dựng dễ dàng hơn.
Droppy

1

có, an toàn để xóa, tập lệnh của tôi tìm kiếm và loại bỏ mọi trường hợp nó tìm thấy, dễ dàng sửa đổi thành một thư mục cục bộ

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
IFS=$'\n\t'

for drive in Swap Media OSX_10.11.6/$HOME
do
   pushd /Volumes/${drive}  &> /dev/null
   gfind . -depth -name 'DerivedData'|xargs -I '{}' /bin/rm -fR '{}'
   popd &> /dev/null
done


-1

Tôi sẽ nói rằng nó an toàn - tôi thường xóa nội dung của thư mục cho nhiều loại dự án iOS, theo cách này . Và, tôi chưa gặp vấn đề gì với bản dựng hoặc gửi lên App Store. Quy trình xóa dữ liệu dẫn xuất và xóa các tài sản được lưu trong bộ nhớ cache của dự án, cho cả Xcode 5 và 6.

Đôi khi, chỉ cần gọi rm -rf trên thư mục Dữ liệu đã tạo để lại một hoặc hai tệp, nhưng tập lệnh của tôi lặp lại cho đến khi tất cả các tệp bị xóa.


Ừ Typo. Ý tôi là 'cung cấp'
rõ ràng

Ah, tôi đang liên kết đến kịch bản mà tôi đã cung cấp để trả lời cho một câu hỏi khác. Bằng cách này, nếu tôi muốn cập nhật tập lệnh, tôi chỉ cần chỉnh sửa ở một nơi. Bạn có thể theo liên kết?
Sheamus

Tôi thấy mã bây giờ. Không thấy liên kết trước (nếu nó ở đó) cảm ơn.
khai quang

-1

Nội dung của 'Dữ liệu được tạo' được tạo trong thời gian Xây dựng. Bạn có thể xóa nó một cách an toàn. Thực hiện theo các bước bên dưới để xóa 'Dữ liệu đã tạo':

  1. Chọn Xcode -> Tùy chọn ..

Bước 1

  1. Điều này sẽ mở cửa sổ bật lên. Chọn tab ' Vị trí '. Trong tab phụ Vị trí, bạn có thể thấy ' Dữ liệu được tạo ' Nhấp vào biểu tượng mũi tên bên cạnh đường dẫn.

Bước 2

  1. Điều này sẽ mở thư mục chứa 'Dữ liệu được tạo' Nhấp chuột phải và xóa thư mục.

Bước 3

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.