@@ -21,21 +21,26 @@ open class AvailableHapticFeedback {
2121 }
2222
2323 open func prepare( ) {
24+ #if os(iOS)
2425 if #available( iOS 10 . 0 , * ) {
2526 feedbackGenerator. prepare ( )
2627 }
28+ #endif
2729 }
2830
2931 open func generateFeedback( ) {
32+ #if os(iOS)
3033 if #available( iOS 10 . 0 , * ) {
3134 feedbackGenerator. generate ( style: style)
3235 }
36+ #endif
3337 }
3438
3539 open func end( ) {
3640 _anyFeedbackGenerator = nil
3741 }
3842
43+ #if os(iOS)
3944 @available ( iOS 10 . 0 , * )
4045 var feedbackGenerator : UIFeedbackGenerator & AvailableHapticFeedbackGenerator {
4146 if nil == _anyFeedbackGenerator {
@@ -45,11 +50,13 @@ open class AvailableHapticFeedback {
4550 return _anyFeedbackGenerator! as! UIFeedbackGenerator & AvailableHapticFeedbackGenerator
4651 // swiftlint:enable force_cast force_unwrapping
4752 }
53+ #endif
4854
4955 private var _anyFeedbackGenerator : Any ?
5056
5157 @available ( iOS 10 . 0 , * )
5258 private func createFeedbackGenerator( ) {
59+ #if os(iOS)
5360 switch style {
5461 case . selection:
5562 _anyFeedbackGenerator = UISelectionFeedbackGenerator ( )
@@ -62,13 +69,15 @@ open class AvailableHapticFeedback {
6269 case . notificationSuccess, . notificationWarning, . notificationError:
6370 _anyFeedbackGenerator = UINotificationFeedbackGenerator ( )
6471 }
72+ #endif
6573 }
6674}
6775
6876protocol AvailableHapticFeedbackGenerator {
6977 func generate( style: AvailableHapticFeedback . Style )
7078}
7179
80+ #if os(iOS)
7281@available ( iOS 10 . 0 , * )
7382extension UISelectionFeedbackGenerator : AvailableHapticFeedbackGenerator {
7483 func generate( style: AvailableHapticFeedback . Style ) {
@@ -98,3 +107,4 @@ extension UINotificationFeedbackGenerator: AvailableHapticFeedbackGenerator {
98107 notificationOccurred ( notificationFeedbackType)
99108 }
100109}
110+ #endif
0 commit comments