Оригинальный ответ от дней до этого в покупке приложения. Правильный ответ сейчас , чтобы отправить один двоичный файл и предлагает платную версию через в обновлении приложения . Это немного больше кода , но это одна партия и коэффициент конверсии, вероятно , будет лучше.
Однако, если вы все еще хотите версии приложения:
Xcode имеет хорошую поддержку для нескольких целей.
В меню проекта выберите «New Target ...». Добавить еще один iPhone исполняемый файла (Cocoa Touch Application), то вы можете указать на Ресурс по ресурсной базе, какие элементы включены в вашей цели. Это может включать в себя только составление определенного кода к платной версии.
Вы можете получить быструю визуальную обратную связь о том, что это и не входит в текущую цель, щелкнув правой кнопкой мыши на «Группы и файлы» списка заголовков (топ LHS) и позволяет целевой Membership.
Переключение между построением различных целей таким же образом, как вы переключаетесь между зданием для симулятора или iPhone.
Для того, чтобы указать во время сборки , как определенный класс ведет себя вы можете сделать две вещи - включают в себя две версии класса, каждый из которых построен для их соответствующей цели или, вы можете установить флаг времени сборки для предварительной обработки. Выберите объект в списке «Группы и файлы» , а затем «получить информацию» на этой цели. Перейдите на вкладку сборки и поиск «предобработки». Вы должны увидеть пункт под названием «Препроцессор Макросы» добавить LITEк вашей цели облегченной и таким же образом добавить PAIDк вашему платному цели.
Тейн в ваших исходных файлах вы можете определить во время компиляции , какую версию вы компилируете для использования и #ifdef LITEт.д.
Идя еще дальше, можно установить глобальный флаг или переменную-член AppDelegate, основанный на #ifdef LITE и изменить поведение во время выполнения для Lite и платных приложений. Я не уверен, я вижу значение в этом же.