diff --git a/AltServer/AppDelegate.swift b/AltServer/AppDelegate.swift
index 98fb03ca..3660f413 100644
--- a/AltServer/AppDelegate.swift
+++ b/AltServer/AppDelegate.swift
@@ -11,6 +11,8 @@ import UserNotifications
import AltSign
+import LaunchAtLogin
+
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@@ -22,6 +24,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet private var appMenu: NSMenu!
@IBOutlet private var connectedDevicesMenu: NSMenu!
+ @IBOutlet private var launchAtLoginMenuItem: NSMenuItem!
private weak var authenticationAppleIDTextField: NSTextField?
private weak var authenticationPasswordTextField: NSSecureTextField?
@@ -59,6 +62,9 @@ private extension AppDelegate
self.connectedDevices = ALTDeviceManager.shared.connectedDevices
+ self.launchAtLoginMenuItem.state = LaunchAtLogin.isEnabled ? .on : .off
+ self.launchAtLoginMenuItem.action = #selector(AppDelegate.toggleLaunchAtLogin(_:))
+
let x = button.frame.origin.x
let y = button.frame.origin.y - 5
@@ -138,6 +144,20 @@ private extension AppDelegate
UNUserNotificationCenter.current().add(request)
}
}
+
+ @objc func toggleLaunchAtLogin(_ item: NSMenuItem)
+ {
+ if item.state == .on
+ {
+ item.state = .off
+ }
+ else
+ {
+ item.state = .on
+ }
+
+ LaunchAtLogin.isEnabled.toggle()
+ }
}
extension AppDelegate: NSMenuDelegate
diff --git a/AltServer/Base.lproj/Main.storyboard b/AltServer/Base.lproj/Main.storyboard
index bd382187..c7903d48 100644
--- a/AltServer/Base.lproj/Main.storyboard
+++ b/AltServer/Base.lproj/Main.storyboard
@@ -61,6 +61,7 @@
+
@@ -93,6 +94,10 @@
+
+