Используйте цели.Это как раз то, для чего они нужны.
Узнайте больше о концепции целей здесь .
Как правило, большинство проектов имеют одну цель, которая соответствует одному продукту./приложение.Если вы определяете несколько целей, вы можете:
- включить некоторые файлы исходного кода (или, может быть, все) в обе цели, некоторые в одну цель, а некоторые в другую
- можете поиграть с настройками сборки, чтобы скомпилировать две цели, используя разные настройки.
Например, вы можете определить макросы прекомпилятора для одной цели и другие макросы для другой (скажем, 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
{
...
}