2012-01-05 2 views
5

Правильно Я разрабатываю приложение, в котором есть два набора настроек Dev и Live. Есть ли способ отличить, какая часть настроек должна использоваться на основе того, является ли приложение активным или все еще находится в разработке, или мне нужно изменить все файлы настроек до того, как он начнет жить.Настройки для iPhone app

Я не был уверен, как это сделать, если вы не уверены, что просто спросите.

+0

@Downvoter Если вы сочтете это подходящим для downvote, пожалуйста, оставьте комментарий о том, почему, и если вы являетесь нами я делаю несколько downvotes по всем моим вопросам, пожалуйста, оставляйте также причину. – Popeye

ответ

7

Что вы хотите сделать, это определить макрос препроцессора на основе вашей конфигурации сборки. Поэтому, если у вас есть конфигурация сборки, называемая dev, а одна называется live, вы определяете другое значение для dev и live.

Чтобы реализовать это, зайдите в настройки своих приложений в Xcode и найдите «Макросы препроцессора». Добавьте макрос для каждой цели сборки.

Для разработчика можно добавить:

APP_CONFIG=0 

И жить можно добавить:

APP_CONFIG=1 

Затем в коде вы можете различать разработчик и жить конфигурации сборки с помощью простого, если заявление:

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

+1 Это. Это лучший способ добавить управление отладкой в ​​ваш код. Вы также должны использовать это, чтобы перегрузить NSLog, чтобы удалить расточительные протоколирования и другие подобные вещи из кода уровня производства. – Hyperbole

+1

ОК, так что теперь это работает, он различает Dev и Live, но где бы я поместил это, чтобы на самом деле выбрать правильный набор настроек. я бы положил его в AppDelegate.m, и если да, то где? – Popeye

+0

@Popeye: Получили ли вы решение этой проблемы? Я вхожу в аналогичное условие, когда мне нужно выбрать правильный набор настроек на основе DEV или PROD-сборок. Я могу различать сборки, но не знаю, где передать правильный набор настроек. – Abhinav

Смежные вопросы