2012-01-05 14 views
5

Racja Przygotowuję aplikację, która ma dwie partie ustawień Dev i Live. Czy istnieje sposób na rozróżnienie, które partie ustawień powinny być używane w zależności od tego, czy aplikacja jest na żywo, czy nadal w fazie rozwoju, czy też muszę zmienić całe pliki ustawień, zanim zostaną wprowadzone na rynek.Pakiet ustawień dla aplikacji iPhone'a

Nie byłem pewien, jak to ująć, więc jeśli nie jesteś pewien, po prostu zapytaj.

+0

@Downvoter Jeśli uznano za stosowne wycofanie się z udziału, proszę zostawić komentarz, dlaczego tak się stało, a jeśli jesteś Wykonując wiele odpowiedzi na wszystkie moje pytania, zostaw także powód. – Popeye

Odpowiedz

7

To, co chcesz zrobić, to zdefiniować makro preprocesora na podstawie konfiguracji kompilacji. Więc jeśli masz konfigurację budowania o nazwie dev i jeden o nazwie live, zdefiniujesz inną wartość dla dev i live.

Aby to wdrożyć, przejdź do ustawień budowania aplikacji w Xcode i wyszukaj "Makra preprocesorów". Dodaj makro dla każdego celu kompilacji.

Dla dev można dodać:

APP_CONFIG=0 

I na żywo można dodać:

APP_CONFIG=1 

Następnie w kodzie jesteś w stanie odróżnić dev i żyć budować konfiguracje przez proste jeśli oświadczenie:

#if APP_CONFIG == 0 
    NSLog(@"This is the dev build."); 
#else 
    NSLog(@"This is the live build."); 
#endif 
+0

+1 To. To najlepszy sposób dodania kontroli debugowania do kodu. Powinieneś także użyć tego do przeciążenia NSLog, aby usunąć nieefektywne rejestrowanie i inne podobne rzeczy z kodu poziomu produkcyjnego. – Hyperbole

+1

OK, więc to teraz działa, rozróżnia Dev i Live, ale gdzie to ustawić, aby wybrać odpowiedni pakiet ustawień. chciałbym umieścić go w AppDelegate.m i jeśli tak, gdzie abouts? – Popeye

+0

@Popeye: Czy masz rozwiązanie tego problemu? Znajduję się w podobnym stanie, w którym muszę wybrać poprawny pakiet ustawień oparty na kompilacjach DEV lub PROD. Rozróżniam kompilacje, ale nie mam pojęcia, gdzie przejść prawidłowy pakiet ustawień. – Abhinav