Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Log in or create an account to edit The Apple Wiki.

Dev:SystemConfiguration.framework

From The Apple Wiki
SystemConfiguration.framework
Public Framework
Available1.0 – present
Class PrefixSC
Official docsSystem Configuration

SystemConfiguration is a public framework to manage network configuration. It was introduced in Mac OS X 10.1, and some of its functionality is available on iOS since version 2.0.

It's written in C with no Objective-C dependencies. It uses CoreFoundation-style types.

The framework interacts with the configd daemon via the com.apple.SystemConfiguration.configd mach port. It seems to deal directly with mach messages, without using XPC or even MIG (although it uses XPC to interact with other daemons). Newer versions[which?] also use a SCHelper service.

Most if not all of the API available on iOS is now deprecated. In particular, SCNetworkReachability is formally deprecated since iOS 17.4 / macOS 14.4, because doing pre-flight checks of network reachability is a bad idea; apps should just try the network connection and see if it works.

Environment variables

The SystemConfiguration framework reads the following environment variables, though their purpose is unknown:

  • SCD_SERVER
  • USE_DEFAULT_COMPUTERNAME_WITHOUT_MODEL
  • __OSINSTALL_ENVIRONMENT
  • PPPDebug
  • DNS_SERVER
  • ENABLE_SCHELPER_BACKTRACES
  • SCHELPER_SERVER