Adds “Disable Response Caching” debug setting

When enabled, AltStore will ignore cached responses for certain requests and will always make a new request to the server. This is useful for development when repeatedly testing changes to remote files.

Limited to UpdateKnownSourcesOperation for now, but will eventually affect fetching sources as well.
This commit is contained in:
Riley Testut
2023-05-29 12:10:44 -05:00
parent c3721ba209
commit 0db5e3caab
4 changed files with 68 additions and 3 deletions

View File

@@ -53,6 +53,7 @@ extension SettingsViewController
{
case sendFeedback
case refreshAttempts
case responseCaching
}
}
@@ -71,6 +72,7 @@ class SettingsViewController: UITableViewController
@IBOutlet private var backgroundRefreshSwitch: UISwitch!
@IBOutlet private var enforceThreeAppLimitSwitch: UISwitch!
@IBOutlet private var disableResponseCachingSwitch: UISwitch!
@IBOutlet private var versionLabel: UILabel!
@@ -159,6 +161,7 @@ private extension SettingsViewController
self.backgroundRefreshSwitch.isOn = UserDefaults.standard.isBackgroundRefreshEnabled
self.enforceThreeAppLimitSwitch.isOn = !UserDefaults.standard.ignoreActiveAppsLimit
self.disableResponseCachingSwitch.isOn = UserDefaults.standard.responseCachingDisabled
if self.isViewLoaded
{
@@ -331,6 +334,11 @@ private extension SettingsViewController
}
}
@IBAction func toggleDisableResponseCaching(_ sender: UISwitch)
{
UserDefaults.standard.responseCachingDisabled = sender.isOn
}
@IBAction func addRefreshAppsShortcut()
{
guard let shortcut = INShortcut(intent: INInteraction.refreshAllApps().intent) else { return }
@@ -591,7 +599,7 @@ extension SettingsViewController
toastView.show(in: self)
}
case .refreshAttempts: break
case .refreshAttempts, .responseCaching: break
}
case .account, .patreon, .instructions, .macDirtyCow: break