From 61392a16a2057a6153158f88144945c04b2ddf1a Mon Sep 17 00:00:00 2001 From: Micha Date: Wed, 26 Nov 2025 20:14:59 +0100 Subject: [PATCH] more Sparkle tests --- Sources/ViewModels/SparkleUpdater.swift | 12 +++++++----- iKeyMon.xcodeproj/project.pbxproj | 8 ++++---- version.json | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Sources/ViewModels/SparkleUpdater.swift b/Sources/ViewModels/SparkleUpdater.swift index 6ab6269..35a41ab 100644 --- a/Sources/ViewModels/SparkleUpdater.swift +++ b/Sources/ViewModels/SparkleUpdater.swift @@ -4,15 +4,16 @@ import OSLog @MainActor final class SparkleUpdater: NSObject, ObservableObject { - let controller: SPUStandardUpdaterController + private lazy var controller: SPUStandardUpdaterController = { + SPUStandardUpdaterController(startingUpdater: true, updaterDelegate: self, userDriverDelegate: nil) + }() private let logger = Logger(subsystem: "net.24unix.iKeyMon", category: "Sparkle") private let verboseLogging: Bool override init() { self.verboseLogging = ProcessInfo.processInfo.environment["SPARKLE_VERBOSE_LOGGING"] == "1" - self.controller = SPUStandardUpdaterController(startingUpdater: true, updaterDelegate: nil, userDriverDelegate: nil) super.init() - controller.updater.delegate = self + _ = controller log("Sparkle updater initialized (verbose=\(verboseLogging)).") } @@ -46,12 +47,13 @@ final class SparkleUpdater: NSObject, ObservableObject { } private func describe(update item: SUAppcastItem) -> String { - let short = item.displayVersionString ?? item.versionString ?? "unknown" - let build = item.versionString ?? "?" + let short = item.displayVersionString + let build = item.versionString return "\(short) (build \(build))" } } +@MainActor extension SparkleUpdater: SPUUpdaterDelegate { func updater(_ updater: SPUUpdater, didFinishLoading appcast: SUAppcast) { log("Loaded Sparkle appcast containing \(appcast.items.count) item(s).") diff --git a/iKeyMon.xcodeproj/project.pbxproj b/iKeyMon.xcodeproj/project.pbxproj index 3cb1e5f..38d70de 100644 --- a/iKeyMon.xcodeproj/project.pbxproj +++ b/iKeyMon.xcodeproj/project.pbxproj @@ -310,7 +310,7 @@ CODE_SIGN_ENTITLEMENTS = iKeyMon.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 53; + CURRENT_PROJECT_VERSION = 54; DEVELOPMENT_ASSET_PATHS = "\"Preview Content\""; DEVELOPMENT_TEAM = Q5486ZVAFT; ENABLE_HARDENED_RUNTIME = YES; @@ -325,7 +325,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 26.0.23; + MARKETING_VERSION = 26.0.24; PRODUCT_BUNDLE_IDENTIFIER = net.24unix.iKeyMon; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -341,7 +341,7 @@ CODE_SIGN_ENTITLEMENTS = iKeyMon.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 53; + CURRENT_PROJECT_VERSION = 54; DEVELOPMENT_ASSET_PATHS = "\"Preview Content\""; DEVELOPMENT_TEAM = Q5486ZVAFT; ENABLE_HARDENED_RUNTIME = YES; @@ -356,7 +356,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MARKETING_VERSION = 26.0.23; + MARKETING_VERSION = 26.0.24; PRODUCT_BUNDLE_IDENTIFIER = net.24unix.iKeyMon; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/version.json b/version.json index 0c83067..03eeffb 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "marketing_version": "26.0.23" + "marketing_version": "26.0.24" }