diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 4c90f9d..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/AlDente.xcodeproj/project.pbxproj b/AlDente.xcodeproj/project.pbxproj index 734d408..5f22e68 100644 --- a/AlDente.xcodeproj/project.pbxproj +++ b/AlDente.xcodeproj/project.pbxproj @@ -3,14 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ + 505E96C92586211600DAA405 /* LaunchAtLogin in Frameworks */ = {isa = PBXBuildFile; productRef = 505E96C82586211600DAA405 /* LaunchAtLogin */; }; 9224A08723F1F70600961AC4 /* com.davidwernhart.Helper in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9283741823F1F34400B8AE7A /* com.davidwernhart.Helper */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 9240BF2C23FD34E2005A710B /* LaunchAtLogin.framework.dSYM in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9240BF2B23FD34E2005A710B /* LaunchAtLogin.framework.dSYM */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; - 9240BF2D23FD3547005A710B /* LaunchAtLogin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9286FB4823F84C2B00BEB15B /* LaunchAtLogin.framework */; }; - 9240BF2E23FD3547005A710B /* LaunchAtLogin.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9286FB4823F84C2B00BEB15B /* LaunchAtLogin.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 927DBFC923F5478E00F8BF0D /* HelperToolProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 927DBFC823F5478E00F8BF0D /* HelperToolProtocol.swift */; }; 927DBFCA23F5478E00F8BF0D /* HelperToolProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 927DBFC823F5478E00F8BF0D /* HelperToolProtocol.swift */; }; 9283741B23F1F34400B8AE7A /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9283741A23F1F34400B8AE7A /* main.swift */; }; @@ -35,59 +33,15 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 9240BF2F23FD3547005A710B /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 9240BF2E23FD3547005A710B /* LaunchAtLogin.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 9258163B23F5CBD500AB7387 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - 9283741623F1F34400B8AE7A /* CopyFiles */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 8; - dstPath = ""; - dstSubfolderSpec = 0; - files = ( - ); - runOnlyForDeploymentPostprocessing = 1; - }; - 9286FB4B23F84C2B00BEB15B /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 16; - files = ( - 9240BF2C23FD34E2005A710B /* LaunchAtLogin.framework.dSYM in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 9240BF2923FD3257005A710B /* LaunchAtLogin.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = LaunchAtLogin.framework.dSYM; path = Carthage/Build/Mac/LaunchAtLogin.framework.dSYM; sourceTree = ""; }; - 9240BF2B23FD34E2005A710B /* LaunchAtLogin.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = LaunchAtLogin.framework.dSYM; path = Carthage/Build/Mac/LaunchAtLogin.framework.dSYM; sourceTree = ""; }; 927DBFC623F533FB00F8BF0D /* Helper-Launchd.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Helper-Launchd.plist"; sourceTree = ""; }; 927DBFC823F5478E00F8BF0D /* HelperToolProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelperToolProtocol.swift; sourceTree = ""; }; 927DBFCB23F54C2C00F8BF0D /* HelperTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelperTool.swift; sourceTree = ""; }; 9283741823F1F34400B8AE7A /* com.davidwernhart.Helper */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = com.davidwernhart.Helper; sourceTree = BUILT_PRODUCTS_DIR; }; 9283741A23F1F34400B8AE7A /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; 9283741F23F1F38100B8AE7A /* Helper-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Helper-Info.plist"; sourceTree = ""; }; - 9286FB4823F84C2B00BEB15B /* LaunchAtLogin.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LaunchAtLogin.framework; path = Carthage/Build/Mac/LaunchAtLogin.framework; sourceTree = ""; }; 92981ED723F08D9B00C05424 /* AlDente.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AlDente.app; sourceTree = BUILT_PRODUCTS_DIR; }; 92981EDA23F08D9B00C05424 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 92981EDC23F08D9B00C05424 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -95,38 +49,22 @@ 92981EE123F08D9C00C05424 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 92981EE423F08D9C00C05424 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 92981EE623F08D9C00C05424 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 92981EE723F08D9C00C05424 /* AlDente.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = AlDente.entitlements; sourceTree = ""; }; 92ACA12D23F5F861003512DC /* SMC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SMC.swift; sourceTree = ""; }; 92E24B4023F6DC0D00BE41ED /* Helper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Helper.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 9283741523F1F34400B8AE7A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 92981ED423F08D9B00C05424 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9240BF2D23FD3547005A710B /* LaunchAtLogin.framework in Frameworks */, + 505E96C92586211600DAA405 /* LaunchAtLogin in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 9258163723F5CBD400AB7387 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 9286FB4823F84C2B00BEB15B /* LaunchAtLogin.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 927DBFC723F545AF00F8BF0D /* Common */ = { isa = PBXGroup; children = ( @@ -150,13 +88,10 @@ 92981ECE23F08D9B00C05424 = { isa = PBXGroup; children = ( - 9240BF2923FD3257005A710B /* LaunchAtLogin.framework.dSYM */, - 9240BF2B23FD34E2005A710B /* LaunchAtLogin.framework.dSYM */, 927DBFC723F545AF00F8BF0D /* Common */, 92981ED923F08D9B00C05424 /* AlDente */, 9283741923F1F34400B8AE7A /* com.davidwernhart.Helper */, 92981ED823F08D9B00C05424 /* Products */, - 9258163723F5CBD400AB7387 /* Frameworks */, ); sourceTree = ""; }; @@ -178,7 +113,6 @@ 92981EDE23F08D9C00C05424 /* Assets.xcassets */, 92981EE323F08D9C00C05424 /* Main.storyboard */, 92981EE623F08D9C00C05424 /* Info.plist */, - 92981EE723F08D9C00C05424 /* AlDente.entitlements */, 92981EE023F08D9C00C05424 /* Preview Content */, ); path = AlDente; @@ -200,9 +134,6 @@ buildConfigurationList = 9283741C23F1F34400B8AE7A /* Build configuration list for PBXNativeTarget "com.davidwernhart.Helper" */; buildPhases = ( 9283741423F1F34400B8AE7A /* Sources */, - 9283741523F1F34400B8AE7A /* Frameworks */, - 9283741623F1F34400B8AE7A /* CopyFiles */, - 9258163B23F5CBD500AB7387 /* Embed Frameworks */, ); buildRules = ( ); @@ -221,15 +152,16 @@ 92981ED423F08D9B00C05424 /* Frameworks */, 92981ED523F08D9B00C05424 /* Resources */, 9224A08623F1F6E300961AC4 /* CopyFiles */, - 9240BF2F23FD3547005A710B /* Embed Frameworks */, - 9286FB4B23F84C2B00BEB15B /* Embed Frameworks */, - 92E24B4423F847B500BE41ED /* ShellScript */, + 92E24B4423F847B500BE41ED /* LaunchAtLogin */, ); buildRules = ( ); dependencies = ( ); name = AlDente; + packageProductDependencies = ( + 505E96C82586211600DAA405 /* LaunchAtLogin */, + ); productName = AlDente; productReference = 92981ED723F08D9B00C05424 /* AlDente.app */; productType = "com.apple.product-type.application"; @@ -241,7 +173,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 1130; - LastUpgradeCheck = 1130; + LastUpgradeCheck = 1220; ORGANIZATIONNAME = "David Wernhart"; TargetAttributes = { 9283741723F1F34400B8AE7A = { @@ -253,7 +185,7 @@ }; }; buildConfigurationList = 92981ED223F08D9B00C05424 /* Build configuration list for PBXProject "AlDente" */; - compatibilityVersion = "Xcode 9.3"; + compatibilityVersion = "Xcode 12.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -261,6 +193,9 @@ Base, ); mainGroup = 92981ECE23F08D9B00C05424; + packageReferences = ( + 505E96C72586211600DAA405 /* XCRemoteSwiftPackageReference "LaunchAtLogin" */, + ); productRefGroup = 92981ED823F08D9B00C05424 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -285,7 +220,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 92E24B4423F847B500BE41ED /* ShellScript */ = { + 92E24B4423F847B500BE41ED /* LaunchAtLogin */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -294,13 +229,14 @@ ); inputPaths = ( ); + name = LaunchAtLogin; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "exec \"${PROJECT_DIR}/Carthage/Build/Mac/LaunchAtLogin.framework/Resources/copy-helper.sh\"\n"; + shellScript = "\"${BUILT_PRODUCTS_DIR}/LaunchAtLogin_LaunchAtLogin.bundle/Contents/Resources/copy-helper-swiftpm.sh\"\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -349,7 +285,6 @@ CURRENT_PROJECT_VERSION = 2.0; DEVELOPMENT_TEAM = 56C2L92EKW; ENABLE_HARDENED_RUNTIME = YES; - "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(PROJECT_DIR)/Frameworks"; INFOPLIST_FILE = "com.davidwernhart.Helper/Helper-Info.plist"; MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 2.0; @@ -369,7 +304,6 @@ PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; - SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Frameworks"; }; name = Debug; }; @@ -400,7 +334,6 @@ PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; - SYSTEM_FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Frameworks"; }; name = Release; }; @@ -430,6 +363,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -441,7 +375,6 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -459,7 +392,6 @@ MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; - SKIP_INSTALL = NO; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -491,6 +423,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -513,7 +446,6 @@ MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = macosx; - SKIP_INSTALL = NO; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; }; @@ -523,7 +455,6 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = AlDente/AlDente.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; @@ -532,10 +463,6 @@ DEVELOPMENT_TEAM = 56C2L92EKW; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); INFOPLIST_FILE = AlDente/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -546,7 +473,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.davidwernhart.AlDente; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; SWIFT_VERSION = 5.0; }; name = Debug; @@ -555,7 +481,6 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CODE_SIGN_ENTITLEMENTS = AlDente/AlDente.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; @@ -564,10 +489,6 @@ DEVELOPMENT_TEAM = 56C2L92EKW; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); INFOPLIST_FILE = AlDente/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -578,7 +499,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.davidwernhart.AlDente; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = NO; SWIFT_VERSION = 5.0; }; name = Release; @@ -614,6 +534,25 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + 505E96C72586211600DAA405 /* XCRemoteSwiftPackageReference "LaunchAtLogin" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/sindresorhus/LaunchAtLogin"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 4.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 505E96C82586211600DAA405 /* LaunchAtLogin */ = { + isa = XCSwiftPackageProductDependency; + package = 505E96C72586211600DAA405 /* XCRemoteSwiftPackageReference "LaunchAtLogin" */; + productName = LaunchAtLogin; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 92981ECF23F08D9B00C05424 /* Project object */; } diff --git a/AlDente.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/AlDente.xcodeproj/project.xcworkspace/contents.xcworkspacedata index eaf971d..919434a 100644 --- a/AlDente.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/AlDente.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:"> diff --git a/AlDente.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AlDente.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..c88b7a8 --- /dev/null +++ b/AlDente.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,16 @@ +{ + "object": { + "pins": [ + { + "package": "LaunchAtLogin", + "repositoryURL": "https://github.com/sindresorhus/LaunchAtLogin", + "state": { + "branch": null, + "revision": "0f39982b9d6993eef253b81219d3c39ba1e680f3", + "version": "4.0.0" + } + } + ] + }, + "version": 1 +} diff --git a/AlDente/.DS_Store b/AlDente/.DS_Store deleted file mode 100644 index ae57097..0000000 Binary files a/AlDente/.DS_Store and /dev/null differ diff --git a/AlDente/AlDente.entitlements b/AlDente/AlDente.entitlements deleted file mode 100644 index 51a7cc5..0000000 --- a/AlDente/AlDente.entitlements +++ /dev/null @@ -1,10 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.files.user-selected.read-only - - - diff --git a/AlDente/AppDelegate.swift b/AlDente/AppDelegate.swift index b1d5c7f..ff30a28 100644 --- a/AlDente/AppDelegate.swift +++ b/AlDente/AppDelegate.swift @@ -6,14 +6,12 @@ // Copyright © 2020 David Wernhart. All rights reserved. // -import Cocoa +import AppKit import SwiftUI -import ServiceManagement -import Foundation import LaunchAtLogin @NSApplicationMain -class AppDelegate: NSObject, NSApplicationDelegate { +final class AppDelegate: NSObject, NSApplicationDelegate { //var window: NSWindow! var statusBarItem: NSStatusItem! @@ -29,30 +27,25 @@ class AppDelegate: NSObject, NSApplicationDelegate { popover.behavior = .transient popover.contentViewController = NSHostingController(rootView: contentView) self.popover = popover - - + let statusBar = NSStatusBar.system - statusBarItem = statusBar.statusItem( - withLength: NSStatusItem.squareLength) + statusBarItem = statusBar.statusItem(withLength: NSStatusItem.squareLength) statusBarItem.button?.image = NSImage(named: "menubaricon")! - //statusBarItem.button?.title = "🍝" - - if let button = self.statusBarItem.button { - button.action = #selector(togglePopover(_:)) - } - + statusBarItem.button?.action = #selector(togglePopover(_:)) + Helper.instance.checkHelperVersion() - + LaunchAtLogin.isEnabled = true } - + @objc func togglePopover(_ sender: AnyObject?) { - self.popover.contentViewController?.view.window?.becomeKey() + popover.contentViewController?.view.window?.becomeKey() + if let button = self.statusBarItem.button { - if self.popover.isShown { - self.popover.performClose(sender) + if popover.isShown { + popover.performClose(sender) } else { - self.popover.show(relativeTo: button.bounds, of: button, preferredEdge: NSRectEdge.minY) + popover.show(relativeTo: button.bounds, of: button, preferredEdge: .minY) } } } @@ -60,8 +53,5 @@ class AppDelegate: NSObject, NSApplicationDelegate { func applicationWillTerminate(_ aNotification: Notification) { // Insert code here to tear down your application } - - } - diff --git a/AlDente/Assets.xcassets/.DS_Store b/AlDente/Assets.xcassets/.DS_Store deleted file mode 100644 index f8c1b43..0000000 Binary files a/AlDente/Assets.xcassets/.DS_Store and /dev/null differ diff --git a/AlDente/Assets.xcassets/AppIcon.appiconset/Contents.json b/AlDente/Assets.xcassets/AppIcon.appiconset/Contents.json index d517fae..5666a15 100644 --- a/AlDente/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/AlDente/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -2,60 +2,58 @@ "images" : [ { "idiom" : "mac", - "size" : "16x16", - "scale" : "1x" + "scale" : "1x", + "size" : "16x16" }, { "idiom" : "mac", - "size" : "16x16", - "scale" : "2x" + "scale" : "2x", + "size" : "16x16" }, { "idiom" : "mac", - "size" : "32x32", - "scale" : "1x" + "scale" : "1x", + "size" : "32x32" }, { "idiom" : "mac", - "size" : "32x32", - "scale" : "2x" + "scale" : "2x", + "size" : "32x32" }, { "idiom" : "mac", - "size" : "128x128", - "scale" : "1x" + "scale" : "1x", + "size" : "128x128" }, { "idiom" : "mac", - "size" : "128x128", - "scale" : "2x" + "scale" : "2x", + "size" : "128x128" }, { - "size" : "256x256", "idiom" : "mac", - "filename" : "spaghetti-2.png", - "scale" : "1x" + "scale" : "1x", + "size" : "256x256" }, { - "size" : "256x256", "idiom" : "mac", - "filename" : "spaghetti-1.png", - "scale" : "2x" + "scale" : "2x", + "size" : "256x256" }, { - "size" : "512x512", - "idiom" : "mac", "filename" : "spaghetti.png", - "scale" : "1x" + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" }, { "idiom" : "mac", - "size" : "512x512", - "scale" : "2x" + "scale" : "2x", + "size" : "512x512" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/AlDente/Assets.xcassets/AppIcon.appiconset/spaghetti-1.png b/AlDente/Assets.xcassets/AppIcon.appiconset/spaghetti-1.png deleted file mode 100644 index ed07e60..0000000 Binary files a/AlDente/Assets.xcassets/AppIcon.appiconset/spaghetti-1.png and /dev/null differ diff --git a/AlDente/Assets.xcassets/AppIcon.appiconset/spaghetti-2.png b/AlDente/Assets.xcassets/AppIcon.appiconset/spaghetti-2.png deleted file mode 100644 index ed07e60..0000000 Binary files a/AlDente/Assets.xcassets/AppIcon.appiconset/spaghetti-2.png and /dev/null differ diff --git a/AlDente/Assets.xcassets/SettingsColor.colorset/Contents.json b/AlDente/Assets.xcassets/SettingsColor.colorset/Contents.json deleted file mode 100644 index f8a3261..0000000 --- a/AlDente/Assets.xcassets/SettingsColor.colorset/Contents.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - }, - "colors" : [ - { - "idiom" : "universal", - "color" : { - "color-space" : "srgb", - "components" : { - "red" : "1.000", - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000" - } - } - }, - { - "idiom" : "universal", - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "light" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "red" : "0.800", - "alpha" : "1.000", - "blue" : "0.800", - "green" : "0.800" - } - } - }, - { - "idiom" : "universal", - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "red" : "0.100", - "alpha" : "1.000", - "blue" : "0.100", - "green" : "0.100" - } - } - } - ] -} \ No newline at end of file diff --git a/AlDente/ContentView.swift b/AlDente/ContentView.swift index 8a15afb..d8f6682 100644 --- a/AlDente/ContentView.swift +++ b/AlDente/ContentView.swift @@ -6,13 +6,10 @@ // Copyright © 2020 David Wernhart. All rights reserved. // -import SwiftUI -import ServiceManagement -import Foundation import LaunchAtLogin -import Combine +import SwiftUI -struct BlueButtonStyle: ButtonStyle { +private struct BlueButtonStyle: ButtonStyle { func makeBody(configuration: Self.Configuration) -> some View { configuration.label .foregroundColor(configuration.isPressed ? Color.blue : Color.white) @@ -22,7 +19,7 @@ struct BlueButtonStyle: ButtonStyle { } } -struct RedButtonStyle: ButtonStyle { +private struct RedButtonStyle: ButtonStyle { func makeBody(configuration: Self.Configuration) -> some View { configuration.label .foregroundColor(configuration.isPressed ? Color.red : Color.white) @@ -32,224 +29,199 @@ struct RedButtonStyle: ButtonStyle { } } -var osxScale:Bool = true +private var osxScale = true -struct settings: View { - - - var content: () -> Content - @State var launchOnLogin = LaunchAtLogin.isEnabled - @State var osxScaleToggle = osxScale - @ObservedObject var presenter = SMCPresenter.shared - - - init(@ViewBuilder _ content: @escaping () -> Content) { - self.content = content - - //Helper.instance.delegate = self - } +private struct Settings: View { + @State private var launchAtLogin = LaunchAtLogin.isEnabled + @State private var osxScaleToggle = osxScale + @ObservedObject private var presenter = SMCPresenter.shared var body: some View { - VStack(alignment: .center){ - HStack(alignment: .center) { - Toggle(isOn: Binding( - get: { - self.launchOnLogin - }, - set: {(newValue) in - self.launchOnLogin = newValue - if(newValue){ - print("launch on login turned on!") - LaunchAtLogin.isEnabled = true + VStack { + HStack { + VStack(alignment: .leading) { + Toggle(isOn: Binding( + get: { launchAtLogin }, + + set: { newValue in + launchAtLogin = newValue + print("Launch at login turned \(newValue ? "on" : "off")!") + LaunchAtLogin.isEnabled = newValue } - else{ - print("launch on login turned off!") - LaunchAtLogin.isEnabled = false + )) { + Text("Launch at login") + } + + Toggle(isOn: Binding( + get: { osxScaleToggle }, + + set: { newValue in + osxScaleToggle = newValue + osxScale = newValue + presenter.setValue(value: Float(presenter.value)) } + )) { + Text("Use macOS battery scale") } - )) { - Text("Launch on Login") }.padding() - - Toggle(isOn: Binding( - get: { - self.osxScaleToggle - }, - set: {(newValue) in - self.osxScaleToggle = newValue - osxScale = newValue - self.presenter.setValue(value: Float(self.presenter.value)) - } - )) { - Text("Use macOS battery scale") - }.padding() - + Spacer() - Button( action: { - Helper.instance.installHelper() - } - ) { + + Button(action: { + Helper.instance.installHelper() + }) { Text("Reinstall Helper") .frame(maxWidth: 120, maxHeight: 30) }.buttonStyle(BlueButtonStyle()) } - - HStack(alignment: .center) { + HStack { Spacer() - VStack(alignment: .leading){ - Text("AlDente 1.2 🍝").font(.subheadline) - Button(action:{ - let url = URL(string: "https://www.github.com/davidwernhart/AlDente")! - if NSWorkspace.shared.open(url) { - print("default browser was successfully opened") - } - }){ - Text("github.com/davidwernhart/AlDente").foregroundColor(Color.blue) + VStack(alignment: .leading) { + let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String + Text("AlDente \(version ?? "") 🍝").font(.headline) + + let address = "github.com/davidwernhart/AlDente" + Button(action: { + openURL("https://" + address) + }) { + Text(address).foregroundColor(Color(.linkColor)) }.buttonStyle(PlainButtonStyle()) - - Text("Created with 🤍 by David Wernhart in 2020") + + Text("Created with ♡ by David Wernhart in 2020") // Text("AlDente 🍝").font(.title) // Text("Keep your battery just right").font(.subheadline) } + Spacer() + Button(action: { - let url = URL(string: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6PLR7D9ZCZGGC&source=url")! - if NSWorkspace.shared.open(url) { - print("default browser was successfully opened") - } + openURL("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6PLR7D9ZCZGGC&source=url") }) { Text("Donate") .frame(maxWidth: 60, maxHeight: 50) } .buttonStyle(BlueButtonStyle()) } - }.background(Color("SettingsColor")).cornerRadius(5) + } + .background(Color(.unemphasizedSelectedContentBackgroundColor)) + .cornerRadius(5) + } + + private func openURL(_ string: String) { + let url = URL(string: string)! + if NSWorkspace.shared.open(url) { + print("default browser was successfully opened") + } } } -struct ContentView: View{ - @State var adaptableHeight = CGFloat(100) - @State var showSettings = false - - @ObservedObject var presenter = SMCPresenter.shared - +struct ContentView: View { + @State private var adaptableHeight = CGFloat(100) + @State private var showSettings = false + + @ObservedObject private var presenter = SMCPresenter.shared + init() { Helper.instance.delegate = presenter Helper.instance.readMaxBatteryCharge() } - - - - var body: some View { - let vstack = VStack{ - VStack(alignment: .leading) { - //Text("Value is: \(presenter.value)") - HStack(alignment: .center){ - Text(" Max. Battery Charge:").padding(.leading) - TextField("Number", value: Binding( - get: { - Float(self.presenter.value) - }, - set: {(newValue) in - if(newValue >= 20 && newValue <= 100){ - self.presenter.setValue(value: newValue) - } - } - ), formatter: NumberFormatter()) - .multilineTextAlignment(.center) - .frame(maxWidth:50) - .textFieldStyle(RoundedBorderTextFieldStyle()) - Spacer() - Button( action: { - self.showSettings = !self.showSettings - if(self.showSettings){ - self.adaptableHeight = 235 + var body: some View { + VStack(alignment: .leading) { + + HStack { + Text("Max. Battery Charge:").padding(.leading) + TextField("Number", value: Binding( + get: { + Float(presenter.value) + }, + set: { newValue in + if newValue >= 20 && newValue <= 100 { + presenter.setValue(value: newValue) } - else{ - self.adaptableHeight = 100 - } - }) { - Text("Settings") - .frame(maxWidth: 70, maxHeight: 30) - }.buttonStyle(BlueButtonStyle()).padding(.leading,-30) - - Button( action: { - NSApplication.shared.terminate(self) - }) { - Text("Exit") - .frame(maxWidth: 50, maxHeight: 30) - }.buttonStyle(RedButtonStyle()).padding(.leading,-30) - } - - - HStack(alignment: .center){ - - Slider(value: Binding( - get: { - Float(self.presenter.value) - }, - set: {(newValue) in - if(newValue >= 20 && newValue <= 100){ - self.presenter.setValue(value: newValue) - } - } - ), in: 20...100).padding(.horizontal).padding(.top,-20) - } - + } + ), formatter: NumberFormatter()) + .multilineTextAlignment(.center) + .frame(maxWidth: 50) + .textFieldStyle(RoundedBorderTextFieldStyle()) + Spacer() - if(self.showSettings){ - //settings{Text("")} - settings({Text("")}) + + Button(action: { + showSettings.toggle() + adaptableHeight = showSettings ? 235 : 100 + }) { + Text("Settings") + .frame(maxWidth: 70, maxHeight: 30) + }.buttonStyle(BlueButtonStyle()).padding(.leading, -30) + + Button(action: { + NSApplication.shared.terminate(self) + }) { + Text("Quit") + .frame(maxWidth: 50, maxHeight: 30) + }.buttonStyle(RedButtonStyle()).padding(.leading, -30) + } + + Slider(value: Binding( + get: { + Float(presenter.value) + }, + set: { newValue in + if newValue >= 20 && newValue <= 100 { + presenter.setValue(value: newValue) + } } - - }.frame(width: 400, height: adaptableHeight) - - } - - return vstack + ), in: 20...100).padding(.horizontal).padding(.top, -20) + + Spacer() + + if showSettings { + Settings() + } + + }.frame(width: 400, height: adaptableHeight) + } } -class SMCPresenter: ObservableObject, HelperDelegate{ - +private final class SMCPresenter: ObservableObject, HelperDelegate { + static let shared = SMCPresenter() - + @Published var value: UInt8 = 0 private var timer: Timer? - - func OnMaxBatRead(value: UInt8){ + + func OnMaxBatRead(value: UInt8) { DispatchQueue.main.async { - if(osxScale){ + if osxScale { self.value = value + 3 - } - else{ + } else { self.value = value } } } - - func setValue(value: Float){ + + func setValue(value: Float) { DispatchQueue.main.async { self.value = UInt8(value) } - self.timer?.invalidate() + timer?.invalidate() - self.timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: false, block: { timer in + timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: false) { _ in var setval = value - if(osxScale){ + if osxScale { setval -= 3 } - if(setval >= 20 && setval <= 100){ - print("Setting Max Battery To: ",setval) + if setval >= 20 && setval <= 100 { + print("Setting Max Battery To: ", setval) Helper.instance.writeMaxBatteryCharge(setVal: UInt8(setval)) Helper.instance.readMaxBatteryCharge() self.timer = nil } - - }) + + } } } - diff --git a/AlDente/Helper.swift b/AlDente/Helper.swift index a79fb38..779ead1 100644 --- a/AlDente/Helper.swift +++ b/AlDente/Helper.swift @@ -6,21 +6,19 @@ // Copyright © 2020 David Wernhart. All rights reserved. // -import Cocoa -import SwiftUI -import ServiceManagement import Foundation +import ServiceManagement protocol HelperDelegate { func OnMaxBatRead(value: UInt8) } -class Helper{ - +final class Helper { + static let instance = Helper() - + public var delegate: HelperDelegate? - + // var receiveMessage = "" { // didSet { // DispatchQueue.main.async { @@ -33,92 +31,94 @@ class Helper{ // } // } // } - + lazy var helperToolConnection: NSXPCConnection = { let connection = NSXPCConnection(machServiceName: "com.davidwernhart.Helper.mach", options: .privileged) connection.remoteObjectInterface = NSXPCInterface(with: HelperToolProtocol.self) - + connection.resume() return connection }() - + @objc func installHelper() { print("trying to install helper!") - var status: OSStatus = noErr - let helperID = "com.davidwernhart.Helper" as CFString//Prefs.helperID as CFString + var status = noErr + let helperID = "com.davidwernhart.Helper" as CFString // Prefs.helperID as CFString - var authItem = AuthorizationItem(name: kSMRightBlessPrivilegedHelper, valueLength: 0, value: nil, flags: 0) - var authRights = AuthorizationRights(count: 1, items: &authItem) + var authItem = kSMRightBlessPrivilegedHelper.withCString { + AuthorizationItem(name: $0, valueLength: 0, value: nil, flags: 0) + } + var authRights = withUnsafeMutablePointer(to: &authItem) { + AuthorizationRights(count: 1, items: $0) + } let authFlags: AuthorizationFlags = [.interactionAllowed, .preAuthorize, .extendRights] - var authRef: AuthorizationRef? = nil + var authRef: AuthorizationRef? status = AuthorizationCreate(&authRights, nil, authFlags, &authRef) if status != errAuthorizationSuccess { - print(SecCopyErrorMessageString(status,nil)) - print("Error:", String(status)) + print(SecCopyErrorMessageString(status, nil) ?? "") + print("Error: \(status)") } - var error: Unmanaged? = nil + var error: Unmanaged? SMJobBless(kSMDomainSystemLaunchd, helperID, authRef, &error) if let e = error?.takeRetainedValue() { - print("Domain:", CFErrorGetDomain(e)) - print("Code:", CFErrorGetCode(e)) - print("UserInfo:", CFErrorCopyUserInfo(e)) - print("Description:", CFErrorCopyDescription(e)) - print("Reason:", CFErrorCopyFailureReason(e)) - print("Suggestion:", CFErrorCopyRecoverySuggestion(e)) + print("Domain: ", CFErrorGetDomain(e) ?? "") + print("Code: ", CFErrorGetCode(e)) + print("UserInfo: ", CFErrorCopyUserInfo(e) ?? "") + print("Description: ", CFErrorCopyDescription(e) ?? "") + print("Reason: ", CFErrorCopyFailureReason(e) ?? "") + print("Suggestion: ", CFErrorCopyRecoverySuggestion(e) ?? "") } } - - @objc func writeMaxBatteryCharge(setVal: UInt8){ + @objc func writeMaxBatteryCharge(setVal: UInt8) { SMCWriteByte(key: "BCLM", value: setVal) - } - - @objc func readMaxBatteryCharge(){ - SMCReadByte(key:"BCLM",withReply: { (value) in + + @objc func readMaxBatteryCharge() { + SMCReadByte(key: "BCLM") { value in print(String(value)) self.delegate?.OnMaxBatRead(value: value) - }) + } } @objc func checkHelperVersion() { print("checking helper version") - if let helper = helperToolConnection.remoteObjectProxyWithErrorHandler({ (error) in - let e = error as NSError + let helper = helperToolConnection.remoteObjectProxyWithErrorHandler { + let e = $0 as NSError print("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") self.installHelper() //self.receiveMessage.append("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") - }) as? HelperToolProtocol { - helper.getVersion(withReply: { (version) in - print("helperVersion:", helperVersion, " version from helper:",version) - if(!helperVersion.elementsEqual(version)){ - self.installHelper() - } - //self.receiveMessage.append("Version: \(version)\n") - }) - } - } + } as? HelperToolProtocol - @objc func SMCReadByte(key:String, withReply reply: @escaping (UInt8) -> Void){ - if let helper = helperToolConnection.remoteObjectProxyWithErrorHandler({ (error) in - let e = error as NSError - print("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") - //self.receiveMessage.append("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") - }) as? HelperToolProtocol { - helper.readSMCByte(key: key) { (value) in - reply (value) + helper?.getVersion { version in + print("helperVersion:", helperVersion, " version from helper:", version) + if !helperVersion.elementsEqual(version) { + self.installHelper() } + //self.receiveMessage.append("Version: \(version)\n") } } - @objc func SMCWriteByte(key:String,value:UInt8){ - if let helper = helperToolConnection.remoteObjectProxyWithErrorHandler({ (error) in - let e = error as NSError + @objc func SMCReadByte(key: String, withReply reply: @escaping (UInt8) -> Void) { + let helper = helperToolConnection.remoteObjectProxyWithErrorHandler { + let e = $0 as NSError print("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") //self.receiveMessage.append("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") - }) as? HelperToolProtocol { - helper.setSMCByte(key: key,value: value) + } as? HelperToolProtocol + + helper?.readSMCByte(key: key) { + reply($0) } } + + @objc func SMCWriteByte(key: String, value: UInt8) { + let helper = helperToolConnection.remoteObjectProxyWithErrorHandler { + let e = $0 as NSError + print("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") + //self.receiveMessage.append("Remote proxy error \(e.code): \(e.localizedDescription) \(e.localizedRecoverySuggestion ?? "---")") + } as? HelperToolProtocol + + helper?.setSMCByte(key: key, value: value) + } } diff --git a/Cartfile b/Cartfile deleted file mode 100644 index bfb4e39..0000000 --- a/Cartfile +++ /dev/null @@ -1,2 +0,0 @@ -github "sindresorhus/LaunchAtLogin" - diff --git a/Cartfile.resolved b/Cartfile.resolved deleted file mode 100644 index bc0bf77..0000000 --- a/Cartfile.resolved +++ /dev/null @@ -1 +0,0 @@ -github "sindresorhus/LaunchAtLogin" "v3.0.0" diff --git a/Carthage/.DS_Store b/Carthage/.DS_Store deleted file mode 100644 index 42d40cc..0000000 Binary files a/Carthage/.DS_Store and /dev/null differ diff --git a/Carthage/Build/.DS_Store b/Carthage/Build/.DS_Store deleted file mode 100644 index d9283a8..0000000 Binary files a/Carthage/Build/.DS_Store and /dev/null differ diff --git a/Carthage/Build/.LaunchAtLogin.version b/Carthage/Build/.LaunchAtLogin.version deleted file mode 100644 index caecb60..0000000 --- a/Carthage/Build/.LaunchAtLogin.version +++ /dev/null @@ -1,10 +0,0 @@ -{ - "commitish" : "v3.0.0", - "Mac" : [ - { - "name" : "LaunchAtLogin", - "hash" : "3e5f8a12d3371e2e67b1cb69491ac112af892603ed2ceb6af78d9727577f3371", - "swiftToolchainVersion" : "5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)" - } - ] -} \ No newline at end of file diff --git a/Carthage/Build/Mac/.DS_Store b/Carthage/Build/Mac/.DS_Store deleted file mode 100644 index 796e95e..0000000 Binary files a/Carthage/Build/Mac/.DS_Store and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework.dSYM/Contents/Info.plist b/Carthage/Build/Mac/LaunchAtLogin.framework.dSYM/Contents/Info.plist deleted file mode 100644 index bc6eb76..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework.dSYM/Contents/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleIdentifier - com.apple.xcode.dsym.com.sindresorhus.LaunchAtLogin - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - dSYM - CFBundleSignature - ???? - CFBundleShortVersionString - 3.0.0 - CFBundleVersion - 1 - - diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework.dSYM/Contents/Resources/DWARF/LaunchAtLogin b/Carthage/Build/Mac/LaunchAtLogin.framework.dSYM/Contents/Resources/DWARF/LaunchAtLogin deleted file mode 100644 index 37585fc..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework.dSYM/Contents/Resources/DWARF/LaunchAtLogin and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Headers b/Carthage/Build/Mac/LaunchAtLogin.framework/Headers deleted file mode 120000 index a177d2a..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Headers +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Headers \ No newline at end of file diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/LaunchAtLogin b/Carthage/Build/Mac/LaunchAtLogin.framework/LaunchAtLogin deleted file mode 120000 index f0b8733..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/LaunchAtLogin +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/LaunchAtLogin \ No newline at end of file diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Modules b/Carthage/Build/Mac/LaunchAtLogin.framework/Modules deleted file mode 120000 index 5736f31..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Modules +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Modules \ No newline at end of file diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Resources b/Carthage/Build/Mac/LaunchAtLogin.framework/Resources deleted file mode 120000 index 953ee36..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Resources +++ /dev/null @@ -1 +0,0 @@ -Versions/Current/Resources \ No newline at end of file diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Headers/LaunchAtLogin-Swift.h b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Headers/LaunchAtLogin-Swift.h deleted file mode 100644 index a4be910..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Headers/LaunchAtLogin-Swift.h +++ /dev/null @@ -1,209 +0,0 @@ -// Generated by Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif - -#if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -#else -# define SWIFT_COMPILE_NAME(X) -#endif -#if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -#else -# define SWIFT_METHOD_FAMILY(X) -#endif -#if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -#else -# define SWIFT_NOESCAPE -#endif -#if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -#else -# define SWIFT_RELEASES_ARGUMENT -#endif -#if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -#else -# define SWIFT_WARN_UNUSED_RESULT -#endif -#if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -#else -# define SWIFT_NORETURN -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if defined(__has_attribute) && __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -#else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -#endif -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#if __has_feature(modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="LaunchAtLogin",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#pragma clang diagnostic pop diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Headers/LaunchAtLogin.h b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Headers/LaunchAtLogin.h deleted file mode 100644 index f801178..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Headers/LaunchAtLogin.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -FOUNDATION_EXPORT double LaunchAtLoginVersionNumber; -FOUNDATION_EXPORT const unsigned char LaunchAtLoginVersionString[]; diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/LaunchAtLogin b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/LaunchAtLogin deleted file mode 100755 index 2840f72..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/LaunchAtLogin and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64-apple-macos.swiftdoc b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64-apple-macos.swiftdoc deleted file mode 100644 index 34f33d8..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64-apple-macos.swiftdoc and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64-apple-macos.swiftmodule b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64-apple-macos.swiftmodule deleted file mode 100644 index 9eeb9c1..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64-apple-macos.swiftmodule and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64.swiftdoc b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index 34f33d8..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64.swiftmodule b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index 9eeb9c1..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/LaunchAtLogin.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/module.modulemap b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/module.modulemap deleted file mode 100644 index 3753816..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Modules/module.modulemap +++ /dev/null @@ -1,11 +0,0 @@ -framework module LaunchAtLogin { - umbrella header "LaunchAtLogin.h" - - export * - module * { export * } -} - -module LaunchAtLogin.Swift { - header "LaunchAtLogin-Swift.h" - requires objc -} diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/Info.plist b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/Info.plist deleted file mode 100644 index 5c481be..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/Info.plist +++ /dev/null @@ -1,44 +0,0 @@ - - - - - BuildMachineOSBuild - 19F101 - CFBundleExecutable - LaunchAtLogin - CFBundleIdentifier - com.sindresorhus.LaunchAtLogin - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - LaunchAtLogin - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.0.0 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 11E608c - DTPlatformVersion - GM - DTSDKBuild - 19E258 - DTSDKName - macosx10.15 - DTXcode - 1150 - DTXcodeBuild - 11E608c - LSMinimumSystemVersion - 10.12 - NSHumanReadableCopyright - MIT © Sindre Sorhus - - diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCore.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCore.dylib deleted file mode 100755 index fddff1e..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCore.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCoreFoundation.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCoreFoundation.dylib deleted file mode 100755 index df2d8fd..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCoreFoundation.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCoreGraphics.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCoreGraphics.dylib deleted file mode 100755 index 708867a..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftCoreGraphics.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftDarwin.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftDarwin.dylib deleted file mode 100755 index aabc8f6..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftDarwin.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftDispatch.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftDispatch.dylib deleted file mode 100755 index bdc7829..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftDispatch.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftFoundation.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftFoundation.dylib deleted file mode 100755 index eca45ca..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftFoundation.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftIOKit.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftIOKit.dylib deleted file mode 100755 index 3dee2a5..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftIOKit.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftObjectiveC.dylib b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftObjectiveC.dylib deleted file mode 100755 index f7eb84f..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Frameworks/libswiftObjectiveC.dylib and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Info.plist b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Info.plist deleted file mode 100644 index ed98f10..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/Info.plist +++ /dev/null @@ -1,48 +0,0 @@ - - - - - BuildMachineOSBuild - 19F101 - CFBundleExecutable - LaunchAtLoginHelper - CFBundleIdentifier - com.sindresorhus.LaunchAtLoginHelper - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - LaunchAtLoginHelper - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0.0 - CFBundleSupportedPlatforms - - MacOSX - - CFBundleVersion - 1 - DTCompiler - com.apple.compilers.llvm.clang.1_0 - DTPlatformBuild - 11E608c - DTPlatformVersion - GM - DTSDKBuild - 19E258 - DTSDKName - macosx10.15 - DTXcode - 1150 - DTXcodeBuild - 11E608c - LSBackgroundOnly - - LSMinimumSystemVersion - 10.12 - NSHumanReadableCopyright - MIT © Sindre Sorhus - NSPrincipalClass - NSApplication - - diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/MacOS/LaunchAtLoginHelper b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/MacOS/LaunchAtLoginHelper deleted file mode 100755 index 18a7fd6..0000000 Binary files a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/MacOS/LaunchAtLoginHelper and /dev/null differ diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/PkgInfo b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/PkgInfo deleted file mode 100644 index bd04210..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/LaunchAtLoginHelper.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/copy-helper.sh b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/copy-helper.sh deleted file mode 100755 index 52af101..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/A/Resources/copy-helper.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -origin_helper_path="$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/LaunchAtLogin.framework/Resources/LaunchAtLoginHelper.app" -helper_dir="$BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Library/LoginItems" -helper_path="$helper_dir/LaunchAtLoginHelper.app" - -rm -rf "$helper_path" -mkdir -p "$helper_dir" -cp -rf "$origin_helper_path" "$helper_dir/" - -defaults write "$helper_path/Contents/Info" CFBundleIdentifier -string "$PRODUCT_BUNDLE_IDENTIFIER-LaunchAtLoginHelper" - -if [[ -n $CODE_SIGN_ENTITLEMENTS ]]; then - codesign --force --entitlements="$CODE_SIGN_ENTITLEMENTS" --options=runtime --sign="$EXPANDED_CODE_SIGN_IDENTITY_NAME" "$helper_path" -else - codesign --force --options=runtime --sign="$EXPANDED_CODE_SIGN_IDENTITY_NAME" "$helper_path" -fi - -if [[ $CONFIGURATION == "Release" ]]; then - rm -rf "$origin_helper_path" - rm "$(dirname "$origin_helper_path")/copy-helper.sh" -fi diff --git a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/Current b/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/Current deleted file mode 120000 index 8c7e5a6..0000000 --- a/Carthage/Build/Mac/LaunchAtLogin.framework/Versions/Current +++ /dev/null @@ -1 +0,0 @@ -A \ No newline at end of file diff --git a/Carthage/Checkouts/LaunchAtLogin/.editorconfig b/Carthage/Checkouts/LaunchAtLogin/.editorconfig deleted file mode 100644 index aaac325..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/.editorconfig +++ /dev/null @@ -1,8 +0,0 @@ -root = true - -[*] -indent_style = tab -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/Carthage/Checkouts/LaunchAtLogin/.gitattributes b/Carthage/Checkouts/LaunchAtLogin/.gitattributes deleted file mode 100644 index 6313b56..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto eol=lf diff --git a/Carthage/Checkouts/LaunchAtLogin/.github/funding.yml b/Carthage/Checkouts/LaunchAtLogin/.github/funding.yml deleted file mode 100644 index 15edf6e..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/.github/funding.yml +++ /dev/null @@ -1,4 +0,0 @@ -github: sindresorhus -open_collective: sindresorhus -patreon: sindresorhus -custom: https://sindresorhus.com/donate diff --git a/Carthage/Checkouts/LaunchAtLogin/.gitignore b/Carthage/Checkouts/LaunchAtLogin/.gitignore deleted file mode 100644 index 8b53cbf..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -xcuserdata -project.xcworkspace diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/project.pbxproj b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/project.pbxproj deleted file mode 100644 index 851ca84..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/project.pbxproj +++ /dev/null @@ -1,494 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 52; - objects = { - -/* Begin PBXBuildFile section */ - E32E9B681EB87D7B000FEEE9 /* LaunchAtLogin.h in Headers */ = {isa = PBXBuildFile; fileRef = E32E9B661EB87D7B000FEEE9 /* LaunchAtLogin.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E32E9B6F1EB87DC5000FEEE9 /* LaunchAtLogin.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32E9B6E1EB87DC5000FEEE9 /* LaunchAtLogin.swift */; }; - E32E9B771EB87EA3000FEEE9 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = E32E9B761EB87EA3000FEEE9 /* main.swift */; }; - E32E9B861EB8845E000FEEE9 /* LaunchAtLoginHelper.app in Resources */ = {isa = PBXBuildFile; fileRef = E32E9B741EB87EA3000FEEE9 /* LaunchAtLoginHelper.app */; }; - E32E9B931EB889AE000FEEE9 /* copy-helper.sh in Resources */ = {isa = PBXBuildFile; fileRef = E32E9B921EB889AE000FEEE9 /* copy-helper.sh */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - E32E9B871EB88462000FEEE9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = E32E9B5A1EB87D7B000FEEE9 /* Project object */; - proxyType = 1; - remoteGlobalIDString = E32E9B731EB87EA3000FEEE9; - remoteInfo = LaunchAtLoginHelper; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - E32E9B631EB87D7B000FEEE9 /* LaunchAtLogin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = LaunchAtLogin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E32E9B661EB87D7B000FEEE9 /* LaunchAtLogin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = LaunchAtLogin.h; sourceTree = ""; usesTabs = 1; }; - E32E9B671EB87D7B000FEEE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E32E9B6E1EB87DC5000FEEE9 /* LaunchAtLogin.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = LaunchAtLogin.swift; sourceTree = ""; usesTabs = 1; }; - E32E9B741EB87EA3000FEEE9 /* LaunchAtLoginHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LaunchAtLoginHelper.app; sourceTree = BUILT_PRODUCTS_DIR; }; - E32E9B761EB87EA3000FEEE9 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = main.swift; sourceTree = ""; usesTabs = 1; }; - E32E9B7F1EB87EA3000FEEE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E32E9B921EB889AE000FEEE9 /* copy-helper.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; lineEnding = 0; path = "copy-helper.sh"; sourceTree = ""; usesTabs = 1; }; - E3B8C38A20C0003300272EC0 /* LaunchAtLoginHelper.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LaunchAtLoginHelper.entitlements; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - E32E9B5F1EB87D7B000FEEE9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E32E9B711EB87EA3000FEEE9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - E32E9B591EB87D7B000FEEE9 = { - isa = PBXGroup; - children = ( - E32E9B651EB87D7B000FEEE9 /* LaunchAtLogin */, - E32E9B751EB87EA3000FEEE9 /* LaunchAtLoginHelper */, - E32E9B641EB87D7B000FEEE9 /* Products */, - ); - sourceTree = ""; - usesTabs = 1; - }; - E32E9B641EB87D7B000FEEE9 /* Products */ = { - isa = PBXGroup; - children = ( - E32E9B631EB87D7B000FEEE9 /* LaunchAtLogin.framework */, - E32E9B741EB87EA3000FEEE9 /* LaunchAtLoginHelper.app */, - ); - name = Products; - sourceTree = ""; - }; - E32E9B651EB87D7B000FEEE9 /* LaunchAtLogin */ = { - isa = PBXGroup; - children = ( - E32E9B6E1EB87DC5000FEEE9 /* LaunchAtLogin.swift */, - E32E9B661EB87D7B000FEEE9 /* LaunchAtLogin.h */, - E32E9B921EB889AE000FEEE9 /* copy-helper.sh */, - E32E9B671EB87D7B000FEEE9 /* Info.plist */, - ); - path = LaunchAtLogin; - sourceTree = ""; - }; - E32E9B751EB87EA3000FEEE9 /* LaunchAtLoginHelper */ = { - isa = PBXGroup; - children = ( - E32E9B761EB87EA3000FEEE9 /* main.swift */, - E32E9B7F1EB87EA3000FEEE9 /* Info.plist */, - E3B8C38A20C0003300272EC0 /* LaunchAtLoginHelper.entitlements */, - ); - path = LaunchAtLoginHelper; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - E32E9B601EB87D7B000FEEE9 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - E32E9B681EB87D7B000FEEE9 /* LaunchAtLogin.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - E32E9B621EB87D7B000FEEE9 /* LaunchAtLogin */ = { - isa = PBXNativeTarget; - buildConfigurationList = E32E9B6B1EB87D7B000FEEE9 /* Build configuration list for PBXNativeTarget "LaunchAtLogin" */; - buildPhases = ( - E32E9B5E1EB87D7B000FEEE9 /* Sources */, - E32E9B5F1EB87D7B000FEEE9 /* Frameworks */, - E32E9B601EB87D7B000FEEE9 /* Headers */, - E32E9B611EB87D7B000FEEE9 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - E32E9B881EB88462000FEEE9 /* PBXTargetDependency */, - ); - name = LaunchAtLogin; - productName = LaunchAtLogin; - productReference = E32E9B631EB87D7B000FEEE9 /* LaunchAtLogin.framework */; - productType = "com.apple.product-type.framework"; - }; - E32E9B731EB87EA3000FEEE9 /* LaunchAtLoginHelper */ = { - isa = PBXNativeTarget; - buildConfigurationList = E32E9B801EB87EA3000FEEE9 /* Build configuration list for PBXNativeTarget "LaunchAtLoginHelper" */; - buildPhases = ( - E32E9B701EB87EA3000FEEE9 /* Sources */, - E32E9B711EB87EA3000FEEE9 /* Frameworks */, - E32E9B721EB87EA3000FEEE9 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = LaunchAtLoginHelper; - productName = LaunchAtLoginHelper; - productReference = E32E9B741EB87EA3000FEEE9 /* LaunchAtLoginHelper.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - E32E9B5A1EB87D7B000FEEE9 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 1020; - ORGANIZATIONNAME = "Sindre Sorhus"; - TargetAttributes = { - E32E9B621EB87D7B000FEEE9 = { - CreatedOnToolsVersion = 8.3.2; - LastSwiftMigration = 1020; - }; - E32E9B731EB87EA3000FEEE9 = { - CreatedOnToolsVersion = 8.3.2; - LastSwiftMigration = 1020; - SystemCapabilities = { - com.apple.HardenedRuntime = { - enabled = 1; - }; - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - }; - }; - buildConfigurationList = E32E9B5D1EB87D7B000FEEE9 /* Build configuration list for PBXProject "LaunchAtLogin" */; - compatibilityVersion = "Xcode 11.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = E32E9B591EB87D7B000FEEE9; - productRefGroup = E32E9B641EB87D7B000FEEE9 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - E32E9B621EB87D7B000FEEE9 /* LaunchAtLogin */, - E32E9B731EB87EA3000FEEE9 /* LaunchAtLoginHelper */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - E32E9B611EB87D7B000FEEE9 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E32E9B861EB8845E000FEEE9 /* LaunchAtLoginHelper.app in Resources */, - E32E9B931EB889AE000FEEE9 /* copy-helper.sh in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E32E9B721EB87EA3000FEEE9 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - E32E9B5E1EB87D7B000FEEE9 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E32E9B6F1EB87DC5000FEEE9 /* LaunchAtLogin.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - E32E9B701EB87EA3000FEEE9 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - E32E9B771EB87EA3000FEEE9 /* main.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - E32E9B881EB88462000FEEE9 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = E32E9B731EB87EA3000FEEE9 /* LaunchAtLoginHelper */; - targetProxy = E32E9B871EB88462000FEEE9 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - E32E9B691EB87D7B000FEEE9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_COMPILATION_MODE = singlefile; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VALID_ARCHS = x86_64; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - E32E9B6A1EB87D7B000FEEE9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.12; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - SWIFT_VERSION = 5.0; - VALID_ARCHS = x86_64; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - E32E9B6C1EB87D7B000FEEE9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = LaunchAtLogin/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 3.0.0; - PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.LaunchAtLogin; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_COMPILATION_MODE = singlefile; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - E32E9B6D1EB87D7B000FEEE9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = LaunchAtLogin/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/Frameworks", - ); - MARKETING_VERSION = 3.0.0; - PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.LaunchAtLogin; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - }; - name = Release; - }; - E32E9B811EB87EA3000FEEE9 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_ENTITLEMENTS = LaunchAtLoginHelper/LaunchAtLoginHelper.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; - ENABLE_HARDENED_RUNTIME = YES; - INFOPLIST_FILE = LaunchAtLoginHelper/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.LaunchAtLoginHelper; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - }; - name = Debug; - }; - E32E9B821EB87EA3000FEEE9 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_ENTITLEMENTS = LaunchAtLoginHelper/LaunchAtLoginHelper.entitlements; - CODE_SIGN_IDENTITY = "-"; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; - ENABLE_HARDENED_RUNTIME = YES; - INFOPLIST_FILE = LaunchAtLoginHelper/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.sindresorhus.LaunchAtLoginHelper; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - E32E9B5D1EB87D7B000FEEE9 /* Build configuration list for PBXProject "LaunchAtLogin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E32E9B691EB87D7B000FEEE9 /* Debug */, - E32E9B6A1EB87D7B000FEEE9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E32E9B6B1EB87D7B000FEEE9 /* Build configuration list for PBXNativeTarget "LaunchAtLogin" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E32E9B6C1EB87D7B000FEEE9 /* Debug */, - E32E9B6D1EB87D7B000FEEE9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - E32E9B801EB87EA3000FEEE9 /* Build configuration list for PBXNativeTarget "LaunchAtLoginHelper" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - E32E9B811EB87EA3000FEEE9 /* Debug */, - E32E9B821EB87EA3000FEEE9 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = E32E9B5A1EB87D7B000FEEE9 /* Project object */; -} diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/xcshareddata/xcschemes/LaunchAtLogin.xcscheme b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/xcshareddata/xcschemes/LaunchAtLogin.xcscheme deleted file mode 100644 index d8b20f0..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/xcshareddata/xcschemes/LaunchAtLogin.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/xcshareddata/xcschemes/LaunchAtLoginHelper.xcscheme b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/xcshareddata/xcschemes/LaunchAtLoginHelper.xcscheme deleted file mode 100644 index 0742f95..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin.xcodeproj/xcshareddata/xcschemes/LaunchAtLoginHelper.xcscheme +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/Info.plist b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/Info.plist deleted file mode 100644 index d6021a3..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - MIT © Sindre Sorhus - - diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/LaunchAtLogin.h b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/LaunchAtLogin.h deleted file mode 100644 index f801178..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/LaunchAtLogin.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -FOUNDATION_EXPORT double LaunchAtLoginVersionNumber; -FOUNDATION_EXPORT const unsigned char LaunchAtLoginVersionString[]; diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/LaunchAtLogin.swift b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/LaunchAtLogin.swift deleted file mode 100644 index 6c77ee6..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/LaunchAtLogin.swift +++ /dev/null @@ -1,21 +0,0 @@ -import Foundation -import ServiceManagement - -public struct LaunchAtLogin { - private static let id = "\(Bundle.main.bundleIdentifier!)-LaunchAtLoginHelper" - - public static var isEnabled: Bool { - get { - guard let jobs = (SMCopyAllJobDictionaries(kSMDomainUserLaunchd).takeRetainedValue() as? [[String: AnyObject]]) else { - return false - } - - let job = jobs.first { $0["Label"] as! String == id } - - return job?["OnDemand"] as? Bool ?? false - } - set { - SMLoginItemSetEnabled(id as CFString, newValue) - } - } -} diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/copy-helper.sh b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/copy-helper.sh deleted file mode 100755 index 52af101..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLogin/copy-helper.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -origin_helper_path="$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/LaunchAtLogin.framework/Resources/LaunchAtLoginHelper.app" -helper_dir="$BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Library/LoginItems" -helper_path="$helper_dir/LaunchAtLoginHelper.app" - -rm -rf "$helper_path" -mkdir -p "$helper_dir" -cp -rf "$origin_helper_path" "$helper_dir/" - -defaults write "$helper_path/Contents/Info" CFBundleIdentifier -string "$PRODUCT_BUNDLE_IDENTIFIER-LaunchAtLoginHelper" - -if [[ -n $CODE_SIGN_ENTITLEMENTS ]]; then - codesign --force --entitlements="$CODE_SIGN_ENTITLEMENTS" --options=runtime --sign="$EXPANDED_CODE_SIGN_IDENTITY_NAME" "$helper_path" -else - codesign --force --options=runtime --sign="$EXPANDED_CODE_SIGN_IDENTITY_NAME" "$helper_path" -fi - -if [[ $CONFIGURATION == "Release" ]]; then - rm -rf "$origin_helper_path" - rm "$(dirname "$origin_helper_path")/copy-helper.sh" -fi diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/Info.plist b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/Info.plist deleted file mode 100644 index a075677..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0.0 - CFBundleVersion - 1 - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - MIT © Sindre Sorhus - LSBackgroundOnly - - NSPrincipalClass - NSApplication - - diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/LaunchAtLoginHelper.entitlements b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/LaunchAtLoginHelper.entitlements deleted file mode 100644 index 852fa1a..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/LaunchAtLoginHelper.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/main.swift b/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/main.swift deleted file mode 100644 index ad7fd4f..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/LaunchAtLoginHelper/main.swift +++ /dev/null @@ -1,25 +0,0 @@ -import Cocoa - -final class AppDelegate: NSObject, NSApplicationDelegate { - func applicationDidFinishLaunching(_ notification: Notification) { - let bundleId = Bundle.main.bundleIdentifier! - // TODO: Make this more strict by only replacing at the end - let mainBundleId = bundleId.replacingOccurrences(of: "-LaunchAtLoginHelper", with: "") - - // Ensure the app is not already running - guard NSRunningApplication.runningApplications(withBundleIdentifier: mainBundleId).isEmpty else { - NSApp.terminate(nil) - return - } - - let pathComponents = (Bundle.main.bundlePath as NSString).pathComponents - let mainPath = NSString.path(withComponents: Array(pathComponents[0...(pathComponents.count - 5)])) - NSWorkspace.shared.launchApplication(mainPath) - NSApp.terminate(nil) - } -} - -private let app = NSApplication.shared -private let delegate = AppDelegate() -app.delegate = delegate -app.run() diff --git a/Carthage/Checkouts/LaunchAtLogin/before-after.md b/Carthage/Checkouts/LaunchAtLogin/before-after.md deleted file mode 100644 index 91cbe70..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/before-after.md +++ /dev/null @@ -1,21 +0,0 @@ -# Before and after - -With `LaunchAtLogin`, you only have to do 2 steps instead of 13! - -```diff -- 1. Create a new target that will be the helper app that launches your app -- 2. Set `LSBackgroundOnly` to true in the `Info.plist` file -- 3. Set `Skip Install` to `YES` in the build settings for the helper app -- 4. Enable sandboxing for the helper app -- 5. Add a new `Copy Files` build phase to the main app -- 6. Select `Wrapper` as destination -- 7. Enter `Contents/Library/LoginItems` as subpath -- 8. Add the helper build product to the build phase -- 9. Copy-paste some boilerplate code into the helper app -- 10. Remember to replace `bundleid.of.main.app` and `MainExectuableName` with your own values -- 11. Copy-paste some code to register the helper app into your main app -- 12. Make sure the main app and helper app use the same code signing certificate -- 13. Manually verify that you did everything correctly -+ 1. Install this package -+ 2. Add a new "Run Script Phase" -``` diff --git a/Carthage/Checkouts/LaunchAtLogin/license b/Carthage/Checkouts/LaunchAtLogin/license deleted file mode 100644 index e7af2f7..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Carthage/Checkouts/LaunchAtLogin/readme.md b/Carthage/Checkouts/LaunchAtLogin/readme.md deleted file mode 100644 index 6505bda..0000000 --- a/Carthage/Checkouts/LaunchAtLogin/readme.md +++ /dev/null @@ -1,88 +0,0 @@ -# LaunchAtLogin - -> Add “Launch at Login” functionality to your macOS app in seconds - -It's usually quite a [convoluted and error-prone process](before-after.md) to add this. **No more!** - -This package works with both sandboxed and non-sandboxed apps and it's App Store compatible and used in apps like [Plash](https://github.com/sindresorhus/Plash), [Dato](https://sindresorhus.com/dato), [Lungo](https://sindresorhus.com/lungo), and [Battery Indicator](https://sindresorhus.com/battery-indicator). - -## Requirements - -- macOS 10.12+ -- Xcode 11+ -- Swift 5+ - -## Install - -#### Carthage - -``` -github "sindresorhus/LaunchAtLogin" -``` - -## Usage - -Add a new ["Run Script Phase"](http://stackoverflow.com/a/39633955/64949) below "Embed Frameworks" in "Build Phases" with the following: - -```sh -"${PROJECT_DIR}/Carthage/Build/Mac/LaunchAtLogin.framework/Resources/copy-helper.sh" -``` - -Use it in your app: - -```swift -import LaunchAtLogin - -print(LaunchAtLogin.isEnabled) -//=> false - -LaunchAtLogin.isEnabled = true - -print(LaunchAtLogin.isEnabled) -//=> true -``` - -No need to store any state to UserDefaults. - -*Note that the [Mac App Store guidelines](https://developer.apple.com/app-store/review/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. Many apps also let the user activate it in a welcome screen.* - -## How does it work? - -The framework bundles the helper app needed to launch your app and copies it into your app at build time. - -## FAQ - -#### My app doesn't show up in “System Preferences › Users & Groups › Login Items” - -[This is the expected behavior](https://stackoverflow.com/a/15104481/64949), unfortunately. - -#### My app doesn't launch at login when testing - -This is usually caused by having one or more older builds of your app laying around somewhere on the system, and macOS picking one of those instead, which doesn't have the launch helper, and thus fails to start. - -Some things you can try: -- Bump the version & build of your app so macOS is more likely to pick it. -- Delete the [`DerivedData` directory](https://mgrebenets.github.io/mobile%20ci/2015/02/01/xcode-derived-data). -- Ensure you don't have any other builds laying around somewhere. - -Some helpful Stack Overflow answers: -- https://stackoverflow.com/a/43281810/64949 -- https://stackoverflow.com/a/51683190/64949 -- https://stackoverflow.com/a/53110832/64949 -- https://stackoverflow.com/a/53110852/64949 - -#### Can you support CocoaPods? - -CocoaPods used to be supported, but [it did not work well](https://github.com/sindresorhus/LaunchAtLogin/issues/22) and there was no easy way to fix it, so support was dropped. Even though you mainly use CocoaPods, you can still use Carthage just for this package without any problems. - -#### I'm getting a `'SMCopyAllJobDictionaries' was deprecated in OS X 10.10` warning - -Apple deprecated that API without providing an alternative. Apple engineers have [stated that it's still the preferred API to use](https://github.com/alexzielenski/StartAtLoginController/issues/12#issuecomment-307525807). I plan to use it as long as it's available. There are workarounds I can implement if Apple ever removes the API, so rest assured, this module will be made to work even then. If you want to see this resolved, submit a [Feedback Assistant](https://feedbackassistant.apple.com) report with [the following text](https://github.com/feedback-assistant/reports/issues/16). There's unfortunately still [no way to suppress warnings in Swift](https://stackoverflow.com/a/32861678/64949). - -## Related - -- [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults -- [Preferences](https://github.com/sindresorhus/Preferences) - Add a preferences window to your macOS app in minutes -- [DockProgress](https://github.com/sindresorhus/DockProgress) - Show progress in your app's Dock icon -- [create-dmg](https://github.com/sindresorhus/create-dmg) - Create a good-looking DMG for your macOS app in seconds -- [More…](https://github.com/search?q=user%3Asindresorhus+language%3Aswift) diff --git a/Common/HelperToolProtocol.swift b/Common/HelperToolProtocol.swift index c8a667c..42ed394 100644 --- a/Common/HelperToolProtocol.swift +++ b/Common/HelperToolProtocol.swift @@ -13,9 +13,9 @@ let helperVersion: String = "4" //for some reason the integrated version check d @objc(HelperToolProtocol) protocol HelperToolProtocol { //protocol HelperToolProtocol { func getVersion(withReply reply: @escaping (String) -> Void) - + //TODO: more functions for other data types, altough this is sufficient for battery max charge level func setSMCByte(key: String, value: UInt8) func readSMCByte(key: String, withReply reply: @escaping (UInt8) -> Void) - + } diff --git a/com.davidwernhart.Helper/HelperTool.swift b/com.davidwernhart.Helper/HelperTool.swift index 2709df3..fdb9b0b 100644 --- a/com.davidwernhart.Helper/HelperTool.swift +++ b/com.davidwernhart.Helper/HelperTool.swift @@ -8,7 +8,7 @@ import Foundation -class HelperTool: NSObject, HelperToolProtocol { +final class HelperTool: NSObject, HelperToolProtocol { func getVersion(withReply reply: (String) -> Void) { // let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString" as String) as? String ?? "(unknown version)" // let build = Bundle.main.object(forInfoDictionaryKey: kCFBundleVersionKey as String) as? String ?? "(unknown build)" @@ -16,39 +16,37 @@ class HelperTool: NSObject, HelperToolProtocol { reply(helperVersion) } - - func setSMCByte(key: String, value: UInt8){ + + func setSMCByte(key: String, value: UInt8) { do { try SMCKit.open() } catch { print(error) exit(EX_UNAVAILABLE) } - - var key = SMCKit.getKey(key, type: DataTypes.UInt8) + + let smcKey = SMCKit.getKey(key, type: DataTypes.UInt8) let bytes: SMCBytes = (value, UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0)) - - do { - let status = try SMCKit.writeData(key,data: bytes) - } catch { - } + + _ = try? SMCKit.writeData(smcKey, data: bytes) } - func readSMCByte(key: String, withReply reply: @escaping (UInt8) -> Void){ + + func readSMCByte(key: String, withReply reply: @escaping (UInt8) -> Void) { do { try SMCKit.open() } catch { print(error) exit(EX_UNAVAILABLE) } - - var key = SMCKit.getKey(key, type: DataTypes.UInt8) + + let smcKey = SMCKit.getKey(key, type: DataTypes.UInt8) do { - let status = try SMCKit.readData(key).0 + let status = try SMCKit.readData(smcKey).0 reply(status) } catch { reply(0) diff --git a/com.davidwernhart.Helper/SMC.swift b/com.davidwernhart.Helper/SMC.swift index 635bf8c..07a8db0 100644 --- a/com.davidwernhart.Helper/SMC.swift +++ b/com.davidwernhart.Helper/SMC.swift @@ -254,7 +254,7 @@ public struct SMCKey { public struct DataType: Equatable { let type: FourCharCode - let size: UInt32 + let size: IOByteCount } public func ==(lhs: DataType, rhs: DataType) -> Bool { @@ -340,9 +340,9 @@ public struct SMCKit { return outputStruct.key } - - public static func getKey(_ code:String,type:DataType) -> SMCKey{ - let key = SMCKey(code: FourCharCode(fromString: code),info: type) + + public static func getKey(_ code: String, type: DataType) -> SMCKey { + let key = SMCKey(code: FourCharCode(fromString: code), info: type) return key } @@ -351,7 +351,7 @@ public struct SMCKit { var inputStruct = SMCParamStruct() inputStruct.key = key.code - inputStruct.keyInfo.dataSize = UInt32(key.info.size) + inputStruct.keyInfo.dataSize = key.info.size inputStruct.data8 = SMCParamStruct.Selector.kSMCReadKey.rawValue let outputStruct = try callDriver(&inputStruct) @@ -365,7 +365,7 @@ public struct SMCKit { inputStruct.key = key.code inputStruct.bytes = data - inputStruct.keyInfo.dataSize = UInt32(key.info.size) + inputStruct.keyInfo.dataSize = key.info.size inputStruct.data8 = SMCParamStruct.Selector.kSMCWriteKey.rawValue _ = try callDriver(&inputStruct) @@ -528,35 +528,35 @@ public struct TemperatureSensors { public static let THUNDERBOLT_1 = TemperatureSensor(name: "THUNDERBOLT_1", code: FourCharCode(fromStaticString: "TI1P")) - public static let all = [AMBIENT_AIR_0.code : AMBIENT_AIR_0, - AMBIENT_AIR_1.code : AMBIENT_AIR_1, - CPU_0_DIE.code : CPU_0_DIE, - CPU_0_DIODE.code : CPU_0_DIODE, - CPU_0_HEATSINK.code : CPU_0_HEATSINK, - CPU_0_PROXIMITY.code : CPU_0_PROXIMITY, - ENCLOSURE_BASE_0.code : ENCLOSURE_BASE_0, - ENCLOSURE_BASE_1.code : ENCLOSURE_BASE_1, - ENCLOSURE_BASE_2.code : ENCLOSURE_BASE_2, - ENCLOSURE_BASE_3.code : ENCLOSURE_BASE_3, - GPU_0_DIODE.code : GPU_0_DIODE, - GPU_0_HEATSINK.code : GPU_0_HEATSINK, - GPU_0_PROXIMITY.code : GPU_0_PROXIMITY, - HDD_PROXIMITY.code : HDD_PROXIMITY, - HEATSINK_0.code : HEATSINK_0, - HEATSINK_1.code : HEATSINK_1, - HEATSINK_2.code : HEATSINK_2, - MEM_SLOT_0.code : MEM_SLOT_0, + public static let all = [AMBIENT_AIR_0.code: AMBIENT_AIR_0, + AMBIENT_AIR_1.code: AMBIENT_AIR_1, + CPU_0_DIE.code: CPU_0_DIE, + CPU_0_DIODE.code: CPU_0_DIODE, + CPU_0_HEATSINK.code: CPU_0_HEATSINK, + CPU_0_PROXIMITY.code: CPU_0_PROXIMITY, + ENCLOSURE_BASE_0.code: ENCLOSURE_BASE_0, + ENCLOSURE_BASE_1.code: ENCLOSURE_BASE_1, + ENCLOSURE_BASE_2.code: ENCLOSURE_BASE_2, + ENCLOSURE_BASE_3.code: ENCLOSURE_BASE_3, + GPU_0_DIODE.code: GPU_0_DIODE, + GPU_0_HEATSINK.code: GPU_0_HEATSINK, + GPU_0_PROXIMITY.code: GPU_0_PROXIMITY, + HDD_PROXIMITY.code: HDD_PROXIMITY, + HEATSINK_0.code: HEATSINK_0, + HEATSINK_1.code: HEATSINK_1, + HEATSINK_2.code: HEATSINK_2, + MEM_SLOT_0.code: MEM_SLOT_0, MEM_SLOTS_PROXIMITY.code: MEM_SLOTS_PROXIMITY, - PALM_REST.code : PALM_REST, - LCD_PROXIMITY.code : LCD_PROXIMITY, - MISC_PROXIMITY.code : MISC_PROXIMITY, - NORTHBRIDGE.code : NORTHBRIDGE, - NORTHBRIDGE_DIODE.code : NORTHBRIDGE_DIODE, - NORTHBRIDGE_PROXIMITY.code : NORTHBRIDGE_PROXIMITY, - ODD_PROXIMITY.code : ODD_PROXIMITY, - PWR_SUPPLY_PROXIMITY.code : PWR_SUPPLY_PROXIMITY, - THUNDERBOLT_0.code : THUNDERBOLT_0, - THUNDERBOLT_1.code : THUNDERBOLT_1] + PALM_REST.code: PALM_REST, + LCD_PROXIMITY.code: LCD_PROXIMITY, + MISC_PROXIMITY.code: MISC_PROXIMITY, + NORTHBRIDGE.code: NORTHBRIDGE, + NORTHBRIDGE_DIODE.code: NORTHBRIDGE_DIODE, + NORTHBRIDGE_PROXIMITY.code: NORTHBRIDGE_PROXIMITY, + ODD_PROXIMITY.code: ODD_PROXIMITY, + PWR_SUPPLY_PROXIMITY.code: PWR_SUPPLY_PROXIMITY, + THUNDERBOLT_0.code: THUNDERBOLT_0, + THUNDERBOLT_1.code: THUNDERBOLT_1] } public struct TemperatureSensor { diff --git a/com.davidwernhart.Helper/main.swift b/com.davidwernhart.Helper/main.swift index 332bc0e..5d72b8d 100644 --- a/com.davidwernhart.Helper/main.swift +++ b/com.davidwernhart.Helper/main.swift @@ -8,7 +8,7 @@ import Foundation -class HelperDelegate: NSObject, NSXPCListenerDelegate { +final class HelperDelegate: NSObject, NSXPCListenerDelegate { func listener(_ listener: NSXPCListener, shouldAcceptNewConnection newConnection: NSXPCConnection) -> Bool { newConnection.exportedInterface = NSXPCInterface(with: HelperToolProtocol.self) newConnection.exportedObject = HelperTool() @@ -22,4 +22,3 @@ let listener = NSXPCListener(machServiceName: "com.davidwernhart.Helper.mach") listener.delegate = delegate listener.resume() RunLoop.current.run() -