@@ -16,7 +16,9 @@ import WebKit
1616extension Reactive where Base: WKWebView {
1717 public typealias JSAlertEvent = ( webView: WKWebView , message: String , frame: WKFrameInfo , handler: ( ) -> ( ) )
1818 public typealias JSConfirmEvent = ( webView: WKWebView , message: String , frame: WKFrameInfo , handler: ( Bool ) -> ( ) )
19- public typealias CommitPreviewEvent = ( webView: WKWebView , controller: UIViewController )
19+ #if os(iOS)
20+ public typealias CommitPreviewEvent = ( webView: WKWebView , controller: UIViewController )
21+ #endif
2022
2123 /// Reactive wrapper for `navigationDelegate`.
2224 public var uiDelegate : DelegateProxy < WKWebView , WKUIDelegate > {
@@ -65,24 +67,29 @@ extension Reactive where Base: WKWebView {
6567 return ControlEvent ( events: source)
6668 }
6769
68- /// Reactive wrappper for `func webView(_ webView: WKWebView, commitPreviewingViewController previewingViewController: UIViewController)`
69- @available ( iOS 10 . 0 , * )
70- public var commitPreviewing : ControlEvent < CommitPreviewEvent > {
71- let source : Observable < CommitPreviewEvent > = uiDelegate
72- . methodInvoked ( . commitPreviewing)
73- . map { args in
74- let view = try castOrThrow ( WKWebView . self, args [ 0 ] )
75- let controller = try castOrThrow ( UIViewController . self, args [ 1 ] )
76- return ( view, controller)
70+ #if os(iOS)
71+ /// Reactive wrappper for `func webView(_ webView: WKWebView, commitPreviewingViewController previewingViewController: UIViewController)`
72+ @available ( iOS 10 . 0 , * )
73+ public var commitPreviewing : ControlEvent < CommitPreviewEvent > {
74+ let source : Observable < CommitPreviewEvent > = uiDelegate
75+ . methodInvoked ( . commitPreviewing)
76+ . map { args in
77+ let view = try castOrThrow ( WKWebView . self, args [ 0 ] )
78+ let controller = try castOrThrow ( UIViewController . self, args [ 1 ] )
79+ return ( view, controller)
80+ }
81+
82+ return ControlEvent ( events: source)
7783 }
78-
79- return ControlEvent ( events: source)
80- }
84+ #endif
8185}
8286
8387fileprivate extension Selector {
8488 static let jsAlert = #selector( WKUIDelegate . webView ( _: runJavaScriptAlertPanelWithMessage: initiatedByFrame: completionHandler: ) )
8589 static let jsConfirm = #selector( WKUIDelegate . webView ( _: runJavaScriptConfirmPanelWithMessage: initiatedByFrame: completionHandler: ) )
86- @available ( iOS 10 . 0 , * )
87- static let commitPreviewing = #selector( WKUIDelegate . webView ( _: commitPreviewingViewController: ) )
90+
91+ #if os(iOS)
92+ @available ( iOS 10 . 0 , * )
93+ static let commitPreviewing = #selector( WKUIDelegate . webView ( _: commitPreviewingViewController: ) )
94+ #endif
8895}
0 commit comments