Ответ 1
Вот простой способ:
WEBSITE_URL = https:/$()/www.example.com
У меня есть файл xcconfig, который содержит конфигурацию, для которой поражает мое приложение. В режиме отладки это будет другой сервер, чем для релизов.
Проблема заключается в том, что URL-адрес формы http://www.stackoverflow.com рассматривается как комментарий после двойной косой черты. Итак, строка, которую я получаю в коде, это "http:"
Я читал, что могу установить флаг -traditional build на Info.plist, мне было интересно, есть ли у кого-то аналогичная проблема и решил ли он?
Спасибо.
Вот простой способ:
WEBSITE_URL = https:/$()/www.example.com
Я также не мог понять, как использовать двойную косую черту в файле xcconfig. Но я нашел обходное решение в
из списка рассылки пользователей Xcode: в файле xcconfig сохраните URL-адрес без схемы http:
MYURL = stackoverflow.com
В Info.plist установите значение свойства
http://${MYURL}
Просто объявите
SIMPLE_SLASH=/
Затем ваш URL становится
http:$(SIMPLE_SLASH)/www.stackoverflow.com
SLASH=/
API_URL=http:$(SLASH)/endpoint.com
Вы не должны использовать файл xcconfig для этого параметра.
Файл xcconfig не является "нормальным" заголовком или файлом модуля, который является входом препроцессора и в конечном итоге является входом для компилятора. Нигде не указано, как парсер xcconfig обрабатывает кодировку символов, независимо от того, распознает ли она escape-последовательности, расширяет ли он макросы и как символьные литералы определяются и многое другое.
В этом случае гораздо лучше иметь заголовочный файл "config.h" и использовать условное выражение на основе определения препроцессора:
#if defined (DEBUG)
NSURL* url = ...
#else
NSURL* url = ...
#endif
Здесь DEBUG
для конфигурации Debug по умолчанию. Вы можете # определить любое другое определение в настройках сборки в разделе "Макросы препроцессора".
Вы можете использовать обратную косую черту для выхода:
URL = "http:\/\/mydomain.com"
ИЗМЕНИТЬ
Не забудьте очистить проект до повторной сборки.