2012-06-04 8 views
5

¿Cómo hago referencia al Modelo que he creado en mi proyecto de biblioteca estática?problemas al crear una biblioteca estática con CoreData - No se puede crear un NSPersistentStoreCoordinator con un modelo nulo

Esto devuelve nulo y lanza y el error debido a que los recursos viven en esta biblioteca estática:

 //this code is in the static library 
    - (NSManagedObjectModel *)managedObjectModel 
{ 
    if (__managedObjectModel != nil) { 
     return __managedObjectModel; 
    } 

    NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"eCommerceEngine" withExtension:@"mom"]; 
    __managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; 
    return __managedObjectModel; 
} 

¿Cómo puedo cambiar esto a tirar de esta biblioteca estática?

+0

Cuando dice que los recursos viven en un paquete, ¿se trata de un archivo .bundle porque su extensión ahora es .mom? – skram

+0

que fue un poco confuso, supongo, actualicé mi pregunta. .mom es parte de la biblioteca estática, por lo que necesito crear una URL para .mom en la biblioteca estática. – Slee

Respuesta

4

En el iPhone, las bibliotecas estáticas tienen una extensión .a y solo pueden contener código. Esto significa que cualquier recurso (xibs, imágenes, etc.) debe empaquetarse en un paquete o enviarse por separado de la biblioteca.

Ver iOS Library With Resources

4

Si desea utilizar un modelo preconfigurado de una biblioteca, sugeriría la construcción del modelo de programación, utilizando la API Entidad, y no utilizar un archivo de modelo en absoluto.

+0

¿Cómo se hace esto? ¿Enlace de documentación o algo útil? Muy bien :) –

+0

Buscar NSEntityDescription. Puede construir todo el modelo en código creando y vinculando esas descripciones. No es tan malo, de verdad. –

+0

¡Gracias increíbles! –

Cuestiones relacionadas