---
title: "saveToPreferences(completionHandler:)"
framework: Network Extension
role: symbol
role_heading: Instance Method
platforms: [iOS 17.0+, iPadOS 17.0+, Mac Catalyst 17.0+, macOS 14.0+, tvOS 17.0+, visionOS 1.0+]
path: "networkextension/nerelaymanager/savetopreferences(completionhandler:)"
---

# saveToPreferences(completionHandler:)

Save your relay configuration to the system networking preferences.

## Declaration

```swift
func saveToPreferences(completionHandler: @escaping @Sendable ((any Error)?) -> Void)
```

```swift
func saveToPreferences() async throws
```

## Parameters

- `completionHandler`: An optional block that takes an doc://com.apple.documentation/documentation/Foundation/NSError object. If specified, this block runs on your application’s main thread after the save operation completes. If an error occurs while saving the configuration, the block returns an NSError object.

## Discussion

Discussion You must call loadFromPreferences(completionHandler:) at least once before calling this method the first time after your app launches.

## See Also

### Managing relay configurations

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