diff --git a/TheNoiseClock.xcodeproj/project.pbxproj b/TheNoiseClock.xcodeproj/project.pbxproj index 736f286..79973b6 100644 --- a/TheNoiseClock.xcodeproj/project.pbxproj +++ b/TheNoiseClock.xcodeproj/project.pbxproj @@ -9,7 +9,7 @@ /* Begin PBXBuildFile section */ EA384E832E6F806200CA7D50 /* AudioPlaybackKit in Frameworks */ = {isa = PBXBuildFile; productRef = EA384D3D2E6F554D00CA7D50 /* AudioPlaybackKit */; }; EAC051B12F2E64AB007F87EA /* Bedrock in Frameworks */ = {isa = PBXBuildFile; productRef = EAC051B02F2E64AB007F87EA /* Bedrock */; }; - EAF1C0DE2F3A4B5C0011223E /* TheNoiseClockWidget.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = EAF1C0DE2F3A4B5C00112234 /* TheNoiseClockWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + EAF1C0DE2F3A4B5C0011223E /* TheNoiseClockWidget.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = EAF1C0DE2F3A4B5C00112234 /* TheNoiseClockWidget.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -37,15 +37,15 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - EAF1C0DE2F3A4B5C0011223D /* Embed App Extensions */ = { + EAF1C0DE2F3A4B5C0011223D /* Embed Foundation Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( - EAF1C0DE2F3A4B5C0011223E /* TheNoiseClockWidget.appex in Embed App Extensions */, + EAF1C0DE2F3A4B5C0011223E /* TheNoiseClockWidget.appex in Embed Foundation Extensions */, ); - name = "Embed App Extensions"; + name = "Embed Foundation Extensions"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ @@ -63,6 +63,9 @@ EA384D3B2E6F554D00CA7D50 /* Exceptions for "TheNoiseClock" folder in "TheNoiseClock" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( + Configuration/Base.xcconfig, + Configuration/Debug.xcconfig, + Configuration/Release.xcconfig, Info.plist, ); target = EA384AFA2E6E6B6000CA7D50 /* TheNoiseClock */; @@ -181,7 +184,7 @@ EA384AF72E6E6B6000CA7D50 /* Sources */, EA384AF82E6E6B6000CA7D50 /* Frameworks */, EA384AF92E6E6B6000CA7D50 /* Resources */, - EAF1C0DE2F3A4B5C0011223D /* Embed App Extensions */, + EAF1C0DE2F3A4B5C0011223D /* Embed Foundation Extensions */, ); buildRules = ( ); @@ -274,7 +277,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 2600; - LastUpgradeCheck = 2600; + LastUpgradeCheck = 2630; TargetAttributes = { EA384AFA2E6E6B6000CA7D50 = { CreatedOnToolsVersion = 26.0; @@ -459,6 +462,7 @@ MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -517,6 +521,7 @@ MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; + STRING_CATALOG_GENERATE_SYMBOLS = YES; SWIFT_COMPILATION_MODE = wholemodule; VALIDATE_PRODUCT = YES; }; @@ -609,7 +614,7 @@ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 6.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/The Noise Clock.app/The Noise Clock"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/The Noise Clock.app/The Noise Clock"; }; name = Debug; }; @@ -632,7 +637,7 @@ SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; SWIFT_VERSION = 6.0; TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/The Noise Clock.app/The Noise Clock"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/The Noise Clock.app/The Noise Clock"; }; name = Release; }; diff --git a/TheNoiseClock/Features/Clock/Services/BatteryService.swift b/TheNoiseClock/Features/Clock/Services/BatteryService.swift index f29d2b5..c6e13ac 100644 --- a/TheNoiseClock/Features/Clock/Services/BatteryService.swift +++ b/TheNoiseClock/Features/Clock/Services/BatteryService.swift @@ -49,14 +49,14 @@ final class BatteryService { levelNotificationTask = Task { [weak self] in for await _ in NotificationCenter.default.notifications(named: UIDevice.batteryLevelDidChangeNotification) { guard !Task.isCancelled else { break } - await self?.updateBatteryInfo() + self?.updateBatteryInfo() } } stateNotificationTask = Task { [weak self] in for await _ in NotificationCenter.default.notifications(named: UIDevice.batteryStateDidChangeNotification) { guard !Task.isCancelled else { break } - await self?.updateBatteryInfo() + self?.updateBatteryInfo() } } } diff --git a/TheNoiseClock/Features/Clock/Views/ClockView.swift b/TheNoiseClock/Features/Clock/Views/ClockView.swift index db4fa76..1a48e3b 100644 --- a/TheNoiseClock/Features/Clock/Views/ClockView.swift +++ b/TheNoiseClock/Features/Clock/Views/ClockView.swift @@ -131,7 +131,9 @@ struct ClockView: View { idleTimer = nil guard !viewModel.isFullScreenMode else { return } idleTimer = Timer.scheduledTimer(withTimeInterval: 5.0, repeats: false) { _ in - enterFullScreenFromIdle() + Task { @MainActor in + enterFullScreenFromIdle() + } } }