2014-01-20 3 views
4

У меня есть приложение, которое отправляет журналы на Keen IO для ведения журнала и анализа. Код, который отправляет журналы в Keen IO, защищается макросами препроцессора, и поэтому он никогда не отправляет никаких журналов, когда я запускаю его на симуляторе или моем собственном телефоне во время разработки.Программируемое различие между Ad-hoc и AppStore версии приложения

Что я обычно следую за этим - после того, как приложение выполнено (почти), я выпускаю специальную версию и передаю ее нескольким тестерам, которые используют ее в течение нескольких дней и проверяют ее. Однако, поскольку это также версия для выпуска, приложение отправляет аналитические данные. Эти данные обычно загрязняют мои другие данные, которые должны были исходить от моих реальных пользователей!

Я хочу программно узнать внутри приложения, если это версия выпуска ad-hoc или версия выпуска AppStore, поэтому я могу справиться с этими двумя условиями. Есть ли способ сделать это?

Единственный способ, о котором я могу думать, это иметь еще один макрос препроцессора AD_HOC, который сообщает, что его тестовая версия. Но может случиться так, что я забыл удалить макрос при отправке в AppStore. Это не поможет, если это произойдет.

ответ

2

Я использую такой макрос по очень сходной причине. Я создаю adhoc версию, используя настройку создания релиза и версию магазина приложений, используя настройку сборки распределения. Таким образом я избегаю забывать, чтобы установить #define в правильное значение.

+1

Как вы добавляете настройку сборки «распределения»? Я могу видеть только два варианта в макросах препроцессора - «Debug» и «Release» –

+0

Ничего, не нашел. http://stackoverflow.com/questions/19842746/adding-a-build-configuration-in-xcode –

+1

У меня есть другой вопрос: как вы скажете Xcode использовать конфигурацию «Release» для Ad-hoc и «Distribution» для Выпуск AppStore? –

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