mirror of
https://github.com/StikDebug/StikDebug.git
synced 2026-10-16 04:20:30 +00:00
Disable scripts when advanced options off (#225)
This commit is contained in:
parent
1441520ba0
commit
f7cd3444bf
3 changed files with 31 additions and 12 deletions
|
|
@ -15,12 +15,17 @@ struct ScriptListView: View {
|
|||
@State private var showImporter = false
|
||||
@AppStorage("DefaultScriptName") private var defaultScriptName = "attachDetach.js"
|
||||
|
||||
var onSelectScript: ((URL) -> Void)? = nil
|
||||
var onSelectScript: ((URL?) -> Void)? = nil
|
||||
|
||||
var body: some View {
|
||||
NavigationStack {
|
||||
List {
|
||||
Section {
|
||||
if let onSelectScript {
|
||||
Button("None") {
|
||||
onSelectScript(nil)
|
||||
}
|
||||
}
|
||||
ForEach(scripts, id: \.self) { script in
|
||||
if let onSelectScript {
|
||||
Button {
|
||||
|
|
|
|||
|
|
@ -440,9 +440,15 @@ struct HomeView: View {
|
|||
LogManager.shared.addInfoLog("Starting Debug for \(bundleID)")
|
||||
|
||||
DispatchQueue.global(qos: .background).async {
|
||||
let mapping = UserDefaults.standard.dictionary(forKey: "BundleScriptMap") as? [String: String]
|
||||
let mappedScript = mapping?[bundleID]
|
||||
let callback = mappedScript != nil ? getJsCallback(for: mappedScript) : (useDefaultScript ? getJsCallback() : nil)
|
||||
var callback: DebugAppCallback? = nil
|
||||
if enableAdvancedOptions {
|
||||
let mapping = UserDefaults.standard.dictionary(forKey: "BundleScriptMap") as? [String: String]
|
||||
if let script = mapping?[bundleID] {
|
||||
callback = getJsCallback(for: script)
|
||||
} else if useDefaultScript {
|
||||
callback = getJsCallback()
|
||||
}
|
||||
}
|
||||
let success = JITEnableContext.shared.debugApp(withBundleID: bundleID, logger: { message in
|
||||
|
||||
if let message = message {
|
||||
|
|
@ -466,13 +472,14 @@ struct HomeView: View {
|
|||
|
||||
DispatchQueue.global(qos: .background).async {
|
||||
|
||||
let jsCallback: DebugAppCallback? = (enableAdvancedOptions && useDefaultScript) ? getJsCallback() : nil
|
||||
let success = JITEnableContext.shared.debugApp(withPID: Int32(pid), logger: { message in
|
||||
|
||||
|
||||
if let message = message {
|
||||
// Log messages from the JIT process
|
||||
LogManager.shared.addInfoLog(message)
|
||||
}
|
||||
}, jsCallback: useDefaultScript ? getJsCallback() : nil)
|
||||
}, jsCallback: jsCallback)
|
||||
|
||||
DispatchQueue.main.async {
|
||||
LogManager.shared.addInfoLog("JIT process completed for \(pid)")
|
||||
|
|
|
|||
|
|
@ -137,6 +137,7 @@ struct AppButton: View {
|
|||
@Binding var favoriteApps: [String]
|
||||
@Binding var appIcons: [String: UIImage]
|
||||
@AppStorage("loadAppIconsOnJIT") private var loadAppIconsOnJIT = true
|
||||
@AppStorage("enableAdvancedOptions") private var enableAdvancedOptions = false
|
||||
var onSelectApp: (String) -> Void
|
||||
let sharedDefaults: UserDefaults
|
||||
|
||||
|
|
@ -163,10 +164,12 @@ struct AppButton: View {
|
|||
Button { UIPasteboard.general.string = bundleID } label: {
|
||||
Label("Copy Bundle ID", systemImage: "doc.on.doc")
|
||||
}
|
||||
Button {
|
||||
showScriptPicker = true
|
||||
} label: {
|
||||
Label("Assign Script", systemImage: "chevron.left.slash.chevron.right")
|
||||
if enableAdvancedOptions {
|
||||
Button {
|
||||
showScriptPicker = true
|
||||
} label: {
|
||||
Label("Assign Script", systemImage: "chevron.left.slash.chevron.right")
|
||||
}
|
||||
}
|
||||
}
|
||||
.sheet(isPresented: $showScriptPicker) {
|
||||
|
|
@ -235,9 +238,13 @@ struct AppButton: View {
|
|||
WidgetCenter.shared.reloadAllTimelines()
|
||||
}
|
||||
|
||||
private func assignScript(_ url: URL) {
|
||||
private func assignScript(_ url: URL?) {
|
||||
var mapping = UserDefaults.standard.dictionary(forKey: "BundleScriptMap") as? [String: String] ?? [:]
|
||||
mapping[bundleID] = url.lastPathComponent
|
||||
if let url {
|
||||
mapping[bundleID] = url.lastPathComponent
|
||||
} else {
|
||||
mapping.removeValue(forKey: bundleID)
|
||||
}
|
||||
UserDefaults.standard.set(mapping, forKey: "BundleScriptMap")
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue