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)"; PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO; SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
@ -1643,7 +1643,7 @@
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO; SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES;
SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";

@ -252,7 +252,9 @@ class Conductor: ObservableObject {
self._cleanupLiveTimers() self._cleanupLiveTimers()
self._buildLiveTimers() self._buildLiveTimers()
} }
self.cleanupLiveActivities() if #available(iOS 16.2, *) {
self.cleanupLiveActivities()
}
} }
fileprivate func _cleanupCountdowns() { fileprivate func _cleanupCountdowns() {
@ -389,12 +391,11 @@ class Conductor: ObservableObject {
let activityContent = ActivityContent(state: contentState, staleDate: nil) let activityContent = ActivityContent(state: contentState, staleDate: nil)
do { 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))") // print("Requested a Live Activity: \(String(describing: liveActivity.id))")
} catch { } catch {
Logger.error(error) Logger.error(error)
} }
} }
} else { } else {
// Fallback on earlier versions // Fallback on earlier versions
@ -418,15 +419,15 @@ class Conductor: ObservableObject {
} }
} }
func updateLiveActivities() { // func updateLiveActivities() {
print("update live activity...") // print("update live activity...")
//
for (countdownId, interval) in self.currentCountdowns { // for (countdownId, interval) in self.currentCountdowns {
if interval.end < Date() { // if interval.end < Date() {
self._endLiveActivity(timerId: countdownId) // self._endLiveActivity(timerId: countdownId)
} // }
} // }
} // }
fileprivate func _endLiveActivity(timerId: String) { fileprivate func _endLiveActivity(timerId: String) {
if #available(iOS 16.2, *) { if #available(iOS 16.2, *) {

@ -97,14 +97,14 @@ struct LeCountdownApp: App {
print("_handleAppRefresh = \(task.description)") print("_handleAppRefresh = \(task.description)")
task.expirationHandler = { // task.expirationHandler = {
print("expired") // print("expired")
} // }
//
DispatchQueue.main.async { // DispatchQueue.main.async {
Conductor.maestro.updateLiveActivities() // Conductor.maestro.updateLiveActivities()
task.setTaskCompleted(success: true) // task.setTaskCompleted(success: true)
} // }
} }

Loading…
Cancel
Save