Add “Launch at Login” functionality to your macOS app in seconds
MIT License
Add “Launch at Login” functionality to your macOS app in seconds
This package is meant for apps targeting macOS 13 or later. If you need backwards-compatibility, check out the old LaunchAtLogin
package.
macOS 13+
Add https://github.com/sindresorhus/LaunchAtLogin-Modern
in the “Swift Package Manager” tab in Xcode.
Put the toggle in your Settings
scene. That's it.
import SwiftUI
import LaunchAtLogin
@main
struct MyApp: App {
var body: some Scene {
Settings {
Form {
LaunchAtLogin.Toggle()
}
}
}
}
The LaunchAtLogin.Toggle
view works similarly to the built-in Toggle
except that is has a predefined binding and label.
The default label is "Launch at login"
, but it can be overridden:
import SwiftUI
import LaunchAtLogin
struct SettingsScreen: View {
var body: some View {
LaunchAtLogin.Toggle("Launch at login 🦄")
// Or
LaunchAtLogin.Toggle {
Text("Launch at login 🦄")
}
}
}
You can also access the state directly:
import LaunchAtLogin
print(LaunchAtLogin.isEnabled)
//=> false
LaunchAtLogin.isEnabled = true
print(LaunchAtLogin.isEnabled)
//=> true
The Mac App Store guidelines require “launch at login” functionality to be enabled in response to a user action. Your app will be rejected if you set the state to true by default.
This is a new repo as the old package had a lot of bloat in its Git history. I also took the opportunity to make a more minimal API optimized for SwiftUI apps.