Fix my mistakes and get update ready

This commit is contained in:
Stephen B 2025-12-16 04:17:33 -05:00
parent 222328e708
commit da0a3f76d3
6 changed files with 28 additions and 26 deletions

View file

@ -15,13 +15,17 @@
</array>
</dict>
</array>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>NSBonjourServices</key>
<array>
<string>_stikdebug._tcp</string>
<string>_stikdebug._udp</string>
</array>
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
<key>UIFileSharingEnabled</key>
<true/>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
@ -44,14 +48,5 @@
</dict>
</dict>
</array>
<key>NSLocalNetworkUsageDescription</key>
<string>StikDebug needs access to devices on your local network so it can connect to the targets you add to the Device Library.</string>
<key>NSBonjourServices</key>
<array>
<string>_stikdebug._tcp</string>
<string>_stikdebug._udp</string>
</array>
</dict>
</plist>
</plist>

View file

@ -2,11 +2,11 @@ import Foundation
enum FeatureFlags {
/// Global toggle for exposing location spoofing UI/logic.
static let isLocationSpoofingEnabled = true
static let isLocationSpoofingEnabled = false
/// Controls visibility of beta-quality tabs and UI.
static let showBetaTabs = true
static let showBetaTabs = false
/// Forces the Theme Expansion to be unlocked and visible everywhere.
static let alwaysUnlockThemeExpansion = true
static let alwaysUnlockThemeExpansion = false
/// Controls visibility of the Mini Tools tab and related UI.
static let isMiniToolsEnabled = true
static let isMiniToolsEnabled = false
}

View file

@ -3,13 +3,14 @@ import Foundation
enum TabConfiguration {
static let storageKey = "enabledTabIdentifiers"
static let maxSelectableTabs = 4
private static let coreIDs: [String] = ["home", "console", "scripts", "profiles", "deviceinfo"]
private static let coreIDs: [String] = ["home", "console", "scripts", "deviceinfo"]
static var allowedIDs: [String] {
var ids = coreIDs
if FeatureFlags.isMiniToolsEnabled {
ids.append("tools")
}
if FeatureFlags.showBetaTabs {
ids.append("profiles")
ids.append("processes")
ids.append("devicelibrary")
if FeatureFlags.isLocationSpoofingEnabled {
@ -18,7 +19,7 @@ enum TabConfiguration {
}
return ids
}
static let defaultIDs: [String] = ["home", "console", "scripts", "profiles"]
static let defaultIDs: [String] = ["home", "console", "scripts", "deviceinfo"]
static let defaultRawValue = serialize(defaultIDs)
static func sanitize(raw: String) -> [String] {

View file

@ -77,6 +77,7 @@ struct DisplayView: View {
@State private var selectedAccentColor: Color = .blue
@Environment(\.colorScheme) private var colorScheme
@Environment(\.themeExpansionManager) private var themeExpansionOptional
@Environment(\.dismiss) private var dismiss
@State private var justSaved = false
@State private var showingCreateCustomTheme = false
@ -171,6 +172,11 @@ struct DisplayView: View {
}
}
.navigationTitle("Display")
.toolbar {
ToolbarItem(placement: .primaryAction) {
Button("Close") { dismiss() }
}
}
.onAppear {
if !hasThemeExpansion, let manager = themeExpansion, manager.isCustomThemeIdentifier(appThemeRaw) {
appThemeRaw = AppTheme.system.rawValue

View file

@ -54,13 +54,13 @@ struct MainTabView: View {
TabDescriptor(id: "home", title: "Home", systemImage: "house") { AnyView(HomeView()) },
TabDescriptor(id: "console", title: "Console", systemImage: "terminal") { AnyView(ConsoleLogsView()) },
TabDescriptor(id: "scripts", title: "Scripts", systemImage: "scroll") { AnyView(ScriptListView()) },
TabDescriptor(id: "profiles", title: "Profiles", systemImage: "magazine.fill") { AnyView(ProfileView()) },
TabDescriptor(id: "deviceinfo", title: "Device Info", systemImage: "iphone.and.arrow.forward") { AnyView(DeviceInfoView()) }
]
if FeatureFlags.isMiniToolsEnabled {
tabs.append(TabDescriptor(id: "tools", title: "Mini Tools", systemImage: "shippingbox.fill") { AnyView(MiniToolListView()) })
}
if FeatureFlags.showBetaTabs {
tabs.append(TabDescriptor(id: "profiles", title: "Profiles", systemImage: "magazine.fill") { AnyView(ProfileView()) })
tabs.append(TabDescriptor(id: "processes", title: "Processes", systemImage: "rectangle.stack.person.crop") { AnyView(ProcessInspectorView()) })
tabs.append(TabDescriptor(id: "devicelibrary", title: "Devices", systemImage: "list.bullet.rectangle") { AnyView(DeviceLibraryView()) })
if FeatureFlags.isLocationSpoofingEnabled {

View file

@ -93,10 +93,10 @@ struct SettingsView: View {
if FeatureFlags.isMiniToolsEnabled {
options.append(TabOption(id: "tools", title: "Mini Tools", detail: "Import and run stiktool bundles", icon: "shippingbox", isBeta: true))
}
options.append(contentsOf: [
TabOption(id: "profiles", title: "Profiles", detail: "Install/remove profiles", icon: "magazine", isBeta: false),
TabOption(id: "deviceinfo", title: "Device Info", detail: "View detailed device metadata", icon: "iphone.and.arrow.forward", isBeta: false)
])
options.append(TabOption(id: "deviceinfo", title: "Device Info", detail: "View detailed device metadata", icon: "iphone.and.arrow.forward", isBeta: false))
if FeatureFlags.showBetaTabs {
options.append(TabOption(id: "profiles", title: "Profiles", detail: "Install/remove profiles", icon: "magazine", isBeta: true))
}
if FeatureFlags.showBetaTabs {
options.append(TabOption(id: "processes", title: "Processes", detail: "Inspect running apps", icon: "rectangle.stack.person.crop", isBeta: true))
options.append(TabOption(id: "devicelibrary", title: "Devices", detail: "Manage external devices", icon: "list.bullet.rectangle", isBeta: true))