Vous pouvez copier votre base de données du répertoire du regroupement d'applications dans le répertoire Documents de viewDidLoad. Vous pouvez lire/écrire depuis/vers votre base de données dans le répertoire Documents après cela. Bien sûr, vous devez vérifier si la base de données dans le répertoire Documents existe avant de faire la copie afin de ne pas l'écraser lors de la prochaine utilisation de l'application.
En supposant que vous avez défini votre nom de base de données '#define kFilename @ "yourdatabase.db"' dans le fichier .m.
En viewDidLoad ajouter:
// Get the path to the main bundle resource directory.
NSString *pathsToReources = [[NSBundle mainBundle] resourcePath];
NSString *yourOriginalDatabasePath = [pathsToResources stringByAppendingPathComponent:kFilename];
// Create the path to the database in the Documents directory.
NSArray *pathsToDocuments = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [pathsToDocuments objectAtIndex:0];
NSString *yourNewDatabasePath = [documentsDirectory stringByAppendingPathComponent:kFilename];
if (![[NSFileManager defaultManager] isReadableFileAtPath:yourNewDatabasePath]) {
if ([[NSFileManager defaultManager] copyItemAtPath:yourOriginalDatabasePath toPath:yourNewDatabasePath error:NULL] != YES)
NSAssert2(0, @"Fail to copy database from %@ to %@", yourOriginalDatabasePath, yourNewDatabasePath);
}
Bonne chance!
aobs
Peut-être que vous l'avez déjà fait, veuillez vérifier la permission de votre base de données. – aobs