Эффективно создать две версии приложения для Iphone из одного проекта XCode? - PullRequest
2 голосов
/ 10 марта 2010

Я хочу делать платные и бесплатные версии своего приложения. Я хочу структурировать вещи так, чтобы я мог создать одну версию или другую с минимальным количеством изменений. Что касается исходного кода, то это легко сделать, если где-нибудь иметь константу BOOL isFreeVersion и ссылаться на нее по мере необходимости.

Но как мне все настроить? Очевидно, что идентификатор приложения должен будет измениться, и это, в свою очередь, повлечет за собой изменение некоторых параметров сборки в XCode. Каков наилучший способ свести это к минимуму?

Ответы [ 2 ]

2 голосов
/ 10 марта 2010

Вы можете использовать флаг препроцессора (в настройках вашей сборки XCode) для переключения между ними. Этот флаг может использоваться в вашем исходном коде с использованием простых директив препроцессора (например, #if IS_FREE_VERSION ... #endif) способом, аналогичным инструкции if. Это поможет вам избежать сценариев сборки.

Недостатком этого подхода является то, что по умолчанию при каждой сборке последний продукт сборки перезаписывается.

1 голос
/ 10 марта 2010

С точки зрения управления версиями в целом, я не рекомендовал бы с использованием ветвей , если влияние создания двух версий не означает важные изменения кода между двумя набор источников.

Если вы можете иметь только один набор источников (с вашими BOOL константами), это означает, что остальным нужно управлять с помощью сценария сборки, который будет:

  • принять параметр, чтобы узнать, нужно ли создавать бесплатную или платную версию исполняемого файла (отсутствие параметра означает, что он собирает оба)
  • использовать тот или иной параметр сборки XCode, в зависимости от версии, которую он должен собрать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...