Я хочу использовать другой URL-адрес API для моего iPhone-приложения, когда я отлаживаю или выполняю развертывание ad-hoc. Есть ли способ обнаружить из кода (если adhoc) использовать этот URL, а не по умолчанию?
IOS, обнаруживать ad-hoc из кода
Ответ 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... до вас).
Шаг 2: Добавьте макрос препроцессора для этой конфигурации. На моем снимке экрана он показывает только Debug и Release, потому что на самом деле я не добавил новую конфигурацию. Если вы добавили новый Config (и назвали его что-то вроде "AdHoc", он также должен появиться здесь:
Добавьте ADHOC=1
так же, как макрос DEBUG=1
для конфигурации debug.
Шаг 3: Либо измените свою текущую схему, либо скопируйте ее, чтобы шаг "Архив" использовал вашу новую конфигурацию: