Xcode 4 "Очищення" проти "Очищення папки збірки"


83

Ви приходите до певного моменту розробки кожного додатка, що те, що ви бачите в тренажері, не відповідає тому, що, на вашу думку, має статися. Здебільшого це людські помилки - або, принаймні, вони трапляються у більшості моїх випадків ;-) - але іноді Xcode просто "загубив слід", або так здається. Я дізнався, що параметри меню Clean(Shift + Cmd + K) та Clean Build Folder…(Option + Shift + Command + K) можуть відображати різницю між вашою помилкою або Xcode.

Моє запитання:

Що робить Cleanабо не робить команда, що залишає причину Clean Build Folder…існування? Коли слід вибирати одне над іншим, чому б не завжди завжди очищати всю папку?


Ви можете знайти відповіді на це потенційно повторюване запитання .
Michael Dautermann

1
Там можуть бути якісь приховані підказки, але це абсолютно не повторюване запитання. Моє - про різницю між чистою та чистою папкою збірки, двома дуже схожими на вигляд командами. Але дякую за голови.
epologee

Відповіді:


92

Clean…очищає папки для поточної вибраної цілі.
Clean Build Folder…очищає папки для всіх цілей.


5
Це неоднозначно з тим апострофом у "всіх папках цілі". Ви маєте на увазі "папки для всіх цілей або є якісь інші папки, пов'язані з обраною ціллю?
Майкл Форрест,

Ця відповідь не є повною. Clean Build Folderвирішує проблеми в проектах лише з однією ціллю.
Basil Bourque

94

Якщо ви виберете Cleanз меню Продукт, XCode видалить файли всередині кожної папки у папці Build, якщо ви виберете Clean Build Folderце - всю папку Build.

Після Cleanкоманди:

введіть тут опис зображення Після Clean Build Folderкоманди:

введіть тут опис зображення

Я думаю, вам слід вибрати, Clean Build Folderколи ви хочете створити двійковий файл, який ви хочете випустити в AppStore, коли ви зіпсували свій проект або коли ваш додаток не працює з "невідомої" причини, інакше використовуйте Clean.

Сподіваюся, я відповів на ваше запитання: D


5
Вибачте, що скептично налаштовані, але це здається дивним. Ви хочете сказати, що єдиною різницею між ними є те, що одна видаляє папки, а інша зберігає папки, але видаляє весь вміст? Яка буде різниця у наявності чотирьох порожніх папок? Проте є помітна різниця між очищенням та часом очищенням папок збірки ...
jowie

3
Так, це єдина різниця. Особисто я використовую "Clean" перед створенням програми для iOS Simulator або коли у мене виникають дивні проблеми з кодом та / або XCode та "Clean Build Folder", коли я хочу опублікувати програму в App Store або коли хочу бути впевненим що мій додаток побудований з нуля, без кеш-пам’яті.
Алюміній

4
Це лише я, або "Clean Build Folder" швидше, ніж "Clean"?
Ніколас Міарі

Щось змінилося для Xcode 8, Buildпапка зберігається після Clean Build Folder.... Очевидно, Clean Build Folder...є більш повним, ніж Clean. Однак я думаю, що ~/Library/Developer/Xcode/DerivedData/xxx-ABCDв деяких випадках потрібно видалення папки, наприклад, якщо ваш Xcode не може працювати належним чином, де xxx - це ім'я вашого проекту або робочої області.
DawnSong

Завжди любіть, коли люди повертаються до старого запитання та відповіді, яке є популярним, і роблять дуже чіткий приклад і пояснення
Какон

5

Починаючи з Xcode 10, "Clean" фактично зник. Apple каже тут :

"Нова система збірки використовує поведінку" чиста папка збірки ". Спадкова поведінка" чистої "не підтримується".


4

Якщо ви виберете "Очистити", Xcode видалить файли з кожної папки (наприклад, "Продукти", "Проміжні продукти") у папці "Збірка" для поточної цілі. Файли для інших цілей залишаються.

Якщо ви виберете "Очистити папку збірки", Xcode видалить всю папку збірки , тому нічого не залишиться.

У більшості випадків "Очистити" буде працювати з "невідомих" причин, але вам все одно доведеться "Очистити папку збірки", оскільки Xcode не видаляє файли в папці " Включити" всередині папки " Продукти" .


0

Деякі файли в ~/Library/Developer/Xcode/DerivedData/xxx-ABCD, де xxx - це назва вашого проекту або робочої області, були видалені після вас Cleanабо Clean Build Folder.... Очевидно, Clean Build Folder...буде видалено більше файлів, ніж Cleanбуде. Однак я думаю, що в деяких випадках потрібно видалення папки, про яку я згадав, наприклад, наприклад, ваш Xcode не може працювати належним чином.

До речі, щось змінилося для Xcode 8, після цього Buildпапка зберігається однаковоClean Build Folder...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.