diff --git a/MVMCore/MVMCore/ActionHandling/ActionShareHandler.swift b/MVMCore/MVMCore/ActionHandling/ActionShareHandler.swift index 3634c11..cfaff2c 100644 --- a/MVMCore/MVMCore/ActionHandling/ActionShareHandler.swift +++ b/MVMCore/MVMCore/ActionHandling/ActionShareHandler.swift @@ -27,9 +27,18 @@ open class ActionShareHandler: MVMCoreActionHandlerProtocol { // Activity was completed, considered finished. continuation.resume() } else if let error = error { + // Activity sharing failed. continuation.resume(throwing: error) } else { - continuation.resume() + // Activity was probably cancelled + if #available(iOS 16.4, *) { + continuation.resume() + } else if let _ = activityType { + // Pre iOS 16.4, this block gets called multiple times. Each time a specific activityType was selected and was cancelled, and when the whole share activity itself is cancelled. + return + } else { + continuation.resume() + } } } Task(priority: .high) {