У меня проблема с моими 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 по сети?
Если нет, что мне делать?
Спасибо