A Swift package that adds 'Launch at Login' functionality to macOS apps with a simple API and backwards compatibility.
LaunchAtLogin is a Swift package that enables macOS applications to launch automatically at user login. It solves the traditionally complex and error-prone process of implementing this feature by providing a simple API that handles different macOS versions and app configurations automatically.
macOS developers building applications that need reliable 'Launch at Login' functionality, particularly those targeting multiple macOS versions or distributing through the App Store.
Developers choose LaunchAtLogin because it abstracts away the platform complexities with a clean Swift API, provides backwards compatibility across macOS versions, and includes ready-to-use SwiftUI components—saving development time and reducing implementation errors.
Add “Launch at Login” functionality to your macOS app in seconds
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically switches between SMAppService on macOS 13+ and SMLoginItemSetEnabled on older versions, ensuring consistent functionality across different OS releases without manual handling.
Works seamlessly with both sandboxed and non-sandboxed apps and is approved for Mac App Store distribution, reducing compliance overhead for developers.
Provides a ready-to-use LaunchAtLogin.Toggle view that simplifies adding a toggleable preference in SwiftUI interfaces, with customizable labels for localization.
Supports multiple programming approaches including static properties, Combine publishers, Swift Concurrency, and Storyboard bindings, catering to diverse app architectures.
Requires adding and correctly ordering a custom run script phase in Xcode, with potential errors if build phases are misconfigured or sandboxing settings interfere, as highlighted in the README.
Marked as legacy with a modern version available for macOS 13+, meaning it may not receive active updates and could become obsolete for future macOS changes.
Can cause problems like missing bundles in debug builds or notarization errors during distribution, requiring manual troubleshooting of build settings like 'Build Active Architecture Only'.