SwiftTweaks icon indicating copy to clipboard operation
SwiftTweaks copied to clipboard

Add SwiftUI version of TweakWindow

Open danielamitay opened this issue 1 year ago • 0 comments

@bryanjclark @mpetes

For UIKit/UIApplicationDelegate based apps, SwiftTweaks offers TweakWindow which will automatically handle the shake gesture logic for presenting the TweaksViewController when tweaks are enabled.

This PR adds TweakWindowGroup, which is a drop-in replacement for the SwiftUI WindowGroup that makes up the very root/UIWindow equivalent of the app. This code is already in use in one personal app, and very closely mirrors the original TweakWindow logic and setup.

Before:

import SwiftUI

@main
struct ExampleApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

After:

import SwiftUI
import SwiftTweaks

@main
struct ExampleApp: App {
    var body: some Scene {
        TweakWindowGroup(tweakStore: ExampleTweaks.defaultStore) {
            ContentView()
        }
    }
}

danielamitay avatar Sep 17 '24 01:09 danielamitay