Эй, ребята, у меня есть этот предварительный загрузчик (проект утилиты командной строки Xcode), который предварительно загружает хранилище sqlite моего iPhone-приложения, и до сих пор оно работало нормально, так как всегда выдает ошибку несовместимого магазина. Поэтому вместо ссылки на файл .mom в предзагрузчике я собираюсь создать его внутри предзагрузчика, чтобы, надеюсь, обойти эту проблему. Вот тут и возникает мой вопрос, как мне определить, где preloader хранит файл .mom, который я ему создаю? И есть ли какой-нибудь способ, которым я могу сказать это, где поместить это?
Ниже приведены некоторые соответствующие фрагменты кода.
Из приложения для iPhone:
/ **
Возвращает модель управляемого объекта для приложения.
Если модель еще не существует, она создается путем объединения всех моделей, найденных в комплекте приложений.
* /
- (NSManagedObjectModel *) managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
//managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
NSURL *modelURL = [NSURL fileURLWithPath:@"path/to/Parking.mom"];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
#pragma mark TODO change below line to search for your project's mom file
NSString *path = [[NSBundle mainBundle] pathForResource:@"Parking" ofType:@"mom"];
return managedObjectModel;
}
Из предварительного загрузчика (служебный проект командной строки Xcode):
NSManagedObjectModel *managedObjectModel(NSString* momPath) {
static NSManagedObjectModel *model = nil;
if (model != nil) {
return model;
}
model = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
//NSURL *modelURL = [NSURL fileURLWithPath:momPath];
//model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return model;
}
Если вы внимательно посмотрите на код, вы увидите, где я поменял местами то, что было в каждом файле.
Заранее спасибо!