diff --git a/swift/apple/FirezoneNetworkExtension/ConfigurationManager.swift b/swift/apple/FirezoneNetworkExtension/ConfigurationManager.swift index b0319382c..2e5f28fc6 100644 --- a/swift/apple/FirezoneNetworkExtension/ConfigurationManager.swift +++ b/swift/apple/FirezoneNetworkExtension/ConfigurationManager.swift @@ -81,7 +81,15 @@ class ConfigurationManager { } @objc private func handleUserDefaultsChanged(_ notification: Notification) { - self.managedDict = userDefaults.dictionary(forKey: managedDictKey) ?? [:] + let newManagedDict = (userDefaults.dictionary(forKey: managedDictKey) ?? [:]) as [String: Any?] + + // NSDictionary conforms to Equatable + if (managedDict as NSDictionary) == (newManagedDict as NSDictionary) { + return + } + + Log.log("Applying MDM configuration. Old: \(managedDict) New: \(newManagedDict)") + self.managedDict = newManagedDict } private func saveUserDict() {