Я решил проблему, хотя, если честно, я не уверен, что это было. Я должен снова просмотреть рабочий код, но вот он:
NSError *error = nil;
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", @"CoreData", @"sqlite"]];
//if file does not exist in document directory, gets original from mainbundle and copies it to documents.
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
NSString *defaultFilePath = [[NSBundle mainBundle] pathForResource:@"CoreData" ofType:@"sqlite"];
[[NSFileManager defaultManager] copyItemAtPath:defaultFilePath toPath:filePath error:&error];
if (error != nil) {
NSLog(@"Error: %@", error);
}
}
Редактировать:
Я подозреваю, что путь к каталогу приложения был неверным, учитывая, что тело сгенерированного applicationDocumentsDirectory
выглядит иначе, чем метод, использованный для значения переменной documentsDorectory
, показанной выше.