2012-06-04 10 views
5

Jak mogę odwołać się do Modelu, który utworzyłem w projekcie mojej biblioteki statycznej?problemy z tworzeniem biblioteki statycznej z CoreData - Nie można utworzyć NSPersistentStoreCoordinator z zerowym modelem

ta zwraca null i rzuca i błędów, ponieważ zasoby żyć w tej statycznej biblioteki:

 //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; 
} 

Jak mogę to zmienić, aby wyciągnąć z tego statycznej biblioteki?

+0

Kiedy mówisz, że zasoby znajdują się w pakiecie, czy jest to plik .bundle, ponieważ Twoje rozszerzenie to .mom? – skram

+0

To było trochę mylące, myślę, zaktualizowałem moje pytanie. Plik .mom jest częścią biblioteki statycznej, więc muszę utworzyć adres URL dla .mom w bibliotece statycznej. – Slee

Odpowiedz

4

W telefonie iPhone biblioteki statyczne mają rozszerzenie .a i mogą zawierać tylko kod. Oznacza to, że wszelkie zasoby (pliki xib, obrazy itp.) Muszą być spakowane w pakiecie lub wysłane oddzielnie niż biblioteka.

Zobacz iOS Library With Resources

4

Jeśli chcesz użyć wstępnie skonfigurowanego modelu z biblioteki, chciałbym zaproponować budowy modelu programowo, za pomocą interfejsu API jednostki, a nie korzystać z pliku modelu w ogóle.

+0

Jak to zrobić? Link do dokumentacji lub coś pomocnego? Bardzo proszę :) –

+0

Sprawdź NSEntityDescription. Możesz zbudować cały model w kodzie, tworząc i łącząc te opisy. To naprawdę nie jest takie złe. –

+0

Niesamowite dzięki! –

Powiązane problemy