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.