2009-12-14 8 views
7

Mam dość złożony (iPhone SDK) projekt Xcode, z wieloma celami - 4 statycznymi bibliotekami, testami jednostkowymi, wieloma przykładowymi aplikacjami, BuildAll, który uruchamia skrypt powłoki i Pakiet, który uruchamia inny skrypt powłoki. Cel "BuildAll" tworzy katalog w projekcie z niektórymi podkatalogami z zawartością gotową do dystrybucji.Uruchamianie skryptu podczas czyszczenia/czyszczenia wszystkiego w Xcode

Po kliknięciu "Wyczyść wszystko" Xcode nie wie jednak o wyczyszczeniu mojego katalogu dystrybucyjnego. Chciałbym to. Nie mogę znaleźć sposobu na zrobienie tego - czy ktoś wie jak?


Czuje się jak czysta i oczyścić wszystkie elementy powinny być naprawdę tylko cele w Xcode i powinien być w stanie dodać „Run Script” fazę. Nie według mojej wiedzy.

BTW, cel "BuildAll" zajmuje się czyszczeniem katalogu dystrybucyjnego, więc nie jest to dla mnie koniec świata. To po prostu irytujące, że "Wyczyść wszystko" faktycznie nie wyczyści wszystkiego w moim konkretnym przypadku.

Odpowiedz

0

Można spróbować > Dodaj nowy cel ...> Shell Script docelowy przez kontrolnej kliknięcie na Cele węzła w grupach & Files.

Następnie, po podwójnym kliknięciu na Run Script węzła konfiguracji każdy porządki-scenariusz przy użyciu zmiennej $ ACTION, które mogą mieć wartości czysty, zainstalować itp

i wreszcie, nowoutworzone Shell Script Target należy dodać do głównego celu jako zależność.

+1

Czy "Cel powłoki skorupy" różni się od pustego celu za pomocą "Fazy budowania Skryptu powłoki"? Dodałem fazy budowania do moich celów aplikacji i sprawdziłem zmienną środowiskową $ ACTION, ale wygląda na to, że Xcode nie uruchamia skryptu w ogóle. – benzado

+2

Tak, wygląda na to, że cele i fazy budowy mają różne przepływy pracy podczas budowania projektu Xcode. – Stream

+1

Nie działa w ogóle z "celem skryptu powłoki". Będziesz potrzebował "Zewnętrznego celu", jak mówi poniższy link: http://log.yeahrightkeller.com/post/270155578/run-script-while-cleaning-in-xcode – moala

2

Możesz dodać "Zewnętrzny obiekt docelowy", który wykonuje czyszczenie w zewnętrznym skrypcie, i dodać ten cel jako zależność jednego z celów twojej biblioteki statycznej. Utwórz cel i przeciągnij go pod jednym z celów twojej biblioteki statycznej. Sprawdź akcję, używając zmiennej środowiskowej $ ACTION w skrypcie.

+0

Czy to nadal jest aktualne? Nie mogę znaleźć opcji "Zewnętrzny cel" przy użyciu Xcode 6 –

+1

bez informacji ... co to jest $ ACTION env var? czy mówi ci, w której fazie budowania pracujesz? Nie wiedziałem, że podczas czyszczenia ... –