Я пытался сбросить и восстановить UserDefaults
при запуске UITests и восстановить их, когда они закончатся соответственно. Вот код, который используется в AppDelegate:
func makeDefaultsBackup() {
guard config.uiTesting else {return}
if let domainName = Bundle.main.bundleIdentifier {
self.defaultsBackup = UserDefaults.standard.persistentDomain(forName: domainName)
UserDefaults.standard.removePersistentDomain(forName: domainName)
}
}
func applyDefaultsBackup() {
guard config.uiTesting else { return }
if let domainName = Bundle.main.bundleIdentifier,
let persistentDomain = self.defaultsBackup {
UserDefaults.standard.setPersistentDomain(persistentDomain, forName: domainName)
}
}
Но после завершения UITests и запуска приложения в базовом режиме все настройки удаляются.