Как создать как Lite, так и полную версию приложения iPhone на основе одного проекта xcode?
Я не хочу поддерживать два набора кода. Мне просто нужно ограничить некоторые функции в версии Lite и добавить на нее некоторые рекламные объявления.
Как это сделать?
Ответ 1
Создайте несколько целей.
Вы можете изменить конфигурацию сборки, щелкнув правой кнопкой мыши по цели и выбрав "Получить информацию". Оттуда вы можете делать такие вещи, как изменение файла Info.plist, на который он смотрит (например, добавить "Lite" к имени и изменить значок/загружать изображения) и установить флаги компилятора, чтобы вы могли #ifdef в местах.
Если есть много файлов, которые применимы только в полной версии, вы можете щелкнуть их правой кнопкой мыши и удалить их из цели Lite, чтобы сделать меньшее приложение.
Я экспериментировал с различными альтернативами, например с несколькими конфигурациями, и я возвращаюсь к нескольким целям. Обычно у меня есть как минимум три определенных - Разработка, Ad hoc и App Store, каждый со своими собственными настройками.
Ответ 2
Добавьте дополнительную цель в проект Xcode, дублируя существующую. Определите макрос в новой цели (в разделе "макросы препроцессора" в настройках сборки), что-то вроде "macroIsFreeVersion"
Теперь вы можете сделать это:
#ifdef macroIsFreeVersion
// code that will only execute in the free version here
#endif
и это:
#ifndef macroIsFreeVersion
// code for only the paid version goes here
#endif
Вам нужно будет внести дополнительные изменения для идентификатора пакета, профиля обеспечения и т.д. Все, что вы сделали, чтобы поместить свою платную версию в магазин.