@@ -13,8 +13,10 @@ public protocol InjectListener {
13
13
14
14
/// Public namespace for using Inject API
15
15
public enum Inject {
16
+ @available ( iOS 13 . 0 , * )
16
17
public static let observer = injectionObserver
17
18
public static let load : Void = loadInjectionImplementation
19
+ @available ( iOS 13 . 0 , * )
18
20
public static var animation : SwiftUI . Animation ?
19
21
}
20
22
@@ -43,6 +45,7 @@ private var loadInjectionImplementation: Void = {
43
45
Bundle ( path: " /Applications/InjectionIII.app/Contents/Resources/ " + bundleName) ? . load ( )
44
46
} ( )
45
47
48
+ @available ( iOS 13 . 0 , * )
46
49
public class InjectionObserver : ObservableObject {
47
50
@Published public private( set) var injectionNumber = 0
48
51
private var cancellable : AnyCancellable ?
@@ -61,11 +64,16 @@ public class InjectionObserver: ObservableObject {
61
64
}
62
65
}
63
66
67
+ @available ( iOS 13 . 0 , * )
64
68
private let injectionObserver = InjectionObserver ( )
69
+ @available ( iOS 13 . 0 , * )
65
70
private var injectionObservationKey = arc4random ( )
66
71
67
72
public extension InjectListener where Self: NSObject {
68
73
func onInjection( callback: @escaping ( Self ) -> Void ) {
74
+ guard #available( iOS 13 . 0 , * ) else {
75
+ return
76
+ }
69
77
let observation = injectionObserver. objectWillChange. sink ( receiveValue: { [ weak self] in
70
78
guard let self = self else { return }
71
79
callback ( self )
@@ -76,7 +84,9 @@ public extension InjectListener where Self: NSObject {
76
84
}
77
85
78
86
#else
87
+ @available ( iOS 13 . 0 , * )
79
88
public class InjectionObserver : ObservableObject { }
89
+ @available ( iOS 13 . 0 , * )
80
90
private let injectionObserver = InjectionObserver ( )
81
91
private var loadInjectionImplementation : Void = { } ( )
82
92
0 commit comments