Marino Faggiana 8 жил өмнө
parent
commit
ab8172227f

+ 19 - 1
iOSClient/FileSystem/NCManageDatabase.swift

@@ -28,7 +28,7 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Utility Database
 
-    func clearDB(_ table : Object.Type, account: String?) {
+    func clearTable(_ table : Object.Type, account: String?) {
         
         let results : Results<Object>
         let realm = try! Realm()
@@ -47,6 +47,24 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    func removeDB() {
+        
+        let realmURL = Realm.Configuration.defaultConfiguration.fileURL!
+        let realmURLs = [
+            realmURL,
+            realmURL.appendingPathExtension("lock"),
+            realmURL.appendingPathExtension("note"),
+            realmURL.appendingPathExtension("management")
+        ]
+        for URL in realmURLs {
+            do {
+                try FileManager.default.removeItem(at: URL)
+            } catch {
+                // handle error
+            }
+        }
+    }
+    
     //MARK: -
     //MARK: Table Activity
 

+ 5 - 3
iOSClient/Settings/CCAdvanced.m

@@ -290,7 +290,7 @@
 {
     [self deselectFormRow:sender];
     
-    [[NCManageDatabase sharedInstance] clearDB:[tableActivity class] account:app.activeAccount];
+    [[NCManageDatabase sharedInstance] clearTable:[tableActivity class] account:app.activeAccount];
         
     [app.activeActivity reloadDatasource];
 }
@@ -317,14 +317,14 @@
             [[NSURLCache sharedURLCache] setMemoryCapacity:0];
             [[NSURLCache sharedURLCache] setDiskCapacity:0];
             
-            [[NCManageDatabase sharedInstance] clearDB:[tableActivity class] account:app.activeAccount];
+            [[NCManageDatabase sharedInstance] clearTable:[tableActivity class] account:app.activeAccount];
 
             [CCCoreData flushTableAutomaticUploadAccount:app.activeAccount selector:nil];
             [CCCoreData flushTableCapabilitiesAccount:app.activeAccount];
             [CCCoreData flushTableDirectoryAccount:app.activeAccount];
             [CCCoreData flushTableExternalSitesAccount:app.activeAccount];
                         
-            [[NCManageDatabase sharedInstance] clearDB:[tableGPS class] account:app.activeAccount];
+            [[NCManageDatabase sharedInstance] clearTable:[tableGPS class] account:app.activeAccount];
             
             [CCCoreData flushTableLocalFileAccount:app.activeAccount];
             [CCCoreData flushTableMetadataAccount:app.activeAccount];
@@ -409,6 +409,8 @@
             
             [CCCoreData flushAllDatabase];
             
+            [[NCManageDatabase sharedInstance] removeDB];
+            
             [CCUtility deleteAllChainStore];
             
             [self emptyDocumentsDirectory];

+ 1 - 1
iOSClient/Settings/CCManageAccount.m

@@ -324,7 +324,7 @@
 {
     [CCCoreData flushTableAccount:account];
     
-    [[NCManageDatabase sharedInstance] clearDB:[tableActivity class] account:account];
+    [[NCManageDatabase sharedInstance] clearTable:[tableActivity class] account:account];
     
     [CCCoreData flushTableAutomaticUploadAccount:account selector:nil];
     [CCCoreData flushTableCapabilitiesAccount:account];