From c4df2fc687f489670416524ec26b6c27007919df Mon Sep 17 00:00:00 2001 From: Sergey Galezdinov Date: Tue, 14 Mar 2023 23:54:26 +0300 Subject: [PATCH 1/2] fix podspec to include all source files fixes #76 --- Popovers.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Popovers.podspec b/Popovers.podspec index b396073..4407cb5 100644 --- a/Popovers.podspec +++ b/Popovers.podspec @@ -29,7 +29,7 @@ Pod::Spec.new do |s| s.platform = :ios, "13.0" - s.source_files = 'Sources/**/*' + s.source_files = 'Sources/**/**' s.swift_version = "5.5" end From 1c58050dccac75d4fe8716bf16a54eb68ab3a964 Mon Sep 17 00:00:00 2001 From: Sergey Galezdinov Date: Wed, 15 Mar 2023 00:00:04 +0300 Subject: [PATCH 2/2] backport onChange(of:perform) to iOS13 resolves #77 --- Sources/Templates/Extensions.swift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Sources/Templates/Extensions.swift b/Sources/Templates/Extensions.swift index c2ed686..fe65492 100644 --- a/Sources/Templates/Extensions.swift +++ b/Sources/Templates/Extensions.swift @@ -8,6 +8,7 @@ #if os(iOS) import SwiftUI +import Combine // MARK: - Shadows @@ -349,4 +350,20 @@ extension ForEach: DynamicViewContentProvider where Content: View { return AnyView(content(data[dataIndex])) } } + +// MARK: Backport + +extension View { + /// A backwards compatible wrapper for iOS 14 `onChange` + @ViewBuilder func onChange(of value: T, do: @escaping (T) -> Void) -> some View { + if #available(iOS 14.0, *) { + self.onChange(of: value, perform: `do`) + } else { + self.onReceive(Just(value)) { (value) in + `do`(value) + } + } + } +} + #endif