Dodałem obrazy .png do projektu Xcode w celu użycia warunkowego, takiego jak tworzenie zrzutów ekranu widoku Jednak, ponieważ nie jest to wymagane w wersji Release aplikacji, chciałbym, aby znaleźć sposób, aby wykluczyć je za pomocą pewnego rodzaju ustawień dla Target. Oczekuję, że może istnieć rozwiązanie takie jak użycie makro #if DEBUG
do kompilacji debugowania, które może działać dla linii kodu źródłowego. Ale, w przypadku plików zawartych w pakiecie projektów, mam problem ze znalezieniem odpowiedzi.Jak wykluczyć pliki obrazów z pakietu projektu Xcode, warunkowo dla wersji Release?
Odpowiedz
W Xcode 3 znajduje się widok nad edytorem, który zawiera listę plików w projekcie. Po prawej stronie tego widoku znajduje się pole wyboru dla każdego pliku i możesz odznaczyć pole, aby usunąć plik z bieżącego miejsca docelowego.
W Xcode 4, pokaż nawigator projektu po lewej stronie okna i pokaż Inspektora plików po prawej stronie, w obszarze Narzędzia. Po wybraniu pliku zobaczysz obszar Docelowe członkostwo z listą celów i pól wyboru. Jeśli chcesz wykluczyć plik z określonego celu, odznacz pole obok tego celu. Oto zdjęcie:
ten jest nieco inny od wyłączeniem plików z tylko niektóre buduje pojedynczej tarczy. Mimo to uważam, że jest to najprostszy mechanizm do zastosowania w opisywanej sytuacji. Wystarczy powielić istniejący cel, aby mieć kopię, której można użyć do robienia zrzutów ekranu. Usuń dodatkowe pliki z celu produkcyjnego, ale pozostaw je w miejscu docelowym na zrzut ekranu, jak opisano powyżej.
Dziękuję za tę przydatną odpowiedź. Cieszę się, że mój punkt nie został zmarnowany. Czy mogę pozwolić Ci śledzić Cię na Twitterze lub GitHubie? – petershine
Coś, o co proszę, a ja absolutnie nie miałbym nic przeciwko, ale nie tweetuję. To jeszcze jedna przeszkoda, której nie potrzebuję. ;-) Cieszę się, że mogłem pomóc. – Caleb
ta odpowiedź jest dla mnie perłą, ale z przeciwnej perspektywy. Szukałem informacji, jak znaleźć plik w celu. Dzięki @Caleb – sdjuan
Dane wejściowe celu są takie same dla wszystkich wersji, więc nie ma pola wyboru, które to zrobi za Ciebie.
Wszystko, co naprawdę się dzieje, to to, że pliki graficzne, takie jak .png lub cokolwiek, są dodawane do fazy zasobów pakietu kopii. Możesz usunąć je z tej fazy i zamiast tego utworzyć niestandardową fazę tworzenia skryptu za pomocą skryptu powłoki.
Będzie domyślnie drukować wszystkie zmienne środowiskowe ustawione przez xcode, z tego powinieneś być w stanie napisać skrypt, który wykonuje kopię tylko wtedy, gdy $ {BUILD_STYLE} to "Debuguj".
Prawdopodobnie na początek potrzebujesz $ {BUILD_STYLE}, $ {CONTENTS_FOLDER_PATH} i $ {INPUT_FILE_PATH}.
Do wykluczania plików z wersji produkcyjnych używam ustawienia kompilacji EXCLUDED_SOURCE_FILE_NAMES opisanego w tym poście na blogu: http://twobitlabs.com/2012/01/excluding-files-from-production-xcode-builds/ – ToddH
Dziękuję za poprawna odpowiedź. To rozwiązanie oparte na ustawieniach kompilacji jest tym, czego szukałem, a nie oparte na celu. – petershine