Xcode 4 “Clean” so với “Clean Build Folder”


83

Bạn đến một thời điểm nhất định trong quá trình phát triển mọi ứng dụng mà những gì bạn thấy trong trình mô phỏng không khớp với những gì bạn nghĩ sẽ xảy ra. Hầu hết đây là lỗi của con người - hoặc ít nhất chúng là trong hầu hết các trường hợp của tôi ;-) - nhưng đôi khi Xcode chỉ 'mất dấu', hoặc có vẻ như vậy. Tôi đã biết rằng các tùy chọn menu Clean(Shift + Cmd + K) và Clean Build Folder…(Option + Shift + Command + K) có thể hiển thị sự khác biệt giữa lỗi của bạn hoặc lỗi của Xcode.

Câu hỏi của tôi mặc dù là:

Cleanlệnh làm hoặc không làm, mà để lại một lý do Clean Build Folder…để tồn tại? Khi nào tôi nên chọn cái này thay cho cái kia, tại sao không chỉ luôn dọn dẹp toàn bộ thư mục?


Bạn có thể tìm thấy một số câu trả lời trong câu hỏi có khả năng trùng lặp này .
Michael Dautermann

1
Có thể có một số manh mối ẩn ở đó, nhưng nó hoàn toàn không phải là một câu hỏi trùng lặp. Của tôi là về sự khác biệt giữa thư mục xây dựng sạch và sạch, hai lệnh trông rất giống nhau. Nhưng cảm ơn vì những người đứng đầu.
epologee

Câu trả lời:


92

Clean…dọn dẹp các thư mục cho mục tiêu đã chọn hiện tại.
Clean Build Folder…dọn dẹp các thư mục cho tất cả các mục tiêu.


5
Điều này không rõ ràng với dấu nháy đơn đó trong "tất cả các thư mục của mục tiêu". Bạn có nghĩa là "các thư mục cho tất cả các mục tiêu hoặc là có một số thư mục khác liên quan đến mục tiêu đã chọn?
Michael Forrest

Câu trả lời này không hoàn chỉnh. Clean Build Foldergiải quyết các vấn đề trong các dự án chỉ với một mục tiêu duy nhất.
Basil Bourque,

94

Nếu bạn chọn Cleantừ menu Sản phẩm, XCode sẽ xóa các tệp bên trong mọi thư mục trong thư mục Xây dựng, nếu bạn chọn Clean Build Foldernó sẽ xóa toàn bộ thư mục Xây dựng.

Sau khi Cleanlệnh:

nhập mô tả hình ảnh ở đây Sau khi Clean Build Folderlệnh:

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

Tôi nghĩ bạn nên chọn Clean Build Folderthời điểm bạn muốn tạo một tệp nhị phân mà bạn muốn phát hành lên AppStore, khi bạn làm hỏng dự án của mình hoặc khi ứng dụng của bạn không hoạt động vì một lý do "không xác định", nếu không thì hãy sử dụng Clean.

Tôi hy vọng tôi đã trả lời câu hỏi của bạn: D


5
Xin lỗi vì đã hoài nghi, nhưng điều này có vẻ kỳ quặc. Bạn có nói rằng sự khác biệt duy nhất giữa hai là một xóa các thư mục và một giữ các thư mục nhưng xóa tất cả nội dung? Sự khác biệt khi có bốn thư mục trống là gì? Tuy nhiên, có một sự khác biệt đáng chú ý giữa sạch và đôi khi cần phải thư mục build sạch ...
jowie

3
Vâng, đó là sự khác biệt duy nhất. Cá nhân tôi sử dụng "Dọn dẹp" trước khi tạo ứng dụng cho Trình mô phỏng iOS hoặc khi tôi gặp sự cố lạ với mã và / hoặc XCode và "Thư mục xây dựng sạch" khi tôi muốn xuất bản ứng dụng lên App Store hoặc khi tôi muốn chắc chắn. rằng ứng dụng của tôi được xây dựng từ đầu mà không có bộ nhớ đệm.
Nhôm

4
Có phải chỉ tôi không, hay 'Thư mục xây dựng sạch' nhanh hơn 'Làm sạch'?
Nicolas Miari

Có điều gì đó đã thay đổi đối với Xcode 8, Buildthư mục được giữ lại sau đó Clean Build Folder.... Rõ ràng, Clean Build Folder...là đầy đủ hơn Clean. Tuy nhiên, tôi nghĩ rằng cần xóa ~/Library/Developer/Xcode/DerivedData/xxx-ABCDthư mục trong một số trường hợp chẳng hạn như Xcode của bạn không thể hoạt động bình thường, trong đó xxx là tên của dự án hoặc không gian làm việc của bạn.
DawnSong

Luôn thích khi mọi người quay lại câu hỏi và câu trả lời cũ phổ biến và đưa ra một ví dụ và giải thích rất rõ ràng
Cacoon

5

Kể từ Xcode 10, 'Clean' đã biến mất. Apple nói ở đây :

"Hệ thống bản dựng mới sử dụng hành vi" thư mục bản dựng sạch ". Hành vi" bản dựng sạch "kế thừa không được hỗ trợ".


4

Nếu bạn chọn "Clean", Xcode sẽ xóa các tệp bên trong mọi thư mục (ví dụ: Sản phẩm, Trung gian) trong thư mục Xây dựng, cho mục tiêu hiện tại. Các tệp cho các mục tiêu khác vẫn còn.

Nếu bạn chọn "Clean Build Folder", Xcode sẽ xóa toàn bộ Build Folder, vì vậy không còn lại gì.

Trong hầu hết các trường hợp, "Clean" sẽ hoạt động vì những lý do "không xác định", nhưng bạn vẫn phải "Clean the Build Folder" vì Xcode sẽ không xóa các tệp trong thư mục bao gồm bên trong thư mục Sản phẩm .


0

Một số tệp tại ~/Library/Developer/Xcode/DerivedData/xxx-ABCD, trong đó xxx là tên của dự án hoặc không gian làm việc của bạn, đã bị xóa sau khi bạn Cleanhoặc Clean Build Folder.... Rõ ràng, Clean Build Folder...sẽ xóa nhiều tệp hơn Cleansẽ làm. Tuy nhiên, tôi nghĩ rằng việc xóa thư mục mà tôi đã đề cập trước đây là cần thiết trong một số trường hợp, chẳng hạn như Xcode của bạn không thể hoạt động bình thường.

Nhân tiện, một cái gì đó đã thay đổi đối với Xcode 8, Buildthư mục được giữ nguyên sauClean Build Folder...

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.