From ed4791d9ee4130065f29cd6c20be9dfdd4a906b4 Mon Sep 17 00:00:00 2001 From: macmule Date: Fri, 19 Apr 2024 15:05:26 +0100 Subject: [PATCH 01/11] Removed SwiftLint as a build dependency --- Notifier/Notifier.xcodeproj/project.pbxproj | 1 - .../xcshareddata/swiftpm/Package.resolved | 75 +------------------ 2 files changed, 2 insertions(+), 74 deletions(-) diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index a607ec3..1330689 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -305,7 +305,6 @@ ); mainGroup = 7C6D156F2270BA2F0092D34E; packageReferences = ( - 845D68DA2B692A1700C5B467 /* XCRemoteSwiftPackageReference "SwiftLint" */, 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */, ); productRefGroup = 7C6D15792270BA2F0092D34E /* Products */; diff --git a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 2c9be40..56417ed 100644 --- a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,32 +1,6 @@ { + "originHash" : "59ba1edda695b389d6c9ac1809891cd779e4024f505b0ce1a9d5202b6762e38a", "pins" : [ - { - "identity" : "collectionconcurrencykit", - "kind" : "remoteSourceControl", - "location" : "https://github.com/JohnSundell/CollectionConcurrencyKit.git", - "state" : { - "revision" : "b4f23e24b5a1bff301efc5e70871083ca029ff95", - "version" : "0.2.0" - } - }, - { - "identity" : "cryptoswift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/krzyzanowskim/CryptoSwift.git", - "state" : { - "revision" : "7892a123f7e8d0fe62f9f03728b17bbd4f94df5c", - "version" : "1.8.1" - } - }, - { - "identity" : "sourcekitten", - "kind" : "remoteSourceControl", - "location" : "https://github.com/jpsim/SourceKitten.git", - "state" : { - "revision" : "b6dc09ee51dfb0c66e042d2328c017483a1a5d56", - "version" : "0.34.1" - } - }, { "identity" : "swift-argument-parser", "kind" : "remoteSourceControl", @@ -35,52 +9,7 @@ "revision" : "8f4d2753f0e4778c76d5f05ad16c74f707390531", "version" : "1.2.3" } - }, - { - "identity" : "swift-syntax", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-syntax.git", - "state" : { - "revision" : "6ad4ea24b01559dde0773e3d091f1b9e36175036", - "version" : "509.0.2" - } - }, - { - "identity" : "swiftlint", - "kind" : "remoteSourceControl", - "location" : "https://github.com/realm/SwiftLint.git", - "state" : { - "revision" : "f17a4f9dfb6a6afb0408426354e4180daaf49cee", - "version" : "0.54.0" - } - }, - { - "identity" : "swiftytexttable", - "kind" : "remoteSourceControl", - "location" : "https://github.com/scottrhoyt/SwiftyTextTable.git", - "state" : { - "revision" : "c6df6cf533d120716bff38f8ff9885e1ce2a4ac3", - "version" : "0.9.0" - } - }, - { - "identity" : "swxmlhash", - "kind" : "remoteSourceControl", - "location" : "https://github.com/drmohundro/SWXMLHash.git", - "state" : { - "revision" : "a853604c9e9a83ad9954c7e3d2a565273982471f", - "version" : "7.0.2" - } - }, - { - "identity" : "yams", - "kind" : "remoteSourceControl", - "location" : "https://github.com/jpsim/Yams.git", - "state" : { - "revision" : "0d9ee7ea8c4ebd4a489ad7a73d5c6cad55d6fed3", - "version" : "5.0.6" - } } ], - "version" : 2 + "version" : 3 } From 24455cf8f53ddf01b2c22c9e1c7cc1759d31cf74 Mon Sep 17 00:00:00 2001 From: macmule Date: Fri, 19 Apr 2024 15:16:05 +0100 Subject: [PATCH 02/11] Update project.pbxproj --- Notifier/Notifier.xcodeproj/project.pbxproj | 24 +++------------------ 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index 1330689..683b73e 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -212,7 +212,6 @@ buildRules = ( ); dependencies = ( - 845D68DE2B692A2900C5B467 /* PBXTargetDependency */, 84FA749C2B61C9D9009B4068 /* PBXTargetDependency */, 84E1A6CA2B61C02C00D7F7C9 /* PBXTargetDependency */, ); @@ -272,7 +271,7 @@ attributes = { BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1520; - LastUpgradeCheck = 1520; + LastUpgradeCheck = 1530; ORGANIZATIONNAME = "dataJAR Ltd"; TargetAttributes = { 7C6D15772270BA2F0092D34E = { @@ -390,10 +389,6 @@ isa = PBXTargetDependency; productRef = 84524FD02B61BC280046367B /* SwiftLintPlugin */; }; - 845D68DE2B692A2900C5B467 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - productRef = 845D68DD2B692A2900C5B467 /* SwiftLintPlugin */; - }; 84E1A6C62B61C01600D7F7C9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; productRef = 84E1A6C52B61C01600D7F7C9 /* SwiftLintPlugin */; @@ -472,7 +467,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_IDENTITY = "Apple Development"; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = dwarf; @@ -544,7 +539,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_IDENTITY = "Apple Development"; COPY_PHASE_STRIP = NO; DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; @@ -841,14 +836,6 @@ minimumVersion = 0.54.0; }; }; - 845D68DA2B692A1700C5B467 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/realm/SwiftLint.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.54.0; - }; - }; 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/swift-argument-parser.git"; @@ -865,11 +852,6 @@ package = 841F5F3C2B618C1500473103 /* XCRemoteSwiftPackageReference "SwiftLint" */; productName = "plugin:SwiftLintPlugin"; }; - 845D68DD2B692A2900C5B467 /* SwiftLintPlugin */ = { - isa = XCSwiftPackageProductDependency; - package = 845D68DA2B692A1700C5B467 /* XCRemoteSwiftPackageReference "SwiftLint" */; - productName = "plugin:SwiftLintPlugin"; - }; 845D68E02B692A5100C5B467 /* ArgumentParser */ = { isa = XCSwiftPackageProductDependency; package = 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */; From 93efc48fe3c6fb8a34303665c555ec2f6f7d1437 Mon Sep 17 00:00:00 2001 From: macmule Date: Fri, 19 Apr 2024 15:16:09 +0100 Subject: [PATCH 03/11] Update Notifier.xcscheme --- .../Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme b/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme index c94209c..20ac244 100644 --- a/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme +++ b/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme @@ -1,6 +1,6 @@ Date: Fri, 19 Apr 2024 15:44:11 +0100 Subject: [PATCH 04/11] Update project.pbxproj --- Notifier/Notifier.xcodeproj/project.pbxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index 683b73e..bd05c72 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -594,7 +594,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.Notifier; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -629,7 +629,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.Notifier; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -666,7 +666,7 @@ ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.1; NEW_SETTING = ""; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierNotifications; @@ -705,7 +705,7 @@ ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.1; NEW_SETTING = ""; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierNotifications; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -741,7 +741,7 @@ ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -777,7 +777,7 @@ ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.0; + MARKETING_VERSION = 3.1; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; From b90b127d207d3980af8416751c223a5f75584688 Mon Sep 17 00:00:00 2001 From: macmule Date: Wed, 24 Apr 2024 18:24:29 +0100 Subject: [PATCH 05/11] Update Package.resolved --- .../project.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 56417ed..26ac081 100644 --- a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -11,5 +11,5 @@ } } ], - "version" : 3 + "version" : 2 } From 9aa361a63f8bc281292be8e5d08024647669e047 Mon Sep 17 00:00:00 2001 From: macmule Date: Mon, 17 Jun 2024 18:01:57 +0100 Subject: [PATCH 06/11] Bring parity to the notifying applications --- Notifier/Notifier - Alerts/Structures.swift | 2 +- .../Notifier - Alerts/UserNotifications.swift | 14 ++-- .../AppDelegate.swift | 10 +++ .../Notifier - Notifications/Functions.swift | 2 +- .../Notifier - Notifications/Structures.swift | 16 +++- .../UserNotifications.swift | 64 ++++++++++++++-- Notifier/Notifier.xcodeproj/project.pbxproj | 39 +++++++--- .../xcshareddata/swiftpm/Package.resolved | 76 ++++++++++++++++++- .../xcshareddata/xcschemes/Notifier.xcscheme | 2 +- Notifier/Notifier/AppDelegate.swift | 23 +++--- Notifier/Notifier/ArgParser.swift | 46 +++++------ Notifier/Notifier/Structures.swift | 4 +- 12 files changed, 227 insertions(+), 71 deletions(-) diff --git a/Notifier/Notifier - Alerts/Structures.swift b/Notifier/Notifier - Alerts/Structures.swift index b09a075..bb3ca80 100644 --- a/Notifier/Notifier - Alerts/Structures.swift +++ b/Notifier/Notifier - Alerts/Structures.swift @@ -62,7 +62,7 @@ struct RootElements: Codable { struct UserInfo: Codable { // Optional - action to perform when the message is clicked var messageAction: [TaskObject]? - // Optional - alert only - action to perform when the message button is clicked + // Optional - action to perform when the message button is clicked var messageButtonAction: [TaskObject]? // Arguments for the task object struct TaskObject: Codable { diff --git a/Notifier/Notifier - Alerts/UserNotifications.swift b/Notifier/Notifier - Alerts/UserNotifications.swift index 33b625b..c4848d3 100644 --- a/Notifier/Notifier - Alerts/UserNotifications.swift +++ b/Notifier/Notifier - Alerts/UserNotifications.swift @@ -259,13 +259,13 @@ func processNotificationActions(userInfoKey: String, userInfo: [AnyHashable: Any """) // If task failed to run } else { - // Post error - postToNSLogAndStdOut(logLevel: "ERROR", logMessage: - """ - Running: \(messageActionDict["taskPath"] ?? "") - \(messageActionDict["taskArguments"] ?? []) failed with \(taskOutput). - """, functionName: #function.components(separatedBy: "(")[0], - verboseMode: "enabled") + // Post error + postToNSLogAndStdOut(logLevel: "ERROR", logMessage: + """ + Running: \(messageActionDict["taskPath"] ?? "") + \(messageActionDict["taskArguments"] ?? []) failed with \(taskOutput). + """, functionName: #function.components(separatedBy: "(")[0], + verboseMode: "enabled") } } } diff --git a/Notifier/Notifier - Notifications/AppDelegate.swift b/Notifier/Notifier - Notifications/AppDelegate.swift index 13e2da6..90d773c 100644 --- a/Notifier/Notifier - Notifications/AppDelegate.swift +++ b/Notifier/Notifier - Notifications/AppDelegate.swift @@ -82,6 +82,16 @@ func processArguments(messageContent: MessageContent, notificationCenter: UNUser notificationContent.userInfo["messageAction"] = getNotificationBodyAction(messageContent: messageContent, rootElements: rootElements) } + // messageButton needs defining, even when not called. So processing it here along with messageButtonAction + let (tempMessageButtonAction, tempCategory) = processMessageButton(notificationCenter: notificationCenter, + messageContent: messageContent, rootElements: rootElements) + // Set the notifications category + notificationCenter.setNotificationCategories([tempCategory]) + // If tempMessageButtonAction has a value + if !tempMessageButtonAction.isEmpty { + // Add messageButtonAction to userInfo + notificationContent.userInfo["messageButtonAction"] = tempMessageButtonAction + } // If we have a value for messageSound passed if messageContent.messageSound != nil { // Set the notifications sound diff --git a/Notifier/Notifier - Notifications/Functions.swift b/Notifier/Notifier - Notifications/Functions.swift index 9832cec..31ed0e5 100644 --- a/Notifier/Notifier - Notifications/Functions.swift +++ b/Notifier/Notifier - Notifications/Functions.swift @@ -87,7 +87,7 @@ func gracefulLogout(userInfo: [AnyHashable: Any]) { // Progress log NSLog("\(#function.components(separatedBy: "(")[0]) - logout prompting") } - // Create an NSAppleScript object wiht the logout command + // Create an NSAppleScript object with the logout command if let scriptObject = NSAppleScript(source: "tell application \"loginwindow\" to «event aevtlogo»") { // If we receive output from the prior command if let outputString = scriptObject.executeAndReturnError(&error).stringValue { diff --git a/Notifier/Notifier - Notifications/Structures.swift b/Notifier/Notifier - Notifications/Structures.swift index f1bc967..9953476 100644 --- a/Notifier/Notifier - Notifications/Structures.swift +++ b/Notifier/Notifier - Notifications/Structures.swift @@ -11,6 +11,10 @@ struct MessageContent: Codable { var messageAction: [TaskObject]? // The notifications message (required) var messageBody: String? + // Optional - message button label + var messageButton: String? + // Optional - action to perform when the message button is clicked + var messageButtonAction: [TaskObject]? // Optional - the sound played when the notification has been delivered var messageSound: String? // Optional - the notifications subtitle @@ -25,10 +29,13 @@ struct MessageContent: Codable { var taskArguments: [String]? } // Initialize MessageContent - init(messageAction: [TaskObject]? = nil, messageBody: String? = nil, messageSound: String? = nil, - messageSubtitle: String? = nil, messageTitle: String? = nil) { + init(messageAction: [TaskObject]? = nil, messageBody: String? = nil, messageButton: String? = nil, + messageButtonAction: [TaskObject]? = nil, messageSound: String? = nil, messageSubtitle: String? = nil, + messageTitle: String? = nil) { self.messageAction = messageAction self.messageBody = messageBody + self.messageButton = messageButton + self.messageButtonAction = messageButtonAction self.messageSound = messageSound self.messageSubtitle = messageSubtitle self.messageTitle = messageTitle @@ -55,6 +62,8 @@ struct RootElements: Codable { struct UserInfo: Codable { // Optional - action to perform when the message is clicked var messageAction: [TaskObject]? + // Optional - action to perform when the message button is clicked + var messageButtonAction: [TaskObject]? // Arguments for the task object struct TaskObject: Codable { // The tasks executable @@ -63,7 +72,8 @@ struct UserInfo: Codable { var taskArguments: [String]? } // Initialize ParsedArguments - init(messageAction: [TaskObject]? = nil) { + init(messageAction: [TaskObject]? = nil, messageButtonAction: [TaskObject]? = nil) { self.messageAction = messageAction + self.messageButtonAction = messageButtonAction } } diff --git a/Notifier/Notifier - Notifications/UserNotifications.swift b/Notifier/Notifier - Notifications/UserNotifications.swift index 6938c1d..3c514f4 100644 --- a/Notifier/Notifier - Notifications/UserNotifications.swift +++ b/Notifier/Notifier - Notifications/UserNotifications.swift @@ -134,6 +134,60 @@ func handleNotification(forResponse response: UNNotificationResponse) { exit(0) } +// Adds messageButton (always needed) and messageButtonAction (when defined) +func processMessageButton(notificationCenter: UNUserNotificationCenter, messageContent: MessageContent, + rootElements: RootElements) -> + ([AnyHashable: Any], UNNotificationCategory) { + // Var declaration + var tempCategory = UNNotificationCategory(identifier: "banner", actions: [], intentIdentifiers: [], + options: .customDismissAction) + var messageButtonAction = [AnyHashable: Any]() + // If we have a value for messageButton passed + if messageContent.messageButton != nil { + // Create an action object + let notificationAction = UNNotificationAction(identifier: "messagebutton", + title: messageContent.messageButton ?? "", + options: []) + // Amend tempCategory + tempCategory = UNNotificationCategory(identifier: "banner", actions: [notificationAction], + intentIdentifiers: [], + options: .customDismissAction) + // If verbose mode is enabled + if rootElements.verboseMode != nil { + // Progress log + NSLog("\(#function.components(separatedBy: "(")[0]) - messagebutton processed") + } + // If we have a values for messageButton and messageButtonAction passed + if messageContent.messageButtonAction != nil { + // Add taskPath from messagAction to messageButtonAction + messageButtonAction["taskPath"] = messageContent.messageButtonAction?[0].taskPath + // Add taskArguments from messageButtonAction + messageButtonAction["taskArguments"] = + messageContent.messageButtonAction?[0].taskArguments + // If verbose mode is enabled + if rootElements.verboseMode != nil { + // Progress log + NSLog(""" + \(#function.components(separatedBy: "(")[0]) - messageButtonAction - taskPath: \ + \(messageButtonAction["taskPath"] ?? ""), + taskArguments: \(messageButtonAction["taskArguments"] ?? []) + """) + } + // Return tempCategory and tempUserInfo + return (messageButtonAction, tempCategory) + } + // If we don't have a value for messageButton + } else { + // If verbose mode is enabled + if rootElements.verboseMode != nil { + // Progress log + NSLog("\(#function.components(separatedBy: "(")[0]) - no messagebutton defined") + } + } + // Return empty userInfo for messageButtonAction and tempCategory + return ([:], tempCategory) +} + // Post the notification func postNotification(notificationCenter: UNUserNotificationCenter, notificationContent: UNMutableNotificationContent, messageContent: MessageContent, passedBase64: String, rootElements: RootElements) { @@ -207,11 +261,11 @@ func processNotificationActions(userInfoKey: String, userInfo: [AnyHashable: Any } else { // Post error postToNSLogAndStdOut(logLevel: "ERROR", logMessage: - """ - Running: \(messageActionDict["taskPath"] ?? "") - \(messageActionDict["taskArguments"] ?? []) failed with \(taskOutput). - """, functionName: #function.components(separatedBy: "(")[0], - verboseMode: "enabled") + """ + Running: \(messageActionDict["taskPath"] ?? "") + \(messageActionDict["taskArguments"] ?? []) failed with \(taskOutput). + """, functionName: #function.components(separatedBy: "(")[0], + verboseMode: "enabled") } } } diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index bd05c72..5d94009 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -212,6 +212,7 @@ buildRules = ( ); dependencies = ( + 8415893B2C207EAC008B1103 /* PBXTargetDependency */, 84FA749C2B61C9D9009B4068 /* PBXTargetDependency */, 84E1A6CA2B61C02C00D7F7C9 /* PBXTargetDependency */, ); @@ -271,7 +272,7 @@ attributes = { BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1520; - LastUpgradeCheck = 1530; + LastUpgradeCheck = 1600; ORGANIZATIONNAME = "dataJAR Ltd"; TargetAttributes = { 7C6D15772270BA2F0092D34E = { @@ -305,6 +306,7 @@ mainGroup = 7C6D156F2270BA2F0092D34E; packageReferences = ( 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */, + 841589392C207EA1008B1103 /* XCRemoteSwiftPackageReference "SwiftLint" */, ); productRefGroup = 7C6D15792270BA2F0092D34E /* Products */; projectDirPath = ""; @@ -385,6 +387,10 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 8415893B2C207EAC008B1103 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + productRef = 8415893A2C207EAC008B1103 /* SwiftLintBuildToolPlugin */; + }; 84524FD12B61BC280046367B /* PBXTargetDependency */ = { isa = PBXTargetDependency; productRef = 84524FD02B61BC280046367B /* SwiftLintPlugin */; @@ -573,7 +579,6 @@ 7C6D15872270BA300092D34E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; @@ -593,7 +598,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.Notifier; @@ -608,7 +613,6 @@ 7C6D15882270BA300092D34E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ARCHS = "$(ARCHS_STANDARD)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; @@ -628,7 +632,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.Notifier; @@ -665,7 +669,7 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 3.1; NEW_SETTING = ""; ONLY_ACTIVE_ARCH = YES; @@ -704,7 +708,7 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; + MACOSX_DEPLOYMENT_TARGET = 15.0; MARKETING_VERSION = 3.1; NEW_SETTING = ""; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierNotifications; @@ -740,8 +744,8 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.1; + MACOSX_DEPLOYMENT_TARGET = 15.0; + MARKETING_VERSION = 3.1.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -776,8 +780,8 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 10.15; - MARKETING_VERSION = 3.1; + MACOSX_DEPLOYMENT_TARGET = 15.0; + MARKETING_VERSION = 3.1.1; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -828,6 +832,14 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ + 841589392C207EA1008B1103 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/realm/SwiftLint.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 0.55.1; + }; + }; 841F5F3C2B618C1500473103 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/realm/SwiftLint.git"; @@ -847,6 +859,11 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + 8415893A2C207EAC008B1103 /* SwiftLintBuildToolPlugin */ = { + isa = XCSwiftPackageProductDependency; + package = 841589392C207EA1008B1103 /* XCRemoteSwiftPackageReference "SwiftLint" */; + productName = "plugin:SwiftLintBuildToolPlugin"; + }; 84524FD02B61BC280046367B /* SwiftLintPlugin */ = { isa = XCSwiftPackageProductDependency; package = 841F5F3C2B618C1500473103 /* XCRemoteSwiftPackageReference "SwiftLint" */; diff --git a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 26ac081..567a0f2 100644 --- a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,6 +1,33 @@ { - "originHash" : "59ba1edda695b389d6c9ac1809891cd779e4024f505b0ce1a9d5202b6762e38a", + "originHash" : "9e3e42010a0185f59b0b416f1ae755c50599c5179574d8d7934afdbeeada41aa", "pins" : [ + { + "identity" : "collectionconcurrencykit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/JohnSundell/CollectionConcurrencyKit.git", + "state" : { + "revision" : "b4f23e24b5a1bff301efc5e70871083ca029ff95", + "version" : "0.2.0" + } + }, + { + "identity" : "cryptoswift", + "kind" : "remoteSourceControl", + "location" : "https://github.com/krzyzanowskim/CryptoSwift.git", + "state" : { + "revision" : "7892a123f7e8d0fe62f9f03728b17bbd4f94df5c", + "version" : "1.8.1" + } + }, + { + "identity" : "sourcekitten", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/SourceKitten.git", + "state" : { + "revision" : "fd4df99170f5e9d7cf9aa8312aa8506e0e7a44e7", + "version" : "0.35.0" + } + }, { "identity" : "swift-argument-parser", "kind" : "remoteSourceControl", @@ -9,7 +36,52 @@ "revision" : "8f4d2753f0e4778c76d5f05ad16c74f707390531", "version" : "1.2.3" } + }, + { + "identity" : "swift-syntax", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-syntax.git", + "state" : { + "revision" : "303e5c5c36d6a558407d364878df131c3546fad8", + "version" : "510.0.2" + } + }, + { + "identity" : "swiftlint", + "kind" : "remoteSourceControl", + "location" : "https://github.com/realm/SwiftLint.git", + "state" : { + "revision" : "b515723b16eba33f15c4677ee65f3fef2ce8c255", + "version" : "0.55.1" + } + }, + { + "identity" : "swiftytexttable", + "kind" : "remoteSourceControl", + "location" : "https://github.com/scottrhoyt/SwiftyTextTable.git", + "state" : { + "revision" : "c6df6cf533d120716bff38f8ff9885e1ce2a4ac3", + "version" : "0.9.0" + } + }, + { + "identity" : "swxmlhash", + "kind" : "remoteSourceControl", + "location" : "https://github.com/drmohundro/SWXMLHash.git", + "state" : { + "revision" : "a853604c9e9a83ad9954c7e3d2a565273982471f", + "version" : "7.0.2" + } + }, + { + "identity" : "yams", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/Yams.git", + "state" : { + "revision" : "0d9ee7ea8c4ebd4a489ad7a73d5c6cad55d6fed3", + "version" : "5.0.6" + } } ], - "version" : 2 + "version" : 3 } diff --git a/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme b/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme index 20ac244..95314f8 100644 --- a/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme +++ b/Notifier/Notifier.xcodeproj/xcshareddata/xcschemes/Notifier.xcscheme @@ -1,6 +1,6 @@ Date: Mon, 17 Jun 2024 18:05:54 +0100 Subject: [PATCH 07/11] Update README.md --- README.md | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 7293e06..20ca03c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
Licensed under the Apache License, Version 2.0 -Copyright 2024 DATA JAR LTD +Copyright 2024 Jamf LTD Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @@ -17,7 +17,7 @@ Notifications are delivered via the [UserNotifications Framework](https://develo # Usage ## Basic Usage ``` -OVERVIEW: Notifier 3.0: Posts alert or banner notifications. +OVERVIEW: Notifier 3.1: Posts alert or banner notifications. USAGE: --type --message --type --remove prior @@ -42,27 +42,11 @@ OPTIONS: For example: "/usr/bin/open" will work, "open" will not. - --sound The sound to play when notification is delivered. - Pass "default" for the default macOS sound, else the - name of a sound in /Library/Sounds or - /System/Library/Sounds. - - If the sound cannot be found, macOS will use the - "default" sound. - - --subtitle The notifications subtitle. - - --title The notifications title. - --messagebutton <messagebutton> - alert type only. - Adds a button to the message, with the label being what is passed. --messagebuttonaction <messagebuttonaction> - alert type only. - The action to be performed under the users account when the optional message button is clicked. @@ -90,6 +74,18 @@ OPTIONS: message will be required too. Including all passed flags. + --sound <sound> The sound to play when notification is delivered. + Pass "default" for the default macOS sound, else the + name of a sound in /Library/Sounds or + /System/Library/Sounds. + + If the sound cannot be found, macOS will use the + "default" sound. + + --subtitle <subtitle> The notifications subtitle. + + --title <title> The notifications title. + --verbose Enables logging of actions. Check console for 'Notifier' messages. From 8c2a51e81e0c9758a61fae58ba383b98fc7388e9 Mon Sep 17 00:00:00 2001 From: macmule <ben@macmule.com> Date: Mon, 17 Jun 2024 18:06:09 +0100 Subject: [PATCH 08/11] Update project.pbxproj --- Notifier/Notifier.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index 5d94009..6581569 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -745,7 +745,7 @@ ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 3.1.1; + MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -781,7 +781,7 @@ ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MACOSX_DEPLOYMENT_TARGET = 15.0; - MARKETING_VERSION = 3.1.1; + MARKETING_VERSION = 3.1; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; From 0c4fa780b4c9d75fa718d3b516fb5e1fffe796fd Mon Sep 17 00:00:00 2001 From: macmule <ben@macmule.com> Date: Tue, 18 Jun 2024 10:15:45 +0100 Subject: [PATCH 09/11] Update make-notifier-pkg.sh --- package/make-notifier-pkg.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/package/make-notifier-pkg.sh b/package/make-notifier-pkg.sh index d165dc3..4e12fd7 100755 --- a/package/make-notifier-pkg.sh +++ b/package/make-notifier-pkg.sh @@ -39,7 +39,7 @@ scriptExtension=${0##*.} swTitle="$(/usr/bin/basename "$0" ."$scriptExtension")" # Script Version -ver="1.0" +ver="1.0.1" # Full path to the dir this script is in scriptDir="$(/usr/bin/dirname "$0")" @@ -149,8 +149,7 @@ USAGE: Ths script needs to be ran as root/sudo, and requires the following argum https://developer.apple.com/help/account/create-certificates/create-developer-id-certificates/ \$2 - Name of an App-specific password within the running users keychain, to be used for notarization: https://support.apple.com/en-us/102654 - \$3 - pkg receipt identifier - uk.dataJAR.Notifier + \$3 - pkg receipt identifier (for example: uk.dataJAR.Notifier) " } From 1c12944eb5bdcf879ef9565b14b37d6d85c13b89 Mon Sep 17 00:00:00 2001 From: macmule <ben@macmule.com> Date: Tue, 18 Jun 2024 10:21:30 +0100 Subject: [PATCH 10/11] Update project.pbxproj Corrected deployment targets --- Notifier/Notifier.xcodeproj/project.pbxproj | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index 6581569..6109189 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -598,7 +598,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 15.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.Notifier; @@ -632,7 +632,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 15.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.Notifier; @@ -669,7 +669,7 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 15.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 3.1; NEW_SETTING = ""; ONLY_ACTIVE_ARCH = YES; @@ -708,7 +708,7 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 15.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 3.1; NEW_SETTING = ""; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierNotifications; @@ -744,7 +744,7 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 15.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 3.1; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; @@ -780,7 +780,7 @@ "@executable_path/../Frameworks", ); LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MACOSX_DEPLOYMENT_TARGET = 15.0; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 3.1; PRODUCT_BUNDLE_IDENTIFIER = uk.co.dataJAR.NotifierAlerts; PRODUCT_NAME = "$(TARGET_NAME)"; From 44ebcd5efb2efad2f17cd4b31836cb46bbef928f Mon Sep 17 00:00:00 2001 From: macmule <ben@macmule.com> Date: Tue, 18 Jun 2024 11:24:25 +0100 Subject: [PATCH 11/11] Amended linting --- Notifier/.swiftlint.yml | 3 +- Notifier/Notifier.xcodeproj/project.pbxproj | 72 +++++++----------- .../xcshareddata/swiftpm/Package.resolved | 74 +------------------ 3 files changed, 27 insertions(+), 122 deletions(-) mode change 100644 => 100755 Notifier/.swiftlint.yml diff --git a/Notifier/.swiftlint.yml b/Notifier/.swiftlint.yml old mode 100644 new mode 100755 index 556de04..5abe087 --- a/Notifier/.swiftlint.yml +++ b/Notifier/.swiftlint.yml @@ -8,11 +8,10 @@ opt_in_rules: # some rules are only opt-in - trailing_newline - colon - comma -included: # paths to include during linting. `--path` is ignored if present. - - auto-update excluded: # paths to ignore during linting. Takes precedence over `included`. - Pods - Scripts/CodeSignUpdate.swift + - Payload # configurable rules can be customized from this configuration file # binary rules can set their severity level diff --git a/Notifier/Notifier.xcodeproj/project.pbxproj b/Notifier/Notifier.xcodeproj/project.pbxproj index 6109189..b0fef11 100644 --- a/Notifier/Notifier.xcodeproj/project.pbxproj +++ b/Notifier/Notifier.xcodeproj/project.pbxproj @@ -208,11 +208,11 @@ 7C6D15762270BA2F0092D34E /* Resources */, 7CF89A4023BF9F6000723A3B /* CopyFiles */, 7CAB609623DF4C8B0029E310 /* CopyFiles */, + 84CC99F32C21904900396D3F /* Swiftlint */, ); buildRules = ( ); dependencies = ( - 8415893B2C207EAC008B1103 /* PBXTargetDependency */, 84FA749C2B61C9D9009B4068 /* PBXTargetDependency */, 84E1A6CA2B61C02C00D7F7C9 /* PBXTargetDependency */, ); @@ -235,7 +235,6 @@ buildRules = ( ); dependencies = ( - 84524FD12B61BC280046367B /* PBXTargetDependency */, ); name = "Notifier - Notifications"; packageProductDependencies = ( @@ -255,7 +254,6 @@ buildRules = ( ); dependencies = ( - 84E1A6C62B61C01600D7F7C9 /* PBXTargetDependency */, ); name = "Notifier - Alerts"; packageProductDependencies = ( @@ -306,7 +304,6 @@ mainGroup = 7C6D156F2270BA2F0092D34E; packageReferences = ( 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */, - 841589392C207EA1008B1103 /* XCRemoteSwiftPackageReference "SwiftLint" */, ); productRefGroup = 7C6D15792270BA2F0092D34E /* Products */; projectDirPath = ""; @@ -349,6 +346,28 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 84CC99F32C21904900396D3F /* Swiftlint */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = Swiftlint; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# If the dir /opt/homebrew/bin/ exists\nif [ -d '/opt/homebrew/bin/' ]\nthen\n # Add homebrew dir to PATH\n PATH=\"/opt/homebrew/bin/:${PATH}\"\nfi\n\n# Get path so swiftlint (if installed)\nswiftlintPath=$(which swiftlint)\n\n# If we can find swiftlint\nif [ -n \"${swiftlintPath}\" ]\nthen\n # Run swiftlint\n swiftlint\n# If we can't find swiftlint\nelse\n # Log error\n /bin/echo \"ERROR: SwiftLint not installed, exiting...\"\n # Exit\n exit 1\nfi\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 7C6D15742270BA2F0092D34E /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -387,18 +406,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 8415893B2C207EAC008B1103 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - productRef = 8415893A2C207EAC008B1103 /* SwiftLintBuildToolPlugin */; - }; - 84524FD12B61BC280046367B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - productRef = 84524FD02B61BC280046367B /* SwiftLintPlugin */; - }; - 84E1A6C62B61C01600D7F7C9 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - productRef = 84E1A6C52B61C01600D7F7C9 /* SwiftLintPlugin */; - }; 84E1A6CA2B61C02C00D7F7C9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 84E1A6B72B61C00400D7F7C9 /* Notifier - Alerts */; @@ -591,6 +598,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=macosx*]" = 82K2XFN8L6; ENABLE_HARDENED_RUNTIME = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; INFOPLIST_FILE = Notifier/Info.plist; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_LSUIElement = YES; @@ -625,6 +633,7 @@ DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=macosx*]" = 82K2XFN8L6; ENABLE_HARDENED_RUNTIME = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; INFOPLIST_FILE = Notifier/Info.plist; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; INFOPLIST_KEY_LSUIElement = YES; @@ -832,22 +841,6 @@ /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ - 841589392C207EA1008B1103 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/realm/SwiftLint.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.55.1; - }; - }; - 841F5F3C2B618C1500473103 /* XCRemoteSwiftPackageReference "SwiftLint" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/realm/SwiftLint.git"; - requirement = { - kind = upToNextMajorVersion; - minimumVersion = 0.54.0; - }; - }; 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */ = { isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/apple/swift-argument-parser.git"; @@ -859,26 +852,11 @@ /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ - 8415893A2C207EAC008B1103 /* SwiftLintBuildToolPlugin */ = { - isa = XCSwiftPackageProductDependency; - package = 841589392C207EA1008B1103 /* XCRemoteSwiftPackageReference "SwiftLint" */; - productName = "plugin:SwiftLintBuildToolPlugin"; - }; - 84524FD02B61BC280046367B /* SwiftLintPlugin */ = { - isa = XCSwiftPackageProductDependency; - package = 841F5F3C2B618C1500473103 /* XCRemoteSwiftPackageReference "SwiftLint" */; - productName = "plugin:SwiftLintPlugin"; - }; 845D68E02B692A5100C5B467 /* ArgumentParser */ = { isa = XCSwiftPackageProductDependency; package = 845D68DF2B692A4800C5B467 /* XCRemoteSwiftPackageReference "swift-argument-parser" */; productName = ArgumentParser; }; - 84E1A6C52B61C01600D7F7C9 /* SwiftLintPlugin */ = { - isa = XCSwiftPackageProductDependency; - package = 841F5F3C2B618C1500473103 /* XCRemoteSwiftPackageReference "SwiftLint" */; - productName = "plugin:SwiftLintPlugin"; - }; /* End XCSwiftPackageProductDependency section */ }; rootObject = 7C6D15702270BA2F0092D34E /* Project object */; diff --git a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 567a0f2..56417ed 100644 --- a/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Notifier/Notifier.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,33 +1,6 @@ { - "originHash" : "9e3e42010a0185f59b0b416f1ae755c50599c5179574d8d7934afdbeeada41aa", + "originHash" : "59ba1edda695b389d6c9ac1809891cd779e4024f505b0ce1a9d5202b6762e38a", "pins" : [ - { - "identity" : "collectionconcurrencykit", - "kind" : "remoteSourceControl", - "location" : "https://github.com/JohnSundell/CollectionConcurrencyKit.git", - "state" : { - "revision" : "b4f23e24b5a1bff301efc5e70871083ca029ff95", - "version" : "0.2.0" - } - }, - { - "identity" : "cryptoswift", - "kind" : "remoteSourceControl", - "location" : "https://github.com/krzyzanowskim/CryptoSwift.git", - "state" : { - "revision" : "7892a123f7e8d0fe62f9f03728b17bbd4f94df5c", - "version" : "1.8.1" - } - }, - { - "identity" : "sourcekitten", - "kind" : "remoteSourceControl", - "location" : "https://github.com/jpsim/SourceKitten.git", - "state" : { - "revision" : "fd4df99170f5e9d7cf9aa8312aa8506e0e7a44e7", - "version" : "0.35.0" - } - }, { "identity" : "swift-argument-parser", "kind" : "remoteSourceControl", @@ -36,51 +9,6 @@ "revision" : "8f4d2753f0e4778c76d5f05ad16c74f707390531", "version" : "1.2.3" } - }, - { - "identity" : "swift-syntax", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-syntax.git", - "state" : { - "revision" : "303e5c5c36d6a558407d364878df131c3546fad8", - "version" : "510.0.2" - } - }, - { - "identity" : "swiftlint", - "kind" : "remoteSourceControl", - "location" : "https://github.com/realm/SwiftLint.git", - "state" : { - "revision" : "b515723b16eba33f15c4677ee65f3fef2ce8c255", - "version" : "0.55.1" - } - }, - { - "identity" : "swiftytexttable", - "kind" : "remoteSourceControl", - "location" : "https://github.com/scottrhoyt/SwiftyTextTable.git", - "state" : { - "revision" : "c6df6cf533d120716bff38f8ff9885e1ce2a4ac3", - "version" : "0.9.0" - } - }, - { - "identity" : "swxmlhash", - "kind" : "remoteSourceControl", - "location" : "https://github.com/drmohundro/SWXMLHash.git", - "state" : { - "revision" : "a853604c9e9a83ad9954c7e3d2a565273982471f", - "version" : "7.0.2" - } - }, - { - "identity" : "yams", - "kind" : "remoteSourceControl", - "location" : "https://github.com/jpsim/Yams.git", - "state" : { - "revision" : "0d9ee7ea8c4ebd4a489ad7a73d5c6cad55d6fed3", - "version" : "5.0.6" - } } ], "version" : 3