/ / Tryb debugowania na iOS - cel-c, ios, zdalne debugowanie, tryb debugowania

Tryb debugowania na iOS - cel-c, ios, zdalne debugowanie, tryb debugowania

badaliśmy to przez pewien czas i nie jestem do końca pewien, co robić.

Chcę umożliwić użytkownikom włączanie i wyłączanie trybu debugowania. W trybie debugowania NSLogs będą drukowane na konsoli.

obecnie mogę włączyć lub wyłączyć tryb debugowania w ustawieniach kompilacji przy użyciu preprocesora (DEBUG) i używam następującego kodu do "blokowania" NSLogów.

#ifdef DEBUG
NSLog(@"If you can see this then debug is on");
#endif

Stworzyłem przełącznik na stronie ustawień, aby uzyskać dane wejściowe od użytkownika, ale nie wiem, jak użyć tego wejścia, aby następnie niezdefiniować / przedefiniować DEBUG. Jakieś pomysły?

Nie jestem pewien, czy jest to nawet możliwe, więc wszelkie alternatywne rozwiązania również zostałyby docenione.

Wielkie dzięki :)

Odpowiedzi:

5 dla odpowiedzi № 1

Nie powinieneś używać dyrektyw preprocesora: używanie #ifdef DEBUG oznacza, że ​​jeśli DEBUG nie jest zdefiniowany, ten fragment kodu w ogóle się nie kompiluje.

Zamiast tego należy zastąpić dyrektywy preprocesora prostą instrukcją if sprawdzającą zmienną globalną (lub przynajmniej taką, która może być rozwiązaniem).


0 dla odpowiedzi nr 2

Wierzę, że twój blok kodu sprawdzałby tylko, czy budujesz do debugowania lub wydania i czy odpowiednio zbudujesz.

Możesz zbudować go na urządzeniu, które będzie w trybie zwolnienia, nie sądzę, że możliwe jest uruchomienie symulatora w trybie zwolnienia w przeciwnym razie.

Może ręczne budowanie aplikacji na symulator i przenoszenie spakowanego pliku do uruchomienia tylko na symulatorze bez uruchamiania kodu Xcode, ale nie będzie to rozsądne, jak sądzę.