---
title: SCPreferences
framework: systemconfiguration
role: collectionGroup
role_heading: API Collection
path: systemconfiguration/scpreferences-ft8
---

# SCPreferences

## Overview

Overview The SCPreferences programming interface allows an application to load and store XML configuration data in a controlled manner and provide the necessary notifications to other applications that need to be aware of configuration changes. To access configuration preferences, you must first establish a preferences session using the SCPreferencesCreate(_:_:_:) function. To identify a specific set of preferences to access, you pass a value in the prefsID parameter. A NULL value indicates that the default system preferences are to be accessed. A string that starts with a leading “/” character specifies the absolute path to the file containing the preferences to be accessed. A string that does not start with a leading “/” character specifies a file relative to the default system preferences directory. When you are finished with the preferences session, use the CFRelease function to release it.

## Topics

### Creating a Preferences Session

- [SCPreferencesCreate(_:_:_:)](systemconfiguration/scpreferencescreate(_:_:_:).md)
- [SCPreferencesCreateWithAuthorization(_:_:_:_:)](systemconfiguration/scpreferencescreatewithauthorization(_:_:_:_:).md)

### Getting Information About a Preferences Session

- [SCPreferencesGetTypeID()](systemconfiguration/scpreferencesgettypeid().md)
- [SCPreferencesCopyKeyList(_:)](systemconfiguration/scpreferencescopykeylist(_:).md)
- [SCPreferencesGetSignature(_:)](systemconfiguration/scpreferencesgetsignature(_:).md)

### Adding, Getting, and Removing Values

- [SCPreferencesAddValue(_:_:_:)](systemconfiguration/scpreferencesaddvalue(_:_:_:).md)
- [SCPreferencesGetValue(_:_:)](systemconfiguration/scpreferencesgetvalue(_:_:).md)
- [SCPreferencesSetValue(_:_:_:)](systemconfiguration/scpreferencessetvalue(_:_:_:).md)
- [SCPreferencesRemoveValue(_:_:)](systemconfiguration/scpreferencesremovevalue(_:_:).md)

### Applying and Committing Changes

- [SCPreferencesApplyChanges(_:)](systemconfiguration/scpreferencesapplychanges(_:).md)
- [SCPreferencesCommitChanges(_:)](systemconfiguration/scpreferencescommitchanges(_:).md)
- [SCPreferencesSynchronize(_:)](systemconfiguration/scpreferencessynchronize(_:).md)

### Managing Notifications and Callbacks

- [SCPreferencesSetCallback(_:_:_:)](systemconfiguration/scpreferencessetcallback(_:_:_:).md)
- [SCPreferencesScheduleWithRunLoop(_:_:_:)](systemconfiguration/scpreferencesschedulewithrunloop(_:_:_:).md)
- [SCPreferencesUnscheduleFromRunLoop(_:_:_:)](systemconfiguration/scpreferencesunschedulefromrunloop(_:_:_:).md)
- [SCPreferencesSetDispatchQueue(_:_:)](systemconfiguration/scpreferencessetdispatchqueue(_:_:).md)

### Managing Access to a Preferences Session

- [SCPreferencesLock(_:_:)](systemconfiguration/scpreferenceslock(_:_:).md)
- [SCPreferencesUnlock(_:)](systemconfiguration/scpreferencesunlock(_:).md)

### Data Types

- [SCPreferences](systemconfiguration/scpreferences.md)
- [SCPreferencesContext](systemconfiguration/scpreferencescontext.md)
- [SCPreferencesCallBack](systemconfiguration/scpreferencescallback.md)

### Constants

- [SCPreferencesNotification](systemconfiguration/scpreferencesnotification.md)

## See Also

### Reference

- [SCDynamicStore](systemconfiguration/scdynamicstore-gb2.md)
- [SCDynamicStoreCopySpecific](systemconfiguration/scdynamicstorecopyspecific.md)
- [SCDynamicStoreKey](systemconfiguration/scdynamicstorekey.md)
- [SCNetwork](systemconfiguration/scnetwork.md)
- [SCNetworkConfiguration](systemconfiguration/scnetworkconfiguration.md)
- [SCNetworkConnection](systemconfiguration/scnetworkconnection-g7e.md)
- [SCNetworkReachability](systemconfiguration/scnetworkreachability-g7d.md)
- [SCPreferencesPath](systemconfiguration/scpreferencespath.md)
- [SCPreferencesSetSpecific](systemconfiguration/scpreferencessetspecific.md)
- [SCSchemaDefinitions](systemconfiguration/scschemadefinitions.md)
- [System Configuration](systemconfiguration/system-configuration.md)
- [SystemConfiguration Enumerations](systemconfiguration/systemconfiguration-enumerations.md)
- [SystemConfiguration Constants](systemconfiguration/systemconfiguration-constants.md)
- [SystemConfiguration Functions](systemconfiguration/systemconfiguration-functions.md)
- [SystemConfiguration Data Types](systemconfiguration/systemconfiguration-data-types.md)
