Как создать несколько приложений из одного общего кода в XCode? - PullRequest
17 голосов
/ 17 сентября 2011

Я занимаюсь разработкой 2 разных приложений, которые используют 95% одного и того же кода и представлений. Каков наилучший способ сделать это с помощью Xcode?

1 Ответ

35 голосов
/ 17 сентября 2011

Используйте цели.Это как раз то, для чего они нужны.

Узнайте больше о концепции целей здесь .

Как правило, большинство проектов имеют одну цель, которая соответствует одному продукту./приложение.Если вы определяете несколько целей, вы можете:

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

Например, вы можете определить макросы прекомпилятора для одной цели и другие макросы для другой (скажем, OTHER_C_FLAGS = -DPREMIUM в цели"PremiumVersion" и OTHER_C_FLAGS = -DLITE для определения макроса LITE в цели "LiteVersion"), а затем включите аналогичный код в ваш источник:

-(IBAction)commonCodeToBothTargetsHere
{
   ...
}

-(void)doStuffOnlyAvailableForPremiumVersion
{
#if PREMIUM
   // This code will only be compiled if the PREMIUM macro is defined
   // namely only when you compile the "PremiumVersion" target
   .... // do real stuff
#else
   // This code will only be compiled if the PREMIUM macro is NOT defined
   // namely when you compile the "LiteVersion" target

   [[[[UIAlertView alloc] initWithTitle:@"Only for premium" 
       message:@"Sorry, this feature is reserved for premium users. Go buy the premium version on the AppStore!"
       delegate:self
       cancelButtonTitle:@"Doh!"
       otherButtonTitles:@"Go buy it!",nil]
   autorelease] show];
#endif
}

-(void)otherCommonCodeToBothTargetsHere
{
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...