SystemConfiguration.framework | |
---|---|
Public Framework | |
Available | 1.0 – present |
Class Prefix | SC |
Official docs | System 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