2013-03-29 9 views

Odpowiedz

25

Roger,

Co szukasz jest sposób ustawić GCC_PREPROCESSOR_MACROS poprzez narzędzia xcodebuild wiersza poleceń. Strona man dla xcodebuild pokazuje format stosowania tych ustawień, jednak sekcja SYNOPTYKA odnosi się tylko do tego, jak „Ustawienia = wartość ...”

xcodebuild [-project projectname] -scheme schemename [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] [-userdefault=value ...] 
xcodebuild -workspace workspacename -scheme schemename [-configuration configurationname] [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] [-userdefault=value ...] 

Ostatecznie, masz możliwość ustawienia dowolnego wartości ustawień kompilacji bezpośrednio w wierszu poleceń, używając tego formatu i znając rzeczywistą nazwę ustawienia kompilacji, którą chcesz zmienić. Naturalnie pojawia się pytanie ...

Jak znaleźć nazwy ustawień konstrukcyjnych?

Dobrze, że pytasz! Pasek boczny Xcode 4 jest najłatwiejszym miejscem do znalezienia rzeczywistej nazwy ustawienia kompilacji wiersza polecenia.

Annotated Build Settings Screen Clip

Gdy szukasz Nazwa ustawienia kompilacji Quick Pomoc Inspektor Xcode 4'S Utilities bocznym jest to miejsce, aby przejść spojrzenie.

  1. Dostęp do ekranu ustawień Build swojego projektu.
  2. Upewnij się, że pasek boczny (który Xcode nazywa "Narzędzia") jest widoczny, klikając przycisk "Narzędzia" obok przycisku Organizator w prawym górnym rogu Xcode.
  3. W pasku narzędzi Utilities sprawdź, czy jest widoczny "Quick Help Inspector".

Ewentualnie użycie Option + Command + 2, aby pokazać szybką pomoc inspektora bezpośrednio!

Wreszcie jesteś gotowy, aby znaleźć ustawienie produkcji:

  1. Albo przeprowadzić wyszukiwanie na budowie ustawienie, które chcesz zmienić lub przewinąć listę ustawień kompilacji.
  2. Kliknij wybrane ustawienie kompilacji i obserwuj aktualizację programu Quick Help Inspector.
  3. W sekcji "Deklaracja" Inspektora szybkiej pomocy wyświetlana jest nazwa ustawienia kompilacji wiersza polecenia, której chcesz użyć.

W przypadku preprocesor makr zachodzącego początkowo poprosił o, że ustawienie to:

GCC_PREPROCESSOR_DEFINITIONS

Pociągnięcie to wraz z powrotem do pierwotnego pytania, można ustawić ten build ustawienie w wierszu poleceń po prostu przez podanie SETTING_NAME = 'DESIRED_VALUE' wraz z resztą polecenia xcodebuild. W przypadku szybkiego projektu niewiele testu wrzuciłem razem zwane „TestApp” gdzie chciałem Preprocessor Macro „BKM” należy ustawić na wartość 1, dla mnie rozkazem xcodebuild byłoby:

xcodebuild -Project TestApp.xcodeproj - Schemat testapp GCC_PREPROCESSOR_DEFINITIONS = '$ {} dziedziczone BKM = 1'

Dlaczego trzymać $ {} dziedziczone tam?

Jeśli używasz makr Preprocesor, prawdopodobnie masz więcej niż jedno, z którego korzystasz. Niektóre z nich możesz nie chcieć zmieniać z wiersza poleceń, ale nadal zostały zakodowane w ustawieniach kompilacji celu lub projektu. Użycie "$ {inherited}" instruuje xcodebuild, aby używał ustawień budowania zdefiniowanych na wyższym poziomie, zamiast używać tylko tych, które zdefiniowaliśmy w poleceniu xcodebuild. W większości przypadków będziesz chciał użyć $ {dziedziczonego} do pobrania innych skonfigurowanych wartości, które skonfigurowałeś.

Czy muszę zawijać wartość w apostrofach?

Jeśli chcesz ustawić więcej niż jedną wartość, wtedy tak, będziesz musiał zawijać wartość w apostrofach, w przeciwnym razie, jeśli ustawisz dwa lub więcej makr Preprocesorowych z wiersza poleceń, makro 2 + zostanie zinterpretowane jako ustawienie kompilacji zamiast Preprocessor Macro ... nie do końca właściwe zachowanie. Apostrofy działają jako sposób zbierania wielu wartości dla wspólnego ustawienia. W przypadku mojego przykładowego polecenia xcodebuild, chciałem, aby xcodebuild korzystał z odziedziczonego zestawu makr Preprocesor wraz z moim określonym ustawieniem BKM, więc zawinąłem wartość w apostrofach, aby powiedzieć xcodebuildowi, że traktują je zarówno jako Makra Preprocesora.

Czy to będzie działać również w obszarach roboczych?

Absolutnie! Po prostu zmodyfikuj komendę, aby użyć parametru -workspace zamiast parametru -project, a będziesz działać!

+1

Uwaga: używaj pojedynczych apostrofów, a nie podwójnych – Quanturium

Powiązane problemy