{"repo":"orchetect/SettingsAccess","free":true,"listed":false,"github":"https://github.com/orchetect/SettingsAccess","clone":"git clone https://github.com/orchetect/SettingsAccess.git","description":"Better SwiftUI Settings Scene Access on macOS","language":"Swift","stars":156,"topics":["macos","macos-sonoma","settings","swift","swiftui","macos-14","macos14"],"license":"MIT","category":"mobile-apps","readme_excerpt":"SettingsAccess Xcode 16 Update [!NOTE] Xcode 16 now makes Apple's previously-private openSettings environment method public, and back-ports it to macOS 14. While this is welcome progress, it still is only incremental and the vast majority of SettingsAccess' functionality is still needed in many scenarios. SettingsAccess 2.0.0 adds support for compiling with Xcode 16 by renaming its openSettings method to openSettingsLegacy . For projects targeting macOS 14+ you may opt to use the new native openSettings method. For projects targeting older versions of macOS, use openSettingsLegacy . Why As of macOS 14 Sonoma: - Apple completely removed the ability to open the SwiftUI Settings scene using legacy NSApp.sendAction() method using the showSettingsWindow: (macOS 13) or showPreferencesWindow: (macOS 12 and earlier) selectors. The only available method of opening the Settings scene (apart from the App menu → Settings menu item) is to use the new SettingsLink view. - This presents two major restrictions: 1. There is no simple way to detect when the user has clicked this button if additional code is desired to run before or after the opening of the Settings scene. 2. There is no way to programmatically open the Settings scene. (Update: Xcode 16 adds support but it is still limited.) - These restrictions become problematic in many scenarios. Some examples that are currently impossible without SettingsAccess : - You are building a window-based MenuBarExtra and want to have a button that ","default_branch":null,"files":null,"tree":[],"storefront":"/r/orchetect","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/orchetect/SettingsAccess/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}