LaunchAtLogin 2.5.0

LaunchAtLogin 2.5.0

Maintained by Sindre Sorhus.



LaunchAtLogin

Add "Launch at Login" functionality to your macOS app in seconds

It's usually quite a convoluted and error-prone process to add this. No more!

This package works with both sandboxed and non-sandboxed apps and it's App Store compatible and used in my Lungo and Battery Indicator apps.

You might also find my create-dmg project useful if you're publishing your app outside the App Store.

Requirements

  • macOS 10.12+
  • Xcode 10+
  • Swift 4.2+

Install

Carthage

github "sindresorhus/LaunchAtLogin"

CocoaPods

pod 'LaunchAtLogin'

Usage

Add a new "Run Script Phase" below "Embed Frameworks" in "Build Phases" with the following:

Carthage:

"${PROJECT_DIR}/Carthage/Build/Mac/LaunchAtLogin.framework/Resources/copy-helper.sh"

CocoaPods:

"${PROJECT_DIR}/Pods/LaunchAtLogin/LaunchAtLogin/copy-helper.sh"

Use it in your app:

import LaunchAtLogin

print(LaunchAtLogin.isEnabled)
//=> false

LaunchAtLogin.isEnabled = true

print(LaunchAtLogin.isEnabled)
//=> true

Note that the Mac App Store guidelines requires "launch at login" functionality to be enabled in response to a user action. This is usually solved by making it a preference that is disabled by default.

How does it work?

The framework bundles the helper app needed to launch your app and copies it into your app at build time.

Related

License

MIT © Sindre Sorhus