Vous devez ajouter le fichier SQLite pour votre projet Xcode premier le lieu le plus approprié est dans le dossier de ressources.
Puis dans votre application délégué fichier de code, dans le appDidFinishLaunching méthode, vous devez d'abord vérifier si une écriture copie du fichier SQLite a déjà été créé, à savoir: une copie du fichier SQLite a été créé dans le dossier de documents sur l'iPhone, le système de fichiers. Si oui, vous n'avez rien faire (sinon vous écraser avec la valeur par défaut Xcode SQLite copie)
Si non, alors vous copiez le fichier SQLite-il à rendre accessible en écriture.
Voir ci-dessous l'exemple de code pour le faire: cela a été pris à partir d'Apple SQLite livres de code de l'échantillon où cette méthode est appelée à partir de la demande des délégués appDidFinishLaunching méthode.
// Creates a writable copy of the bundled default database in the application Documents directory.
- (void)createEditableCopyOfDatabaseIfNeeded {
// First, test for existence.
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@"bookdb.sql"];
success = [fileManager fileExistsAtPath:writableDBPath];
if (success)
return;
// The writable database does not exist, so copy the default to the appropriate location.
NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"bookdb.sql"];
success = [fileManager copyItemAtPath:defaultDBPath toPath:writableDBPath error:&error];
if (!success) {
NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);
}
}