2014-01-31 5 views
1

ФоновыеПеременные окружения Xcode и Аргументы командной строки

Я разрабатываю приложение IOS, который подключается к серверу. У нас есть команда разработчиков, которые запускают собственный сервер с уникальными адресами для отладки. Наше правило для контроля источника - это только проверка «производственного URL».

В Android у нас есть решение, которое работает очень хорошо. Это решение не будет работать в iOS.

Что я Пробовал

Установить «аргумент командной строки» или «переменная среды» в схеме сборки. Проблема заключается в том, что они помещаются в файл «* .xcproject», который проверяется и вызывает конфликты слияния. Если бы он мог быть установлен на уровне пользователя, это было бы хорошо, потому что мы .gitignore xcuserdata.

Я также попытался обратиться к файлу «MyConfig.h», который не попадает в систему. Но если он не существует, проект не будет создан.

То, что я хочу сделать

Если разработчик хочет указать на другом сервере они будут установить переменную окружения на их макинтош. Что-то вроде «export MY_SERVER =» http://domain.com/api/ ». В файле проекта мы добавили бы аргумент окружения или командной строки, который в основном« MY_SERVER = $ (MY_SERVER) ».

К сожалению, я не могу понять, как получить XCode разрешить переменную на моей машине OSX. кажется, переменные среды разрешаются на устройстве только. аргументы командной строки, кажется, буквально.

исследований я сделал

http://qualitycoding.org/production-url/ - на самом деле не рассматривается настоящий вопрос

http://nshipster.com/launch-arguments-and-environment-variables/

Google, форум разработчиков яблок и сообщение Stackoverflow.

Как вы это делаете в своих проектах?

Это единственное решение, использующее бэкдор или некоторые люди, изменяющие файлы, и просто старайтесь не случайно проверять?

ответ

0

В качестве обновления я нашел решение, которое решает проблему для меня. Я использую https://github.com/xslim/mobileDeviceManager и проверенный скрипт. Разработчик может создать свою собственную конфигурацию и скопировать ее в каталог документов. Теперь мы проводим проверку продукции и проверяем время выполнения для нашего файла конфигурации custum.

Вот пример использования инструментов:

$ mobileDeviceManager -o копия -app "com.domain.MyApp" -из ~/.myAppConfig/app_override.plist

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

Надеюсь, это поможет кому-то еще.

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