it-swarm.com.ru

XCode 4 "Чистая" против "Чистая папка сборки"

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

Мой вопрос, хотя:

Что делает или не делает команда Clean, что оставляет причину существования Clean Build Folder…? Когда я должен выбрать один над другим, почему бы просто не всегда чистить всю папку?

75
epologee

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

84
Oliver

Если вы выберете Clean в меню «Продукт», XCode удалит файлы внутри каждой папки в папке «Сборка», а если вы выберете Clean Build Folder, то удалит всю папку «Сборка».

После команды Clean:

enter image description here После команды Clean Build Folder:

enter image description here

Я думаю, вам следует выбрать Clean Build Folder, когда вы хотите создать двоичный файл, который хотите выпустить в AppStore, когда вы запутались в своем проекте или когда ваше приложение не работает по «неизвестной» причине, в противном случае используйте Clean.

Я надеюсь, что я ответил на ваш вопрос: D

89
Aluminum

Если вы выберете «Очистить», Xcode удалит файлы внутри каждой папки (например, «Продукты», «Промежуточные продукты») в папке «Сборка» для текущей цели. Файлы для других целей остаются.

Если вы выберете «Очистить папку сборки», Xcode удалит всю Build папку, поэтому ничего не останется.

В большинстве случаев «Очистить» будет работать по «неизвестным» причинам, но вам все равно придется «Очистить папку сборки», потому что XCode не удалит файлы в include папке внутри Products folder. 

4
Mindy

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

Кстати, что-то изменилось для Xcode 8, папка Build остается неизменной после Clean Build Folder...

0
DawnSong