Dochodzisz w pewnym momencie rozwoju każdej aplikacji, że to, co widzisz w symulatorze, nie pasuje do tego, co Twoim zdaniem powinno się wydarzyć. W większości są to błędy ludzkie - a przynajmniej tak jest w większości moich przypadków ;-) - ale czasami Xcode po prostu „zgubił trop”, a przynajmniej tak się wydaje. Dowiedziałem się, że opcje menu Clean
(Shift + Cmd + K) i Clean Build Folder…
(Option + Shift + Command + K) mogą pokazać różnicę między twoim błędem a Xcode.
Moje pytanie brzmi jednak:
Co robi
Clean
polecenie, a czego nie, co pozostawia powódClean Build Folder…
do istnienia? Kiedy powinienem wybrać jeden z nich, dlaczego nie zawsze czyścić cały folder?
objective-c
ios
xcode
xcode4
epologee
źródło
źródło
Odpowiedzi:
Clean…
czyści foldery dla aktualnie wybranego celu.Clean Build Folder…
czyści foldery wszystkich celów.źródło
Clean Build Folder
rozwiązuje problemy w projektach z jednym celem.Jeśli wybierzesz
Clean
z menu Produkt, XCode usunie pliki w każdym folderze w folderze Build, jeśli wybierzeszClean Build Folder
, usunie cały folder Build.Po
Clean
komendzie:Po
Clean Build Folder
komendzie:Myślę, że powinieneś wybrać,
Clean Build Folder
kiedy chcesz zbudować plik binarny, który chcesz udostępnić w AppStore, kiedy pomieszałeś z projektem lub gdy Twoja aplikacja nie działa z „nieznanego” powodu, w przeciwnym razie użyjClean
.Mam nadzieję, że odpowiedziałem na Twoje pytanie: D
źródło
Build
folder jest przechowywany poClean Build Folder...
. OczywiścieClean Build Folder...
jest bardziej kompletny niżClean
. Jednak myślę, że usunięcie~/Library/Developer/Xcode/DerivedData/xxx-ABCD
folderu jest potrzebne w niektórych przypadkach, na przykład Xcode nie działa poprawnie, gdzie xxx to nazwa twojego projektu lub obszaru roboczego.Od Xcode 10 „Clean” faktycznie zniknął. Apple mówi tutaj :
„Nowy system kompilacji używa zachowania„ czysty folder kompilacji ”. Starsze zachowanie„ czystego ”nie jest obsługiwane”.
źródło
Jeśli wybierzesz „Wyczyść”, Xcode usunie pliki w każdym folderze (np. Produkty, Pośrednie) w folderze Build dla bieżącego celu. Pliki dla innych celów pozostają.
Jeśli wybierzesz „Clean Build Folder”, Xcode usunie cały folder Build , więc nic nie zostanie.
W większości przypadków „Wyczyść” będzie działać z „nieznanych” powodów, ale nadal musisz „Wyczyść folder kompilacji”, ponieważ Xcode nie usunie plików w folderze dołączanym w folderze Produkty .
źródło
Niektóre pliki w
~/Library/Developer/Xcode/DerivedData/xxx-ABCD
domenie, gdzie xxx to nazwa Twojego projektu lub obszaru roboczego, zostały usunięte po TobieClean
lubClean Build Folder...
. OczywiścieClean Build Folder...
usunie więcej plików niżClean
zrobi. Myślę jednak, że usunięcie folderu, o którym wspomniałem wcześniej, jest potrzebne w niektórych przypadkach, na przykład twój Xcode nie może działać poprawnie.Nawiasem mówiąc, coś się zmieniło w Xcode 8,
Build
folder pozostaje taki sam poClean Build Folder...
źródło