2015-04-14 6 views
5

Używamy smaków produktów w systemie Android, aby zachować ten sam kod pod kontrolą źródła, ale warunkowo celujemy w punkty końcowe do serwerów dev/qa/production w oparciu o wybrany smak. Dla porównania:Czy istnieje odpowiednia koncepcja w rozwoju iOS o smaku produktów Androida?

http://tools.android.com/tech-docs/new-build-system/build-system-concepts

Na przykład, gdy chcemy przetestować nowy punkt końcowy w „dev” środowisko możemy mieć plik w src/dev/res/values/endpoints.xml która zawiera wpis, który jest odpowiednikiem XML urlbase = https://dev-endpoint.ourserver.com/v3/ i budować za pomocą "dev" produktowy smak do budowy APK wskazał na nasze środowisko dev.

Czy istnieje odpowiednia koncepcja rozwoju iOS?

Odpowiedz

11

Tak. Jeśli wybierzesz projekt na lewym pasku, wybierz swój projekt w obszarze Projekt na lewym pasku wewnętrznym, a następnie wybierz opcję Informacje na górnym pasku wewnętrznym, a zobaczysz sekcję o nazwie Konfiguracje. Możesz tutaj konfigurować.

Następnie wybierz cel na lewym pasku wewnętrznym i wybierz opcję Ustawienia konstrukcyjne na górnym pasku wewnętrznym. Wyszukaj "preproc" w polu wyszukiwania. W sekcji Apple LLVM - Preprocessing możesz dodać niestandardowe makra preprocesora. Dla konfiguracji, należy zdefiniować coś jak „dev = 1”, itp

Teraz w kodzie można powiedzieć #if DEV itp

Wiele projektów wykorzystuje AFNetworking rozmawiać z ich back-end. Można ustawić wartość baseURL dla podklasy AFHTTPSessionManager lub dowolnej innej, w oparciu o definicje.

+1

Są na to inne sposoby, ale wszystkie będą oparte na konfiguracjach. –

+0

Więc jeśli mam 3 środowiska, które chcę obsługiwać (dev, qa i prod), potrzebowałbym 6 konfiguracji kompilacji do obsługi debugowania/wydania dla każdego. Dobrze? – Joe

+0

Tak. Ale czy naprawdę potrzebujesz wydania dla deweloperów? I qa? –

Powiązane problemy