This small framework is designed to simplify the process of opening any system settings pane on macOS. Inspired by the SystemPreferences project, this tool aims to provide an easy-to-use interface for developers looking to integrate system settings access within their macOS applications. A huge thanks to the original project for the inspiration and groundwork. This project encapsulates the original idea and extends its functionalities for broader use cases.
- Open almost all macOS system settings pane.
- Lightweight and easy to integrate into any macOS application.
- AppKit or SwiftUI or UIKit(MacCatalyst)
- macOS 13 or later.
- Swift 5.9 or later.
SystemSettingsNavigator can be installed with the Swift Package Manager:
https://github.com/Mx-Iris/SystemSettingsNavigator.git
import SystemSettingsNavigator
// Example: Open the Accessibility pane audio tab
// AppKit
NSWorkspace.shared.openSystemSettings(.accessibility(.audio))
// UIKit
UIApplication.shared.openSystemSettings(.accessibility(.audio))
// SwiftUI
struct ContentView: View {
@Environment(\.openSystemSettings)
private var openSystemSettings
var body: some View {
VStack {
Button {
openSystemSettings(.accessibility(.audio))
} label: {
Text("Open System Settings")
}
}
.padding()
}
}If a pane fails or is unavailable, I'll gladly accept a PR!
- Inspired by SystemPreferences
MIT