Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wongzigii/378a4fb8762e7498ea43d788befc030e to your computer and use it in GitHub Desktop.
Save wongzigii/378a4fb8762e7498ea43d788befc030e to your computer and use it in GitHub Desktop.
MagicalRecord remove and reset CoreData
- (void)resetCoreData {
DDLogInfo(@"[RESET-COREDATA] Started.");
[MagicalRecord cleanUp];
NSURL *storeURL = [NSPersistentStore MR_urlForStoreName:kMobilStoreName];
NSURL *walURL = [[storeURL URLByDeletingPathExtension] URLByAppendingPathExtension:@"sqlite-wal"];
NSURL *shmURL = [[storeURL URLByDeletingPathExtension] URLByAppendingPathExtension:@"sqlite-shm"];
NSError *error = nil;
BOOL hadSuccess = YES;
for (NSURL *url in @[storeURL, walURL, shmURL]) {
if ([[NSFileManager defaultManager] fileExistsAtPath:url.path]) {
hadSuccess = [[NSFileManager defaultManager] removeItemAtURL:url error:&error];
}
}
if (hadSuccess) {
DDLogInfo(@"[RESET-COREDATA] Reset OK, recreating...");
[MagicalRecord setupCoreDataStackWithStoreNamed:kMobilStoreName];
}
else {
DDLogError(@"[RESET-COREDATA] An error has occurred while deleting %@ error: %@", kMobilStoreName, error);
}
DDLogInfo(@"[RESET-COREDATA] Finished");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment