¿Cómo crear varias aplicaciones desde el mismo código compartido en Xcode?

Estoy desarrollando 2 aplicaciones diferentes que comparten el 95% del mismo código y vistas. ¿Cuál es la mejor forma de hacerlo usando Xcode?

Usar objectives Eso es exactamente para lo que son.

Obtenga más información sobre el concepto de objectives aquí .

Normalmente, la mayoría de los proyectos tienen un solo objective, que corresponde a un producto / aplicación. Si define múltiples destinos, puede:

  • incluya algunos de sus files de código fuente (o tal vez todos) en ambos objectives, algunos en un objective y otros en el otro
  • puedes jugar con la configuration de compilation para comstackr los dos objectives usando configuraciones diferentes.

Por ejemplo, puede definir las Macros de Precompiler para un objective y otras macros para el otro (digamos OTHER_C_FLAGS = -DPREMIUM en el destino "PremiumVersion" y OTHER_C_FLAGS = -DLITE para definir la macro LITE en el objective "LiteVersion") e include un código similar en tu fuente:

 -(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 { ... }