Fix HMR crashing the app

This commit is contained in:
naturecodevoid
2023-02-17 18:11:25 -08:00
parent 986465d8f4
commit 40f4c94f4d
2 changed files with 4 additions and 5 deletions

View File

@@ -11,6 +11,7 @@ import SwiftUI
import Roxas
import EmotionalDamage
import minimuxer
import Inject
import AltStoreCore
import UniformTypeIdentifiers
@@ -44,7 +45,9 @@ final class LaunchViewController: RSTLaunchViewController, UIDocumentPickerDeleg
// self.destinationViewController = self.storyboard!.instantiateViewController(withIdentifier: "tabBarController") as! TabBarController
let rootView = RootView()
.environment(\.managedObjectContext, DatabaseManager.shared.viewContext)
self.destinationViewController = UIHostingController(rootView: rootView)
// NOTE: Injection/HMR can be done directly from the SwiftUI side of things, however, it crashes the app when editing a view inside another view (such as the dev mode menu)
// A major downside to doing it from UIKit is that if we do it this way, the whole UI will reload when you make a change. If we do it from SwiftUI, it won't reload the entire UI.
self.destinationViewController = Inject.ViewControllerHost(UIHostingController(rootView: rootView))
}
super.viewDidLoad()
}

View File

@@ -8,11 +8,8 @@
import SwiftUI
import SFSafeSymbols
import Inject
struct RootView: View {
@ObservedObject private var iO = Inject.observer
@State var selectedTab: Tab = .defaultTab
var body: some View {
@@ -29,7 +26,6 @@ struct RootView: View {
}
}
.overlay(self.notificationsOverlay)
.enableInjection()
}
@ViewBuilder