Я использую этот шаблон Xcode для основных данных.
У делегата у меня есть этот метод:
- (NSURL *)applicationDocumentsDirectory {
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
но для этого требуется iOS4.
Я пытаюсь сделать приложение совместимым с 3.0.
Итак, я преобразовал этот метод в:
- (NSURL *)applicationDocumentsDirectory {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [NSURL URLWithString:documentsDirectory];
}
но когда coredata пытается использовать URL магазина в
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"MyFile.sqlite"];
if (![persistentStoreCoordinator_ addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
он сбой на линии IF с сообщением:
CoreData SQL хранит только поддерживаемые URL-адреса файлов (полученные/var/mobile/Applications/BB312A7E-6AE1-4BA2-AD87-6B96D8855CC6/Documents/MyFile.sqlite).
но StoreURL - это NSURL!
Любые подсказки? Благодаря