Fixes mac crash

main
Laurent 3 years ago
parent 48ec6f9c84
commit 501fc0df82
  1. 4
      LeCountdown.xcodeproj/project.pbxproj
  2. 25
      LeCountdown/Conductor.swift
  3. 16
      LeCountdown/LeCountdownApp.swift

@ -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";

@ -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, *) {

@ -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)
// }
}

Loading…
Cancel
Save