---
title: NEDNSSettingsManager
framework: networkextension
role: symbol
role_heading: Class
path: networkextension/nednssettingsmanager
---

# NEDNSSettingsManager

An object you use to create and manage a DNS settings configuration.

## Declaration

```swift
class NEDNSSettingsManager
```

## Overview

Overview When your app starts up, access the shared instance of the DNS settings manager, and load existing settings from the preferences using loadFromPreferences(completionHandler:). You can define your DNS server configuration, and persist it by calling saveToPreferences(completionHandler:). In order to use your DNS settings, the user needs to enable it in the Settings app on iOS or in System Preferences on macOS.

## Topics

### Managing DNS configurations

- [shared()](networkextension/nednssettingsmanager/shared().md)
- [loadFromPreferences(completionHandler:)](networkextension/nednssettingsmanager/loadfrompreferences(completionhandler:).md)
- [saveToPreferences(completionHandler:)](networkextension/nednssettingsmanager/savetopreferences(completionhandler:).md)
- [removeFromPreferences(completionHandler:)](networkextension/nednssettingsmanager/removefrompreferences(completionhandler:).md)

### Accessing DNS configuration properties

- [isEnabled](networkextension/nednssettingsmanager/isenabled.md)
- [dnsSettings](networkextension/nednssettingsmanager/dnssettings.md)
- [localizedDescription](networkextension/nednssettingsmanager/localizeddescription.md)
- [onDemandRules](networkextension/nednssettingsmanager/ondemandrules.md)

### Handling errors

- [NEDNSSettingsErrorDomain](networkextension/nednssettingserrordomain.md)
- [NEDNSSettingsManagerError](networkextension/nednssettingsmanagererror.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### DNS configuration

- [NEDNSOverHTTPSSettings](networkextension/nednsoverhttpssettings.md)
- [NEDNSOverTLSSettings](networkextension/nednsovertlssettings.md)
