Программно различать между ad-hoc и AppStore версии приложения


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

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

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

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

1 4

1 ответ:

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