2011-05-27 34 views
5

Tengo mi primera aplicación iOS (una aplicación para iPad relativamente sencilla, que se lanzará en un mes más o menos), pero ahora me estoy moviendo a algo más ambicioso, y podría usar algún consejo.Preguntas de estructuración del proyecto Xcode 4 iOS

Mi próximo proyecto será en realidad dos aplicaciones de iPad distintas pero estrechamente relacionadas que compartirán bastante funcionalidad básica y un formato de datos común. Así que mi instinto es desarrollar estas dos aplicaciones junto con el desarrollo de un marco central compartido por ambos, y me gustaría que este marco compartido use CoreData y también proporcione elementos GUI (NIB, controladores de vista) que puedan ser utilizados por el aplicaciones respectivas. Por tanto, mi mayor instinto es crear 3 proyectos de Xcode: un proyecto de aplicación de iOS para la aplicación A, un segundo proyecto de aplicación de iOS para la aplicación B y un tercer proyecto de marco de trabajo de CocoaTouch para el marco compartido.

Preguntas:

1) ¿Es esta la manera correcta para estructurar mi desarrollo, o hay una mejor manera de hacer el desarrollo simultáneo de dos aplicaciones estrechamente relacionados y un marco compartido?

2) ¿Puede un framework utilizar CoreData? (Pregunto esto porque al crear un proyecto de marco de CocoaTouch en Xcode, no se ofrece la opción de que use CoreData ni la opción de tener pruebas de unidades, como ocurre al crear un proyecto de aplicación de iOS).

3) ¿Hay alguna manera de "convertir" un proyecto de aplicación de iOS en un proyecto de marco, o, tal vez preferiblemente, en lugar de construir un proyecto de aplicación en un objetivo de marco? Eso me permitiría crear el proyecto marco con todos los regalos de configuración de Xcode (NIB, datos básicos, etc.), en lugar de agregar todo eso manualmente.

Gracias!

Carl

Respuesta

2

Para responder a la pregunta uno, no me funciona de esta manera. Crearía un proyecto con tres objetivos, dos objetivos de aplicación y un objetivo marco. Tal vez en el futuro movería el marco a su propio proyecto cuando se hubiera estabilizado y si fuera a usarlo para incluso más aplicaciones de iOS. Tener todos los objetivos en el mismo proyecto reduce los problemas de sincronización cuando se trabaja en código compartido entre los objetivos.

Para responder a la pregunta dos, Xcode simplemente no incluye el soporte de plantillas para agregar datos básicos y pruebas unitarias a un proyecto de marco de inicio. No veo ninguna razón por la cual no puedas usar Core Data en un marco.

Para responder a la pregunta tres, solo agregue un objetivo de infraestructura a su proyecto de aplicación de iOS, y mueva las partes apropiadas de su aplicación de iOS al marco.

+0

¡Gracias por las respuestas, particularmente al # 1! Eso suena mucho más fácil de administrar. ¡Me alegro de haber preguntado! –