From 501fc0df820e9fe5ef8a0c9e122a9b61b9f6ede2 Mon Sep 17 00:00:00 2001 From: Laurent Date: Fri, 7 Apr 2023 10:44:14 +0200 Subject: [PATCH] Fixes mac crash --- LeCountdown.xcodeproj/project.pbxproj | 4 ++-- LeCountdown/Conductor.swift | 25 +++++++++++++------------ LeCountdown/LeCountdownApp.swift | 16 ++++++++-------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/LeCountdown.xcodeproj/project.pbxproj b/LeCountdown.xcodeproj/project.pbxproj index 63e3422..72816cc 100644 --- a/LeCountdown.xcodeproj/project.pbxproj +++ b/LeCountdown.xcodeproj/project.pbxproj @@ -1606,7 +1606,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1643,7 +1643,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/LeCountdown/Conductor.swift b/LeCountdown/Conductor.swift index 0ccc39a..00a3465 100644 --- a/LeCountdown/Conductor.swift +++ b/LeCountdown/Conductor.swift @@ -252,7 +252,9 @@ class Conductor: ObservableObject { self._cleanupLiveTimers() self._buildLiveTimers() } - self.cleanupLiveActivities() + if #available(iOS 16.2, *) { + self.cleanupLiveActivities() + } } fileprivate func _cleanupCountdowns() { @@ -389,12 +391,11 @@ class Conductor: ObservableObject { let activityContent = ActivityContent(state: contentState, staleDate: nil) do { - let liveActivity = try ActivityKit.Activity.request(attributes: attributes, content: activityContent) + let _ = try ActivityKit.Activity.request(attributes: attributes, content: activityContent) // print("Requested a Live Activity: \(String(describing: liveActivity.id))") } catch { Logger.error(error) } - } } else { // Fallback on earlier versions @@ -418,15 +419,15 @@ class Conductor: ObservableObject { } } - func updateLiveActivities() { - print("update live activity...") - - for (countdownId, interval) in self.currentCountdowns { - if interval.end < Date() { - self._endLiveActivity(timerId: countdownId) - } - } - } +// func updateLiveActivities() { +// print("update live activity...") +// +// for (countdownId, interval) in self.currentCountdowns { +// if interval.end < Date() { +// self._endLiveActivity(timerId: countdownId) +// } +// } +// } fileprivate func _endLiveActivity(timerId: String) { if #available(iOS 16.2, *) { diff --git a/LeCountdown/LeCountdownApp.swift b/LeCountdown/LeCountdownApp.swift index 999c83d..9367565 100644 --- a/LeCountdown/LeCountdownApp.swift +++ b/LeCountdown/LeCountdownApp.swift @@ -97,14 +97,14 @@ struct LeCountdownApp: App { print("_handleAppRefresh = \(task.description)") - task.expirationHandler = { - print("expired") - } - - DispatchQueue.main.async { - Conductor.maestro.updateLiveActivities() - task.setTaskCompleted(success: true) - } +// task.expirationHandler = { +// print("expired") +// } +// +// DispatchQueue.main.async { +// Conductor.maestro.updateLiveActivities() +// task.setTaskCompleted(success: true) +// } }