Как я могу создать два проекта, используя один и тот же источник с другим именем приложения и info.plist?
На самом деле, мое iOS-приложение содержит несколько версий в одном и том же проекте, измененных с помощью #define
в Static
классе.
Пример:
#import "AppVersion.h"
//...
if (MYAPP_VERSION == kMyAppVersionFree) {
//Limited features
}
else if (MYAPP_VERSION == kMyAppVersionFull) {
//No limit !
}
Каждый раз, когда я хочу скомпилировать, я должен редактировать свой код, чтобы изменить #define
MYAPP_VERSION
и изменить имя проекта, чтобы иметь возможность выпускать исполняемые файлы MyApp
и "MyApp Free"...
Можно ли определить это как "переменная компиляции"? Я не хочу редактировать свой код каждый раз, когда хочу скомпилировать 2 версии
Как я могу создать 2 проекта, используя один и тот же источник (много классов), но с другим именем приложения и другим info.plist
(и, относительно предыдущего вопроса, разными "переменными компиляции")?
Я запрашиваю другой info.plist
потому что моя "Бесплатная версия" не поддерживает общий доступ к файлам iTunes, но моя "Полная версия" поддерживает...
Любая идея? Как вы управляете версиями в своих проектах?
Ответы
Ответ 1
Вам нужно определить цели для разных версий.
Нажмите на корень вашего проекта (синий значок xcode). Вы увидите настройки своего проекта в таблице. С левой стороны вы увидите заголовок "TARGETS" с одним ребенком, название вашего проекта.
Вы можете щелкнуть правой кнопкой мыши по цели и дублировать ее. После дублирования вы можете переименовать его, а затем настроить его отдельно. Одной из настроек проекта являются значения препроцессора GCC. Вы можете определить LITE или FULL переменные на основе вашей цели, а затем использовать #ifdefs в коде для выполнения условной компиляции.
Вы можете добавлять разные файлы pList для разных целей. Просто щелкните правой кнопкой мыши на файлах pList и включите или исключите файлы для каждой цели.