2012-02-27 10 views
7

Używam SDK testflightapp.com w moim projekcie do śledzenia awarii podczas testów beta przeprowadzanych na testflightapp.com. Mam 2 cele w moim projekcie Xcode, które są "ad-hoc" i "sklep z aplikacjami".Jak wykonać kompilację warunkową na podstawie nazw celów?

Aby zainicjować testflight SDK, muszę odłożyć linii kodu w AppDelegate.m jak:

[TestFlight takeOff:@"67bebb8d8e5396a...A4LjQwNjQ4NA"]; 

Teraz chcę kompilator wykluczyć tego wiersza kodu, kiedy skompilować do docelowej "sklep z aplikacjami", ponieważ nie ma sensu wywoływanie zestawu SDK testowego, gdy trafia on do publicznej wiadomości.

Spodziewam się czegoś takiego jak #ifdef, ale nie mogłem uzyskać wskazówki, przeszukując forum.

Odpowiedz

10

Można użyć ustawienia user-defined build setting ustawionego w ustawieniach kompilacji dla każdego celu, a następnie użyć dyrektywy #if lub #ifdef do przetestowania tego ustawienia. Na przykład wybierz cel "ad-hoc", kliknij "Ustawienia kompilacji" i przewiń do sekcji "Zdefiniowane przez użytkownika". Następnie kliknij przycisk "Dodaj ustawienie konstrukcyjne" i wybierz "Dodaj ustawienia zdefiniowane przez użytkownika". Możesz ustawić różne wartości dla ustawień dla każdej konfiguracji kompilacji (debugowanie, zwolnienie itp.).

Picture of relevant Xcode settings

+1

hej, dzięki za szybką odpowiedź. Nie mogłem znaleźć "ustawienia zdefiniowanego przez użytkownika", o którym wspomniałeś, jednak znalazłem "Preprocesor Marcros" (jest DEBUG = 1 zdefiniowany dla debugowania, więc zdefiniowałem TESTFLIGHT = 1) może zaspokoić moje potrzeby. DZIĘKUJĘ CI! –

+0

Dodano obraz w celu zilustrowania ustawień kompilacji zdefiniowanych przez użytkownika. – Caleb

+0

tak, jestem głupia, próbowałem szukać z "użytkownikiem", który nie wyszedł. ok, to sekcja, dziękuję –

Powiązane problemy