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