Подтвердить что ты не робот

IOS, обнаруживать ad-hoc из кода

Я хочу использовать другой URL-адрес API для моего iPhone-приложения, когда я отлаживаю или выполняю развертывание ad-hoc. Есть ли способ обнаружить из кода (если adhoc) использовать этот URL, а не по умолчанию?

4b9b3361

Ответ 1

Я могу думать о двух способах:

1.) Условная компиляция

Поскольку вам необходимо "Архивировать" продукт для распространения сборки adhoc, вы также можете настроить новую конфигурацию для архива и использовать препроцессор.

2.) Альтернативные файлы настроек по умолчанию на основе Release/Debug/AdHoc.

Те же предложения, что и выше, но с использованием файла .settings вместо компиляции. Лично я бы рекомендовал это по условной компиляции, потому что ее можно изменить (и сохранить) после развертывания, если вы хотите протестировать другие среды без повторного развертывания.

ИЗМЕНИТЬ

Conditional Compilation refers to using "ifdef" blocks right? I tried this once but couldn't get it to check for AD-HOC, only DEBUG seemed to work

Правильно.

Не существует макроса "ADHOC", заданного по умолчанию. Но вы можете легко добавить его.

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

Шаг 1: Установите новый Config (необязательно... вы можете просто использовать Release... до вас).

Setup a new config

Шаг 2: Добавьте макрос препроцессора для этой конфигурации. На моем снимке экрана он показывает только Debug и Release, потому что на самом деле я не добавил новую конфигурацию. Если вы добавили новый Config (и назвали его что-то вроде "AdHoc", он также должен появиться здесь:

enter image description here

Добавьте ADHOC=1 так же, как макрос DEBUG=1 для конфигурации debug.

Шаг 3: Либо измените свою текущую схему, либо скопируйте ее, чтобы шаг "Архив" использовал вашу новую конфигурацию:

enter image description here