Я использовал подход @abhinav, но немного изменил его, чтобы он соответствовал потребностям моего проекта. У нас есть две цели, НО обе используются для создания отдельных приложений.
шаги
В файловой системе в каталоге проекта создайте структуру папок:
<project_folder>/Settings/debug
<project_folder>/Settings/production
В проекте создайте эти группы:
Settings
debug
production
Создайте Settings.bundle
, добавьте его в группу отладки и сохраните в папку отладки. (не добавляйте его ни к какой цели)
Отредактируйте .plist
так, чтобы страница настроек выглядела максимально широкой (обычно в отладочных сборках больше настроек).
Скопируйте пакет из папки отладки в производственную папку.
Добавьте Settings.bundle
из производственной папки в производственную группу в проекте (не добавляйте его ни в какую цель), чтобы у вас была такая структура.
Убедитесь, что ни один из Settings.bundle
s не добавлен к любой цели.
Удалите из производственной среды элементы настроек .plist
, которые не должны поставляться со сборками App Store.
Добавьте этап Выполнить скрипт после этапа Копирование ресурсов пакета.
if [ "${CONFIGURATION}" = "Release" ]; then
cp -r ${PROJECT_DIR}/Settings/production/Settings.bundle "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app"
fi
if [ "${CONFIGURATION}" = "Debug" ]; then
cp -r ${PROJECT_DIR}/Settings/debug/Settings.bundle "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app"
fi
Примечание. У меня есть две схемы сборки: Release и Debug. Я заключил пути в кавычки, потому что моя цель имеет имя с пробелами.
person
Yevhen Dubinin
schedule
26.05.2016