以下は、MagicalRecord CoreData sqlite ファイルと -wal および -shm ファイルを完全に削除します。MagicalRecord はそれらをすべて Library フォルダーに入れます。これにより、フォルダからすべてのファイルが削除されます。Libraryフォルダーに保持する必要がある他のデータがある場合、これは機能しません。私はしませんでした:
- (void)resetCoreDataDB
{
[MagicalRecord cleanUp];
[self deleteFilesInLibrary];
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"YourDBName.sqlite"];
}
- (void)deleteFilesInLibraryDirectory
{
NSString* folderPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSError *error = nil;
for (NSString *file in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folderPath error:&error])
{
[[NSFileManager defaultManager] removeItemAtPath:[folderPath stringByAppendingPathComponent:file] error:&error];
if(error)
{
NSLog(@"Delete error: %@", error.description);
}
}
}