Имам проблем с моя CoreData, но съм сигурен, че правя нещо грешно концептуално.
Опитвам се да получа достъп до CoreData sql файл на една машина в моята мрежа от друга машина. Опитвам се да направя това от подобно на клъстер приложение. Всяка машина има едно и също копие на софтуера и трябва да сочи към базата данни на тази машина.
Моят модел и контекст се зареждат добре за машината, на която е базата данни. Другата машина ми дава грешка 13400 NSPersistentStoreInvalidTypeError
Ето част от кода:
NSError *error = nil;
NSURL *mdlurl = [NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:@"OsiriXDB_DataModel" ofType:@"mom"]];
_model = [[NSManagedObjectModel alloc] initWithContentsOfURL: url];
NSURL *dburl = [NSURL URLWithString:[NSString stringWithUTF8String:_DBPath.c_str()]];
// The dburl has a format like: file://192.168.0.2/Users/slate/Documents/OsiriX%20Data/Database.sql which addresses the machine the data sits on.
_storeCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: _model];
_context = [[NSManagedObjectContext alloc] init];
[_context setPersistentStoreCoordinator: _storeCoordinator];
if (![_storeCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:dburl options:nil error:&error]) {
NSLog(@"Error loading store: %@", error); // Error Shows up Here
NSLog(@"MOM: %@",_model); // Model looks OK. Lots of print outs, with the correct names and stuff. (so technical).
}
Признавам, че не знам много за CoreData. Дали защото е на друга машина? Прочетох това онлайн, но не мисля, че това е моят проблем. Ако е така, нямам идея как да го поправя, защото не мога да намеря никакви .xml
файлове в моята ~/Library/Application\ Support/
директория, свързани с MyApp
или OsiriX
, което е програмата, създала базата данни.
Правя ли грешно нещо, зареждайки CoreData в мрежа?
Ако не, какво трябва да правя?
Благодаря,