Запуск приложения на iPhone работает нормально, но только если он подключен к Mac/связанному с Xcode. Если я попытаюсь запустить его после того, как отключил его (после остановки Run), Core Data больше не работает. Ни Build, ни Отладка Работы по настройке (Продукт -> Изменить схему ... -> Запустить xy.app -> Информация -> Конфигурация сборки). Мои настройки xcdatamodel: Тип файла: По умолчанию Основные данные модели Расположение: По отношению к группеТестирование основных данных на iPhone без подключения к Xcode
Любые идеи?
Приветствия, Saeppi
Извините за не более конкретно о моей проблеме. Там нет сбоев, изменения, которые, как я думал, я сделал с базовой моделью данных, просто не произошло. Прочитав немного больше о SQLite и о том, как он работает с Core Data, я признаю, что совершил очень тупую ошибку: я скопировал файл * .sqlite из учебника и импортировал его в свой проект Xcode и скопировал его в папку приложения (а затем переименовать его, конечно). Удаление SQLite файла вызывает теперь следующее сообщение об ошибке:
error: /Users/myName/Documents/myApp/myApp.sqlite: No such file or directory
Мой PersistentStoreCoordinator:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"MyApp.sqlite"]];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"ErrorKey", nil)
message:NSLocalizedString(@"ErrorDBKey", nil)
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
return persistentStoreCoordinator;
}
и каталог моего приложения:
- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}
Я думал, что базовые данные будут генерировать новый файл sqlite после его удаления из папки. Какая ошибка в рассуждении?
Можно ли объяснить что-то более похожее на то же? – Sarah
* «Не работает» * является чрезвычайно бесполезным описанием. Что происходит? Это крушение? Дать результаты, которых вы не ожидали? Не удается запустить? – Jim
Как вы можете быть уверены, что это основная проблема? Вам действительно нужно предоставить нам более подробную информацию или мы не сможем вам помочь. – sosborn