Browse Source

AppCoordinator: Migration: Present and dismiss on main thread

Soomin Lee 6 years ago
parent
commit
227706816d
1 changed files with 12 additions and 3 deletions
  1. 12 3
      Sources/Coordinators/AppCoordinator.swift

+ 12 - 3
Sources/Coordinators/AppCoordinator.swift

@@ -63,18 +63,27 @@ class Services: NSObject {
 
 extension AppCoordinator: MediaLibraryMigrationDelegate {
     func medialibraryDidStartMigration(_ medialibrary: VLCMediaLibraryManager) {
-        tabBarController.present(migrationViewController, animated: true, completion: nil)
+        DispatchQueue.main.async {
+            [tabBarController, migrationViewController] in
+            tabBarController.present(migrationViewController, animated: true, completion: nil)
+        }
     }
 
     func medialibraryDidFinishMigration(_ medialibrary: VLCMediaLibraryManager) {
         if tabBarController.presentedViewController === migrationViewController {
-            tabBarController.dismiss(animated: true, completion: nil)
+            DispatchQueue.main.async {
+                [tabBarController] in
+                tabBarController.dismiss(animated: true, completion: nil)
+            }
         }
     }
 
     func medialibraryDidStopMigration(_ medialibrary: VLCMediaLibraryManager) {
         if tabBarController.presentedViewController === migrationViewController {
-            tabBarController.dismiss(animated: true, completion: nil)
+            DispatchQueue.main.async {
+                [tabBarController] in
+                tabBarController.dismiss(animated: true, completion: nil)
+            }
         }
     }
 }